]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* script/execute.c (grub_script_execute_cmdline): Check for NULL
[grub2.git] / ChangeLog
1 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
2
3 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4 as command name case.
5
6 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
7
8 * disk/raid.c (insert_array): Select unique numbers for named arrays
9 as well, for use as keys in the disk cache.
10
11 2010-08-01 Robert Millan <rmh@gnu.org>
12
13 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14 kFreeBSD device name, except on ZFS where the filesystem label is
15 used.
16 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17 `/boot/zfs/zpool.cache'.
18 Set mountfrom kernel variable using ${kfreebsd_device}.
19
20 2010-08-01 Robert Millan <rmh@gnu.org>
21
22 Make it even harder to use uninitialized `libzfs_handle' (and
23 make the interface a bit simpler).
24
25 * include/grub/util/misc.h (grub_util_init_libzfs)
26 (libzfs_handle): Remove.
27 (grub_get_libzfs_handle): New prototype.
28
29 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
30 attribute.
31 (grub_util_init_libzfs): Remove.
32 (grub_get_libzfs_handle): New function.
33
34 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
35 grub_get_libzfs_handle() to obtain a libzfs handle instead of
36 accessing `libzfs_handle' directly.
37
38 2010-08-01 Robert Millan <rmh@gnu.org>
39
40 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
41 (grub_find_zpool_from_mount_point): New function prototypes.
42
43 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
44 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
45
46 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
47 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
48 `static' attribute.
49
50 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
51 finding zpool from mount point into ...
52 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
53
54 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
55 requested path is part of a ZFS pool, use
56 grub_find_zpool_from_mount_point() to detect its filesystem name,
57 and generate a path with `/fsname@path' syntax.
58
59 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
60
61 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
62 (void) rather than () so that this is a proper prototype.
63
64 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
67
68 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
71 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
72
73 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
74
75 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
76
77 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
78
79 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
80
81 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
82
83 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
84 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
85 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
86 disable gfxpayload.
87 (Shell-like scripting): Add real content.
88 (Serial terminal): Suggest `terminal_input serial; terminal_output
89 serial' rather than putting the two commands on separate lines,
90 since console input will be inoperative after the first command.
91 (menuentry): Document --class, --users, and --hotkey options.
92 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
93 Vladimir Serbinenko).
94
95 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
96 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
97
98 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
99
100 2010-08-01 Robert Millan <rmh@gnu.org>
101
102 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
103 (grub_find_zpool_from_mount_point): New function prototypes.
104
105 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
106 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
107
108 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
109 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
110 `static' attribute.
111
112 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
113 finding zpool from mount point into ...
114 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
115
116 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
117 requested path is part of a ZFS pool, use
118 grub_find_zpool_from_mount_point() to detect its filesystem name,
119 and generate a path with `/fsname@path' syntax.
120
121 2010-08-01 Robert Millan <rmh@gnu.org>
122
123 Prevent accidental use of uninitialized libzfs_handle.
124
125 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
126 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
127 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
128
129 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
130
131 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
132 util/grub.d/10_linux.in). Fixes Debian bug #591093.
133
134 2010-08-01 Robert Millan <rmh@gnu.org>
135
136 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
137
138 2010-07-31 Robert Millan <rmh@gnu.org>
139
140 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
141
142 2010-07-31 Robert Millan <rmh@gnu.org>
143
144 * kern/emu/misc.c: Add missing license header.
145
146 2010-07-31 Robert Millan <rmh@gnu.org>
147
148 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
149
150 * include/grub/util/libnvpair.h: Include `<config.h>'.
151 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
152 declaring libnvpair prototypes ourselves.
153 * include/grub/util/libzfs.h: Include `<config.h>'.
154 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
155 declaring libzfs prototypes ourselves.
156
157 (libzfs_handle): Moved to ...
158 * include/grub/util/misc.h (libzfs_handle): ... here.
159 Include `<grub/util/libzfs.h>'.
160
161 2010-07-30 Robert Millan <rmh@gnu.org>
162
163 * include/grub/emu/misc.h: Add missing license header.
164
165 2010-07-30 Robert Millan <rmh@gnu.org>
166
167 Enable `grub-probe -t device' resolution on ZFS.
168
169 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
170 * include/grub/util/libnvpair.h: New file.
171 * include/grub/util/libzfs.h: New file.
172
173 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
174 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
175 `<grub/util/libnvpair.h>'.
176 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
177
178 (find_mount_point_from_dir): New static function.
179 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
180 function.
181 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
182 find_root_device_from_libzfs() before ressorting to find_root_device().
183
184 * include/grub/util/misc.h (grub_util_init_libzfs): New function
185 prototype.
186 * util/misc.c: Include `<grub/util/libzfs.h>'.
187 (grub_util_init_libzfs): New function.
188 [HAVE_LIBZFS] (libzfs_handle): New global variable.
189 [HAVE_LIBZFS] (fini_libzfs): New static function.
190 (grub_util_init_libzfs): New function.
191 * util/grub-probe.c (main): Call grub_util_init_libzfs().
192
193 2010-07-30 Robert Millan <rmh@gnu.org>
194
195 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
196 (xmalloc, xrealloc, xstrdup, xasprintf): Add
197 `warn_unused_result' attribute.
198 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
199 (grub_xasprintf, grub_xvasprintf): Likewise.
200 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
201
202 2010-07-29 Robert Millan <rmh@gnu.org>
203
204 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
205 (probe): Handle `PRINT_FS_LABEL'.
206 (main): Handle `-t fs_label'.
207
208 2010-07-29 Robert Millan <rmh@gnu.org>
209
210 * configure.ac: Remove grub-mkisofs checks.
211
212 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * util/ieee1275/grub-install.in: Don't use empty grub_device.
215 Reported by: Lennart Sorensen.
216
217 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
220 prior to terminal_input/terminal_output separation. It's been over 1.5
221 years and those versions weren't widely deployed.
222
223 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
224
225 * disk/raid.c (insert_array): Don't count named arrays when looking
226 for unused array numbers.
227 Reported and tested by: Michael Guntsche.
228
229 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
230
231 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
232 implementation of this so that grub-emu links again, with a note
233 that this should support hotplugging in the future.
234
235 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
236
237 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
238
239 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
240
241 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
242 handle on failure.
243 (grub_loopback_close): Remove empty function.
244 (grub_loopback_dev): Remove close method.
245
246 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
247
248 Disable EFI cursor when the EFI console becomes inactive.
249
250 * term/efi/console.c (grub_efi_console_init): New function.
251 (grub_efi_console_fini): New function.
252 (grub_console_term_output): Register init and fini methods.
253
254 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * tests/util/grub-shell-tester.in: Remove bashism and declare as
257 sh script.
258
259 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * disk/loopback.c (grub_loopback): Replace filename with file.
262 (delete_loopback): Handle new semantics.
263 (grub_cmd_loopback): Likewise.
264 (grub_loopback_iterate): Likewise.
265 (grub_loopback_close): Likewise.
266
267 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
270 with -p "".
271 Reported by: Tito Keitel.
272
273 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * docs/grub.texi (Naming convention): Document new naming convention.
276
277 2010-07-20 Vadim Solomin <vadic052@gmail.com>
278 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
279
280 Generate device.map in something closer to the old ordering.
281
282 * util/deviceiter.c (struct device): New declaration.
283 (compare_file_names): Rename to ...
284 (compare_devices): ... this. Sort by kernel name in preference to
285 the stable by-id name, but keep the latter as a fallback comparison.
286 Update header comment.
287 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
288 of `struct device' rather than of plain file names.
289
290 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
291
292 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
293 on i386.
294
295 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * commands/acpi.c (setup_common_tables): Use sizeof instead of
298 hardcoding size.
299 (setv1table): Likewise.
300
301 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
302
303 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
304 removing the homehost if present.
305 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
306 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
307 removing the homehost if present.
308 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
309 if possible.
310 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
311
312 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
313 parameter. Set its pointer target to 0.
314 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
315 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
316 `data_offset' value from the superblock for 1.x metadata.
317 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
318 data on the device.
319 (insert_array): Record the start sector of data on the device.
320 (grub_raid_register): Pass start_sector parameters to
321 grub_raid_list->detect and insert_array.
322 * include/grub/raid.h (struct grub_raid_array): Add start_sector
323 member.
324 (struct grub_raid): Add start_sector parameter to `detect'.
325
326 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
327 __attribute__ ((packed)), leaving a comment.
328 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
329 (grub_mdraid_detect_09): ... here and ...
330 (grub_mdraid_detect_1x): ... here.
331
332 2010-07-20 Peter Henn <peter.henn@web.de>
333
334 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
335 chunk size and disk size, which are already given as sector counts
336 as distinct from the 0.90 units. Fetch the correct device number
337 from the role table instead of using the table index.
338
339 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
340
341 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
342 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
343 (WriteMostly1): New macro.
344 Set array->name to NULL for metadata format 0.90. Add support for
345 metadata 1.x. Fix some comments.
346 * disk/raid.c (): Add support for name based RAID arrays. Fix a
347 few comments.
348 * util/getroot.c (grub_util_get_grub_dev): Add support for
349 /dev/md/name style devices.
350
351 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
352
353 * .bzrignore: Ignore 20_linux_xen.
354
355 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
356
357 * util/import_unicode.py: Remove unnecessary imports.
358
359 2010-07-17 Aleš Nesrsta <starous@volny.cz>
360
361 Hotplugging and USB hub support.
362
363 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
364 (grub_ohci): Likewise.
365 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
366 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
367 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
368 (GRUB_OHCI_CTRL_EDS): Likewise.
369 (GRUB_OHCI_BULK_EDS): Likewise.
370 (GRUB_OHCI_TDS): Likewise.
371 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
372 (grub_ohci_ed_phys2virt): New function.
373 (grub_ohci_virt_to_phys): Likewise.
374 (grub_ohci_td_phys2virt): Likewise.
375 (grub_ohci_td_virt2phys): Likewise.
376 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
377 attachment.
378 (grub_ohci_find_ed): New function.
379 (grub_ohci_alloc_td): Likewise.
380 (grub_ohci_free_td): Likewise.
381 (grub_ohci_free_tds): Likewise.
382 (grub_ohci_transfer): Use previously allocated memory.
383 (grub_ohci_portstatus): Reset status changed bit.
384 (grub_ohci_detect_dev): Supply status changed.
385 (grub_ohci_fini_hw): Free memory.
386 (grub_ohci_restore_hw): Reallocate memory.
387 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
388 Reset status change.
389 (grub_uhci_detect_dev): Supply status_change.
390 * bus/usb/usb.c (attach_hooks): New var.
391 (grub_usb_device_attach): New function.
392 (grub_usb_register_attach_hook_class): Likewise.
393 (grub_usb_unregister_attach_hook_class): Likewise.
394 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
395 (grub_usb_add_hub): Reset connection changed bit.
396 (attach_root_port): New function.
397 (grub_usb_root_hub): Likewise.
398 (poll_nonroot_hub): Likewise.
399 (grub_usb_poll_devices): Likewise.
400 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
401 * disk/usbms.c (grub_usbms_open): Use device hooks.
402 (grub_usbms_iterate) :Poll devices.
403 (grub_usbms_finddevs): Split into ...
404 (grub_usbms_attach): ... this ...
405 (grub_usbms_attach): ... and this.
406 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
407 in detect_dev.
408 (grub_usb_interface): New fields attached and detach_hook.
409 (grub_usb_attach_hook_class): New type.
410 (grub_usb_attach_desc): New struct.
411 (grub_usb_register_attach_hook_class): New function.
412 (grub_usb_unregister_attach_hook_class): Likewise.
413 (grub_usb_poll_devices): Likewise.
414 (grub_usb_device_attach): Likewise.
415 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
416 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
417
418 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
421 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
422 delta determination style. Works with most NetBSD partitions too.
423
424 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
427 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
428
429 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
432
433 2010-07-14 Anton Blanchard <anton@samba.org>
434
435 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
436 ET_DYN files.
437
438 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
439
440 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
441
442 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
443
444 * kern/partition.c (grub_partition_check_containment): New function to
445 check that a partition is physically contained in a parent. Since
446 offsets are relative (and non-negative), this reduces to checking that
447 the partition ends before its parent.
448 (grub_partition_map_probe): Discard out-of-range sub-partitions.
449 (grub_partition_iterate): Likewise.
450 * include/grub/partition.h (grub_partition_map): Slightly more detailed
451 comments.
452 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
453 partitions that start before their parent, and add debug printfs.
454
455 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
456
457 * Makefile.in (.SUFFIX): Spell correctly, as ...
458 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
459 bare module name without `.mod', e.g. `test') tried to invoke a
460 Modula-2 compiler.
461
462 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
463
464 * README: Point to the Info manual.
465
466 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
467
468 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
469 2nd superblock position from partition size.
470
471 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
472
473 * Makefile.in (MAINTAINER_CLEANFILES): Remove
474 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
475 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
476 outputs.
477
478 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
479
480 Restructure SCSI .id handling.
481 Reported and tested by: Aleš Nesrsta.
482
483 * disk/ata.c (grub_atapi_close): Removed. All users updated.
484 (grub_atapi_dev): Changed .name to "ata". New field .id.
485 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
486 (grub_usbms_dev): New field .id.
487 * disk/scsi.c (grub_scsi_iterate): Generate name.
488 (grub_scsi_open): Parse name.
489 * include/grub/scsi.h (grub_make_scsi_id): New function.
490 (grub_scsi_dev): Change iterate and open to number instead of naming
491 busses. All users updated.
492 (grub_scsi): Remove name. Add .bus.
493
494 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * commands/help.c (grub_cmd_help): Fix a typo.
497
498 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
501 Reported and tested by: Colin Watson.
502
503 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
506 in this context.
507
508 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
511
512 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
513
514 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
515 indentation.
516
517 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
518
519 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
520 and disk/raid6_recover.c.
521 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
522 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
523
524 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
525
526 * term/gfxterm.c (repaint_schedulded): Rename to ...
527 (repaint_scheduled): ... this. Update all callers.
528 (repaint_was_schedulded): Rename to ...
529 (repaint_was_scheduled): ... this. Update all callers.
530
531 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
532
533 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
534 which we expect to be handled by upper layers.
535
536 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
537
538 * bus/usb/usbhub.c: #include time.h header.
539
540 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
541
542 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
543 entry_name also for entries without stat blocks (e.g. ".."); fixes
544 corruption of the first entry in a directory.
545
546 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
547
548 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
549 after setting gfxterm as the active terminal. GRUB_BACKGROUND
550 doesn't work otherwise.
551
552 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
553
554 * docs/grub.texi (Features): Update list of supported file systems.
555 (GNU/Linux): Update for GRUB 2.
556 (Serial terminal): Remove mention of --disable-serial, which was a
557 GRUB Legacy configure option. Update instructions to use
558 `terminal_input' and `terminal_output' rather than `terminal'.
559 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
560 configuration' and `Installing GRUB using grub-install'.
561 (Menu entry editor): Update for GRUB 2.
562 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
563 Document new -a, -u, and -v options.
564 (initrd): New section.
565 (initrd16): New section.
566 (linux): New section.
567 (linux16): New section.
568 (search): The `var' argument to `--set' is optional.
569 (GRUB only offers a rescue shell): Go into a little more detail on
570 drive ordering.
571
572 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
573
574 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
575
576 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
577
578 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
579 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
580
581 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
582
583 * util/i386/pc/grub-setup.c (setup): Rename prefix to
584 install_prefix, in line with install_dos_part and install_bsd_part.
585 Add new prefix variable, which is copied to install_prefix after
586 comparing core.img in memory with the one read from disk in the
587 no-embedding case, and use that rather than overwriting
588 install_prefix immediately when installing to a partition.
589 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
590 Bicakci.
591
592 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
593
594 * configure.ac: Avoid == in test command, it's not portable.
595 * util/grub.d/30_os-prober.in: Likewise.
596
597 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
598
599 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
600
601 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
602
603 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
604 multiple (top-level) partmaps.
605
606 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/i386/efi/grub-install.in: Don't use empty grub_device.
609 Reported by: Tino Keitel.
610
611 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Bidi and diacritics support.
614
615 * Makefile.in (widthspec.bin): New target.
616 (widthspec.h): Likewise.
617 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
618 * autogen.sh: Generate unidata.c.
619 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
620 * commands/ls.c (grub_ls_list_devices): Likewise.
621 (grub_ls_list_files): Likewise.
622 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
623 (grub_mini_cmd_lsmod): Likewise.
624 * commands/read.c: Likewise.
625 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
626 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
627 * lib/arg.c (grub_arg_show_help): Likewise.
628 * lib/crypto.c (grub_password_get): Likewise.
629 * normal/auth.c (grub_username_get): Likewise.
630 * normal/misc.c (grub_normal_print_device_info): Likewise.
631 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
632 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
633 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
634 (normal/charset.c_DEPENDENCIES): New variable.
635 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
636 (pkglib_MODULES): Remove charset.mod.
637 (charset_mod_SOURCES): Removed.
638 (charset_mod_CFLAGS): Likewise.
639 (charset_mod_LDFLAGS): Likewise.
640 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
641 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
642 and term/tparm.c.
643 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
644 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
645 (kernel_img_HEADERS): Add terminfo.h.
646 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
647 Fill ->font. Reverse ascii bitmaps.
648 (grub_font_get_xheight): New function.
649 * font/font.c (grub_font_get_string_width): Moved from here ...
650 * gfxmenu/font.c (grub_font_get_string_width): ... here.
651 * font/font.c (grub_font_draw_string): Moved from here ...
652 * gfxmenu/font.c (grub_font_draw_string): ... here.
653 * font/font.c (grub_font_dup_glyph): New function.
654 (grub_font_blit_glyph): Likewise.
655 (grub_font_blit_glyph_mirror): Likewise.
656 (blit_comb): Likewise.
657 (grub_font_construct_dry_run): Likewise.
658 (grub_font_get_constructed_device_width): Likewise.
659 (grub_font_construct_glyph): Likewise.
660 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
661 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
662 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
663 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
664 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
665 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
666 (grub_font_get_xheight): New proto.
667 (grub_font_get_constructed_device_width): Likewise.
668 (grub_font_construct_glyph): Likewise.
669 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
670 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
671 * include/grub/font.h (grub_font_draw_string): Moved from here ...
672 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
673 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
674 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
675 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
676 (grub_console_getcharwidth): Likewise.
677 * include/grub/misc.h (grub_xputs): New proto.
678 (grub_puts): Inlined.
679 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
680 (grub_normal_get_line_counter): Removed.
681 (grub_install_newline_hook): Likewise.
682 (grub_normal_get_char_counter): New proto.
683 (grub_normal_reset_more): Likewise.
684 (grub_xputs_normal): Likewise.
685 * include/grub/powerpc/ieee1275/console.h: Removed.
686 * include/grub/sparc64/ieee1275/console.h: Likewise.
687 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
688 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
689 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
690 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
691 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
692 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
693 (grub_term_input): Pass reference to self. All users updated.
694 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
695 Pass reference to self. New fields normal_color, highlight_color and
696 data. All users updated.
697 (grub_putchar): Removed.
698 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
699 (grub_unicode_estimate_width): New function.
700 (grub_term_getcharwidth): Add defaults.
701 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
702 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
703 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
704 (grub_cls): Remove EXPORT_FUNC.
705 (grub_setcolorstate): Inline.
706 (grub_newline_hook): Removed.
707 * include/grub/terminfo.h: Rewritten. All users updated.
708 * include/grub/unicode.h: New file.
709 * include/grub/video.h (grub_video_signed_rect): New type.
710 * kern/emu/console.c (grub_console_highlight_color): Removed.
711 (grub_console_normal_color): Likewise.
712 (grub_console_standard_color): Made static.
713 (grub_ncurses_putchar): Remove mapping.
714 (grub_ncurses_getcharwidth): Removed.
715 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
716 (grub_ncurses_setcolor): Removed.
717 (grub_ncurses_getcolor): Likewise.
718 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
719 (grub_console_putchar): ... this.
720 (grub_console_putchar): Handle argument difference.
721 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
722 console_init_early and console_init_lately.
723 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
724 * kern/misc.c (grub_puts): Removed.
725 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
726 (grub_vsnprintf_real): Remove str = NULL support.
727 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
728 * normal/charset.c (grub_utf8_to_ucs4): ... here.
729 * kern/term.c (grub_putcode): Renamed to ...
730 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
731 (grub_putchar): Removed.
732 (grub_xputs_dumb): New function.
733 (grub_xputs): New variable.
734 * lib/charset.c: Move from here ...
735 * normal/charset.c: ... to here.
736 (grub_ucs4_to_utf8): New function.
737 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
738 (join_types): New variable.
739 (unpack_join): New function.
740 (bidi_types): New variable.
741 (unpack_bidi): New function.
742 (get_bidi_type): Likewise.
743 (get_join_type): Likewise.
744 (is_mirrored): Likewise.
745 (grub_unicode_get_comb_type): Likewise.
746 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
747 (is_type_after): Likewise.
748 (grub_unicode_aglomerate_comb): Likewise.
749 (bidi_line_wrap): Likewise.
750 (grub_bidi_line_logical_to_visual): Likewise.
751 (grub_bidi_logical_to_visual): Likewise.
752 (grub_unicode_mirror_code): Likewise.
753 (grub_unicode_shape_code): Likewise.
754 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
755 Don't use grub_putchar.
756 * normal/main.c (grub_normal_init_page): Use grub_putcode.
757 (grub_normal_reader_init): Likewise.
758 (grub_xputs_saved): New variable.
759 (GRUB_MOD_INIT): Set grub_xputs.
760 (GRUB_MOD_FINI): Restore grub_xputs.
761 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
762 (menu_init): Avoid printing gfxmenu error.
763 (show_menu): Use grub_normal_get_char_counter.
764 * normal/menu_entry.c (update_screen): Fix out-of-array.
765 (complete): Avoid NULL dereferencing.
766 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
767 * normal/menu_text.c (print_spaces): Removed.
768 (grub_print_ucs4): Likewise.
769 (grub_print_message_indented): Use grub_print_ucs4.
770 (print_message): Use grub_putcode.
771 (print_entry): Hanlde diacritics.
772 * normal/term.c (term_state): New type.
773 (grub_more_lines): Removed.
774 (term_states): New variable.
775 (grub_normal_line_counter): Renamed to ..
776 (grub_normal_char_counter): ...this. All users updated.
777 (grub_normal_get_line_counter): Renamed to ...
778 (grub_normal_get_char_counter): ... this.
779 (grub_normal_reset_more): New function.
780 (process_newline): Removed.
781 (print_more): New function.
782 (grub_install_newline_hook): Removed.
783 (map_code): New function.
784 (grub_puts_terminal): Use grub_print_ucs4.
785 (putglyph): New function.
786 (putcode_real): Likewise.
787 (grub_putcode): Use putcode_real.
788 (get_maxwidth): New function.
789 (get_startwidth): Likewise.
790 (print_ucs4_terminal): Likewise.
791 (find_term_state): Likewise.
792 (put_glyphs_terminal): Likewise.
793 (print_backlog): Likewise.
794 (print_ucs4_real): Likewise.
795 (grub_print_ucs4): Likewise.
796 (grub_xputs_normal): Likewise.
797 * term/efi/console.c (grub_console_putchar): Output diacritics.
798 (grub_console_getcharwidth): Removed.
799 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
800 * term/gfxterm.c (clear_char): Free chars.
801 (scroll_up): Avoid leaking memory.
802 (grub_gfxterm_putchar): Support diacritics.
803 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
804 * term/i386/pc/console.c (grub_console_term_output): Declare as
805 GRUB_TERM_CODE_TYPE_VGA.
806 * term/i386/pc/vga.c (grub_vga_term): Declare as
807 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
808 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
809 GRUB_TERM_CODE_TYPE_VGA.
810 * term/i386/vga_common.c (map_char): Removed.
811 (grub_console_putchar): Likewise.
812 (grub_console_getcharwidth): Likewise.
813 * term/ieee1275/ofconsole.c: Simplify using terminfo.
814 (colors): Reordered to match terminfo.
815 (grub_ofconsole_normal_color): Removed.
816 (grub_ofconsole_writeesc): Likewise.
817 (grub_ofconsole_highlight_color): Likewise.
818 (grub_ofconsole_getcharwidth): Likewise.
819 (grub_ofconsole_setcolorstate): Likewise.
820 (grub_ofconsole_setcolor): Likewise.
821 (grub_ofconsole_getcolor): Likewise.
822 (grub_ofconsole_readkey): Renamed to ...
823 (readkey): ... this. Remove escape sequence handling. Return -1 on no
824 key.
825 (grub_ofconsole_checkkey): Removed.
826 (grub_ofconsole_getkey): Likewise.
827 (grub_ofconsole_getxy): Likewise.
828 (grub_ofconsole_gotoxy): Likewise.
829 (grub_ofconsole_cls): Likewise.
830 (grub_ofconsole_refresh): Likewise.
831 (grub_ofconsole_terminfo_input): New struct.
832 (grub_ofconsole_terminfo_output): Likewise.
833 (grub_ofconsole_term_input): Use terminfo.
834 (grub_ofconsole_term_output): Likewise.
835 (grub_console_init): Split into ...
836 (grub_console_init_early): ...this and ...
837 (grub_console_init_lately): ...this. Use terminfo.
838 (grub_ofconsole_putchar): Renamed to ...
839 (put): ... this. Remove mapping.
840 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
841 * term/serial.c: Simplify using terminfo.
842 (xpos): Removed.
843 (ypos): Likewise.
844 (keep_track): Likewise.
845 (registered): Likewise.
846 (input_buf): Likewise.
847 (npending): Likewise.
848 (serial_translate_key_sequence): Likewise.
849 (fill_input_buf): Likewise.
850 (grub_serial_checkkey): Likewise.
851 (grub_serial_getkey): Likewise.
852 (grub_serial_getxy): Likewise.
853 (grub_serial_gotoxy): Likewise.
854 (grub_serial_putchar): Likewise.
855 (grub_serial_cls): Likewise.
856 (grub_serial_setcolorstate): Likewise.
857 (grub_serial_setcursor): Likewise.
858 (serial_hw_init): Use serial_hw_fetch.
859 (grub_serial_terminfo_input): New variable.
860 (grub_serial_terminfo_output): Likewise.
861 (grub_serial_term_input): Use terminfo.
862 (grub_serial_term_output): Likewise.
863 * term/terminfo.c (putstr): Use put.
864 (grub_terminfo_all_free): New function
865 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
866 (grub_terminfo_output_register): New function.
867 (grub_terminfo_output_unregister): Likewise.
868 (grub_terminfo_getxy): Likewise.
869 (grub_terminfo_readkey): Likewise.
870 (grub_terminfo_checkkey): Likewise.
871 (grub_terminfo_getkey): Likewise.
872 (grub_terminfo_input_init): Likewise.
873 (print_terminfo): Likewise.
874 (grub_cmd_terminfo): Handle encoding.
875 (grub_terminfo_gotoxy): Track position.
876 (grub_terminfo_cls): Likewise.
877 (grub_terminfo_putchar): Likewise.
878 (grub_terminfo_setcolorstate): Handle colors
879 (grub_terminfo_cursor_on): This ...
880 (grub_terminfo_cursor_off): ... and this merged into ...
881 (grub_terminfo_setcursor): ... this.
882 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
883 * unicode/ArabicShaping.txt: New file (imported from Unicode).
884 * unicode/BidiMirroring.txt: Likewise.
885 * unicode/UnicodeData.txt: Likewise.
886 * unicode/COPYING: Likewise.
887 * util/grub-editenv.c (grub_putchar): Removed.
888 (grub_xputs_real): New function.
889 (grub_xputs): New variable.
890 * util/grub-fstest.c (grub_putchar): Removed.
891 (grub_xputs_real): New function.
892 (grub_xputs): New variable.
893 * util/grub-mkdevicemap.c (grub_putchar): Removed.
894 (grub_xputs_real): New function.
895 (grub_xputs): New variable.
896 * util/grub-probe.c (grub_putchar): Removed.
897 (grub_xputs_real): New function.
898 (grub_xputs): New variable.
899 * util/grub-script-check.c (grub_putchar): Removed.
900 (grub_xputs_real): New function.
901 (grub_xputs): New variable.
902 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
903 (grub_xputs_real): New function.
904 (grub_xputs): New variable.
905 * util/import_unicode.py: New file.
906 * util/grub-mkfont.c (ft_errmsgs): New array.
907 (grub_glyph_info): Make bitmap a pointer.
908 (file_formats): New type WIDTH_SPEC.
909 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
910 (options): Add width-spec.
911 (help): Likewise.
912 (add_char): Renamed to ...
913 (add_glyph): ... this.
914 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
915 (glyph_replace): New type.
916 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
917 (add_char): New function.
918 (add_subst): Likewise.
919 (process_cursive): Likewise.
920 (add_font): Handle GSUB.
921 (write_font_width_spec): New function.
922 (main): Sort glyphs.
923 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
924 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
925 * kern/term.c (grub_cls): Moved from here...
926 * normal/term.c (grub_cls): ... here.
927
928 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
929
930 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
931 suitable for using within the format argument of printf when
932 converting grub_size_t.
933 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
934 "x" to convert grub_size_t arguments.
935
936 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
939 too long captions.
940 (list_get_minimal_size): Take selection box into account.
941
942 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
945 NULL font.
946
947 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
948
949 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
950 devices when iterating over /dev/disk/by-id; they will be handled
951 later if appropriate, which they aren't always (e.g. LVM).
952
953 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
954
955 * include/grub/misc.h (grub_reboot): Declare as noreturn.
956 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
957 fails.
958 (grub_halt): Likewise.
959 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
960 reset-all fails.
961 (grub_halt): Don't return, even if all of shut-down, power-off, and
962 poweroff fail.
963
964 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
965
966 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
967 arguments, not three.
968
969 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
972 * util/grub.d/10_linux.in: Use it to check for LVM, so that
973 LVM-on-RAID is handled correctly.
974
975 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
976
977 * docs/grub.texi (Changes from GRUB Legacy): New section.
978 (Future): Fix typo.
979
980 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
981
982 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
983 grub.d/README accidentally ends up executable for one reason or
984 another. Ignore it.
985
986 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
989 (gpt_partition_map_iterate): Support non-512B sectors.
990
991 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * kern/efi/init.c (grub_efi_init): Disable watchdog.
994 Tested by: Seth Goldberg.
995
996 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
999 Properly align mbi.
1000 Reported by: Seth Goldberg.
1001
1002 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * util/grub-mkrescue.in: Avoid module duplication.
1005
1006 2010-07-01 Sean Finney <seanius@seanius.net>
1007
1008 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1009
1010 2010-07-01 Sean Finney <seanius@seanius.net>
1011
1012 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1013
1014 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * disk/lvm.c (grub_lvm_checkvalue): New function.
1017 (grub_lvm_check_flag): Likewise.
1018
1019 2010-07-01 Robert Millan <rmh@gnu.org>
1020
1021 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1022 Support 'p' as partition separator on kernel of FreeBSD (used
1023 with GPT labels).
1024 (grub_util_biosdisk_get_grub_dev): Likewise.
1025
1026 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Yeeloong firmware port.
1029
1030 * boot/mips/yeeloong/fwstart.S: New file.
1031 * bus/cs5536.c (gpiodump): New const.
1032 (set_io_space): New function.
1033 (set_iod): Likewise.
1034 (set_p2d): Likewise.
1035 (grub_cs5536_init_geode): Likewise.
1036 * commands/mips/yeeloong/lsspd.c: New file.
1037 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1038 (serial_mod_SOURCES): New variable.
1039 (serial_mod_CFLAGS): Likewise.
1040 (serial_mod_LDFLAGS): Likewise.
1041 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1042 term/terminfo.c and term/tparm.c.
1043 (pkglib_IMAGES): Add fwstart.img.
1044 (fwstart_img_SOURCES): New variable.
1045 (fwstart_img_CFLAGS): Likewise.
1046 (fwstart_img_ASFLAGS): Likewise.
1047 (fwstart_img_LDFLAGS): Likewise.
1048 (fwstart_img_FORMAT): Likewise.
1049 (pkglib_MODULES): Add lsspd.mod.
1050 (lsspd_mod_SOURCES): New variable.
1051 (lsspd_mod_CFLAGS): Likewise.
1052 (lsspd_mod_LDFLAGS): Likewise.
1053 (pkglib_MODULES): Add halt.mod.
1054 (halt_mod_SOURCES): New variable.
1055 (halt_mod_CFLAGS): Likewise.
1056 (halt_mod_LDFLAGS): Likewise.
1057 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1058 (serial_mod_SOURCES): Removed.
1059 (serial_mod_CFLAGS): Likewise.
1060 (serial_mod_LDFLAGS): Likewise.
1061 * disk/ata.c (check_device): New function.
1062 (grub_ata_device_initialize): Use check_device.
1063 (grub_ata_iterate): Recheck devices.
1064 (grub_ata_open): Likewise.
1065 (grub_atapi_iterate): Likewise.
1066 (grub_atapi_open): Likewise.
1067 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1068 (GRUB_ATA_CH1_PORT1): Likewise.
1069 (GRUB_ATA_CH0_PORT2): Likewise.
1070 (GRUB_ATA_CH1_PORT2): Likewise.
1071 * include/grub/mips/loongson.h: New file.
1072 * include/grub/mips/yeeloong/ec.h: Likewise.
1073 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1074 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1075 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1076 * include/grub/misc.h (grub_halt): Declare as noreturn.
1077 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1078 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1079 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1080 (UART_ENABLE_DTRRTS): Likewise.
1081 (UART_ENABLE_MODEM): Removed.
1082 (UART_ENABLE_OUT2): New const.
1083 * include/grub/term.h (grub_term_register_input_active): New function.
1084 (grub_term_register_output_active): Likewise.
1085 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1086 argument.
1087 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1088 (init_pci): New function.
1089 (grub_machine_init): Execute platform init when firmware. Init serial.
1090 (grub_halt): Implement.
1091 (grub_exit): Likewise.
1092 (grub_reboot): Likewise.
1093 * term/serial.c (serial_hw_init): Update macros.
1094 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1095 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1096 (image_targets): New target mipsel-yeeloong-flash.
1097 (generate_image): Support IMAGE_YEELOONG_FLASH.
1098 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1099 (grub_video_sm712_setup): Init card.
1100 (grub_video_sm712_set_palette): Removed.
1101 * video/sm712_init.c: New file.
1102
1103 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
1104
1105 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1106 PATH when running help2man and then run it on the unadorned
1107 executable names, rather than passing $(builddir)/* paths to
1108 help2man. This avoids the build directory ending up in generated
1109 manual pages.
1110
1111 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1112
1113 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1114 to avoid accidents when debugging with 'sh -x'.
1115 * util/grub-mkrescue.in: Likewise.
1116 * util/grub.d/00_header.in: Likewise.
1117 * util/grub.d/10_hurd.in: Likewise.
1118 * util/grub.d/10_kfreebsd.in: Likewise.
1119 * util/grub.d/10_linux.in: Likewise.
1120 * util/grub.d/10_netbsd.in: Likewise.
1121 * util/grub.d/10_windows.in: Likewise.
1122 * util/grub.d/20_linux_xen.in: Likewise.
1123 * util/grub.d/30_os-prober.in: Likewise.
1124 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1125
1126 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1127
1128 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1129 last character in the buffer.
1130 Reported by: Vladimir Serbinenko.
1131
1132 2010-06-29 Robert Millan <rmh@gnu.org>
1133
1134 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1135 (Command-line and menu entry commands): Document `badram' command.
1136
1137 2010-06-28 Robert Millan <rmh@gnu.org>
1138
1139 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1140 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1141 command using ${GRUB_BADRAM} as parameter.
1142
1143 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1144
1145 * docs/grub.texi (Device map): New section.
1146 (Themes): New section (stub).
1147 * Makefile.in (docs/grub.info): The info documentation now builds
1148 without errors. Make sure it stays that way.
1149
1150 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Use normal parser for menu entries.
1153 Reported by: Thomas Frauendorfer
1154
1155 * include/grub/parser.h (grub_parser_execute): Don't export.
1156 * normal/menu.c (grub_menu_execute_entry_real): New function.
1157 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1158
1159 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1160
1161 * docs/grub.texi (Embedded configuration): New section (replacing
1162 old "Preset Menu" stub).
1163 (Images): New section.
1164 (configfile): Note that any menu entries defined in `file' are shown
1165 immediately.
1166
1167 2010-06-28 Josh Triplett <josh@joshtriplett.org>
1168
1169 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1170
1171 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1172
1173 * util/grub-install.in: Add --debug-image= option.
1174
1175 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1176
1177 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1178 possible on Linux.
1179
1180 * util/deviceiter.c (check_device): Rename to ...
1181 (check_device_readable_unique): ... this. Update all callers.
1182 Maintain and check a list of which devices (by canonicalized name)
1183 have already been seen.
1184 (clear_seen_devices): New function.
1185 (compare_file_names) [__linux__]: New function.
1186 (grub_util_iterate_devices): Clear the list of seen devices on exit
1187 and (just in case) on entry.
1188 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1189 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1190 seen-devices list, superseded by general code in check_device.
1191
1192 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1193
1194 * commands/cat.c (options): New variable.
1195 (grub_cmd_cat): Parse options. If the --dos option is given, print
1196 DOS-style "\r\n" line endings as simple newlines (Debian bug
1197 #586358).
1198 (GRUB_MOD_INIT): Use extcmd.
1199 (GRUB_MOD_FINI): Likewise.
1200 * docs/grub.texi (cat): Document --dos.
1201
1202 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 XEN with Linux grub-mkconfig support.
1205
1206 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1207 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1208 GRUB_CMDLINE_XEN_DEFAULT.
1209 * util/grub.d/20_linux_xen.in: New file.
1210
1211 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Initialise VGA video on qemu ourselves.
1214
1215 * boot/i386/qemu/boot.S: Don't call 0xc000.
1216 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1217 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1218 (kernel_img_HEADERS): Add pci.h.
1219 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1220 * configure.ac: Force unifont on qemu and yeeloong.
1221 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1222 (grub_vga_palette_write): Use correct register.
1223 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1224 Call grub_qemu_init_cirrus.
1225 * kern/i386/qemu/init.c: New file.
1226 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1227
1228 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1229
1230 2010-06-26 Pavel Roskin <proski@gnu.org>
1231
1232 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1233 13.
1234
1235 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1236
1237 * docs/grub.texi (Simple configuration): Explain that
1238 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1239 set to `true' to disable their respective recovery entries, not
1240 merely set.
1241
1242 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1243
1244 Make the `source' command slightly faster.
1245
1246 * normal/main.c (grub_normal_execute): Don't re-read list files when
1247 nested.
1248
1249 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1250
1251 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1252 field position and mask size to red fields from mode_info, not
1253 green.
1254 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1255 Remove redundant tag->common.framebuffer_type assignment.
1256 Reported by: Seth Goldberg.
1257
1258 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1259
1260 Sync up other versions of the Linux loader with Robert Millan's
1261 change of 2010-01-09, "Make loader output a bit more user-friendly".
1262
1263 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1264 grub_dprintf().
1265 (grub_cmd_linux): Likewise.
1266 (grub_cmd_initrd): Likewise.
1267 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1268 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1269
1270 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1271
1272 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1273 larger than MEMORY_MAP_SIZE.
1274
1275 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1276
1277 Fix parallel build.
1278
1279 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1280 dependency.
1281 * script/parser.y: #include grub_script.tab.h header.
1282
1283 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Support >3GiB and <16MiB RAM in i386-qemu.
1286
1287 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1288 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1289 (grub_lower_mem): Removed.
1290 (grub_upper_mem): Likewise.
1291 (mem_size): Made static.
1292 (above_4g): New variable.
1293 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1294 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1295 support.
1296
1297 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Cirrus 5446 and Bochs video cards support.
1300
1301 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1302 video_bochs.mod
1303 (video_cirrus_mod_SOURCES): New variable.
1304 (video_cirrus_mod_CFLAGS): Likewise.
1305 (video_cirrus_mod_LDFLAGS): Likewise.
1306 (video_bochs_mod_SOURCES): Likewise.
1307 (video_bochs_mod_CFLAGS): Likewise.
1308 (video_bochs_mod_LDFLAGS): Likewise.
1309 * include/grub/vga.h: New file.
1310 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1311 (grub_video_fb_set_page_t): New type.
1312 (grub_video_fb_setup): New prototype.
1313 (grub_video_fb_swap_buffers): Likewise.
1314 (grub_video_fb_get_info_and_fini): Likewise.
1315 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1316 (CRTC_DATA_PORT): Likewise.
1317 (CRTC_CURSOR): Likewise.
1318 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1319 (CRTC_CURSOR_ADDR_LOW): Likewise.
1320 (CRTC_CURSOR_DISABLE): Likewise.
1321 (update_cursor): Use grub_vga_cr_write.
1322 (grub_vga_text_setcursor): Likewise.
1323 * video/bochs.c: New file.
1324 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1325 (palette): Likewise.
1326 (palette_size): Likewise.
1327 (framebuffer): New variable.
1328 (grub_video_fb_init): Use 'framebuffer'.
1329 (grub_video_fb_fini): Likewise.
1330 (grub_video_fb_get_info): Likewise.
1331 (grub_video_fb_get_palette): Likewise.
1332 (grub_video_fb_set_palette): Likewise.
1333 (grub_video_fb_set_viewport): Likewise.
1334 (grub_video_fb_get_viewport): Likewise.
1335 (grub_video_fb_map_color): Likewise.
1336 (grub_video_fb_map_rgb): Likewise.
1337 (grub_video_fb_map_rgba): Likewise.
1338 (grub_video_fb_unmap_color): Likewise.
1339 (grub_video_fb_unmap_color_int): Likewise.
1340 (grub_video_fb_fill_rect): Likewise.
1341 (grub_video_fb_blit_bitmap): Likewise.
1342 (grub_video_fb_blit_render_target): Likewise.
1343 (grub_video_fb_scroll): Likewise.
1344 (grub_video_fb_create_render_target): Likewise.
1345 (grub_video_fb_doublebuf_blit_init): Likewise.
1346 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1347 (doublebuf_pageflipping_update_screen): New function.
1348 (doublebuf_pageflipping_init): Likewise.
1349 (grub_video_fb_setup): Likewise.
1350 (grub_video_fb_swap_buffers): Likewise.
1351 (grub_video_fb_get_info_and_fini): Likewise.
1352 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1353 All users updated.
1354 (doublebuf_pageflipping_commit): Restructured into ...
1355 (doublebuf_pageflipping_set_page): ... this.
1356 (doublebuf_pageflipping_update_screen): Removed.
1357 (doublebuf_pageflipping_init): Likewise.
1358 (double_buffering_init): Likewise.
1359 (grub_video_vbe_setup): Use grub_video_fb_setup.
1360 (grub_video_vbe_swap_buffers): Removed.
1361 (grub_video_vbe_set_active_render_target): Likewise.
1362 (grub_video_vbe_get_active_render_target): Likewise.
1363 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1364 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1365 grub_video_fb_set_active_render_target and
1366 grub_video_fb_get_active_render_target.
1367 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1368 (SEQUENCER_DATA_PORT): Likewise.
1369 (MAP_MASK_REGISTER): Likewise.
1370 (CRTC_ADDR_PORT): Likewise.
1371 (CRTC_DATA_PORT): Likewise.
1372 (START_ADDR_HIGH_REGISTER): Likewise.
1373 (START_ADDR_LOW_REGISTER): Likewise.
1374 (GRAPHICS_ADDR_PORT): Likewise.
1375 (GRAPHICS_DATA_PORT): Likewise.
1376 (READ_MAP_REGISTER): Likewise.
1377 (INPUT_STATUS1_REGISTER): Likewise.
1378 (INPUT_STATUS1_VERTR_BIT): Likewise.
1379 (get_map_mask): Use grub_vga_sr_read.
1380 (set_map_mask): Use grub_vga_sr_write.
1381 (set_read_map): Use grub_vga_gr_write.
1382 (set_start_address): Use grub_vga_cr_write.
1383 * video/sm712.c (framebuffer): Remove leftover fields.
1384
1385 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1386
1387 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1388 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1389 instead. Replace the gfxterm backend check with a check that
1390 ${GRUB_PREFIX}/video.lst is non-empty.
1391 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1392 again.
1393 (load_video): New generated function. Call it before loading
1394 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1395 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1396 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1397 * docs/grub.texi (Simple configuration): Document
1398 GRUB_VIDEO_BACKEND.
1399
1400 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Use video functions in linux and xnu loaders.
1403
1404 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1405 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1406 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1407 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1408 loader/i386/pc/linux.c.
1409 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1410 (find_line_len): Removed.
1411 (find_framebuf): Likewise.
1412 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1413 * loader/i386/efi/xnu.c: Removed.
1414 * loader/i386/pc/xnu.c: Moved from here...
1415 * loader/i386/xnu.c: ...here.
1416
1417 Enable priorities in video drivers.
1418
1419 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1420 (grub_video_adapter): New field prio.
1421 (grub_video_register): Respect prio when inserting.
1422 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1423 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1424 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1425 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1426 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1427 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1428 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1429
1430 Fix SDL driver ID.
1431
1432 * include/grub/video.h (grub_video_driver_id_t): New value
1433 GRUB_VIDEO_DRIVER_SDL.
1434 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1435
1436 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1437
1438 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1439 argument to printf.
1440 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1441
1442 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1443
1444 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1445 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1446
1447 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1448
1449 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1450 directly, and recommend grub-install instead.
1451 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1452
1453 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1454
1455 Fix i386-pc prefix handling with nested partitions (Debian bug
1456 #585068). Note that the case where the core image is booted using
1457 multiboot and relocated from its original location still requires
1458 more work.
1459
1460 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1461 with "(,", fill the boot drive in between those two characters, but
1462 expect that a full partition specification including partition map
1463 names will follow.
1464 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1465 specified, write a prefix without the drive name but including a
1466 full partition specification.
1467
1468 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1469
1470 * util/grub-mkconfig.in: Ignore non-option arguments, for
1471 compatibility with older versions (before 2010-06-12) which did the
1472 same. In particular, this makes it easier to ship an update-grub
1473 wrapper which is compatible with that used with GRUB Legacy (Debian
1474 bug #586056).
1475
1476 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1477
1478 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1479 for manual page generation.
1480
1481 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1482
1483 * po/POTFILES: Remove leftover commands/handler.c.
1484
1485 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1486
1487 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1488 left this script non-functional.
1489
1490 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1491
1492 * docs/man/grub-emu.h2m: New file.
1493
1494 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1495
1496 * docs/grub.texi (Commands): Document reduced command set in rescue
1497 mode.
1498 (cpuid): New section.
1499
1500 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1501
1502 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1503 new partition naming style.
1504 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1505
1506 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1507
1508 Add "-o grub.iso" like cmdline options support.
1509
1510 * util/grub-install.in: Improve cmdline option parsing.
1511 * util/grub-mkconfig.in: Likewise.
1512 * util/grub-mkrescue.in: Likewise.
1513 * util/grub-reboot.in: Likewise.
1514 * util/grub-set-default.in: Likewise.
1515 * util/i386/efi/grub-install.in: Likewise.
1516 * util/ieee1275/grub-install.in: Likewise.
1517 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1518
1519 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1520
1521 * .bzrignore: Ignore 41_custom.
1522
1523 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1524
1525 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1526
1527 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1528
1529 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1530 prototype declarations.
1531
1532 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1533 generating fs, partmap, and video lists.
1534 * include/grub/fs.h (grub_fs_register): Omit prototype if
1535 GRUB_LST_GENERATOR is defined.
1536 * include/grub/partition.h (grub_partition_map_register): Likewise.
1537 * include/grub/video.h (grub_video_register): Likewise.
1538
1539 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1540
1541 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1542
1543 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1544
1545 * util/grub-mkrescue.in: Support --xorriso argument.
1546
1547 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1550 Suggested by: Thomas Schmitt.
1551
1552 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1555 Suggested by: Thomas Schmitt.
1556
1557 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 custom.cfg support.
1560
1561 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1562 * util/grub.d/41_custom.in: New file.
1563
1564 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1565
1566 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1567 been merged back into normal.
1568
1569 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1570
1571 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1572 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1573
1574 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1575
1576 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1577 when generating manual pages.
1578 * docs/man/grub-bin2h.h2m: New file.
1579 * docs/man/grub-editenv.h2m: New file.
1580 * docs/man/grub-fstest.h2m: New file.
1581 * docs/man/grub-install.h2m: New file.
1582 * docs/man/grub-macho2img.h2m: New file.
1583 * docs/man/grub-mkconfig.h2m: New file.
1584 * docs/man/grub-mkdevicemap.h2m: New file.
1585 * docs/man/grub-mkfont.h2m: New file.
1586 * docs/man/grub-mkimage.h2m: New file.
1587 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1588 * docs/man/grub-mkrelpath.h2m: New file.
1589 * docs/man/grub-mkrescue.h2m: New file.
1590 * docs/man/grub-ofpathname.h2m: New file.
1591 * docs/man/grub-pe2elf.h2m: New file.
1592 * docs/man/grub-probe.h2m: New file.
1593 * docs/man/grub-reboot.h2m: New file.
1594 * docs/man/grub-script-check.h2m: New file.
1595 * docs/man/grub-set-default.h2m: New file.
1596 * docs/man/grub-setup.h2m: New file.
1597
1598 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Use FOR_* macros instead of *_iterate whenever possible.
1601
1602 * commands/handler.c: Removed.
1603 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1604 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1605 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1606 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1607 (grub_probe_SOURCES): Remove kern/parser.c.
1608 (util/grub-script-check.c_DEPENDENCIES): Removed.
1609 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1610 and grub_script_check_init.c.
1611 (grub_script_check_init.lst): Removed.
1612 (grub_script_check_init.h): Likewise.
1613 (grub_script_check_init.c): Likewise.
1614 (pkglib_MODULES): Remove handler.mod and sh.mod.
1615 (handler_mod_SOURCES): Removed.
1616 (handler_mod_CFLAGS): Likewise.
1617 (handler_mod_LDFLAGS): Likewise.
1618 (normal_mod_SOURCES): Remove normal/handler.c.
1619 Add script/main.c, script/script.c, script/execute.c,
1620 script/function.c, script/lexer.c, grub_script.tab.c
1621 and grub_script.yy.c.
1622 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1623 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1624 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1625 (grub_setup_SOURCES): Remove kern/parser.c.
1626 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1627 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1628 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1629 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1630 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1631 (grub_setup_SOURCES): Remove kern/parser.c.
1632 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1633 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1634 * include/grub/command.h (grub_command_iterate): Removed.
1635 (FOR_COMMANDS): New macro.
1636 * include/grub/dl.h (grub_dl): New member next.
1637 (grub_dl_iterate): Removed.
1638 (grub_dl_head): New variable declaration.
1639 (FOR_DL_MODULES): New macro.
1640 * include/grub/fs.h: Include list.h.
1641 (grub_fs): Make next first element.
1642 (grub_fs_list): New variable declaration.
1643 (grub_fs_register): Make inline.
1644 (grub_fs_unregister): Likewise.
1645 (grub_fs_iterate): Removed.
1646 (FOR_FILESYSTEMS): New macro.
1647 * include/grub/handler.h: Removed.
1648 * include/grub/list.h (grub_list_hook_t): Removed.
1649 (grub_list_test_t): Likewise.
1650 (grub_list_pop): Likewise.
1651 (grub_list_iterate): Likewise.
1652 (grub_list_insert): Likewise.
1653 (FOR_LIST_ELEMENTS): New macro.
1654 * include/grub/parser.h (grub_parser_class): Removed.
1655 (grub_parser_register): Likewise.
1656 (grub_parser_unregister): Likewise.
1657 (grub_parser_get_current): Likewise.
1658 (grub_parser_set_current): Likewise.
1659 (grub_register_rescue_parser): Likewise.
1660 (grub_rescue_parse_line): New function.
1661 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1662 * include/grub/script_sh.h (grub_script_function_list): New variable
1663 declaration.
1664 (FOR_SCRIPT_FUNCTIONS): New macro.
1665 (grub_script_function_iterate): Removed.
1666 (grub_normal_parse_line): New prototype.
1667 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1668 (FOR_DISABLED_TERM_INPUTS): Likewise.
1669 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1670 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1671 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1672 element.
1673 (grub_video_register): Inline.
1674 (grub_video_unregister): Likewise.
1675 (grub_video_adapter_list): New variable declaration.
1676 (grub_video_iterate): Removed.
1677 (FOR_VIDEO_ADAPTERS): New macro.
1678 * kern/dl.c (grub_dl_list): Removed. All users updated.
1679 (grub_dl_iterate): Removed.
1680 * kern/fs.c (grub_fs_list): Make global.
1681 (grub_fs_register): Removed.
1682 (grub_fs_unregister): Likewise.
1683 (grub_fs_iterate): Likewise.
1684 * kern/handler.c: Removed.
1685 * kern/list.c (grub_list_pop): Removed.
1686 (grub_list_iterate): Likewise.
1687 (grub_list_insert): Likewise.
1688 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1689 (grub_prio_list_insert): Don't use grub_list_insert.
1690 * kern/main.c (grub_register_rescue_parser): Don't call
1691 grub_register_rescue_parser.
1692 * kern/parser.c (grub_parser_class): Removed.
1693 (grub_parser_execute): Use grub_rescue_parse_line.
1694 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1695 (grub_rescue_parser): Removed.
1696 (grub_register_rescue_parser): Likewise.
1697 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1698 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1699 (grub_auth_check_authentication): Likewise.
1700 * normal/completion.c (iterate_command): Removed.
1701 (grub_normal_do_completion): Use FOR_COMMANDS.
1702 * normal/handler.c: Removed.
1703 * normal/main.c (read_config_file): Remove parser changing.
1704 (grub_normal_execute): Don't call read_handler_list.
1705 (grub_normal_read_line_real): Statically allocate prompt.
1706 (grub_cmdline_run): Use grub_normal_parse_line.
1707 (GRUB_MOD_FINI): Don't call free_handler_list.
1708 * normal/menu_entry.c (run): Likewise.
1709 * script/function.c (grub_script_function_list): Make global.
1710 (grub_script_function_iterate): Removed.
1711 * script/main.c (grub_normal_parse_line): Make global.
1712 (grub_sh_parser): Removed.
1713 (GRUB_MOD_INIT): Likewise.
1714 (GRUB_MOD_FINI): Likewise.
1715 * tests/lib/functional_test.c (grub_functional_test): Use
1716 FOR_LIST_ELEMENTS.
1717 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1718 (grub_test_run): Use FOR_LIST_ELEMENTS.
1719 * tests/lib/unit_test.c (main): Likewise.
1720 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1721 grub_list_pop.
1722 * util/grub-fstest.c (grub_term_input_class): Removed.
1723 (grub_term_output_class): Likewise.
1724 * util/grub-probe.c: Likewise.
1725 * util/i386/pc/grub-setup.c: Likewise.
1726 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1727 * util/grub-script-check.c (main): Don't call grub_init_all and
1728 grub_fini_all.
1729 * video/video.c (grub_video_adapter_list): Make global.
1730 (grub_video_register): Removed.
1731 (grub_video_unregister): Likewise.
1732 (grub_video_iterate): Likewise.
1733
1734 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1737 reported by Henrique Ferreiro.
1738
1739 2010-06-09 Robert Millan <rmh@gnu.org>
1740
1741 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1742 ones, when both are available.
1743
1744 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1745
1746 Make --version uniform and avoid hard-coded program name.
1747
1748 * util/grub-mkimage.c (main): Use `program_name' instead of
1749 hard-coded string.
1750 * util/i386/pc/grub-setup.c (main): Likewise.
1751 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1752 * util/grub-install.in: Save the basename of $0 in $self, and use the
1753 latter in informational messages. Use the same format for --version
1754 as the binary programs.
1755 * util/grub-mkconfig.in: Likewise.
1756 * util/grub-mkrescue.in: Likewise.
1757 * util/grub-reboot.in: Likewise.
1758 * util/grub-set-default.in: Likewise.
1759 * util/i386/efi/grub-install.in: Likewise.
1760 * util/ieee1275/grub-install.in: Likewise.
1761 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1762
1763 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1764
1765 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1766 embedding area. Use <= instead of == when checking for non-emptiness.
1767
1768 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1769
1770 * configure.ac: Add `.' to the directories searched for unifont.
1771
1772 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1773
1774 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1775 grub_script.yy.h.
1776
1777 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1778
1779 * docs/grub.texi (History): Expand to cover GRUB 2.
1780 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1781 commands, not `terminal'.
1782 (serial): Likewise.
1783 (terminal_input): New section.
1784 (terminal_output): New section.
1785 (uppermem): New section (stub).
1786 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1787
1788 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1789
1790 * docs/grub.texi (Security): Menu entries are unrestricted by
1791 default, not restricted to superusers as I had previously thought.
1792 Reword to account for this.
1793
1794 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1795
1796 * kern/emu/misc.c (device_mapper_null_log): New function.
1797 (grub_device_mapper_supported): New function.
1798 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1799 prototype.
1800 * kern/emu/hostdisk.c (find_partition_start): Check whether
1801 device-mapper is supported before trying to use it.
1802 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1803
1804 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1805
1806 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1807 (File name syntax): Likewise.
1808 (help): --all is no longer supported in GRUB 2. Be more precise
1809 about pattern matching.
1810
1811 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1812
1813 * normal/completion.c (grub_normal_do_completion): When completing
1814 arguments to "set" and the current word contains an equals sign,
1815 skip to after the equals sign before starting completion.
1816
1817 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1818
1819 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1820
1821 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1822
1823 * docs/grub.texi (Network): New section.
1824 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1825 `(nd)' as in GRUB Legacy.
1826 (pxe_unload): New section.
1827
1828 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1829
1830 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1831 in the rescue shell, so recommend using `set' instead. Thanks,
1832 Jordan Uggla.
1833
1834 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1835
1836 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1837 (password): New section.
1838 (password_pbkdf2): New section.
1839 (search): New section.
1840 (Security): New section.
1841 (Troubleshooting): New section, currently very incomplete.
1842 (Invoking grub-mkpasswd-pbkdf2): New section.
1843 (Internals): New section, currently very incomplete.
1844
1845 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1846
1847 * util/grub.d/00_header.in: Add some more quoting (of
1848 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1849 work again.
1850 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1851
1852 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1855 to `count', fixing variable shadowing that broke the -c option.
1856
1857 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1858
1859 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1860 in case they contain spaces.
1861
1862 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1863
1864 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1865 "part_" to partmap module names, in line with grub-install.
1866 Reported by: Jindřich Makovička (Debian bug #584426).
1867
1868 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1869
1870 * util/grub-mkimage.c: Make target-related error messages slightly
1871 more helpful; -O talks about "format". Explicitly point to the use
1872 of -O if no target is specified.
1873 Reported by: Didier Raboud (Debian bug #584415).
1874
1875 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1876
1877 * INSTALL: Document several build requirements for optional features
1878 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1879
1880 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1881
1882 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1883 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1884 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1885
1886 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1889 Thanks to Jordan Uggla for spotting this.
1890
1891 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1892
1893 Finally make USB usable.
1894
1895 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1896 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1897 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1898 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1899 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1900 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1901 (GRUB_OHCI_FSMPS): Likewise.
1902 (GRUB_OHCI_PERIODIC_START): Likewise.
1903 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1904 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1905 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1906 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1907 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1908 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1909 (grub_ohci_transaction): Likewise.
1910 (grub_ohci_transfer): Improve condition detection algorithms.
1911 Handle toggle property. Program the transactions correctly.
1912 Improve error handling. Various important fixups.
1913 (grub_ohci_portstatus): Put register writes in right order.
1914 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1915 (grub_uhci_transfer): Don't show "failed" message on success.
1916 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1917 array.
1918 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1919 determine its size.
1920 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1921 before initialization is completed. Use IN direction for empty
1922 transfers. Use last_trans and compute toggle.
1923 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1924 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1925 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1926 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1927 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1928 (grub_usb_device): Increase toggle to 256.
1929 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1930 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1931 GRUB_USBMS_SUBCLASS_SFF8070.
1932 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1933 (grub_scsi_inquiry): New member page and alloc_length.
1934 (grub_scsi_request_sense): New structure.
1935 (grub_scsi_request_sense_data): Likewise.
1936 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1937 control.
1938 * disk/scsi.c (grub_scsi_request_sense): New function.
1939 (grub_scsi_test_unit_ready): Likewise.
1940 (grub_scsi_inquiry): Fill new fields.
1941 (grub_scsi_read_capacity): Likewise.
1942 (grub_scsi_read10): Add request sense at the end.
1943 (grub_scsi_read12): Likewise.
1944 (grub_scsi_write10): Likewise.
1945 (grub_scsi_write12): Likewise.
1946 (grub_scsi_open): Add Test Unit Ready.
1947 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1948 Support additional subclasses. Con't clear halt yet. Activate the
1949 proper config. Calculate LUNs correctly.
1950 (grub_usbms_transfer): Various important fixups.
1951
1952 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1955 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1956 (grub_ohci_fini_hw): New function.
1957 (grub_ohci_restore_hw): Likewise.
1958 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1959 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1960 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1961
1962 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 Dedicated DMA allocations.
1965
1966 * bus/pci.c (grub_memalign_dma32): New function
1967 (grub_dma_free): Likewise.
1968 (grub_dma_get_virt): Likewise.
1969 (grub_dma_get_phys): Likewise.
1970 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1971 (grub_ohci_pci_iter): Use dma32_alloc.
1972 (grub_ohci_transfer): Likewise.
1973 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1974 (grub_usb_bulk_readwrite): Likewise.
1975 * include/grub/pci.h: Add declarations.
1976
1977 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 CS5536 support.
1980
1981 * bus/cs5536.c: New file.
1982 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1983 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1984 (cs5536_mod_SOURCES): New variable.
1985 (cs5536_mod_CFLAGS): Likewise.
1986 (cs5536_mod_LDFLAGS): Likewise.
1987 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1988 machine/pci.h.
1989 (kernel_img_SOURCES): Add bus/cs5536.c.
1990 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1991 usb_keyboard.mod.
1992 (usb_mod_SOURCES): New variable.
1993 (usb_mod_CFLAGS): New variable.
1994 (usb_mod_LDFLAGS): New variable.
1995 (usbtest_mod_SOURCES): New variable.
1996 (usbtest_mod_CFLAGS): New variable.
1997 (usbtest_mod_LDFLAGS): New variable.
1998 (ohci_mod_SOURCES): New variable.
1999 (ohci_mod_CFLAGS): New variable.
2000 (ohci_mod_LDFLAGS): New variable.
2001 (usbms_mod_SOURCES): New variable.
2002 (usbms_mod_CFLAGS): New variable.
2003 (usbms_mod_LDFLAGS): New variable.
2004 (usb_keyboard_mod_SOURCES): New variable.
2005 (usb_keyboard_mod_CFLAGS): New variable.
2006 (usb_keyboard_mod_LDFLAGS): New variable.
2007 * include/grub/smbus.h: New file.
2008 * include/grub/cs5536.h: New file.
2009
2010 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2011
2012 * util/grub.d/00_header.in: Add safety check to make sure that
2013 ${locale_dir} exists before trying to probe it.
2014
2015 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2016
2017 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2018 per the GNU Coding Standards; this is now too obscure to be worth
2019 documenting.
2020 (QNX): Likewise.
2021 (chainloader): Remove cross-reference to `SCO UnixWare'.
2022
2023 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2024
2025 * docs/grub.texi (Chain-loading): New section.
2026 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2027 adjusted for GRUB 2.
2028 (SCO UnixWare): Likewise.
2029 (QNX): Likewise.
2030 (chainloader): Add reference to `Block list syntax'.
2031 (drivemap): New section.
2032 (parttool): New section.
2033
2034 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2035
2036 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2037 the grub shell'.
2038 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2039 (Installing GRUB using grub-install): Remove reference to the grub
2040 shell; mention `grub-mkimage' and `grub-setup' instead.
2041 (Invoking grub-install): Likewise.
2042 (Interface): Add reference to `Menu entry editor'.
2043 (serial): Remove `--device' option.
2044
2045 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2046
2047 * docs/grub.texi (Configuration): New section, documenting
2048 configuration file generation using grub-mkconfig. I've left a slot
2049 for documenting the full shell scripting format but have not yet
2050 started on writing that up.
2051 (Invoking grub-mkconfig): New section.
2052
2053 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2054
2055 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2056 (GNU GRUB manual): Likewise.
2057 (General commands): Update description of `terminfo' for GRUB 2.
2058
2059 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2060
2061 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2062 (GRUB_MOD_INIT): Fix capitalisation.
2063 * docs/grub.texi (Command-line and menu entry commands): Document
2064 gettext and gptsync commands.
2065
2066 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2067
2068 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2069 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2070
2071 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
2072
2073 Add btrfs probing support, currently only in the single-device case.
2074
2075 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2076 function.
2077 (grub_guess_root_device): Call find_root_device_from_mountinfo
2078 before looking in /dev.
2079
2080 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2083 GRUB_DISK_SIZE_UNKNOWN.
2084 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2085
2086 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
2087
2088 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2089 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2090 corrupted or not synced properly.
2091
2092 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2095 Reported by: Seth Goldberg.
2096
2097 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2100 addition of dest.
2101 Reported by: Seth Goldberg.
2102
2103 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2106 Reported by: Seth Goldberg.
2107
2108 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2111 64-bit address as signed on MIPS.
2112
2113 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2114
2115 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2116 to the empty string.
2117
2118 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2119
2120 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2121
2122 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2123 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2124 * kern/misc.c (__enable_execute_stack): Disable on
2125 GRUB_MACHINE_EMU.
2126
2127 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2128
2129 Make grub-probe work with symbolic links under /dev/mapper as well
2130 as with real block devices. The Linux world seems to be (at best)
2131 in transition here, and GRUB shouldn't get caught in the middle.
2132
2133 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2134 /dev/mapper.
2135
2136 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2137
2138 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2139 input files (in which case exit zero).
2140
2141 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2142
2143 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2144 return NULL for various reasons even if it has a maximum-length
2145 buffer: for example, there might be a symlink loop, or the path
2146 might exceed PATH_MAX. If this happens, return NULL.
2147
2148 2010-05-27 Robert Millan <rmh@gnu.org>
2149
2150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2151 partmap module to handle cross-partmap setups.
2152 Reported by Orestes Mas. Gràcies!
2153
2154 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2155
2156 * util/grub-mkrescue.in: Initialise override_dir rather than
2157 assuming that it's unset or empty in the environment.
2158
2159 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2160
2161 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2162 variable index into p_index to suppress a warning with -Wshadow.
2163
2164 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2165
2166 * INSTALL: Added flex >= 2.5.35 requirement.
2167
2168 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2171
2172 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 cmostest support.
2175
2176 * commands/i386/cmostest.c: New file.
2177 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2178 (cmostest_mod_SOURCES): New variable.
2179 (cmostest_mod_CFLAGS): Likewise.
2180 (cmostest_mod_LDFLAGS): Likewise.
2181 * conf/i386-pc.rmk: Likewise.
2182 * docs/grub.texi (Vendor power-on keys): New section.
2183 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2184 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2185 and GRUB_BUTTON_CMOS_ADDRESS.
2186 * util/grub.d/00_header.in: Handle powering-on by separate button.
2187
2188 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2191 Removed drawing_scrollbar argument. All users updated
2192 Fixes #29792.
2193 Reported by Jo Shields
2194
2195 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2198 buffer since gfxterm handles double repaint.
2199
2200 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2203 * term/gfxterm.c (real_scroll): Likewise.
2204
2205 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2208 before calling BIOS.
2209
2210 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * include/grub/i18n.h: Always enable grub_gettext.
2213
2214 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2217 partition naming style.
2218
2219 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
2220
2221 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2222 not the first option.
2223
2224 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2225
2226 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2227
2228 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2229
2230 * util/misc.c: Move inclusion of <limits.h> to ...
2231 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2232
2233 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2234
2235 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2236 Fix merge error in NetBSD code.
2237 (find_partition_start) [__NetBSD__]: Likewise.
2238
2239 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2240
2241 Fix grub-mkrescue usage unit testing.
2242
2243 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2244
2245 2010-05-18 Christian Franke <franke@computer.org>
2246
2247 * util/grub.d/10_windows.in: Use path names instead of
2248 drive letters to prevent warning from Cygwin 1.7.
2249 Add drivemap command to menuentry if needed.
2250
2251 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2252
2253 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2254 gnumach and gnumach.gz.
2255
2256 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * include/grub/i18n.h (gettext): Inline instead of using #define.
2259 (grub_gettext): Likewise.
2260 (_): Likewise.
2261
2262 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2265 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2266 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2267 (main): Add a slash after pkglibdirroot.
2268
2269 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * util/grub-install.in: Add missing "in" keyword.
2272
2273 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2276 Reported by: Seth Goldberg.
2277
2278 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2281
2282 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2283
2284 * configure.ac: Check for Linux device-mapper support.
2285
2286 * util/hostdisk.c (device_is_mapped): New function.
2287 (find_partition_start): New function, partly broken out from
2288 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2289 device-mapper support added.
2290 (linux_find_partition): Use find_partition_start.
2291 (convert_system_partition_to_system_disk): Add `st' argument.
2292 Support Linux /dev/mapper/* devices if device-mapper support is
2293 available; only DM-RAID devices are understood at present.
2294 (find_system_device): Add `st' argument. Pass it to
2295 convert_system_partition_to_system_disk.
2296 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2297 find_system_device and convert_system_partition_to_system_disk. Use
2298 find_partition_start.
2299
2300 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2301 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2302 * util/deviceiter.c [__linux__]: Define MINOR.
2303 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2304 * util/mkdevicemap.c (grub_putchar): New function.
2305 (grub_getkey): New function.
2306 (grub_refresh): New function.
2307 (main): Set debug=all if -v -v is used.
2308
2309 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2310
2311 Fix build with non-GNU libcs.
2312
2313 * util/misc.c (canonicalize_file_name): Move to ...
2314 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2315 grub_make_system_path_relative_to_its_root.
2316
2317 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2318
2319 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2320 we handle finding grub-mkimage. Default to finding grub-mkimage in
2321 ${bindir} with program_transform_name applied, and provide a
2322 --grub-mkimage option to override this.
2323
2324 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Remove grub-mkisofs.
2327
2328 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2329 (grub_mkisofs_SOURCES): Removed.
2330 (grub_mkisofs_CFLAGS): Removed.
2331 * util/mkisofs/defaults.h: Removed.
2332 * util/mkisofs/eltorito.c: Likewise.
2333 * util/mkisofs/exclude.h: Likewise.
2334 * util/mkisofs/hash.c: Likewise.
2335 * util/mkisofs/include/: Likewise.
2336 * util/mkisofs/include/fctldefs.h: Likewise.
2337 * util/mkisofs/include/mconfig.h: Likewise.
2338 * util/mkisofs/include/prototyp.h: Likewise.
2339 * util/mkisofs/include/statdefs.h: Likewise.
2340 * util/mkisofs/iso9660.h: Likewise.
2341 * util/mkisofs/joliet.c: Likewise.
2342 * util/mkisofs/match.c: Likewise.
2343 * util/mkisofs/match.h: Likewise.
2344 * util/mkisofs/mkisofs.c: Likewise.
2345 * util/mkisofs/mkisofs.h: Likewise.
2346 * util/mkisofs/msdos_partition.h: Likewise.
2347 * util/mkisofs/multi.c: Likewise.
2348 * util/mkisofs/name.c: Likewise.
2349 * util/mkisofs/rock.c: Likewise.
2350 * util/mkisofs/tree.c: Likewise.
2351 * util/mkisofs/write.c: Likewise.
2352
2353 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Unify grub-mkimage accross platforms.
2356
2357 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2358 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2359 (grub_mkelfimage_SOURCES): Removed.
2360 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2361 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2362 (bin_UTILITIES): Add grub-mkimage.
2363 (grub_mkimage_SOURCES): New variable.
2364 (kernel_img_HEADERS): Remove machine/kernel.h.
2365 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2366 (pkglib_PROGRAMS): Add kernel.img.
2367 (kernel_img_HEADERS): Add machine/kernel.h.
2368 (kernel_img_FORMAT): Removed.
2369 (bin_UTILITIES): Remove grub-mkimage.
2370 (grub_mkimage_SOURCES): Removed.
2371 (grub_mkimage_CFLAGS): Likewise.
2372 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2373 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2374 (pkglib_PROGRAMS): Add kernel.img.
2375 (bin_UTILITIES): Remove grub-mkimage.
2376 (grub_mkimage_SOURCES): Removed.
2377 (grub_mkimage_CFLAGS): Likewise.
2378 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2379 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2380 (pkglib_PROGRAMS): Add kernel.img.
2381 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2382 (pkglib_PROGRAMS): Add kernel.img.
2383 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2384 (grub_mkimage_SOURCES): Removed.
2385 (grub_mkimage_CFLAGS): Likewise.
2386 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2387 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2388 (pkglib_PROGRAMS): Add kernel.img.
2389 (bin_UTILITIES): Remove grub-mkimage.
2390 (grub_mkimage_SOURCES): Removed.
2391 (grub_mkimage_CFLAGS): Likewise.
2392 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2393 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2394 (grub_mkimage_SOURCES): Removed.
2395 (grub_mkimage_CFLAGS): Likewise.
2396 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2397 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2398 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2399 (grub_pe32_optional_header): ... this.
2400 (grub_pe64_optional_header): ... and this. All users updated.
2401 (GRUB_PE32_PE32_MAGIC): Split into ..
2402 (GRUB_PE32_PE32_MAGIC): .. this.
2403 (GRUB_PE32_PE64_MAGIC): .. and this.
2404 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2405 * include/grub/elf.h (PT_GNU_STACK): New definition.
2406 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2407 * include/grub/i386/efi/kernel.h: Likewise.
2408 * include/grub/i386/kernel.h: Likewise.
2409 * include/grub/i386/pc/kernel.h: Likewise.
2410 * include/grub/i386/qemu/boot.h: Likewise.
2411 * include/grub/mips/kernel.h: Likewise.
2412 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2413 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2414 * include/grub/powerpc/kernel.h: Likewise.
2415 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2416 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2417 * include/grub/sparc64/kernel.h: Likewise.
2418 * include/grub/x86_64/efi/kernel.h: Likewise.
2419 * include/grub/x86_64/kernel.h: Likewise.
2420 * include/grub/offsets.h: New file.
2421 * include/grub/kernel.h (grub_module_info): Split into ...
2422 (grub_module_info32): ... this.
2423 (grub_module_info64): ... and this.
2424 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2425 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2426 (grub_boot_blocklist): Moved from here ...
2427 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2428 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2429 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2430 * include/grub/types.h (grub_target_to_host16): Removed.
2431 (grub_target_to_host32): Likewise.
2432 (grub_target_to_host64): Likewise.
2433 (grub_host_to_target16): Likewise.
2434 (grub_host_to_target32): Likewise.
2435 (grub_host_to_target64): Likewise.
2436 (grub_host_to_target_addr): Likewise.
2437
2438 Support grub-mkrescue for efi, coreboot and qemu.
2439
2440 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2441 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2442 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2443 * util/grub-mkrawimage.c: Moved from here ...
2444 * util/grub-mkimage.c: ... here. All users updated.
2445 (ALIGN_ADDR): Use image_target.
2446 (TARGET_NO_FIELD): New const.
2447 (image_target_desc): New type.
2448 (image_targets): New array.
2449 (grub_target_to_host64): Use image_target.
2450 (grub_target_to_host32): Likewise.
2451 (grub_target_to_host16): Likewise.
2452 (grub_host_to_target64): Likewise.
2453 (grub_host_to_target32): Likewise.
2454 (grub_host_to_target16): Likewise.
2455 (grub_host_to_target_addr): Likewise.
2456 (generate_image): Handle multiimage.
2457 (main): Require -O parameter. All users updated.
2458 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2459 util/efi/grub-mkimage.c
2460 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2461 New option --rom-directory.
2462 Use xorriso.
2463 * util/i386/efi/grub-mkimage.c: Removed.
2464 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2465 (grub_target_to_host32): Likewise.
2466 (grub_target_to_host64): Likewise.
2467 (grub_host_to_target16): Likewise.
2468 (grub_host_to_target32): Likewise.
2469 (grub_host_to_target64): Likewise.
2470 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2471 (grub_target_to_host32): Likewise.
2472 (grub_target_to_host64): Likewise.
2473 (grub_host_to_target16): Likewise.
2474 (grub_host_to_target32): Likewise.
2475 (grub_host_to_target64): Likewise.
2476
2477 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2478
2479 Source tree is reorganized for emu build.
2480
2481 * include/grub/util/console.h: Move from here...
2482 * include/grub/emu/console.h: ...to here.
2483 * include/grub/util/getroot.h: Move from here...
2484 * include/grub/emu/getroot.h: ...to here.
2485 * include/grub/util/hostdisk.h: Move from here...
2486 * include/grub/emu/hostdisk.h: ...to here.
2487 * util/console.c: Move from here...
2488 * kern/emu/console.c: ...to here.
2489 * util/getroot.c: Move from here...
2490 * kern/emu/getroot.c: ...to here.
2491 * util/grub-emu.c: Move from here...
2492 * kern/emu/main.c: ...to here.
2493 * util/hostdisk.c: Move from here...
2494 * kern/emu/hostdisk.c: ...to here.
2495 * util/hostfs.c: Move from here...
2496 * kern/emu/hostfs.c: ...to here.
2497 * util/mm.c: Move from here...
2498 * kern/emu/mm.c: ...to here.
2499 * util/pci.c: Move from here...
2500 * bus/emu/pci.c: ...to here.
2501 * util/sdl.c: Move from here...
2502 * video/emu/sdl.c: ...to here.
2503 * util/time.c: Move from here...
2504 * kern/emu/time.c: ...to here.
2505 * util/usb.c: Move from here...
2506 * bus/usb/emu/usb.c: ...to here.
2507
2508 * include/grub/emu/misc.h: New header for grub-emu functions.
2509 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2510
2511 * conf/any-emu.rmk: Rule updates for above renames.
2512 * conf/common.rmk: Likewise.
2513 * conf/i386-pc.rmk: Likewise.
2514 * conf/i386-qemu.rmk: Likewise.
2515 * conf/mips.rmk: Likewise.
2516 * conf/sparc64-ieee1275.rmk: Likewise.
2517 * conf/x86-efi.rmk: Likewise.
2518
2519 * disk/lvm.h: #include updates for above renames.
2520 * util/grub-mkrelpath.c: Likewise.
2521 * util/grub-probe.c: Likewise.
2522 * util/i386/pc/grub-setup.c: Likewise.
2523 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2524 * kern/emu/console.c: Likewise.
2525 * kern/emu/getroot.c: Likewise.
2526 * kern/emu/hostdisk.c: Likewise.
2527 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2528
2529 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2530 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2531 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2532 * util/misc.c: Remove grub-emu functions.
2533
2534 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 Fix gfxmenu crash.
2537 Reported by: Thorsten Grützmacher.
2538
2539 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2540 timeout hook.
2541 (circprog_set_property): Register and unregister timeout hook.
2542 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2543 (label_destroy): Free template. and unregister hook.
2544 (label_set_state): New function.
2545 (label_set_property): Handle templates and hooks.
2546 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2547 timeout hook.
2548 (progress_bar_set_property): Register and unregister timeout hook.
2549 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2550 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2551 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2552 (update_timeout_visit): Removed.
2553 (update_timeouts): New function.
2554 (redraw_timeouts): Likewise.
2555 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2556 (grub_gfxmenu_clear_timeout): Likewise.
2557 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2558 (grub_gfxmenu_timeout_notify): Likewise.
2559 (grub_gfxmenu_timeout_notifications): New external variable.
2560 (grub_gfxmenu_timeout_register): New function.
2561 (grub_gfxmenu_timeout_unregister): Likewise.
2562
2563 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Transform (broken) vga terminal into (working) vga video driver.
2566
2567 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2568 video/i386/pc/vga.c.
2569 * include/grub/video.h (grub_video_driver_id):
2570 Add GRUB_VIDEO_DRIVER_VGA.
2571 * term/i386/pc/vga.c: Renamed to ...
2572 * video/i386/pc/vga.c: ...this
2573 (DEBUG_VGA): Removed.
2574 (CHAR_WIDTH): Likewise.
2575 (CHAR_HEIGHT): Likewise.
2576 (TEXT_WIDTH): Likewise.
2577 (TEXT_HEIGHT): Likewise.
2578 (DEFAULT_FG_COLOR): Likewise.
2579 (DEFAULT_BG_COLOR): Likewise.
2580 (colored_char): Likewise.
2581 (xpos): Likewise.
2582 (ypos): Likewise.
2583 (cursor_state): Likewise.
2584 (fg_color): Likewise.
2585 (bg_color): Likewise.
2586 (text_buf): Likewise.
2587 (page): Likewise.
2588 (font): Likewise.
2589 (framebuffer): New variable.
2590 (set_read_map): Disabled.
2591 (setup): New variable.
2592 (is_target): Likewise.
2593 (grub_vga_mod_init): Likewise.
2594 (grub_vga_mod_fini): Likewise.
2595 (check_vga_mem): Likewise.
2596 (write_char): Likewise.
2597 (write_cursor): Likewise.
2598 (scroll_up): Likewise.
2599 (grub_vga_putchar): Likewise.
2600 (grub_vga_getcharwidth): Likewise.
2601 (grub_vga_getwh): Likewise.
2602 (grub_vga_getxy): Likewise.
2603 (grub_vga_gotoxy): Likewise.
2604 (grub_vga_cls): Likewise.
2605 (grub_vga_setcolorstate): Likewise.
2606 (grub_vga_setcursor): Likewise.
2607 (grub_video_vga_init): New function.
2608 (grub_video_vga_setup): Likewise.
2609 (grub_video_vga_fini): Likewise.
2610 (update_target): Likewise.
2611 (grub_video_vga_blit_bitmap): Likewise.
2612 (grub_video_vga_blit_render_target): Likewise.
2613 (grub_video_vga_set_active_render_target): Likewise.
2614 (grub_video_vga_get_active_render_target): Likewise.
2615 (grub_video_vga_swap_buffers): Likewise.
2616 (grub_video_vga_set_palette): Likewise.
2617 (grub_video_vga_get_info_and_fini): Likewise.
2618 (grub_vga_term): Removed.
2619 (grub_video_vga_adapter): New variable.
2620 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2621 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2622
2623 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * video/readers/jpeg.c: Indented.
2626
2627 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Various jpeg cleanups.
2630
2631 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2632 (grub_jpeg_decode_quan_table): Use sizeof.
2633 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2634
2635 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2636
2637 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2638 tables. Ignore non-last ac bit.
2639 (grub_jpeg_decode_quan_table): Likewise.
2640
2641 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2644 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2645 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2646 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2647 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2648 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2649
2650 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2653 error.
2654
2655 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2658
2659 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2662 condition.
2663
2664 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2667 part.
2668
2669 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2672 pointers.
2673
2674 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2677
2678 2010-05-01 Christian Franke <franke@computer.org>
2679
2680 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2681 Remove broken Cygwin path conversion.
2682 * util/misc.c: [__CYGWIN__] Add include and define.
2683 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2684 for Cygwin 1.7.
2685 (make_system_path_relative_to_its_root): Simplify loop, replace early
2686 return by break.
2687 [__CYGWIN__] Add conversion to win32 path.
2688 Include "/" case in trailing slash removal.
2689
2690 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2693 Reported by: Seth Goldberg
2694
2695 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * commands/help.c (grub_cmd_help): Fix a typo.
2698 Reported by: Seth Goldberg
2699
2700 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2703 name and add N_.
2704 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2705 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2706 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2707 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2708 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2709 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2710 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2711 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2712 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2713 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2714 * normal/context.c (GRUB_MOD_INIT): Likewise.
2715 * normal/main.c (GRUB_MOD_INIT): Likewise.
2716 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2717 * term/serial.c (GRUB_MOD_INIT): Likewise.
2718 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2719
2720 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2723 extra == 0.
2724
2725 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * commands/iorw.c: New file.
2728 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2729 (iorw_mod_SOURCES): New variable.
2730 (iorw_mod_CFLAGS): Likewise.
2731 (iorw_mod_LDFLAGS): Likewise.
2732
2733 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 Hotkey support
2736
2737 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2738 * normal/main.c (hotkey_aliases): New variable.
2739 (grub_normal_add_menu_entry): Parse "--hotkey".
2740 * normal/menu_text.c (run_menu): Handle hotkeys.
2741
2742 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * kern/i386/coreboot/init.c (grub_machine_init): Call
2745 grub_machine_mmap_init on qemu.
2746
2747 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * boot/i386/qemu/boot.S: Add a missing .code16.
2750
2751 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Use LBIO on coreboot.
2754
2755 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2756 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2757 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2758 New declaration.
2759 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2760 grub_machine_mmap_init on coreboot.
2761 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2762 GRUB_LINUXBIOS_MEMBER_LINK.
2763 (grub_machine_mmap_iterate): Fix declaration.
2764 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2765
2766 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Split coreboot and multiboot ports.
2769
2770 * conf/i386-multiboot.rmk: New file.
2771 * configure.ac: Add multiboot port.
2772 * include/grub/i386/multiboot/boot.h: New file.
2773 * include/grub/i386/multiboot/console.h: Likewise.
2774 * include/grub/i386/multiboot/init.h: Likewise.
2775 * include/grub/i386/multiboot/kernel.h: Likewise.
2776 * include/grub/i386/multiboot/loader.h: Likewise.
2777 * include/grub/i386/multiboot/memory.h: Likewise.
2778 * include/grub/i386/multiboot/serial.h: Likewise.
2779 * include/grub/i386/multiboot/time.h: Likewise.
2780 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2781 * loader/multiboot.c: Likewise.
2782 * loader/multiboot_mbi2.c: Likewise.
2783 * util/grub-mkrescue.in: Generate multiboot rescue.
2784
2785 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2788
2789 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Merge handling of input and output terminals. Fix a hang.
2792
2793 * commands/terminal.c (abstract_terminal): New struct.
2794 (handle_command): New function. Based on grub_cmd_terminal_input.
2795 (grub_cmd_terminal_input): Use handle_command.
2796 (grub_cmd_terminal_output): Use handle_command.
2797
2798 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2799
2800 Fix comment handling.
2801
2802 * tests/grub_script_comments.in: New testcase.
2803 * conf/tests.rmk: Rules for new testcase.
2804 * script/yylex.l: Updated flex rules.
2805
2806 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2807
2808 * docs/grub.texi (play): Document that zero pitches produce rests.
2809 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2810 if argc is 1.
2811
2812 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2815 autogen issues.
2816
2817 2010-04-26 Christian Franke <franke@computer.org>
2818
2819 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2820 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2821 (grub_get_prefix): Remove function.
2822 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2823 make_system_path_relative_to_its_root ().
2824 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2825
2826 2010-04-24 Christian Franke <franke@computer.org>
2827
2828 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2829 (kernel_img_LDFLAGS): Remove -static-libgcc.
2830
2831 2010-04-24 Christian Franke <franke@computer.org>
2832
2833 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2834 and CHECK_END_SYMBOL if grub-emu is built.
2835 Unset TARGET_OBJ2ELF if grub-emu is built
2836 without module support.
2837
2838 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2839
2840 Nilfs2 support.
2841
2842 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2843 (grub_fstest_SOURCES): Likewise.
2844 (pkglib_MODULES): Add nilfs2.mod.
2845 (nilfs2_mod_SOURCES): New variable.
2846 (nilfs2_mod_CFLAGS): Likewise.
2847 (nilfs2_mod_LDFLAGS): Likewise.
2848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2849 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2850 * fs/nilfs2.c: New file.
2851
2852 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2855 is not supported.
2856
2857 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2858
2859 Add grub-mkconfig support for NetBSD.
2860
2861 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2862 * util/grub-mkconfig.in: export new NetBSD specific variables.
2863 * po/POTFILES-shell: added 10_netbsd.in.
2864 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2865
2866 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2867
2868 Fix emu build with grub-emu-pci and grub-emu-modules.
2869
2870 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2871 functions.
2872 * include/grub/libpciaccess.h: New file.
2873 * conf/any-emu.rmk: Update kernel headers for emu build.
2874
2875 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2878
2879 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2882
2883 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2886 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2887 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2888 util/ieee1275/ofpath.c.
2889 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2890 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2891 * include/grub/sparc64/ieee1275/boot.h
2892 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2893 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2894 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2895 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2896 const char *.
2897 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2898 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2899 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2900 install.
2901
2902 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2903
2904 * util/grub-mkconfig.in: Corrected two == equality tests.
2905 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2906 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2907 expect a number appended to it.
2908 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2909 expects a number appended to it.
2910
2911 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2914
2915 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * util/hostdisk.c (make_device_name): Change to new partition naming.
2918
2919 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2922
2923 2010-04-17 Christian Franke <franke@computer.org>
2924
2925 * Makefile.in: Add missing localedir setting.
2926
2927 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2928
2929 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2930 mistake in r2156. Noticed by Anthony Fok.
2931
2932 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2933 @localedir@.
2934 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2935
2936 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2937
2938 Fix a spurious, uninitialized variable warning.
2939
2940 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2941 Initialize variable, shdr.
2942 (grub_freebsd_load_elfmodule): Likewise.
2943 (grub_freebsd_load_elf_meta): Likewise.
2944
2945 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2946
2947 Fix for escaped dollar in double quoted strings.
2948
2949 * script/yylex.l: Updated flex rules.
2950 * conf/tests.rmk: Rule for new testcase.
2951 * tests/grub_script_dollar.in: New testcase.
2952
2953 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2954 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2955
2956 Enclose all translated strings in grub.cfg in single quotes, and
2957 escape them appropriately (Ubuntu bug #552921).
2958
2959 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2960 * util/grub.d/10_hurd.in: Use it.
2961 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2962 * util/grub.d/10_linux.in (linux_entry): Likewise.
2963
2964 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 Fix cygwin compilation.
2967
2968 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2969 * include/grub/misc.h (__register_frame_info)
2970 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2971 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2972 * kern/misc.c (__register_frame_info)
2973 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2974 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2975
2976 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2979
2980 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 Unify libgcc processing.
2983
2984 * Makefile.in (kernel_img_LDFLAGS): New variable.
2985 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2986 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2987 overwriting.
2988 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2989 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2990 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2991 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2992 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2993 overwriting. Remove -lgcc and -static-libgcc
2994 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2995 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2996 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2997 (kernel_img_LDFLAGS): Append instead of overwriting.
2998 Remove -lgcc and -static-libgcc
2999 * conf/sparc64-ieee1275.rmk: Likewise.
3000 * include/grub/powerpc/libgcc.h: Move to ...
3001 * include/grub/libgcc.h: .. this.
3002 * include/grub/libgcc.h: Don't export most of the function on x86.
3003 (__bswapsi2): New export.
3004 (__bswapdi2): Likewise.
3005 * include/grub/mips/libgcc.h: Removed.
3006 * include/grub/sparc64/libgcc.h: Likewise.
3007
3008 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3011 disk_info_msg (conflicts with gettexting into languages with cases).
3012
3013 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3014
3015 Add grub-probe support for NetBSD.
3016
3017 * util/getroot.c (find_root_device): Convert block device to
3018 character device on NetBSD.
3019 * util/probe.c (probe): Require character device on NetBSD.
3020 * util/hostdisk.c: NetBSD specific headers.
3021 (configure_device_driver): new function to tune device driver
3022 parameters (currently only for NetBSD floppy driver).
3023 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3024 via disklabel ioctl).
3025 (open_device): call configure_device_driver on NetBSD.
3026 (convert_system_partition_to_system_disk): NetBSD specific code.
3027 (device_is_wholedisk): Likewise.
3028 (grub_util_biosdisk_get_grub_dev): Likewise.
3029 (make_device_name): Fixed a typo in bsd_part_str.
3030 * configure.ac: check for opendisk() and getrawpartition() on
3031 NetBSD and set LIBUTIL.
3032 * Makefile.in: add LIBUTIL to LIBS.
3033
3034 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3035
3036 Documentation fix.
3037
3038 * util/grub-script-check.c: Better help message.
3039
3040 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3041
3042 Fix FreeBSD build.
3043
3044 * configure.ac: Flex version check.
3045 * conf/common.rmk: Add -Wno-error to sh.mod.
3046 * script/yylex.l: Remove all #pragma.
3047
3048 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3051 prototype.
3052 Reported by: Seth Goldberg.
3053
3054 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3057 Rename "module" to "module2".
3058 Reported by: Seth Goldberg.
3059
3060 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3063 EXPORT_FUNC.
3064 Reported by: Seth Goldberg.
3065
3066 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * lib/posix_wrap/locale.h: Add missing file.
3069 Reported by: Seth Goldberg.
3070
3071 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 grub-emu module load support.
3074
3075 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3076 NO_DYNAMIC_MODULES switched to this.
3077 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3078 (CFLAGS): Likewise.
3079 * conf/any-emu.rmk: Generate symlist.
3080 (kernel_img_HEADERS): Add util/datetime.h.
3081 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3082 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3083 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3084 kern/$(target_cpu)/cache.S.
3085 * configure.ac (grub-emu-modules): New option.
3086 * genmk.rb: Handle multiple source lists.
3087 * include/grub/sdl.h: New file.
3088 * include/grub/libusb.h: Likewise.
3089 * util/grub-emu.c (main): Hanle (host) root.
3090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3091 GRUB_ERR_UNKNOWN_DEVICE.
3092 * util/misc.c: Move mm functions to ...
3093 * util/mm.c: ... here. All users updated.
3094
3095 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3098 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3099 missing files.
3100 (maintainer-clean): Remove libgcrypt-grub.
3101
3102 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3105
3106 2010-04-09 EFI Coder <eficoder@hotmail.com>
3107
3108 * normal/menu_text.c (print_message): Clean up the message and show
3109 the Fn information when on EFI
3110 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3111
3112 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3115 All users updated.
3116 * normal/crypto.c (read_crypto_list): Likewise.
3117 * normal/dyncmd.c (read_command_list): Likewise.
3118 * normal/term.c (read_terminal_list): Likewise.
3119 * normal/main.c (read_lists): Use explicit prefix.
3120 (read_lists_hook): Use read_lists.
3121 (grub_normal_execute): Likewise.
3122
3123 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3126 Reported by: Thomas Schmitt.
3127 Add -no-emul-boot to grub-mkisofs parameters.
3128
3129 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * font/font.c: Indented.
3132
3133 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3134
3135 Elif support to GRUB script (by Deepak Vankadaru).
3136
3137 * tests/grub_script_if.in: New testcase.
3138 * conf/tests.rmk: Rule for new testcase.
3139 * script/parser.y: Grammar rules for elif.
3140
3141 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3142
3143 While and until loops support to GRUB script.
3144
3145 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3146 (grub_script_create_cmdwhile): New function prototype.
3147 (grub_script_execute_cmdwhile): New function prototype.
3148 * script/execute.c (grub_script_execute_cmdwhile): New function.
3149 * script/parser.y (command): New commands.
3150 (whilecmd): New grammar rule.
3151 (untilcmd): New grammar rule.
3152 * script/script.c (grub_script_create_cmdwhile): New function.
3153 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3154 function.
3155
3156 * tests/grub_script_while1.in: New testcase.
3157 * conf/tests.rmk: Rule for new testcase.
3158
3159 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3162 as *.jpg.
3163
3164 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
3165
3166 GRUB_BACKGROUND support.
3167
3168 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3169 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3170
3171 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Load fonts and modules for gfxmenu in grub-mkconfig.
3174 Idea by: Mario Vazquez
3175
3176 * util/grub.d/00_header.in: Load pf2 and image modules.
3177
3178 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 grub-mkconfig multiple terminal support.
3181
3182 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3183 * util/grub.d/00_header.in: Likewise.
3184
3185 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3188 we use cd $(srcdir).
3189
3190 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
3191
3192 * util/grub.d/10_linux.in: Only use the first word of
3193 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3194 spaces in GRUB_DISTRIBUTOR.
3195 * util/grub.d/10_kfreebsd.in: Likewise.
3196 * util/grub.d/10_hurd.in: Likewise.
3197
3198 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3199
3200 Fix unit testing framework for Qemu 0.12.
3201
3202 * tests/util/grub-shell.in: Remove -serial stdio option.
3203
3204 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 POSIX header file wrappers.
3207
3208 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3209 equivalents.
3210 * lib/posix_wrap/ctype.h: Likewise.
3211 * lib/posix_wrap/errno.h: Likewise.
3212 * lib/posix_wrap/langinfo.h: Likewise.
3213 * lib/posix_wrap/limits.h: Likewise.
3214 * lib/posix_wrap/localcharset.h: Likewise.
3215 * lib/posix_wrap/stdint.h: Likewise.
3216 * lib/posix_wrap/stdio.h: Likewise.
3217 * lib/posix_wrap/stdlib.h: Likewise.
3218 * lib/posix_wrap/string.h: Likewise.
3219 * lib/posix_wrap/sys/types.h: Likewise.
3220 * lib/posix_wrap/unistd.h: Likewise.
3221 * lib/posix_wrap/wchar.h: Likewise.
3222 * lib/posix_wrap/wctype.h: Likewise.
3223 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3224 (grub_script.yy.h): Likewise.
3225 * script/yylex.l: Remove POSIX emulation #defines.
3226 * Makefile.in (POSIX_CFLAGS): New variable.
3227 (GNULIB_UTIL_CFLAGS): Likewise.
3228
3229 Regexp support.
3230
3231 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3232 (regexp_mod_SOURCES): New variable.
3233 (regexp_mod_CFLAGS): Likewise.
3234 (regexp_mod_LDFLAGS): Likewise.
3235 * commands/regexp.c: New file.
3236 * gnulib/regcomp.c: New file. Imported from gnulib.
3237 * gnulib/regex.c: Likewise.
3238 * gnulib/regex_internal.c: Likewise.
3239 * gnulib/regex_internal.h: Likewise.
3240 * gnulib/regexec.c: Likewise.
3241 * gnulib/regex.h: Likewise.
3242
3243 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3246 unsupported video mode types.
3247
3248 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3251
3252 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3255 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3256
3257 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Remove unused grub_vga_get_font.
3260
3261 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3262 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3263
3264 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3265
3266 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3267 * include/grub/misc.h: Likewise.
3268
3269 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3270
3271 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3272 for which failure is fatal.
3273
3274 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3275
3276 * util/grub-install.in: Use mkdir -p to create grub directory.
3277 * util/i386/efi/grub-install.in: Likewise.
3278 * util/ieee1275/grub-install.in: Likewise.
3279
3280 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3281
3282 * Makefile.in (LEX): new variable.
3283
3284 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3285
3286 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3287 `=' and added double quotes on operands of this equality test.
3288
3289 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * Makefile.in (uninstall): Remove a leftover debug echo.
3292 Reported by: Grégoire Sutre
3293
3294 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 MIPS multiboot2 support.
3297
3298 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3299 (multiboot2_mod_SOURCES): New variable.
3300 (multiboot2_mod_CFLAGS): Likewise.
3301 (multiboot2_mod_LDFLAGS): Likewise.
3302 (multiboot2_mod_ASFLAGS): Likewise.
3303 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3304 definition.
3305 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3306 (MULTIBOOT_MBI_REGISTER): Likewise.
3307 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3308 (MULTIBOOT_ELF32_MACHINE): Likewise.
3309 (MULTIBOOT_ELF64_MACHINE): Likewise.
3310 * include/grub/mips/multiboot.h: New file.
3311 * include/grub/video.h (grub_video_driver_id): New type
3312 GRUB_VIDEO_DRIVER_SM712.
3313 (grub_video_get_info_and_fini): Export.
3314 (grub_video_get_palette): Likewise.
3315 (grub_video_get_driver_id): Likewise.
3316 * include/multiboot2.h: Resynced with spec.
3317 * loader/i386/multiboot.c: Moved from here ...
3318 * loader/multiboot.c: ... here. All users updated.
3319 (grub_multiboot_boot): Use platform-specific macros.
3320 * loader/i386/multiboot_elfxx.c: Moved from here ...
3321 * loader/multiboot_elfxx.c: ... here. All users updated.
3322 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3323 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3324 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3325
3326 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Import gnulib argp module.
3329
3330 * gnulib/argp-ba.c: New file.
3331 * gnulib/argp-eexst.c: Likewise.
3332 * gnulib/argp-fmtstream.c: Likewise.
3333 * gnulib/argp-fmtstream.h: Likewise.
3334 * gnulib/argp-fs-xinl.c: Likewise.
3335 * gnulib/argp-help.c: Likewise.
3336 * gnulib/argp-namefrob.h: Likewise.
3337 * gnulib/argp-parse.c: Likewise.
3338 * gnulib/argp-pin.c: Likewise.
3339 * gnulib/argp-pv.c: Likewise.
3340 * gnulib/argp-pvh.c: Likewise.
3341 * gnulib/argp-version-etc.c: Likewise.
3342 * gnulib/argp-version-etc.h: Likewise.
3343 * gnulib/argp-xinl.c: Likewise.
3344 * gnulib/argp.h: Likewise.
3345
3346 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * kern/device.c (grub_device_iterate): Clear errors after failed
3349 opening device.
3350
3351 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3354 returned by firmware.
3355
3356 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3359 compilation on coreboot and qemu
3360
3361 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * include/multiboot2.h: Resync with spec.
3364
3365 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 Multiboot2 tag support
3368
3369 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3370 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3371 Remove loader/multiboot_loader.c.
3372 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3373 (grub_multiboot2_real_boot): Likewise.
3374 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3375 (grub_get_multiboot_mmap_count): New proto.
3376 (grub_fill_multiboot_mmap): Likewise.
3377 (grub_multiboot_set_video_mode): Likewise.
3378 (grub_multiboot_set_console): Likewise.
3379 (grub_multiboot_load): Likewise.
3380 (grub_multiboot_load_elf): Likewise.
3381 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3382 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3383 * include/multiboot.h: Resynced with specification.
3384 * include/multiboot2.h: Resynced with specification.
3385 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3386 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3387 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3388 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3389 users updated.
3390 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3391 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3392 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3393 Removed.
3394 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3395 Moved from here...
3396 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3397 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3398 Moved from here...
3399 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3400 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3401 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3402 All users updated.
3403 * loader/i386/multiboot_mbi2.c: New file.
3404
3405 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 Resync with gnulib.
3408
3409 * Makefile.in (GNULIB_CFLAGS): New variable.
3410 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3411 (grub_script_check_CFLAGS): New variable.
3412 * gnulib/alloca.h: Resync with gnulib.
3413 * gnulib/error.c: Likewise.
3414 * gnulib/error.h: Likewise.
3415 * gnulib/fnmatch.c: Likewise.
3416 * gnulib/fnmatch_loop.c: Likewise.
3417 * gnulib/getdelim.c: Likewise.
3418 * gnulib/getline.c: Likewise.
3419 * gnulib/getopt.c: Likewise.
3420 * gnulib/getopt1.c: Likewise.
3421 * gnulib/getopt_int.h: Likewise.
3422 * gnulib/gettext.h: Likewise.
3423 * gnulib/progname.c: Likewise.
3424 * gnulib/progname.h: Likewise.
3425
3426 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3427
3428 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3429 which is the case with --disabled-nls.
3430
3431 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3432 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3433 * util/misc.c: Likewise.
3434 * util/mkisofs/mkisofs.c: Likewise.
3435 * util/mkisofs/mkisofs.h: Likewise.
3436
3437 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Simplify Apple CC support.
3440
3441 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3442 Add 0 byte at the end not to have a symbol with empty target.
3443 * mmap/i386/pc/mmap_helper.S: Likewise.
3444 * genmk.rb: Ignore errors 2030 and 2050.
3445 * kern/i386/pc/startup.S: Use LOCAL when possible.
3446
3447 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3448
3449 Testcase and the fix for final semicolon on cmdline.
3450
3451 * tests/grub_script_final_semicolon.in: New testcase.
3452 * conf/tests.rmk: Rules for the new testcase.
3453 * script/parser.y: Grammar fix.
3454
3455 2010-03-26 BVK Chaitanya <bvk@localhost>
3456
3457 Blank lines testcase for GRUB script.
3458
3459 * tests/grub_script_blanklines.in: New testcase.
3460 * conf/tests.rmk: Rules for the new testcase.
3461
3462 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 Don't use __FILE__.
3465
3466 * genmk.rb: Add -DGRUB_FILE to all C targets.
3467 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3468 * include/grub/list.h: Likewise.
3469 * include/grub/misc.h: Likewise.
3470 * include/grub/mm.h: Likewise.
3471 * include/grub/test.h: Likewise.
3472 * kern/mm.c: Likewise.
3473 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3474
3475 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Sunpc partitions support.
3478
3479 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3480 (grub_fstest_SOURCES): Likewise.
3481 (pkglib_MODULES): Add part_sunpc.mod.
3482 (part_sunpc_mod_SOURCES): New variable.
3483 (part_sunpc_mod_CFLAGS): Likewise.
3484 (part_sunpc_mod_LDFLAGS): Likewise.
3485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3486 * partmap/sunpc.c: New file.
3487
3488 2010-03-26 BVK Chaitanya <bvk@localhost>
3489
3490 For loop support to GRUB script.
3491
3492 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3493 (grub_script_create_cmdfor): New function prototype.
3494 (grub_script_execute_cmdfor): New function prototype.
3495 * script/execute.c (grub_script_execute_cmdfor): New function.
3496 * script/parser.y (command): New for command.
3497 (forcmd): New grammar rule.
3498 * script/script.c (grub_script_create_cmdfor): New function.
3499 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3500 function.
3501 * tests/grub_script_for1.in: New testcase.
3502 * conf/tests.rmk: Rules for new testcase.
3503
3504 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 Nested partitions
3507
3508 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3509 'partition' is NULL, grub_partition_get_start already does that.
3510 * commands/loadenv.c (check_blocklists): Likewise.
3511 (write_blocklists): Likewise.
3512 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3513 (grub_fstest_SOURCES): Likewise.
3514 (pkglib_MODULES): Add part_bsd.mod.
3515 (part_bsd_mod_SOURCES): New variable.
3516 (part_bsd_mod_CFLAGS): Likewise.
3517 (part_bsd_mod_LDFLAGS): Likewise.
3518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3519 (grub_emu_SOURCES): Likewise.
3520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3521 * include/grub/bsdlabel.h: New file.
3522 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3523 'get_name'.
3524 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3525 (grub_partition_map_list): New variable.
3526 (grub_partition_map_register): Inline.
3527 (grub_partition_map_unregister): Likewise.
3528 (FOR_PARTITION_MAPS): New macro.
3529 (grub_partition_map_iterate): Removed.
3530 (grub_partition_get_start): Handle nested partitions.
3531 * include/grub/msdos_partition.h: Remove bsd-related entries.
3532 (grub_pc_partition): Remove.
3533 * kern/disk.c (grub_disk_close): Free partition data.
3534 (grub_disk_adjust_range): Handle nested partitions.
3535 * kern/partition.c (grub_partition_map_probe): New function.
3536 (grub_partition_probe): Parse name to number, handle subpartitions.
3537 (get_partmap): New function.
3538 (grub_partition_iterate): Handle subpartitions.
3539 (grub_partition_get_name): Likewise.
3540 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3541 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3542 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3543 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3544 Set 'number'.
3545 (acorn_partition_map_probe): Remove.
3546 (acorn_partition_map_get_name): Likewise.
3547 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3548 Set 'number'.
3549 Set 'index' to 0 since there can be only one partition entry per sector.
3550 (amiga_partition_map_probe): Remove.
3551 (amiga_partition_map_get_name): Likewise.
3552 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3553 Set 'number'.
3554 Set 'offset' and 'index' to real positions of partitions.
3555 (apple_partition_map_probe): Remove.
3556 (apple_partition_map_get_name): Likewise.
3557 * partmap/bsdlabel.c: New file.
3558 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3559 Set 'number'.
3560 Allocate 'data' so it can be correctly freed.
3561 Set 'index' to offset inside sector.
3562 (gpt_partition_map_probe): Remove.
3563 (gpt_partition_map_get_name): Likewise.
3564 * partmap/msdos.c (grub_partition_parse): Remove.
3565 (pc_partition_map_iterate): Don't force raw access.
3566 Set 'number'.
3567 Make 'ext_offset' a local variable.
3568 (pc_partition_map_probe): Remove.
3569 (pc_partition_map_get_name): Remove.
3570 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3571 Set 'number'.
3572 (sun_partition_map_probe): Remove.
3573 (sun_partition_map_get_name): Likewise.
3574 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3575 (grub_pcpart_type): Likewise.
3576 * util/hostdisk.c (open_device): Handle new numbering scheme.
3577 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3578 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3579 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3580 * util/grub-install.in: Insert all subpartition modules.
3581 * util/ieee1275/grub-install.in: Likewise.
3582
3583 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3584
3585 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3586 grammar.
3587
3588 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3589
3590 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3591
3592 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3593
3594 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3595 match where 'make install' puts them.
3596 * util/i386/efi/grub-install.in: Likewise.
3597
3598 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3599
3600 * .bzrignore: Add gentrigtables, grub-script-check,
3601 grub_script_check_init.c, grub_script_check_init.h, and
3602 trigtables.c.
3603
3604 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * kern/parser.c: Indented.
3607
3608 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3611
3612 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3615 alpha_mask_size == 0 case.
3616
3617 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3618
3619 GRUB shell lexer and parser improvements.
3620
3621 * conf/any-emu.rmk: Build rule updates.
3622 * conf/common.rmk: Likewise.
3623 * conf/i386-coreboot.rmk: Likewise.
3624 * conf/i386-efi.rmk: Likewise.
3625 * conf/i386-ieee1275.rmk: Likewise.
3626 * conf/i386-pc.rmk: Likewise.
3627 * conf/powerpc-ieee1275.rmk: Likewise.
3628 * conf/x86_64-efi.rmk: Likewise.
3629
3630 * configure.ac: Configure check for flex.
3631
3632 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3633 types.
3634 (grub_lexer_param): Struct member updates.
3635 (grub_parser_param): Likewise.
3636 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3637 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3638 (grub_script_lexer_init): Prototype update.
3639 (grub_script_lexer_record_start): Likewise.
3640 (grub_script_lexer_record_stop): Likewise.
3641 (grub_script_lexer_yywrap): New function prototype.
3642 (grub_script_lexer_fini): Likewise.
3643 (grub_script_execute_argument_to_string): Removed by...
3644 (grub_script_execute_argument_to_argv): ...better version.
3645
3646 * script/execute.c (ROUND_UPTO): New macro.
3647 (grub_script_execute_cmdline): Out of memory fixes.
3648 (grub_script_execute_menuentry): Likewise.
3649 (grub_script_execute_argument_to_string): Removed. Update all
3650 users by...
3651 (grub_script_execute_argument_to_argv): ...better version.
3652 * script/function.c (grub_script_function_create): Use
3653 grub_script_execute_argument_to_argv instead of
3654 grub_script_execute_argument_to_string.
3655
3656 * script/lexer.c (check_varstate): Removed.
3657 (check_textstate): Removed.
3658 (grub_script_lexer_record_start): Likewise.
3659 (grub_script_lexer_record_stop): Likewise.
3660 (recordchar): Replaced with...
3661 (grub_script_lexer_record): ...new function.
3662 (nextchar): Removed.
3663 (grub_script_lexer_init): Rewritten.
3664 (grub_script_yylex): Rewritten.
3665 (append_newline): New function.
3666 (grub_script_lexer_yywrap): New function.
3667 (grub_script_lexer_fini): New function.
3668 (grub_script_yyerror): Sets error flag.
3669
3670 * script/yylex.l: New file.
3671 (grub_lexer_yyfree): Wrapper for flex yyffre.
3672 (grub_lexer_yyalloc): Likewise.
3673 (grub_lexer_yyrealloc): Likewise.
3674 * script/parser.y: Refactored.
3675
3676 * script/script.c (grub_script_arg_add): Out of memory fixes.
3677 (grub_script_add_arglist): Likewise.
3678 (grub_script_create_cmdline): Likewise.
3679 (grub_script_create_cmdmenu): Likewise.
3680 (grub_script_add_cmd): Likewise.
3681 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3682 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3683 unnecessary code.
3684
3685 * tests/grub_script_echo1.in: New testcase.
3686 * tests/grub_script_vars1.in: New testcase.
3687 * tests/grub_script_echo_keywords.in: New testcase.
3688
3689 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 Remove some redundancy in build system.
3692
3693 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3694 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3695 (TARGET_LDFLAGS): Add -nostdlib.
3696 (TARGET_IMG_LDFLAGS): Likewise.
3697 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3698 anything since mmap isn't available.
3699 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3700 Add util/time.c.
3701 (pkglib_MODULES): Remove reboot.mod.
3702 (reboot_mod_SOURCES): Removed.
3703 (reboot_mod_CFLAGS): Likewise.
3704 (reboot_mod_LDFLAGS): Likewise.
3705 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3706 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3707 (DEFSYMFILES): Add kernel_syms.lst.
3708 (kernel_img_HEADERS): Add common headers.
3709 (symlist.c): New target.
3710 (kernel_syms.lst): Likewise.
3711 (pkglib_MODULES): Add memdisk.mod.
3712 (memdisk_mod_SOURCES): New variable.
3713 (memdisk_mod_CFLAGS): Likewise.
3714 (memdisk_mod_LDFLAGS): Likewise.
3715 (pkglib_MODULES): Add reboot.mod.
3716 (reboot_mod_SOURCES): New variable.
3717 (reboot_mod_CFLAGS): Likewise.
3718 (reboot_mod_LDFLAGS): Likewise.
3719 (pkglib_MODULES): Add date.mod.
3720 (date_mod_SOURCES): New variable.
3721 (date_mod_CFLAGS): Likewise.
3722 (date_mod_LDFLAGS): Likewise.
3723 (pkglib_MODULES): Add datehook.mod.
3724 (datehook_mod_SOURCES): New variable.
3725 (datehook_mod_CFLAGS): Likewise.
3726 (datehook_mod_LDFLAGS): Likewise.
3727 (pkglib_MODULES): Add lsmmap.mod.
3728 (lsmmap_mod_SOURCES): New variable.
3729 (lsmmap_mod_CFLAGS): Likewise.
3730 (lsmmap_mod_LDFLAGS): Likewise.
3731 (pkglib_MODULES): Add boot.mod.
3732 (boot_mod_SOURCES): New variable.
3733 (boot_mod_CFLAGS): Likewise.
3734 (boot_mod_LDFLAGS): Likewise.
3735 * conf/i386-coreboot.rmk: Removed redundant parts.
3736 * conf/i386-ieee1275.rmk: Likewise.
3737 * conf/i386-pc.rmk: Likewise.
3738 * conf/mips-yeeloong.rmk: Likewise.
3739 * conf/mips.rmk: Likewise.
3740 * conf/powerpc-ieee1275.rmk: Likewise.
3741 * conf/sparc64-ieee1275.rmk: Likewise.
3742 * conf/x86_64-efi.rmk: Likewise.
3743 * conf/i386-coreboot.rmk: Moved qemu parts ..
3744 * conf/i386-qemu.rmk: ... here
3745 * conf/i386-efi.rmk: Moved common parts to...
3746 * conf/x86-efi.rmk: ... here.
3747 * conf/i386.rmk: Added modules common to all x86 variants.
3748 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3749 * disk/memdisk.c: Remove grub/machine/kernel.h.
3750 * gensymlist.sh.in: Include symbol.h.
3751 * hook/datehook.c: Correct module name.
3752 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3753 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3754 * include/grub/i386/efi/serial.h: New file.
3755 * include/grub/x86_64/efi/serial.h: Likewise.
3756 * util/time.c: Likewise.
3757 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3758
3759 2010-03-14 Colin King <colin.king@ubuntu.com>
3760 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3761
3762 Shrink the pre-partition-table part of boot.img by eight bytes.
3763
3764 * boot/i386/pc/boot.S (ERR): New macro.
3765 (chs_mode): Use ERR.
3766 (geometry_error): Likewise.
3767 (hd_probe_error): Remove. This is only used once, so we wrwite
3768 it inline instead.
3769 (read_error): Instead of printing read_error_string, just set up
3770 %si and fall through to ...
3771 (error_message): ... this new function, also used by ERR.
3772
3773 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3774
3775 Speed up consecutive hostdisk operations on the same device.
3776
3777 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3778 (grub_util_biosdisk_open): Initialise disk->data.
3779 (struct linux_partition_cache): New structure.
3780 (linux_find_partition): Cache partition start positions; these are
3781 expensive to compute on every read and write.
3782 (open_device): Cache open file descriptor in disk->data, so that we
3783 don't have to reopen it and flush the buffer cache for consecutive
3784 operations on the same device.
3785 (grub_util_biosdisk_close): New function.
3786 (grub_util_biosdisk_dev): Set `close' member.
3787
3788 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3789 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3790 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3791 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3792 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3793
3794 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Compile parts of grub-emu as modules.
3797
3798 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3799 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3800 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3801 (all-local): Add $(GRUB_EMU).
3802 (install-local): Install $(GRUB_EMU).
3803 (uninstall): Uninstall $(GRUB_EMU).
3804 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3805 * kern/dl.c: Likewise.
3806 * commands/sleep.c: Not include machine/time.h.
3807 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3808 (COMMON_CFLAGS): Likewise.
3809 (sbin_UTILITIES): Remove grub-emu.
3810 (grub_emu_SOURCES): Removed.
3811 (kernel_img_RELOCATABLE): New variable.
3812 (pkglib_PROGRAMS): Add kernel.img.
3813 (kernel_img_SOURCES): New variable
3814 (kernel_img_CFLAGS): Likewise.
3815 (kernel_img_LDFLAGS): Likewise.
3816 (TARGET_NO_STRIP): Likewise.
3817 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3818 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3819 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3820 (grub-emu): New target.
3821 (GRUB_EMU): New variable.
3822 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3823 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3824 * loader/xnu.c: Likewise.
3825 * include/grub/pci.h: Likewise.
3826 * genemuinit.sh: New file.
3827 * genemuinitheader.sh: Likewise.
3828 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3829 Support TARGET_NO_DYNAMIC_MODULES.
3830 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3831 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3832 * disk/loopback.c: Likewise.
3833 * font/font_cmd.c: Likewise.
3834 * partmap/acorn.c: Likewise.
3835 * partmap/amiga.c: Likewise.
3836 * partmap/apple.c: Likewise.
3837 * partmap/gpt.c: Likewise.
3838 * partmap/msdos.c: Likewise.
3839 * partmap/sun.c: Likewise.
3840 * parttool/msdospart.c: Likewise.
3841 * term/gfxterm.c: Likewise.
3842 * video/bitmap.c: Likewise.
3843 * video/readers/jpeg.c: Likewise.
3844 * video/readers/png.c: Likewise.
3845 * video/readers/tga.c: Likewise.
3846 * video/video.c: Likewise.
3847 * util/grub-emu.c (read_command_list): Removed.
3848 (main): Don't call util_init_nls.
3849 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3850 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3851
3852 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3855 date.mod, datehook.mod.
3856 (datetime_mod_SOURCES): New variable.
3857 (datetime_mod_CFLAGS): Likewise.
3858 (datetime_mod_LDFLAGS): Likewise.
3859 (date_mod_SOURCES): Likewise.
3860 (date_mod_CFLAGS): Likewise.
3861 (date_mod_LDFLAGS): Likewise.
3862 (datehook_mod_SOURCES): Likewise.
3863 (datehook_mod_CFLAGS): Likewise.
3864 (datehook_mod_LDFLAGS): Likewise.
3865 * conf/sparc64-ieee1275.rmk: Likewise.
3866 * lib/ieee1275/datetime.c: New file.
3867
3868 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3871 (ieee1275_fb_mod_SOURCES): New variable.
3872 (ieee1275_fb_mod_CFLAGS): Likewise.
3873 (ieee1275_fb_mod_LDFLAGS): Likewise.
3874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3875 New proto.
3876 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3877 (HEAP_MAX_ADDR): Likewise.
3878 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3879 type.
3880 Correct stop condition.
3881 (grub_ieee1275_devices_iterate): New function.
3882 * video/ieee1275.c: New file.
3883
3884 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3887
3888 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3889 as scratch.
3890 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3891 SCRATCH_PAD_DISKBOOT as scratch.
3892 (bootit): Pass Openfirmware pointer in %o4.
3893 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3894 of 0x200000.
3895 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3896 with util/grub-mkrawimage.c.
3897 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3898 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3899 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3900 (grub_aout_load) [GRUB_UTIL]: Likewise.
3901 * include/grub/kernel.h (grub_modules_get_end): New proto.
3902 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3903 (SCRATCH_PAD_BOOT): New definition.
3904 (SCRATCH_PAD_DISKBOOT): Likewise.
3905 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3906 * include/grub/sparc64/ieee1275/ieee1275.h
3907 (grub_ieee1275_original_stack): New variable
3908 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3909 New definition
3910 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3911 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3912 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3913 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3914 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3915 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3916 (grub_platform_image_format_t): New type.
3917 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3918 * kern/main.c (grub_modules_get_end)
3919 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3920 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3921 (codestart): Switch stacks.
3922 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3923 variable.
3924 (grub_heap_init): Use grub_modules_get_end.
3925 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3926 stack.
3927 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3928 (main): Likewise.
3929 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3930
3931 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3932
3933 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3934
3935 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3936
3937 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3938 bug #559005).
3939
3940 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * genmoddep.awk: Output all missing symbols and not only first.
3943
3944 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * NEWS: Put the date of 1.98 release.
3947
3948 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3951 ft2build.h.
3952
3953 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3956 completition in the middle of string.
3957
3958 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * util/grub-mkrescue.in: Use mktemp with explicit template.
3961
3962 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3965
3966 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3969 right pointer.
3970
3971 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 Fix FreeBSD compilation.
3974
3975 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3976 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3977
3978 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3981
3982 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3985
3986 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3989
3990 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3991
3992 Support relative image path in theme file.
3993
3994 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3995 (image_set_property): Handle theme_dir and relative path.
3996
3997 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * configure.ac: Alias amd64 to x86_64.
4000
4001 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * NEWS: mention multiboot on EFI.
4004
4005 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * kern/main.c (grub_load_modules): Handle errors from init functions of
4008 embeded modules.
4009
4010 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * normal/autofs.c (autoload_fs_module): Handle errors.
4013
4014 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 Disable linux.mod on qemu-mips since it's not functional and leads
4017 to compilation failure.
4018
4019 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4020 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4021 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4022 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4023 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4024 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4025 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4026 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4027 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4028 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4029 Reported by: BVK Chaitanya
4030
4031 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4032
4033 * INSTALL: Add gettext as a dependency and add qemu to a new section
4034 "Prerequisites for make-check".
4035
4036 2010-03-04 Christian Franke <franke@computer.org>
4037
4038 * util/grub-pe2elf.c: Add missing include "progname.h".
4039
4040 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * normal/crypto.c (read_crypto_list): Fix a typo.
4043 Reported by: Seth Goldberg.
4044
4045 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
4048 Reported by: Seth Goldberg.
4049
4050 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4053 ascii.bitmaps.
4054
4055 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * genmk.rb: Remove terminal*.lst in make clean.
4058 Reported by: Seth Goldberg.
4059
4060 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * util/i386/efi/grub-install.in: Copy gettext files.
4063
4064 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4067
4068 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 Wait for user entry basing on presence of output rather than on errors.
4071
4072 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4073 (grub_install_newline_hook): Likewise.
4074 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4075 * normal/menu.c (show_menu): Check line_counter to determine presence
4076 of output.
4077 * normal/term.c (grub_normal_line_counter): New variable.
4078 (grub_normal_get_line_counter): New function.
4079 (grub_install_newline_hook): Likewise.
4080
4081 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4084
4085 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * configure.ac: Update version to 1.98.
4088
4089 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/grub.d/10_linux.in (linux_entry): Don't default to
4092 gfxpayload=keep if Linux doesn't support video handover.
4093
4094 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Don't compile video modules on yeeloong since video subsystem is part
4097 of kernel.
4098
4099 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4100 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4101 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4102 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4103 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4104 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4105 * include/grub/bitmap_scale.h: Likewise.
4106 * include/grub/bufio.h: Likewise.
4107 * include/grub/font.h: Likewise.
4108 * include/grub/gfxterm.h: Likewise.
4109 * include/grub/video.h: Likewise.
4110 * include/grub/vbe.h: Don't include video_fb.h.
4111 * video/i386/pc/vbe.c: Include video_fb.h.
4112 * commands/i386/pc/vbetest.c: Include video.h.
4113
4114 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4115
4116 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4117 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4118 default entry if GRUB_SAVEDEFAULT=true. This allows using
4119 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4120 saving a new default on every boot.
4121
4122 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4125 * normal/term.c (read_terminal_list): Likewise.
4126 * normal/main.c (grub_normal_init_page): Likewise.
4127 (grub_normal_read_line_real): Likewise.
4128
4129 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4132 memory leak.
4133 Reported by: Seth Goldberg.
4134
4135 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4136
4137 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4138 duplicate declaration of `start'.
4139
4140 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4143 filename.
4144 Reported by: Georgy Buranov
4145
4146 2010-02-20 Carles Pina i Estany <carles@pina.cat>
4147
4148 * util/grub-mkrawimage.c (usage): Change string formatting to
4149 improve gettext.
4150
4151 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4152
4153 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4154 backspace keys.
4155
4156 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4159 Reported by: Michael Suchanek.
4160
4161 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
4162
4163 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4164 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4165
4166 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Remove any reference to non-free fonts.
4169
4170 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4171 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4172 uses non-free components.
4173 * font/font.c (grub_font_get_name): Remove example name.
4174 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4175 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4176 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4177 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4178
4179 2010-02-16 Georgy Buranov <gburanov@gmail.com>
4180
4181 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4182
4183 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4186 Double divisor.
4187 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4188 features.
4189 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4190
4191 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4194
4195 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4196
4197 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4198 * docs/grub.texi (Command-line and menu entry commands): Document play
4199 command.
4200
4201 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4202
4203 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4204 parse arguments as inline tempo and notes. Move code for playing notes
4205 to...
4206 (play): ... new function.
4207
4208 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4209
4210 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4211 grub_uint16_t instead of short.
4212 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4213 disk from little endian to cpu endianness.
4214
4215 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4216
4217 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4218 GRUB_TICKS_PER_SECOND instead of 120.
4219
4220 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4223 escape sequence after \e.
4224
4225 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4228 non-ASCII characters.
4229
4230 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4233 set root in single quotes to prevent \, from being unescaped.
4234
4235 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 Prevent unknown commands from stopping menuentry execution.
4238
4239 * script/execute.c (grub_script_execute_cmdline): Print error after
4240 unknown command.
4241
4242 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4245 Reported by: Pavel Pisa.
4246
4247 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4250
4251 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Merge grub_ieee1275_map_physical into grub_map and rename to
4254 grub_ieee1275_map
4255
4256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4257 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4258 Remove.
4259 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4260 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4261 necessary.
4262 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4263
4264 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4267 opening and not after.
4268
4269 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4272 constants.
4273
4274 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4277 (alloc_phys): Use ALIGN_UP instead of align_addr.
4278
4279 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4282
4283 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4286
4287 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4290 verbose dprintf.
4291
4292 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Fix over-4GiB seek on sparc64.
4295
4296 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4297 Replace pos_i and pos_lo with pos. All users updated.
4298 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4299 New constant.
4300 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4301 Likewise.
4302 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4303 and pos_lo.
4304
4305 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * util/grub-mkrawimage.c (main): Call set_program_name.
4308
4309 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Properly align 64-bit targets.
4312
4313 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4314 (generate_image): Use ALIGN_ADDR.
4315
4316 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 Properly create cross-endian images.
4319
4320 * include/grub/types.h (grub_host_to_target_addr): New macro
4321 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4322
4323 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4326
4327 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4330
4331 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4332 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4333 (grub_linux_boot): Divide by 64K when on VESA.
4334
4335 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Support GRUB_GFXPAYLOAD_LINUX.
4338
4339 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4340 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4341
4342 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4345 to show messages instead of discarding them.
4346 Process errors after executing command and not before. Keep old method
4347 too as precaution.
4348
4349 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * configure.ac: Check for ft2build.h.
4352
4353 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4356
4357 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * genkernsyms.sh.in: Use TARGET_CC.
4360
4361 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4362
4363 * NEWS: Update.
4364
4365 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * include/grub/multiboot2.h: Remove leftover file.
4368 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4369 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4370
4371 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4372
4373 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4374
4375 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Fix warnings in grub-emu when compiling with maximum warning options.
4378
4379 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4380 (grub_arch_modules_addr): Return 0 and not NULL.
4381 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4382 (xstrdup): Use newstr instead of dup.
4383 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4384 of disk to dsk to avoid shadowing.
4385 (find_free_slot): Fix prototype.
4386 * util/getroot.c (grub_util_is_dmraid): Make static.
4387 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4388 Add missing prototype.
4389 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4390
4391 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4394 appropriately.
4395
4396 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4399 code out.
4400
4401 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4404 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4405 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4406 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4407 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4408 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4409
4410 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * include/grub/err.h (grub_err_printf): Don't export.
4413
4414 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4417
4418 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4421 * kern/misc.c (grub_gettext_dummy): Make static.
4422
4423 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4426 by non-valid ones.
4427 * kern/term.c (grub_putchar): Likewise.
4428
4429 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4432 buggy hook call and memory leak.
4433
4434 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4437
4438 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4441
4442 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4445 modevar.
4446 Return grub_errno on allocation error.
4447
4448 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4451
4452 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4453
4454 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4455 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4456
4457 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4460 non-pxe disk.
4461 (grub_pxefs_open): Likewise.
4462
4463 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4464
4465 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4466 * util/grub.d/10_kfreebsd.in: Likewise.
4467 * util/grub.d/10_linux.in: Likewise.
4468
4469 2010-02-06 Colin D Bennett <colin@gibibit.com>
4470
4471 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4472 (gfxmenu_mod_SOURCES): New variable.
4473 (gfxmenu_mod_CFLAGS): Likewise.
4474 (gfxmenu_mod_LDFLAGS): Likewise.
4475 * include/grub/term.h (grub_term_set_current_output): Declare
4476 argument as const.
4477 * docs/gfxmenu-theme-example.txt: New file.
4478 * gfxmenu/gfxmenu.c: Likewise.
4479 * gfxmenu/gui_box.c: Likewise.
4480 * gfxmenu/gui_canvas.c: Likewise.
4481 * gfxmenu/gui_circular_progress.c: Likewise.
4482 * gfxmenu/gui_image.c: Likewise.
4483 * gfxmenu/gui_label.c: Likewise.
4484 * gfxmenu/gui_list.c: Likewise.
4485 * gfxmenu/gui_progress_bar.c: Likewise.
4486 * gfxmenu/gui_string_util.c: Likewise.
4487 * gfxmenu/gui_util.c: Likewise.
4488 * gfxmenu/icon_manager.c: Likewise.
4489 * gfxmenu/model.c: Likewise.
4490 * gfxmenu/named_colors.c: Likewise.
4491 * gfxmenu/theme_loader.c: Likewise.
4492 * gfxmenu/view.c: Likewise.
4493 * gfxmenu/widget-box.c: Likewise.
4494 * include/grub/gfxmenu_model.h: Likewise.
4495 * include/grub/gfxmenu_view.h: Likewise.
4496 * include/grub/gfxwidgets.h: Likewise.
4497 * include/grub/gui.h: Likewise.
4498 * include/grub/gui_string_util.h: Likewise.
4499 * include/grub/icon_manager.h: Likewise.
4500
4501 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Agglomerate scrolling in gfxterm.
4504
4505 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4506 (grub_virtual_screen_setup): Initialise 'total_screen'.
4507 (write_char): Split to ...
4508 (paint_char): ... this ...
4509 (write_char): ... and this.
4510 (paint_char): Handle delayed scrolling.
4511 (draw_cursor): Likewise.
4512 (scroll_up): Split to ...
4513 (real_scroll): ... this ...
4514 (scroll_up): ... and this.
4515 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4516 characters.
4517 (grub_gfxterm_refresh): Call real_scroll.
4518
4519 2010-02-06 Colin D Bennett <colin@gibibit.com>
4520
4521 * include/grub/misc.h (grub_iscntrl): New inline function.
4522 (grub_isalnum): Likewise.
4523 (grub_strtol): Likewise.
4524
4525 2010-02-06 Colin D Bennett <colin@gibibit.com>
4526
4527 * normal/menu_text.c (get_entry_number): Move from here ...
4528 * normal/menu.c (get_entry_number): ... moved here.
4529 * include/grub/menu.h (grub_menu_get_default_entry_index):
4530 New prototype.
4531 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4532 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4533 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4534 (grub_menu_viewer_should_return): Likewise.
4535 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4536 * normal/menu_text.c (run_menu): Enable menu switching.
4537 * normal/menu_viewer.c (should_return): New variable.
4538 (menu_viewer_changed): Likewise.
4539 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4540 (grub_menu_viewer_should_return): New function.
4541 (menuviewer_write_hook): Likewise.
4542 (grub_menu_viewer_init): Likewise.
4543
4544 2010-02-06 Colin D Bennet <colin@gibibit.com>
4545 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Support for gfxterm in a window.
4548
4549 * include/grub/gfxterm.h: New file.
4550 * include/grub/video.h (struct grub_video_rect): New declaration.
4551 (grub_video_rect_t): Likewise.
4552 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4553 (refcount): New variable.
4554 (render_target): Likewise.
4555 (window): Likewise.
4556 (repaint_callback): Likewise.
4557 (grub_virtual_screen_setup): Use 'render_target'.
4558 (init_window): New function.
4559 (grub_gfxterm_init_window): Likewise.
4560 (grub_gfxterm_init): Check reference counter.
4561 Use init_window.
4562 (destroy_window): New function.
4563 (grub_gfxterm_destroy_window): Likewise.
4564 (grub_gfxterm_fini): Check reference counter.
4565 Use destroy_window.
4566 (redraw_screen_rect): Restore viewport.
4567 Use 'render_target' and 'window'.
4568 Call 'repaint_callback'.
4569 (write_char): Use 'render_target'.
4570 (draw_cursor): Likewise.
4571 (scroll_up): Restore viewport.
4572 Use 'render_target' and 'window'.
4573 Call 'repaint_callback'.
4574 (grub_gfxterm_cls): Likewise.
4575 (grub_gfxterm_refresh): Use 'window'.
4576 (grub_gfxterm_set_repaint_callback): New function.
4577 (grub_gfxterm_background_image_cmd): Use 'window'.
4578 (grub_gfxterm_get_term): New function.
4579 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4580
4581 2010-02-06 Colin D Bennett <colin@gibibit.com>
4582
4583 Bitmap scaling support.
4584
4585 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4586 (bitmap_scale_mod_SOURCES): New variable.
4587 (bitmap_scale_mod_CFLAGS): Likewise.
4588 (bitmap_scale_mod_LDFLAGS): Likewise.
4589 * include/grub/bitmap_scale.h: New file.
4590 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4591 (background_image_cmd_options): New variable.
4592 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4593 (cmd): Rename and change type to ...
4594 (background_image_cmd_handle): ... this. All users updated.
4595 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4596 * video/bitmap_scale.c: New file.
4597
4598 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 SDL support.
4601
4602 * Makefile.in (LIBSDL): New variable.
4603 (enable_grub_emu_sdl): Likewise.
4604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4605 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4606 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4607 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4608 * util/sdl.c: New file.
4609
4610 2010-02-06 Colin D Bennett <colin@gibibit.com>
4611 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Double buffering support.
4614
4615 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4616 * include/grub/video.h: Update comment.
4617 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4618 New type.
4619 (grub_video_fb_doublebuf_blit_init): New prototype.
4620 * term/gfxterm.c (scroll_up): Support double buffering.
4621 (grub_gfxterm_refresh): Likewise.
4622 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4623 (grub_video_fb_doublebuf_blit_init): Likewise.
4624 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4625 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4626 'displayed_page', 'render_page' and 'update_screen'.
4627 (grub_video_vbe_fini): Free offscreen buffer.
4628 (doublebuf_pageflipping_commit): New function.
4629 (doublebuf_pageflipping_update_screen): Likewise.
4630 (doublebuf_pageflipping_init): Likewise.
4631 (double_buffering_init): Likewise.
4632 (grub_video_vbe_setup): Enable doublebuffering.
4633 (grub_video_vbe_swap_buffers): Implement.
4634 (grub_video_vbe_set_active_render_target): Handle double buffering.
4635 (grub_video_vbe_get_active_render_target): Likewise.
4636 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4637 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4638 (grub_video_vbe_enable_double_buffering): Likewise.
4639 (grub_video_vbe_swap_buffers): Use update_screen.
4640 (grub_video_set_mode): Use double buffering.
4641
4642 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4643
4644 * maintainance/gentrigtables.py: Remove.
4645 * lib/trig.c: Likewise.
4646
4647 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4648
4649 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4650 `trigtables.c'.
4651 (trigtables.c): New rule.
4652 (gentrigtables): Likewise.
4653 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4654
4655 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4656
4657 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4658 integer constants.
4659
4660 2010-02-06 Colin D Bennet <colin@gibibit.com>
4661
4662 Trigonometry support.
4663
4664 * include/grub/trig.h: New file.
4665 * lib/trig.c: Likewise.
4666 * maintainance/gentrigtables.py: Likewise.
4667 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4668 (trig_mod_SOURCES): New variable.
4669 (trig_mod_CFLAGS): Likewise.
4670 (trig_mod_LDFLAGS): Likewise.
4671
4672 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4675 disk devices.
4676
4677 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4680 error.
4681
4682 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * util/hostdisk.c (open_device): Don't use partition device when reading
4685 before the partition.
4686 (grub_util_biosdisk_read): Don't read from partition and before the
4687 partition in single operation.
4688 (grub_util_biosdisk_write): Don't write to partition and before the
4689 partition in single operation.
4690
4691 2010-02-03 Torsten Landschoff <torsten@debian.org>
4692
4693 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4694 last sectors.
4695
4696 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4699 CDROM reads.
4700 (grub_biosdisk_write): Refuse to write to CDROM.
4701
4702 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4705
4706 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * font/font.c (find_glyph): Check that bmp_idx is available before
4709 using it.
4710 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4711 with (font == NULL).
4712
4713 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4714
4715 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4716
4717 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4718
4719 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4720 * util/grub-script-check.c (getline): Fix empty lines case.
4721
4722 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4723
4724 * Makefile.in (check): Exit with fail status when one of the tests
4725 fails.
4726 * tests/example_functional_test.c (example_test): Fix reversed assert.
4727 * tests/example_unit_test.c (example_test): Likewise.
4728
4729 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * util/grub.d/10_linux.in: This script does not use any of the
4732 contents of gettext.sh, only the external command `gettext', so stop
4733 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4734 the same prefix as GRUB.)
4735 * util/grub.d/10_kfreebsd.in: Likewise.
4736
4737 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4740 of the line.
4741
4742 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4745 last sectors.
4746
4747 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4750 having a 4KiB and not 32KiB buffer size.
4751
4752 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4753
4754 * util/hostfs.c: Include `<errno.h>'.
4755 (grub_hostfs_read): Handle errors from fseeko() and fread().
4756
4757 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4758
4759 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4760 loop when using read hooks on files whose size isn't sector-aligned.
4761
4762 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4763
4764 Remove unused parameter.
4765
4766 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4767 (grub_iso9660_open): Remove initialization of `data->length'.
4768
4769 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4770
4771 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4772 memleak conditions.
4773
4774 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4775
4776 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4777 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4778
4779 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4780
4781 * util/bin2h.c (usage): Fix warning (space after backslash).
4782
4783 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4784
4785 * font/font.c: Include `grub/fontformat.h.
4786 Remove font file format constants.
4787 (grub_font_load): Use the new macros.
4788 * include/grub/fontformat.h: New file.
4789 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4790 (write_font_pf2): Use the new macros.
4791
4792 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4793
4794 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4795 does.
4796
4797 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4798
4799 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4800
4801 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4802 (_start): Macroify `0x7F'.
4803
4804 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4805 (make_install_device): Use "(pxe)" as fallback prefix when booting
4806 via PXE.
4807
4808 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * configure.ac: Reset LIBS after check for libgcc symbols.
4811
4812 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4813
4814 * util/hostdisk.c (open_device): Add trailing newline to debug
4815 message.
4816
4817 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4818
4819 * configure.ac: Check for `limits.h'.
4820 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4821
4822 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4823
4824 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4825 capitalize error strings.
4826
4827 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4828
4829 * util/grub.d/10_hurd.in: Add a recovery mode.
4830
4831 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * configure.ac: Check for libgcc symbols with -nostdlib.
4834
4835 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4836
4837 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4838
4839 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4842 stack since heap may be unavailable at that point.
4843 (grub_ofconsole_gotoxy): Likewise.
4844
4845 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * configure.ac: Check for _restgpr_14_x.
4848 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4849 and _savegpr_* prototypes.
4850
4851 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4852
4853 Use generic grub_reboot() for i386-efi.
4854
4855 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4856 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4857 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4858
4859 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4862 presence of "prefix" variable as it breaks when normal.mod is
4863 embedded.
4864
4865 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4868 stack since heap is unavailable at that point.
4869
4870 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4873 (grub_freebsd_bootinfo): Rewritten.
4874 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4875
4876 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4879
4880 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4881
4882 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4883 domain now.
4884
4885 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4886
4887 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4888 around for handling "/" to the correct fix. Fix a memory leak. Use
4889 xstrdup instead of strdup.
4890
4891 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4894
4895 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4898
4899 * font/font.c (struct grub_font): New member 'bmp_idx'.
4900 (font_init): Initialise 'bmp_idx'.
4901 (load_font_index): Fill 'bmp_idx'.
4902 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4903
4904 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4907 unnecessary calls.
4908
4909 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Move context handling out of the kernel.
4912
4913 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4914 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4915 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4916 * conf/i386-efi.rmk: Likewise.
4917 * conf/i386-ieee1275.rmk: Likewise.
4918 * conf/i386-pc.rmk: Likewise.
4919 * conf/powerpc-ieee1275.rmk: Likewise.
4920 * conf/sparc64-ieee1275.rmk: Likewise.
4921 * conf/x86_64-efi.rmk: Likewise.
4922 * include/grub/env.h: Include grub/menu.h.
4923 (grub_env_var_type): Removed.
4924 (grub_env_var): Replaced field 'type' with 'global'.
4925 (grub_env_find): New prototype.
4926 (grub_env_context_open): Remove EXPORT_FUNC.
4927 (grub_env_context_close): Likewise.
4928 (grub_env_export): Likewise.
4929 (grub_env_set_data_slot): Removed.
4930 (grub_env_get_data_slot): Likewise.
4931 (grub_env_unset_data_slot): Likewise.
4932 (grub_env_unset_menu): New prototype.
4933 (grub_env_set_menu): Likewise.
4934 (grub_env_get_menu): Likewise.
4935 * include/grub/env_private.h: New file.
4936 * include/grub/normal.h (grub_context_init): New prototype.
4937 (grub_context_fini): Likewise.
4938 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4939 * normal/context.c (grub_cmd_export): ... to here.
4940 * kern/env.c: Include env_private.h.
4941 (HASHSZ): Moved to include/grub/env_private.h.
4942 (grub_env_context): Likewise.
4943 (grub_env_sorted_var): Likewise.
4944 (current_context): Renamed from this ...
4945 (grub_current_context): ...to this. 'static' removed. All users updated.
4946 (grub_env_find): Removed 'static'.
4947 (grub_env_context_open): Moved to normal/context.c.
4948 (grub_env_context_close): Likewise.
4949 (grub_env_export): Likewise.
4950 (mangle_data_slot_name): Removed.
4951 (grub_env_set_data_slot): Likewise.
4952 (grub_env_get_data_slot): Likewise.
4953 (grub_env_unset_data_slot): Likewise.
4954 * kern/main.c (grub_set_root_dev): Don't export root.
4955 It will be done later.
4956 (grub_main): Don't export prefix.
4957 It will be done later.
4958 * normal/context.c: New file.
4959 * normal/main.c (free_menu): Use grub_env_unset_menu.
4960 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4961 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4962 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4963 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4964
4965 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 setpci support.
4968
4969 * commands/setpci.c: New file.
4970 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4971 (setpci_mod_SOURCES): New variable.
4972 (setpci_mod_CFLAGS): Likewise.
4973 (setpci_mod_LDFLAGS): Likewise.
4974
4975 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 Byte-addressable PCI configuration space.
4978
4979 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4980 dword address.
4981 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4982 GRUB_PCI_REG_CACHELINE.
4983 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4984 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4985 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4986 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4987 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4988 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4989 grub_pci_make_address.
4990 (lock_rom_area): Likewise.
4991 * commands/lspci.c (grub_lspci_iter): Use macroses
4992 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4993 of grub_pci_make_address.
4994 * disk/ata.c (grub_ata_pciinit): Likewise.
4995 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4996 (GRUB_PCI_REG_VENDOR): Likewise.
4997 (GRUB_PCI_REG_DEVICE): Likewise.
4998 (GRUB_PCI_REG_COMMAND): Likewise.
4999 (GRUB_PCI_REG_STATUS): Likewise.
5000 (GRUB_PCI_REG_REVISION): Likewise.
5001 (GRUB_PCI_REG_CLASS): Likewise.
5002 (GRUB_PCI_REG_CACHELINE): Likewise.
5003 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5004 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5005 (GRUB_PCI_REG_BIST): Likewise.
5006 (GRUB_PCI_REG_ADDRESSES): Likewise.
5007 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5008 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5009 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5010 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5011 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5012 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5013 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5014 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5015 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5016 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5017 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5018 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5019 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5020 (GRUB_PCI_REG_MIN_GNT): Likewise.
5021 (GRUB_PCI_REG_MAX_LAT): Likewise.
5022 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5023 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5024 * video/efi_uga.c (find_framebuf): Likewise.
5025 * video/sm712.c (grub_video_sm712_setup): Likewise.
5026 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5027 space.
5028
5029 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5030
5031 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5032 can be reliably determined to be supported.
5033
5034 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5035
5036 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5037 that VESA is supported.
5038 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5039 supported.
5040
5041 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5044
5045 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5046
5047 * util/misc.c (make_system_path_relative_to_its_root): Work around
5048 special-casing of "/", as previous incarnation of this routine did.
5049
5050 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 Fix any-emu compilation.
5053
5054 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5055 * grub_bin2h_SOURCES: New variable.
5056
5057 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5058
5059 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5060
5061 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5062
5063 * util/grub.d/00_header.in: Fix handling of locale_dir.
5064
5065 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5068 as possible unifont location (Gentoo).
5069 Reported by: Alexander Brüning
5070
5071 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 Don't try to generate lists for kernel.img.
5074
5075 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5076 (pkglib_MODULES): Remove kernel.img.
5077 (kernel_img_EXPORTS): Removed.
5078 (kernel_img_RELOCATABLE): New variable.
5079 * conf/x86_64-efi.rmk: Likewise.
5080 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5081
5082 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5085 grub_xasprintf or grub_snprintf.
5086 (grub_vsprintf): Likewise.
5087 (grub_snprintf): New proto.
5088 (grub_vsnprintf): Likewise.
5089 (grub_xasprintf): Likewise.
5090 (grub_xvasprintf): Likewise.
5091 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5092 (grub_sprintf): Removed.
5093 (grub_vsnprintf): New function.
5094 (grub_snprintf): Likewise.
5095 (grub_xvasprintf): Likewise.
5096 (grub_xasprintf): Likewise.
5097 (grub_vsprintf): Renamed to ...
5098 (grub_vsnprintf_real): ...this. New argument max_len.
5099
5100 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5101
5102 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5103 fix grub-script-check warning.
5104
5105 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * include/grub/font.h (grub_font_load): Fix prototype.
5108
5109 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5112
5113 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * include/grub/x86_64/at_keyboard.h: New file.
5116
5117 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * loader/mips/linux.c: Include missing grub/i18n.h.
5120
5121 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5122
5123 * normal/menu.c (notify_execution_failure): Clarify error message.
5124
5125 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5126
5127 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5128 return value (and revert all return statements). Update users.
5129
5130 2010-01-20 Dan Merillat <debian@dan.merillat.org>
5131
5132 * kern/device.c (grub_device_iterate): Allocate new part_ent
5133 structure based on sizeof (*p) rather than sizeof (p->next), to
5134 account for structure padding.
5135
5136 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5137 disk is NULL, which might happen for LVM physical volumes with no
5138 LVM signature.
5139
5140 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5141
5142 * loader/mips/linux.c (grub_cmd_initrd)
5143 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5144
5145 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5146
5147 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5148 (grub_video_video_init, grub_video_bitmap_init)
5149 (grub_font_manager_init, grub_term_gfxterm_init)
5150 (grub_at_keyboard_init): New extern declarations.
5151 (grub_machine_init): Initialize gfxterm and at_keyboard.
5152
5153 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5154
5155 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5156 `gfxterm.mod' into core image.
5157
5158 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5159 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5160 (kernel_img_FORMAT): Copy to ...
5161
5162 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5163 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5164 (kernel_img_FORMAT): ... here, and ...
5165
5166 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5167 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5168 (kernel_img_FORMAT): ... here.
5169
5170 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5171 and input (at_keyboard) terminals in kernel.
5172 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5173
5174 (pkglib_MODULES): Remove `pci.mod'.
5175 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5176 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5177 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5178 (at_keyboard_mod_LDFLAGS): Remove variables.
5179
5180 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
5181
5182 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5183
5184 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5185
5186 * include/grub/mips/libgcc.h: Only export symbols for functions
5187 that libgcc provides.
5188
5189 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 MIPS support.
5192
5193 * bus/bonito.c: New file.
5194 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5195 GRUB_PCI_NUM_DEVICES.
5196 * term/i386/pc/serial.c: Move to ...
5197 * term/serial.c: ... here. All users updated.
5198 * util/i386/pc/grub-mkimage.c: Move to ...
5199 * util/grub-mkrawimage.c: ... here. All users updated.
5200 * term/i386/pc/at_keyboard.c: Move to ...
5201 * term/at_keyboard.c: ... here. All users updated.
5202 * conf/mips-qemu-mips.rmk: New file.
5203 * conf/mips-yeeloong.rmk: Likewise.
5204 * conf/mips.rmk: Likewise.
5205 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5206 mipsel-qemu-mips.
5207 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5208 to port addresses.
5209 (grub_ata_pciinit): Support CS5536.
5210 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5211 * font/font_cmd.c (loadfont_command): Open file before passing it to
5212 grub_font_load.
5213 (pseudo_file_read): New function.
5214 (pseudo_file_close): Likewise.
5215 (pseudo_fs): New structure.
5216 (load_font_module): New function.
5217 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5218 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5219 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5220 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5221 * include/grub/i386/at_keyboard.h: Split into ...
5222 * include/grub/at_keyboard.h: ... this ...
5223 * include/grub/i386/at_keyboard.h: ... and this.
5224 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5225 New prototype.
5226 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5227 updated.
5228 (grub_elf64_size): Likewise.
5229 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5230 filename.
5231 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5232 * include/grub/i386/coreboot/serial.h: Rewritten.
5233 * include/grub/i386/ieee1275/serial.h: Include
5234 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5235 * include/grub/i386/pc/serial.h: Moved from here ...
5236 * include/grub/serial.h: ... to here. All users updated.
5237 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5238 (GRUB_PCI_NUM_BUS): Likewise.
5239 (GRUB_PCI_NUM_DEVICES): Likewise.
5240 (grub_pci_device_map_range): Add missing volatile keyword.
5241 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5242 * include/grub/mips/at_keyboard.h: New file.
5243 * include/grub/mips/cache.h: Likewise.
5244 * include/grub/mips/io.h: Likewise.
5245 * include/grub/mips/kernel.h: Likewise.
5246 * include/grub/mips/libgcc.h: Likewise.
5247 * include/grub/mips/pci.h: Likewise.
5248 * include/grub/mips/qemu-mips/boot.h: Likewise.
5249 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5250 * include/grub/mips/qemu-mips/loader.h: Likewise.
5251 * include/grub/mips/qemu-mips/memory.h: Likewise.
5252 * include/grub/mips/qemu-mips/serial.h: Likewise.
5253 * include/grub/mips/qemu-mips/time.h: Likewise.
5254 * include/grub/mips/relocator.h: Likewise.
5255 * include/grub/mips/time.h: Likewise.
5256 * include/grub/mips/types.h: Likewise.
5257 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5258 * include/grub/mips/yeeloong/boot.h: Likewise.
5259 * include/grub/mips/yeeloong/kernel.h: Likewise.
5260 * include/grub/mips/yeeloong/loader.h: Likewise.
5261 * include/grub/mips/yeeloong/memory.h: Likewise.
5262 * include/grub/mips/yeeloong/pci.h: Likewise.
5263 * include/grub/mips/yeeloong/serial.h: Likewise.
5264 * include/grub/mips/yeeloong/time.h: Likewise.
5265 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5266 * kern/elf.c (grub_elf32_size): New parameter. All users
5267 updated.
5268 (grub_elf64_size): Likewise.
5269 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5270 Load modules before saying "Welcome to GRUB!".
5271 Call grub_refresh after saying "Welcome to GRUB!".
5272 * kern/mips/cache.S: New file.
5273 * kern/mips/cache_flush.S: Likewise.
5274 * kern/mips/dl.c: Likewise.
5275 * kern/mips/init.c: Likewise.
5276 * kern/mips/qemu-mips/init.c: Likewise.
5277 * kern/mips/startup.S: Likewise.
5278 * kern/mips/yeeloong/init.c: Likewise.
5279 * kern/term.c (grub_putcode): Handle NULL terminal.
5280 (grub_getcharwidth): Likewise.
5281 (grub_getkey): Likewise.
5282 (grub_checkkey): Likewise.
5283 (grub_getkeystatus): Likewise.
5284 (grub_getxy): Likewise.
5285 (grub_getwh): Likewise.
5286 (grub_gotoxy): Likewise.
5287 (grub_cls): Likewise.
5288 (grub_setcolorstate): Likewise.
5289 (grub_setcolor): Likewise.
5290 (grub_getcolor): Likewise.
5291 (grub_refresh): Likewise.
5292 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5293 (write_jump): Add hatch nop.
5294 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5295 * lib/mips/setjmp.S: New file.
5296 * loader/mips/linux.c: Likewise.
5297 * term/i386/pc/at_keyboard.c: Move from here ...
5298 * term/at_keyboard.c: ... to here.
5299 * term/i386/pc/serial.c: Moved from here ...
5300 * term/serial.c: ... to here. All users updated.
5301 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5302 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5303 (serial_translate_key_sequence): Avoid deadlock.
5304 (grub_serial_getkey): Handle backspace.
5305 (grub_serial_putchar): Fix newline handling.
5306 * util/i386/pc/grub-mkimage.c: Move from here ...
5307 * util/grub-mkrawimage.c: ... to here. All users updated.
5308 (generate_image): New parameters 'font_path' and 'format'.
5309 Support embedding font.
5310 Use grub_host_to_target* instead of grub_cpu_to_le*.
5311 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5312 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5313 (options): New option "--font".
5314 (usage): Likewise.
5315 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5316 (main): Handle "--font".
5317 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5318 (grub_virtual_screen_setup): Set bg_color_display.
5319 (redraw_screen_rect): Use bg_color_display instead of incorrect
5320 bg_color.
5321 (grub_gfxterm_cls): Likewise.
5322 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5323 Support embedding config file.
5324 (add_segments): Likewise.
5325 (options): New option "--config".
5326 (main): Handle "--config".
5327 * video/sm712.c: New file.
5328
5329 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5330
5331 Fix parallel builds.
5332
5333 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5334 font.c depend on ascii.h).
5335
5336 2010-01-12 Carles Pina i Estany <carles@pina.cat>
5337
5338 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5339
5340 2010-01-11 Carles Pina i Estany <carles@pina.cat>
5341
5342 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5343 By default: disabled.
5344 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5345 parameter.
5346
5347 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5348
5349 * font/font.c: Update copyright years.
5350 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5351
5352 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5353
5354 * font/font.c: Include `ascii.h'.
5355 (ASCII_BITMAP_SIZE): New macro.
5356 (ascii_font_glyph): Define.
5357 (ascii_glyph_lookup): New function.
5358 (grub_font_get_string_width): Change comment. If glyph not found, use
5359 ascii_glyph_lookup.
5360 (grub_font_get_glyph_with_fallback): If glyph not available returns
5361 ascii_glyph_lookup.
5362 * util/grub-mkfont.c (file_formats): New enum.
5363 (options): Add `ascii-bitmaps' new option.
5364 (usage): Add `asii-bitmaps' new option.
5365 (write_font_ascii_bitmap): New function.
5366 (write_font): Rename to ...
5367 (write_font_p2): ... this. Remove print_glyphs call.
5368 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5369 used. Call print_glyphs.
5370 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5371
5372 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5373
5374 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5375 (grub_bin2h_SOURCES): New variable.
5376 * util/bin2h.c: New file.
5377
5378 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * include/multiboot.h: Resynced with spec.
5381 * include/multiboot2.h: Likewise.
5382 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5383 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5384
5385 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5386
5387 * include/grub/term.h (grub_term_register_input,
5388 grub_term_register_output): Check return of terminal init()
5389 routines, and abort if errors are raised.
5390
5391 * commands/terminal.c: Update copyright year.
5392
5393 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5394
5395 * commands/terminal.c (grub_cmd_terminal_input)
5396 (grub_cmd_terminal_output): Check return of terminal init()
5397 routines, and abort if errors are raised.
5398
5399 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * include/grub/i386/bsd.h: Fix include pathes.
5402
5403 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 Add missing *BSD copyright headers.
5406
5407 * include/grub/aout.h: Add BSD licence.
5408 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5409 * include/grub/i386/freebsd_linker.h: ... here,
5410 * include/grub/i386/freebsd_reboot.h: ... here,
5411 * include/grub/i386/netbsd_bootinfo.h: ... here,
5412 * include/grub/i386/netbsd_reboot.h: ... here,
5413 * include/grub/i386/openbsd_bootarg.h: ... here,
5414 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5415 licence to each file.
5416
5417 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5418
5419 * acinclude.m4: Remove `nop' assembly instruction; it's not
5420 implemented by all architectures.
5421
5422 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5423
5424 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5425 ELILO. This is no longer necessary.
5426
5427 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5428
5429 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5430
5431 * util/grub-script-check.c: grub-script-check tool.
5432 * conf/common.rmk: Make rules for grub-script-check.
5433
5434 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5435
5436 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5437 spotting it back in 2008. Shame on me for forgetting he did.
5438
5439 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5440
5441 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5442
5443 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5444 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5445 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5446 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5447 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5448 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5449
5450 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5451
5452 * include/grub/test.h: Add license header.
5453 * tests/example_functional_test.c: Likewise.
5454 * tests/example_unit_test.c: Likewise.
5455 * tests/lib/functional_test.c: Likewise.
5456 * tests/lib/test.c: Likewise.
5457 * tests/lib/unit_test.c: Likewise.
5458
5459 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Use flag-based instead of hook-based video mode selection and "auto"
5462 keyword.
5463
5464 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5465 (grub_video_set_mode): Changed prototype. All users updated.
5466 (grub_video_check_mode_flag): New inline function.
5467 * video/video.c (parse_modespec): New function.
5468 (grub_video_set_mode): Parse flags and keywords.
5469
5470 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5471
5472 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5473 fprintf call.
5474
5475 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5476
5477 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5478
5479 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5480
5481 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5482 string.
5483 * util/grub-emu.c (usage): Likewise.
5484 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5485 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5486 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5487 * util/i386/pc/grub-setup.c (usage): Likewise.
5488
5489 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5490
5491 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5492 the message.
5493 (grub_util_info): Likewise.
5494 (grub_util_error): Likewise.
5495 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5496 and/or new lines in `grub_util_warna', `grub_util_info',
5497 `grub_util_error' calls.
5498 * util/getroot.c: Likewise.
5499 * util/grub-editenv.c: Likewise.
5500 * util/grub-emu.c: Likewise.
5501 * util/grub-fstest.c: Likewise.
5502 * util/grub-mkdevicemap.c: Likewise.
5503 * util/grub-mkfont.c: Likewise.
5504 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5505 * util/grub-mkrelpath.c: Likewise.
5506 * util/grub-pe2elf.c: Likewise.
5507 * util/grub-probe.c: Likewise.
5508 * util/hostdisk.c: Likewise.
5509 * util/i386/efi/grub-mkimage.c: Likewise.
5510 * util/i386/pc/grub-mkimage.c: Likewise.
5511 * util/i386/pc/grub-setup.c: Likewise.
5512 * util/ieee1275/ofpath.c: Likewise.
5513 * util/mkisofs/eltorito.c: Likewise.
5514 * util/mkisofs/rock.c: Likewise.
5515 * util/mkisofs/write.c: Likewise.
5516 * util/raid.c: Likewise.
5517 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5518 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5519
5520 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 Enable multiboot on non-pc.
5523
5524 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5525 multiboot.mod and multiboot2.mod to ...
5526 * conf/i386.rmk (pkglib_MODULES): ... here.
5527 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5528 Moved to ...
5529 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5530 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5531 Moved to ...
5532 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5533 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5534 Moved to ...
5535 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5536 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5537 Moved to ...
5538 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5539 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5540 relocator.mod.
5541 (ata_mod_SOURCES): Removed.
5542 (ata_mod_CFLAGS): Likewise.
5543 (ata_mod_LDFLAGS): Likewise.
5544 (relocator_mod_SOURCES): Removed.
5545 (relocator_mod_CFLAGS): Likewise.
5546 (relocator_mod_ASFLAGS): Likewise.
5547 (relocator_mod_LDFLAGS): Likewise.
5548 Include i386.mk.
5549 * include/grub/x86_64/multiboot.h: New file.
5550 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5551 Terminate EFI.
5552
5553 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Video multiboot support.
5556
5557 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5558 New prototype.
5559 * include/multiboot.h: Resynced with multiboot specification.
5560 * include/multiboot2.h: Likewise.
5561 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5562 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5563 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5564 (HAS_VGA_TEXT): Likewise.
5565 (accepts_video): New variable.
5566 (grub_multiboot_set_accepts_video): New function.
5567 (grub_multiboot_get_mbi_size): Account for video structures.
5568 (set_video_mode): New function.
5569 (retrieve_video_parameters): Likewise.
5570 (grub_multiboot_make_mbi): Fill video fields.
5571
5572 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Video driver ids.
5575
5576 * include/grub/video.h (grub_video_driver_id): New type.
5577 (grub_video_adapter): New member 'id'. All users updated.
5578 (grub_video_get_driver_id): New proto.
5579 * video/video.c (grub_video_get_driver_id): New function.
5580
5581 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5582
5583 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5584 `var=val'.
5585
5586 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5587
5588 * normal/cmdline.c (print_completion): Gettextizze.
5589
5590 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5591
5592 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5593
5594 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5595
5596 * gettext/gettext.c (grub_gettext_translate): Push and pop
5597 grub_errno.
5598 (grub_gettext_delete_list): Change comment style.
5599 * kern/err.c (grub_error): Gettextizze.
5600 (grub_fatal): Gettextizze.
5601
5602 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5603
5604 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5605 (grub_linux16_real_boot): ... this.
5606 * kern/i386/loader.S: Likewise.
5607 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5608 (grub_linux16_boot): New function. Switches to text mode and calls
5609 grub_linux16_real_boot().
5610
5611 * loader/i386/bsd.c: Include `<grub/video.h>'.
5612 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5613 text mode before calling grub_unix_real_boot().
5614
5615 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5616 (grub_multiboot_boot): Switch to text mode before calling
5617 grub_relocator32_boot().
5618
5619 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5620 (grub_chainloader_boot): Switch to text mode before calling
5621 grub_chainloader_real_boot().
5622
5623 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5624 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5625
5626 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5627 non-empty value.
5628
5629 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5630 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5631
5632 * util/grub.d/00_header.in: Define a "savedefault" function for use
5633 in menu entries.
5634 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5635
5636 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5637 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5638
5639 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5640 saved_entry if boot_once is unset.
5641 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5642 previous saved entry (i.e. grub-reboot).
5643
5644 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5645
5646 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5647
5648 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5649
5650 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5651 `var=val'.
5652 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5653
5654 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5655
5656 * util/grub-reboot.in: Fix --version output.
5657 * util/grub-set-default.in: Likewise.
5658
5659 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5660
5661 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5662 blocks.
5663
5664 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5665
5666 * util/grub.d/00_header.in: Quote the value assigned to `default',
5667 in case it contains spaces.
5668
5669 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5672 `save_default_entry' call from the macosx case to the linux case.
5673
5674 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5675 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5676
5677 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5678 in `chosen' environment variable.
5679 * normal/menu_text.c (get_entry_number): Check if the variable
5680 matches the title of a menu entry.
5681 (run_menu): Pass menu to get_entry_number.
5682
5683 * util/grub-reboot.in: New file.
5684 * util/grub-set-default.in: New file.
5685 * conf/common.rmk (grub-reboot): New utility.
5686 (grub-set-default): New utility.
5687
5688 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5689 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5690 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5691 move it to `saved_entry' for the next boot. Load environment on
5692 initialisation.
5693 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5694 * util/grub.d/10_hurd.in: Likewise.
5695 * util/grub.d/10_linux.in (linux_entry): Likewise.
5696 * util/grub.d/10_windows.in: Likewise.
5697 * util/grub.d/30_os-prober.in: Likewise.
5698
5699 * util/grub-install.in: Create environment block.
5700 * util/i386/efi/grub-install.in: Likewise.
5701 * util/ieee1275/grub-install.in: Likewise.
5702 * util/sparc64/ieee1275/grub-install.in: Likewise.
5703
5704 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5705
5706 Unit testing framework for GRUB.
5707
5708 * Makefile.in: Test framework build rules for 'make check'.
5709 * conf/tests.rmk: Build rules for individual tests and framework.
5710
5711 * include/grub/test.h: Header file for whitebox tests.
5712 * tests/lib/functional_test.c: Framework support for whitebox
5713 functional tests.
5714 * tests/lib/test.c: Common whitebox testing code for unit and
5715 functional tests.
5716 * tests/lib/unit_test.c: Framework support for whitebox unit
5717 tests.
5718
5719 * tests/util/grub-shell-tester.in: Support utility for grub-script
5720 tests.
5721 * tests/util/grub-shell.in: Utility to execute grub-script
5722 commands in a Qemu instance.
5723
5724 * tests/example_functional_test.c: Example whitebox functional
5725 test.
5726 * tests/example_grub_script_test.in: Example grub-script test.
5727 * tests/example_scripted_test.in: Example scripted test.
5728 * tests/example_unit_test.c: Example whitebox unit test.
5729
5730 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5733 Add loader/i386/multiboot_mbi.c.
5734 (multiboot2_mod_SOURCES): Likewise.
5735 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5736 (multiboot2_mod_SOURCES): Likewise.
5737 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5738 (grub_multiboot_make_mbi): Likewise.
5739 (grub_multiboot_free_mbi): Likewise.
5740 (grub_multiboot_init_mbi): Likewise.
5741 (grub_multiboot_add_module): Likewise.
5742 (grub_multiboot_set_bootdev): Likewise.
5743 * loader/i386/multiboot.c (mbi): Removed.
5744 (mbi_dest): Likewise.
5745 (alloc_mbi): New variable.
5746 (grub_multiboot_payload_size): Removed. All users updated.
5747 (grub_multiboot_pure_size): New variable.
5748 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5749 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5750 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5751 (grub_fill_multiboot_mmap): Likewise.
5752 (grub_multiboot_get_bootdev): Likewise.
5753 (grub_multiboot): Use multiboot_mbi functions.
5754 * loader/i386/multiboot_mbi.c: New file.
5755
5756 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5759 it would result in module crash.
5760
5761 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5764 (grub_ofconsole_getwh): Split to ...
5765 (grub_ofconsole_getwh): ... this.
5766 (grub_ofconsole_dimensions): ...and this.
5767 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5768
5769 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5770
5771 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5772
5773 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * loader/i386/pc/multiboot2.c: Removed stalled file.
5776
5777 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5780 Reported by: Grégoire Sutre
5781
5782 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5783
5784 * util/misc.c (canonicalize_file_name): New function.
5785 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5786 instead of realpath().
5787
5788 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5789
5790 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5791 and make it clearer that it's optional. Based on confusion
5792 witnessed on IRC.
5793
5794 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5797 in premature implicit newline.
5798
5799 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5802 which resulted in garbled command line at the end of screen.
5803
5804 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5805
5806 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5807 initialization with similar approach as with other Linux loaders.
5808
5809 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5810
5811 Fix i386-ieee1275 build.
5812
5813 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5814 and grub_term_height() for video_{width,height} initialization.
5815
5816 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5817
5818 Fix grub-emu build.
5819
5820 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5821
5822 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5823 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5824
5825 Support for multiple terminals.
5826
5827 * Makefile.in (pkglib_DATA): terminal.lst.
5828 (terminal.lst): New target.
5829 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5830 (GRUB_MOD_INIT(handler)): Likewise.
5831 (GRUB_MOD_FINI(handler)): Likewise.
5832 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5833 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5834 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5835 (grub_cmd_sleep): Use grub_term_save_pos.
5836 * commands/terminal.c: New file.
5837 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5838 commands/terminal.c and lib/charset.c.
5839 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5840 (pkglib_MODULES): Add terminal.mod.
5841 (terminal_mod_SOURCES): New variable.
5842 (terminal_mod_CFLAGS): Likewise.
5843 (terminal_mod_LDFLAGS): Likewise.
5844 * genhandlerlist.sh: Don't handle terminals.
5845 * genmk.rb: Generate terminal-*.lst.
5846 * genterminallist.sh: New file.
5847 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5848 (grub_is_valid_utf8): Likewise.
5849 (grub_utf8_to_ucs4_alloc): Likewise.
5850 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5851 (grub_menu_register_viewer): Changed argument.
5852 (grub_menu_try_text): New proto.
5853 (grub_gfxmenu_try_hook): New declaration.
5854 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5855 (grub_menu_init_page): Additional argument term.
5856 (grub_normal_init_page): Likewise.
5857 (grub_cmdline_get): Arguments simplified.
5858 (grub_utf8_to_ucs4_alloc): Removed.
5859 (grub_print_ucs4): Additional argument term.
5860 (grub_getstringwidth): Likewise.
5861 (grub_print_message_indented): Likewise.
5862 (grub_menu_text_register_instances): New proto.
5863 (grub_show_menu): Likewise.
5864 (read_terminal_list): Likewise.
5865 (grub_set_more): Likewise.
5866 * include/grub/parser.h: Include handler.h.
5867 * include/grub/reader.h: Rewritten.
5868 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5869 (GRUB_TERM_WIDTH): Changed to function.
5870 (GRUB_TERM_HEIGHT): Likewise.
5871 (GRUB_TERM_BORDER_WIDTH): Likewise.
5872 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5873 (GRUB_TERM_NUM_ENTRIES): Likewise.
5874 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5875 (GRUB_TERM_CURSOR_X): Likewise.
5876 (grub_term_input_class): Likewise.
5877 (grub_term_output_class): Likewise.
5878 (grub_term_outputs_disabled): New declaration.
5879 (grub_term_inputs_disabled): Likewise.
5880 (grub_term_outputs): Likewise.
5881 (grub_term_inputs): Likewise.
5882 (grub_term_register_input): Rewritten.
5883 (grub_term_register_output): Likewise.
5884 (grub_term_unregister_input): Likewise.
5885 (grub_term_unregister_output): Likewise.
5886 (FOR_ACTIVE_TERM_INPUTS): New macro.
5887 (FOR_DISABLED_TERM_INPUTS): Likewise.
5888 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5889 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5890 * include/grub/terminfo.h: Add oterm argument to all protypes.
5891 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5892 Use grub_rescue_run.
5893 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5894 All users updated.
5895 * kern/reader.c: Removed. All users updated.
5896 * kern/rescue_reader.c (grub_rescue_init): Removed.
5897 (grub_rescue_reader): Likewise.
5898 (grub_register_rescue_reader): Likewise.
5899 (grub_rescue_run): New function based on kern/reader.c.
5900 * kern/term.c: Adapted for multiterm.
5901 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5902 (grub_is_valid_utf8): Likewise.
5903 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5904 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5905 right terminal.
5906 * loader/i386/linux.c (grub_linux_boot): Likewise.
5907 * normal/auth.c (grub_username_get): New function.
5908 (grub_auth_check_authentication): Use grub_username_get.
5909 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5910 * normal/color.c: Adapt for multiterm.
5911 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5912 (grub_normal_init_page): Additional argument term.
5913 (read_lists): Call read_terminal_lists.
5914 (grub_enter_normal_mode): Call grub_cmdline_run.
5915 Handle grub_normal_exit_level.
5916 (grub_cmd_normal): Make reentrant.
5917 (grub_cmd_normal_exit): New function.
5918 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5919 * normal/menu.c: Adapt for multiterm.
5920 * normal/menu_entry.c: Likewise.
5921 * normal/menu_text.c: Likewise.
5922 * normal/menu_viewer.c: Removed. All users updated.
5923 * normal/term.c: New file.
5924 * util/console.c: Change order of includes to workaround a bug in
5925 ncurses headers.
5926 * term/terminfo.c: New argument oterm on all exported functions.
5927 All users updated.
5928 * util/grub-editenv.c (grub_term_input_class): Removed.
5929 (grub_term_output_class): Likewise.
5930
5931 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5932
5933 Make loader output a bit more user-friendly.
5934
5935 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5936 is being loaded. Likewise for the Hurd.
5937
5938 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5939 that kernel of FreeBSD ${version} is being loaded.
5940
5941 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5942 grub_dprintf().
5943 (grub_cmd_initrd): Likewise.
5944 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5945 that Linux ${version} is being loaded. Likewise for initrd.
5946
5947 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5948
5949 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5950
5951 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5952
5953 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5954 (GRUB_MOD_INIT): Gettextizze.
5955 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5956 (GRUB_MOD_INIT): Gettextizze.
5957 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5958 (grub_cmd_linux): Capitalise Linux.
5959 (GRUB_MOD_INIT): Gettextizze.
5960 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5961 (grub_cmd_linux): Capitalise Linux.
5962 (GRUB_MOD_INIT): Gettextizze.
5963 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5964 (grub_cmd_linux): Capitalise Linux.
5965 (GRUB_MOD_INIT): Gettextizze.
5966 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5967 (GRUB_MOD_INIT): Gettextizze.
5968 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5969 (grub_cmd_linux): Capitalise Linux.
5970 (GRUB_MOD_INIT): Gettextizze.
5971 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5972 (grub_cpu_xnu_init): Gettextizze.
5973 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5974 (GRUB_MOD_INIT): Gettextizze.
5975 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5976 (GRUB_MOD_INIT): Gettextizze.
5977 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5978 (grub_linux_load64): Capitalise Linux.
5979 (GRUB_MOD_INIT): Gettextizze.
5980 * loader/xnu.c: Include `<grub/i18n.h>'.
5981 (GRUB_MOD_INIT): Gettextizze.
5982 * po/POTFILES: Add `loader/efi/appleloader.c',
5983 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5984 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5985 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5986 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5987 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5988 and `loader/xnu.c'.
5989
5990 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5991
5992 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5993
5994 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5995
5996 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5997 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5998 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5999
6000 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6001
6002 Reset Multiboot 2 support. New loader implements the draft in
6003 /branches/multiboot2 and shares as much code as possible with the
6004 production Multiboot 1 implementation.
6005
6006 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6007 * loader/multiboot2.c: Likewise.
6008 * loader/i386/multiboot_helper.S: Likewise.
6009 * include/multiboot2.h: Replace with latest version from the draft
6010 in /branches/multiboot2.
6011
6012 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6013 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6014 and `loader/multiboot2.c'.
6015 (pkglib_MODULES): Add `multiboot2.mod'.
6016 (multiboot2_mod_SOURCES): New variable.
6017 (multiboot2_mod_LDFLAGS): Likewise.
6018 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6019
6020 * conf/i386-pc.rmk: Likewise.
6021
6022 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6023 (multiboot_mod_SOURCES): Remove variable.
6024 (multiboot_mod_LDFLAGS): Likewise.
6025 (multiboot_mod_CFLAGS): Likewise.
6026
6027 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6028 `<multiboot2.h>' instead of `<multiboot.h>'.
6029 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6030 (MULTIBOOT_HEADER_MAGIC): New macros.
6031
6032 * loader/multiboot_loader.c (module_version_status): Remove variable.
6033 (find_multi_boot2_header): Remove function.
6034 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6035 logic. Always check for the Multiboot version we're compiling for.
6036 (grub_cmd_module_loader): Likewise.
6037 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6038 command instead of `multiboot'.
6039
6040 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6041
6042 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6043 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6044 all users.
6045
6046 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6047 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 Fix breakage introduced with previous commit.
6050
6051 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6052 commands.
6053 * normal/handler.c (read_handler_list): Revert part of previous commit
6054 affecting this file.
6055 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6056 (grub_normal_execute): ... here.
6057
6058 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6059
6060 Merge prefix-redefinition-fix branch.
6061
6062 * normal/autofs.c (read_fs_list): Make function capable of being
6063 run multiple times, gracefuly replacing the previous data
6064 structures.
6065 * normal/dyncmd.c (read_command_list): Likewise.
6066 * normal/handler.c (read_handler_list): Likewise.
6067 * normal/main.c (read_lists): New function. Calls all the
6068 list reading functions.
6069 (grub_normal_execute): Use read_lists() instead of calling all
6070 list reading functions explicitly. Register read_lists() as a
6071 variable hook attached to ${prefix}.
6072
6073 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Merge crypto branch.
6076
6077 * Makefile.in (pkglib_DATA): Add crypto.lst.
6078 (crypto.lst): New target.
6079 * commands/hashsum.c: New file.
6080 * commands/password.c (check_password): Use grub_crypto_memcmp.
6081 * commands/password_pbkdf2.c: New file.
6082 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6083 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6084 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6085 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6086 -I$(srcdir)/lib/libgcrypt_wrap.
6087 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6088 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6089 password_pbkdf2.mod.
6090 (crypto_mod_SOURCES): New variable.
6091 (crypto_mod_CFLAGS): Likewise.
6092 (crypto_mod_LDFLAGS): Likewise.
6093 (hashsum_mod_SOURCES): New variable.
6094 (hashsum_mod_CFLAGS): Likewise.
6095 (hashsum_mod_LDFLAGS): Likewise.
6096 (pbkdf2_mod_SOURCES): New variable.
6097 (pbkdf2_mod_CFLAGS): Likewise.
6098 (pbkdf2_mod_LDFLAGS): Likewise.
6099 (password_pbkdf2_mod_SOURCES): New variable.
6100 (password_pbkdf2_mod_CFLAGS): Likewise.
6101 (password_pbkdf2_mod_LDFLAGS): Likewise.
6102 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6103 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6104 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6105 Include conf/gcry.rmk.
6106 * include/grub/auth.h: Rewritten.
6107 * include/grub/crypto.h: New file.
6108 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6109 * include/grub/normal.h (read_crypto_list): New prototype.
6110 * lib/crypto.c: New file.
6111 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6112 * lib/pbkdf2.c: Likewise.
6113 * normal/auth.c (grub_auth_strcmp): Removed.
6114 (grub_iswordseparator): Likewise.
6115 (grub_auth_strword): Likewise.
6116 (is_authenticated): Use grub_strword.
6117 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6118 and grub_strword. Pass entered password to authentication callback.
6119 * normal/crypto.c: New file.
6120 * normal/main.c: Call read_crypto_list.
6121 * util/grub-mkpasswd-pbkdf2.c: New file.
6122 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6123
6124 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Fix descent and ascent calculation.
6127
6128 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6129 (options): New option "asce".
6130 (usage): Likewise.
6131 (add_char): Ignore invalid glyphs for descent calculation.
6132 Calculate ascent from actual content.
6133 (print_glyphs): Use 'asce'.
6134 (write_font): Likewise. Allow ascent override.
6135 (main): Handle "asce" option.
6136
6137 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6138
6139 * kern/err.c: Include `<grub/i18n.h>'.
6140 (grub_print_error): Add full stop. Gettextizze.
6141 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6142 (grub_bsd_load_elf): Capitalise ELF.
6143 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6144 (grub_cmd_freebsd_module): Likewise.
6145 (grub_cmd_freebsd_module_elf): Likewise.
6146 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6147
6148 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6149
6150 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6151 * commands/search_file.c (HELP_MESSAGE): New macro.
6152 * commands/search_label.c (HELP_MESSAGE): Likewise.
6153 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6154 * po/POTFILES: Add `commands/search_file.c',
6155 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6156 `commands/search.c'.
6157
6158 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6159
6160 * config.rpath: Update from Gnulib.
6161
6162 2010-01-05 Yves Blusseau <blusseau@zetam.org>
6163
6164 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6165
6166 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6167
6168 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6169
6170 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6171
6172 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6173 arguments to fread so that we get a return value in bytes, rather
6174 than something that will normally be rounded down to 0.
6175 Adjust error handling to avoid producing garbage when size_t is not
6176 the same size as long long.
6177
6178 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6179
6180 * util/mkisofs/write.c (padblock_write): Check return value of
6181 fread.
6182
6183 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6184
6185 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6186 floppy images now.
6187
6188 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6189
6190 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6191
6192 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6193 instead of manual alignment.
6194 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6195 verbose). Avoid attempts to read past end of the device
6196 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6197 but GRUB_DISK_CACHE_SIZE may exceed that).
6198
6199 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6200
6201 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6202 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6203 it to upper layer.
6204
6205 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6208 New constant.
6209 (grub_efi_piwg_device_path): New structure
6210 (grub_efi_piwg_device_path_t): New type.
6211 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6212 (devpath_1): Transform to a structure. All users updated.
6213 (devpath_2): Likewise.
6214 (devpath_3): Likewise.
6215 (devpath_4): Likewise.
6216 (devpath_5): Likewise.
6217
6218 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * loader/efi/appleloader.c: Restored. Update all users.
6221
6222 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6223
6224 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6225
6226 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6227 (struct boot_blocklist): Move from here ...
6228 * include/grub/i386/pc/boot.h [ASM_FILE]
6229 (struct grub_boot_blocklist): ... to here. Update all users.
6230 (setup): Only initialize `start' member of `first_block'
6231 structure. Add assert() calls to verify the other members.
6232
6233 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6234 (generate_image): Fix broken blocklist length initialization.
6235 Add assert() call to verify blocklist `segment' field.
6236
6237 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6238
6239 * loader/efi/appleloader.c: Remove. Update all users.
6240
6241 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6242
6243 * boot/i386/pc/boot.S: Update copyright year.
6244 * boot/i386/pc/cdboot.S: Likewise.
6245 * boot/i386/pc/diskboot.S: Likewise.
6246 * boot/i386/pc/lnxboot.S: Likewise.
6247 * boot/i386/pc/pxeboot.S: Likewise.
6248 * bus/pci.c: Likewise.
6249 * commands/cmp.c: Likewise.
6250 * commands/help.c: Likewise.
6251 * commands/hexdump.c: Likewise.
6252 * commands/i386/pc/halt.c: Likewise.
6253 * commands/i386/pc/play.c: Likewise.
6254 * commands/i386/pc/vbeinfo.c: Likewise.
6255 * commands/ls.c: Likewise.
6256 * commands/test.c: Likewise.
6257 * disk/dmraid_nvidia.c: Likewise.
6258 * disk/i386/pc/biosdisk.c: Likewise.
6259 * disk/ieee1275/nand.c: Likewise.
6260 * disk/ieee1275/ofdisk.c: Likewise.
6261 * disk/lvm.c: Likewise.
6262 * disk/raid.c: Likewise.
6263 * disk/raid6_recover.c: Likewise.
6264 * disk/scsi.c: Likewise.
6265 * fs/affs.c: Likewise.
6266 * fs/cpio.c: Likewise.
6267 * fs/ext2.c: Likewise.
6268 * fs/hfs.c: Likewise.
6269 * fs/iso9660.c: Likewise.
6270 * fs/ntfs.c: Likewise.
6271 * fs/sfs.c: Likewise.
6272 * fs/udf.c: Likewise.
6273 * fs/ufs.c: Likewise.
6274 * fs/xfs.c: Likewise.
6275 * gencmdlist.sh: Likewise.
6276 * genmk.rb: Likewise.
6277 * include/grub/disk.h: Likewise.
6278 * include/grub/efi/api.h: Likewise.
6279 * include/grub/efi/efi.h: Likewise.
6280 * include/grub/efi/pe32.h: Likewise.
6281 * include/grub/elf.h: Likewise.
6282 * include/grub/fs.h: Likewise.
6283 * include/grub/i386/at_keyboard.h: Likewise.
6284 * include/grub/i386/pc/memory.h: Likewise.
6285 * include/grub/i386/pc/vbe.h: Likewise.
6286 * include/grub/i386/pci.h: Likewise.
6287 * include/grub/i386/tsc.h: Likewise.
6288 * include/grub/ieee1275/ieee1275.h: Likewise.
6289 * include/grub/ntfs.h: Likewise.
6290 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6291 * include/grub/sparc64/libgcc.h: Likewise.
6292 * include/grub/symbol.h: Likewise.
6293 * include/grub/types.h: Likewise.
6294 * include/multiboot2.h: Likewise.
6295 * io/gzio.c: Likewise.
6296 * kern/device.c: Likewise.
6297 * kern/disk.c: Likewise.
6298 * kern/efi/efi.c: Likewise.
6299 * kern/efi/mm.c: Likewise.
6300 * kern/elf.c: Likewise.
6301 * kern/file.c: Likewise.
6302 * kern/i386/dl.c: Likewise.
6303 * kern/i386/pc/init.c: Likewise.
6304 * kern/i386/pc/startup.S: Likewise.
6305 * kern/ieee1275/ieee1275.c: Likewise.
6306 * kern/ieee1275/init.c: Likewise.
6307 * kern/main.c: Likewise.
6308 * kern/mm.c: Likewise.
6309 * kern/powerpc/dl.c: Likewise.
6310 * kern/sparc64/dl.c: Likewise.
6311 * kern/x86_64/dl.c: Likewise.
6312 * lib/hexdump.c: Likewise.
6313 * loader/efi/appleloader.c: Likewise.
6314 * loader/i386/ieee1275/linux.c: Likewise.
6315 * loader/i386/pc/chainloader.c: Likewise.
6316 * loader/i386/pc/linux.c: Likewise.
6317 * loader/i386/pc/multiboot2.c: Likewise.
6318 * loader/ieee1275/multiboot2.c: Likewise.
6319 * loader/multiboot2.c: Likewise.
6320 * loader/multiboot_loader.c: Likewise.
6321 * loader/powerpc/ieee1275/linux.c: Likewise.
6322 * normal/completion.c: Likewise.
6323 * normal/menu_entry.c: Likewise.
6324 * partmap/apple.c: Likewise.
6325 * util/grub.d/10_hurd.in: Likewise.
6326 * util/hostfs.c: Likewise.
6327 * video/readers/png.c: Likewise.
6328
6329 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6330
6331 * include/grub/misc.h (GNUC_PREREQ): New macro.
6332 (ATTRIBUTE_ERROR): New macro.
6333 * include/grub/list.h (grub_bad_type_cast_real): Use
6334 ATTRIBUTE_ERROR.
6335
6336 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6337
6338 * normal/menu_text.c (print_message): Change messages.
6339
6340 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6341
6342 * normal/menu_entry.c (store_completion): Gettextizze.
6343
6344 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6345
6346 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6347
6348 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6349
6350 * po/POTFILES: Sort correctly.
6351
6352 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6353
6354 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6355 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6356 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6357 full stop.
6358 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6359 summary. Gettextizze the strings.
6360 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6361 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6362 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6363 full stop.
6364 (GRUB_MOD_INIT): Remove command name from summary.
6365 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6366 summary.
6367 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6368 * term/i386/pc/serial.c (options): Add full stops.
6369 (GRUB_MOD_INIT): Remove command name from the summary.
6370
6371 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6372
6373 * commands/acpi.c: Gettextizze help strings and/or options. Include
6374 `grub/i18n.h' if needed.
6375 * commands/blocklist.c: Likewise.
6376 * commands/boot.c: Likewise.
6377 * commands/cat.c: Likewise.
6378 * commands/cmp.c: Likewise.
6379 * commands/configfile.c: Likewise.
6380 * commands/crc.c: Likewise.
6381 * commands/date.c: Likewise.
6382 * commands/echo.c: Likewise.
6383 * commands/efi/fixvideo.c: Likewise.
6384 * commands/efi/loadbios.c: Likewise.
6385 * commands/gptsync.c: Likewise.
6386 * commands/halt.c: Likewise.
6387 * commands/handler.c: Likewise.
6388 * commands/hdparm.c: Likewise.
6389 * commands/hexdump.c: Likewise.
6390 * commands/i386/cpuid.c: Likewise.
6391 * commands/i386/pc/drivemap.c: Likewise.
6392 * commands/i386/pc/halt.c: Likewise.
6393 * commands/i386/pc/pxecmd.c: Likewise.
6394 * commands/i386/pc/vbeinfo.c: Likewise.
6395 * commands/i386/pc/vbetest.c: Likewise.
6396 * commands/ieee1275/suspend.c: Likewise.
6397 * commands/keystatus.c: Likewise.
6398 * commands/loadenv.c: Likewise.
6399 * commands/ls.c: Likewise.
6400 * commands/lsmmap.c: Likewise.
6401 * commands/lspci.c: Likewise.
6402 * commands/memrw.c: Likewise.
6403 * commands/minicmd.c: Likewise.
6404 * commands/parttool.c: Likewise.
6405 * commands/password.c: Likewise.
6406 * commands/probe.c: Likewise.
6407 * commands/read.c: Likewise.
6408 * commands/reboot.c: Likewise.
6409 * commands/search.c: Likewise.
6410 * commands/sleep.c: Likewise.
6411 * commands/test.c: Likewise.
6412 * commands/true.c: Likewise.
6413 * commands/usbtest.c: Likewise.
6414 * commands/videotest.c: Likewise.
6415 * commands/xnu_uuid.c: Likewise.
6416 * disk/loopback.c: Likewise.
6417 * hello/hello.c: Likewise.
6418 * loader/i386/bsd.c: Likewise.
6419 * term/i386/pc/serial.c: Likewise.
6420 * po/POTFILES: Add new files.
6421
6422 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6423
6424 * term/i386/pc/at_keyboard.c
6425 (keyboard_controller_wait_untill_ready): Rename to ...
6426 (keyboard_controller_wait_until_ready): ... this. Update all users.
6427
6428 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6429
6430 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6431 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6432 string using string width.
6433 * normal/menu_text.c (grub_print_message_indented): Use
6434 grub_print_spaces and not print_spaces.
6435 (print_timeout): Likewise.
6436 (print_spaces): Move to...
6437 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6438
6439 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6440
6441 Import from Gnulib.
6442
6443 * gnulib/getdelim.c: New file.
6444 * gnulib/getline.c: Likewise.
6445
6446 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6447
6448 * include/grub/list.h (grub_assert_fail): Removed.
6449 (grub_bad_type_cast_real): New function.
6450 (grub_bad_type_cast): New macro.
6451 (GRUB_AS_LIST): Use grub_bad_type_cast.
6452 (GRUB_AS_LIST_P): Likewise.
6453 (GRUB_AS_NAMED_LIST): Likewise.
6454 (GRUB_AS_NAMED_LIST_P): Likewise.
6455 (GRUB_AS_PRIO_LIST): Likewise.
6456 (GRUB_AS_PRIO_LIST_P): Likewise.
6457 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6458
6459 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6462 Fix syntax error.
6463
6464 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6465
6466 * configure.ac: Check for TARGET_CFLAGS initialization before we
6467 initialize it ourselves (sigh).
6468 Move a few modifications to TARGET_CFLAGS to be unconditional
6469 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6470 eh_frame)
6471
6472 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6473 * term/i386/pc/at_keyboard.c
6474 (keyboard_controller_wait_untill_ready): Likewise.
6475 (keyboard_controller_led): Rename `led_status' paramter to avoid
6476 name conflict.
6477
6478 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6479
6480 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6481 quotes.
6482
6483 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6486
6487 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * normal/menu_text.c (grub_print_message_indented): Prevent
6490 past-the-end-of-array dereference.
6491
6492 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6495 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6496
6497 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6498
6499 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6500 * normal/main.c (grub_normal_read_line): Remove a space from the
6501 default prompt.
6502
6503 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6504
6505 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6506 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6507 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6508 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6509 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6510 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6511 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6512
6513 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6514
6515 * video/readers/jpeg.c (cmd): Declare.
6516 (grub_cmd_jpegtest): Use `grub_command_t' type.
6517 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6518 Assign to `cmd'.
6519 (GRUB_MOD_FINI): Use `cmd' to unregister.
6520 * video/readers/png.c (cmd): Declare.
6521 (grub_cmd_pngtest): Use `grub_command_t' type.
6522 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6523 Assign to `cmd'.
6524 (GRUB_MOD_FINI): Use `cmd' to unregister.
6525 * video/readers/tga.c (cmd): Declare.
6526 (grub_cmd_tgatest): Use `grub_command_t' type.
6527 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6528 Assign to `cmd'.
6529 (GRUB_MOD_FINI): Use `cmd' to unregister.
6530
6531 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6532
6533 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6534 stops.
6535 * kern/corecmd.c (grub_register_core_commands): Likewise.
6536 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6537 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6538 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6539 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6540 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6541 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6542 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6543 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6544 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6545 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6546 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6547 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6548 * normal/handler.c (insert_handler): Likewise.
6549 * normal/main.c (GRUB_MOD_INIT): Likewise.
6550 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6551
6552 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6553
6554 * commands/help.c (grub_cmd_help): Print the command name before the
6555 summary.
6556 (GRUB_MOD_INIT): Remove command name from the summary.
6557 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6558 string as summary.
6559 * lib/arg.c (find_long): Print the command name before the summary.
6560 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6561 summary.
6562 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6563 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6564 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6565 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6566 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6567 * commands/date.c (GRUB_MOD_INIT): Likewise.
6568 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6569 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6570 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6571 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6572 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6573 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6574 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6575 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6576 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6577 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6578 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6579 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6580 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6581 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6582 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6583 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6584 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6585 * commands/password.c (GRUB_MOD_INIT): Likewise.
6586 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6587 * commands/read.c (GRUB_MOD_INIT): Likewise.
6588 * commands/search.c (GRUB_MOD_INIT): Likewise.
6589 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6590 * commands/test.c (GRUB_MOD_INIT): Likewise.
6591 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6592 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6593 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6594 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6595 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6596 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6597 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6598 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6599 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6600 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6601 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6602 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6603 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6604 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6605
6606 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 Use search command for preliminar UUID search.
6609
6610 * commands/search.c: Split into ...
6611 * commands/search_wrap.c: ...this
6612 * commands/search.c: ...and this.
6613 * commands/search_file.c: New file.
6614 * commands/search_label.c: New file.
6615 * commands/search_uuid.c: New file.
6616 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6617 Add commands/search_wrap.c, commands/search_file.c,
6618 commands/search_label.c and commands/search_uuid.c.
6619 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6620 (search_mod_SOURCES): Set to commands/search_wrap.c.
6621 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6622 search_label.mod.
6623 (search_fs_file_mod_SOURCES): New variable.
6624 (search_fs_file_mod_CFLAGS): Likewise.
6625 (search_fs_file_mod_LDFLAGS): Likewise.
6626 (search_label_mod_SOURCES): Likewise.
6627 (search_label_mod_CFLAGS): Likewise.
6628 (search_label_mod_LDFLAGS): Likewise.
6629 (search_fs_uuid_mod_SOURCES): New variable.
6630 (search_fs_uuid_mod_CFLAGS): Likewise.
6631 (search_fs_uuid_mod_LDFLAGS): Likewise.
6632 (fs_file_mod_SOURCES): Removed.
6633 (fs_file_mod_CFLAGS): Likewise.
6634 (fs_file_mod_LDFLAGS): Likewise.
6635 (fs_uuid_mod_SOURCES): Removed.
6636 (fs_uuid_mod_CFLAGS): Likewise.
6637 (fs_uuid_mod_LDFLAGS): Likewise.
6638 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6639 Set to util/grub-install.in.
6640 * disk/fs_file.c: Removed.
6641 * disk/fs_uuid.c: Likewise.
6642 * include/grub/search.h: New file.
6643 * util/grub-install.in: Handle sparc64.
6644 Create and use load.cfg.
6645 * util/sparc64/ieee1275/grub-install.in: Removed.
6646
6647 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6650 Ignore return status if CF is cleared.
6651 (grub_biosdisk_get_diskinfo_standard): Likewise.
6652
6653 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6654
6655 * term/i386/pc/at_keyboard.c
6656 (keyboard_controller_wait_untill_ready): New function.
6657 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6658 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6659 for keyboard polling, rather than duplicate the same loop. This
6660 saves a few bytes in code size.
6661
6662 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 Support for (pxe[:server[:gateway]]) syntax and
6665 use environment variable for PXE.
6666
6667 * commands/i386/pc/pxecmd.c (options): Removed.
6668 (print_ip): Removed.
6669 (grub_cmd_pxe): Removed
6670 (grub_cmd_pxe_unload): New function.
6671 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6672 (grub_pxe_your_ip): Made static.
6673 (grub_pxe_default_server_ip): Likewise.
6674 (grub_pxe_default_gateway_ip): Likewise.
6675 (grub_pxe_blksize): Likewise.
6676 (parse_ip): New function.
6677 (grub_pxe_open): Support server and gateway specification.
6678 (grub_pxe_close): Free disk->data.
6679 (grub_pxefs_open): Use disk->data.
6680 (grub_pxefs_read): Likewise.
6681 (grub_env_write_readonly): New function.
6682 (set_mac_env): Likewise.
6683 (set_env_limn_ro): Likewise.
6684 (parse_dhcp_vendor): Likewise.
6685 (grub_pxe_detect): Set the environment variables.
6686 (set_ip_env): New function.
6687 (write_ip_env): Likewise.
6688 (grub_env_write_pxe_default_server): Likewise.
6689 (grub_env_write_pxe_default_gateway): Likewise.
6690 (grub_env_write_pxe_blocksize): Likewise.
6691 (GRUB_MOD_INIT(pxe)): Set environment variables.
6692 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6693 (grub_pxe_mac_addr_t): ... this. All users updated.
6694 (grub_pxe_your_ip): Removed.
6695 (grub_pxe_server_ip): Likewise.
6696 (grub_pxe_gateway_ip): Likewise.
6697 (grub_pxe_blksize): Likewise.
6698
6699 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6700
6701 * commands/help.c: Include `<grub/i18n.h>'.
6702 (grub_cmd_help): Gettextizze.
6703 (GRUB_MOD_INIT): Likewise.
6704 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6705 (GRUB_MOD_INIT): Gettextizze.
6706 * commands/search.c: Include `<grub/i18n.h>'.
6707 (options): Gettextizze.
6708 (GRUB_MOD_INIT): Gettextizze.
6709 * lib/arg.c: Include `<grub/i18n.h>'.
6710 (help_options): Gettextizze.
6711 (find_long): Likewise.
6712 (grub_arg_show_help): Likewise.
6713 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6714 (read_command_list): Gettextizze.
6715 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6716 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6717
6718 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6719
6720 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6721 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6722 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6723 (led_status): New variable.
6724 (keyboard_controller_led): New function.
6725 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6726 update led status for caps lock, num lock and scroll lock.
6727
6728 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6729
6730 * util/hostdisk.c (open_device): Fix a comment.
6731
6732 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6733
6734 * util/grub-install.in (host_os): New variable.
6735 * util/i386/efi/grub-install.in (host_os): Likewise.
6736
6737 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6738
6739 * util/mkisofs/write.c (padblock_write): Abort when given an
6740 excedingly large embed image, instead of silently truncating it.
6741
6742 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6743
6744 * include/multiboot.h: Indentation fixes.
6745
6746 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6747
6748 * include/multiboot.h (struct multiboot_aout_symbol_table)
6749 (struct multiboot_elf_section_header_table): New structure
6750 declarations (stolen from GRUB Legacy).
6751 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6752 table information.
6753
6754 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6755 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6756 type aliases.
6757
6758 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6759
6760 * include/multiboot.h: Make comments src2texi-friendly.
6761
6762 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6763
6764 For consistency with [multiboot]/docs/boot.S.
6765
6766 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6767 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6768 (MULTIBOOT_MAGIC2): Rename from this ...
6769 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6770
6771 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6772
6773 * include/multiboot.h: Remove `<grub/types.h>'.
6774 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6775 types. Update all users.
6776
6777 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6778
6779 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6780 `couldn't' and `can not' by `cannot'.
6781 * commands/i386/pc/drivemap.c: Likewise.
6782 * disk/ata.c: Likewise.
6783 * disk/ieee1275/nand.c: Likewise.
6784 * fs/affs.c: Likewise.
6785 * fs/fat.c: Likewise.
6786 * fs/hfs.c: Likewise.
6787 * fs/hfsplus.c: Likewise.
6788 * fs/iso9660.c: Likewise.
6789 * fs/jfs.c: Likewise.
6790 * fs/minix.c: Likewise.
6791 * fs/reiserfs.c: Likewise.
6792 * fs/sfs.c: Likewise.
6793 * fs/udf.c: Likewise.
6794 * fs/ufs.c: Likewise.
6795 * fs/xfs.c: Likewise.
6796 * loader/powerpc/ieee1275/linux.c: Likewise.
6797 * loader/sparc64/ieee1275/linux.c: Likewise.
6798 * util/grub-probe.c: Likewise.
6799 * util/misc.c: Likewise.
6800
6801 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6802
6803 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6804 grub_errno calls.
6805 * commands/acpi.c: Likewise.
6806 * commands/blocklist.c: Likewise.
6807 * commands/efi/loadbios.c: Likewise.
6808 * commands/i386/pc/drivemap.c: Likewise.
6809 * commands/loadenv.c: Likewise.
6810 * commands/memrw.c: Likewise.
6811 * commands/password.c: Likewise.
6812 * commands/videotest.c: Likewise.
6813 * disk/ata.c: Likewise.
6814 * disk/ata_pthru.c: Likewise.
6815 * disk/dmraid_nvidia.c: Likewise.
6816 * disk/ieee1275/nand.c: Likewise.
6817 * disk/ieee1275/ofdisk.c: Likewise.
6818 * disk/loopback.c: Likewise.
6819 * disk/lvm.c: Likewise.
6820 * disk/mdraid_linux.c: Likewise.
6821 * disk/raid.c: Likewise.
6822 * disk/raid6_recover.c: Likewise.
6823 * disk/scsi.c: Likewise.
6824 * efiemu/main.c: Likewise.
6825 * efiemu/mm.c: Likewise.
6826 * efiemu/pnvram.c: Likewise.
6827 * efiemu/symbols.c: Likewise.
6828 * font/font.c: Likewise.
6829 * fs/cpio.c: Likewise.
6830 * fs/hfsplus.c: Likewise.
6831 * fs/iso9660.c: Likewise.
6832 * fs/jfs.c: Likewise.
6833 * fs/minix.c: Likewise.
6834 * fs/ntfs.c: Likewise.
6835 * fs/ntfscomp.c: Likewise.
6836 * fs/reiserfs.c: Likewise.
6837 * fs/ufs.c: Likewise.
6838 * fs/xfs.c: Likewise.
6839 * gettext/gettext.c: Likewise.
6840 * include/grub/auth.h: Likewise.
6841 * kern/elf.c: Likewise.
6842 * kern/file.c: Likewise.
6843 * kern/ieee1275/init.c: Likewise.
6844 * kern/ieee1275/mmap.c: Likewise.
6845 * kern/ieee1275/openfw.c: Likewise.
6846 * kern/powerpc/dl.c: Likewise.
6847 * kern/sparc64/dl.c: Likewise.
6848 * lib/arg.c: Likewise.
6849 * loader/i386/bsd.c: Likewise.
6850 * loader/i386/bsdXX.c: Likewise.
6851 * loader/i386/efi/linux.c: Likewise.
6852 * loader/i386/efi/xnu.c: Likewise.
6853 * loader/i386/ieee1275/linux.c: Likewise.
6854 * loader/i386/linux.c: Likewise.
6855 * loader/i386/multiboot.c: Likewise.
6856 * loader/i386/pc/linux.c: Likewise.
6857 * loader/i386/pc/multiboot2.c: Likewise.
6858 * loader/i386/xnu.c: Likewise.
6859 * loader/ieee1275/multiboot2.c: Likewise.
6860 * loader/macho.c: Likewise.
6861 * loader/machoXX.c: Likewise.
6862 * loader/multiboot2.c: Likewise.
6863 * loader/multiboot_loader.c: Likewise.
6864 * loader/powerpc/ieee1275/linux.c: Likewise.
6865 * loader/sparc64/ieee1275/linux.c: Likewise.
6866 * loader/xnu.c: Likewise.
6867 * loader/xnu_resume.c: Likewise.
6868 * mmap/i386/pc/mmap.c: Likewise.
6869 * normal/menu_viewer.c: Likewise.
6870 * partmap/acorn.c: Likewise.
6871 * partmap/amiga.c: Likewise.
6872 * partmap/apple.c: Likewise.
6873 * script/lexer.c: Likewise.
6874 * term/gfxterm.c: Likewise.
6875 * term/i386/pc/serial.c: Likewise.
6876 * term/i386/pc/vga.c: Likewise.
6877 * term/ieee1275/ofconsole.c: Likewise.
6878 * term/terminfo.c: Likewise.
6879 * video/bitmap.c: Likewise.
6880 * video/efi_gop.c: Likewise.
6881 * video/efi_uga.c: Likewise.
6882 * video/fb/video_fb.c: Likewise.
6883 * video/i386/pc/vbe.c: Likewise.
6884 * video/readers/tga.c: Likewise.
6885 * video/video.c: Likewise.
6886
6887 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6888
6889 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6890 * commands/lspci.c: Likewise.
6891 * commands/probe.c: Likewise.
6892 * commands/xnu_uuid.c: Likewise.
6893 * conf/i386-coreboot.rmk: Likewise.
6894 * conf/i386-efi.rmk: Likewise.
6895 * conf/i386-ieee1275.rmk: Likewise.
6896 * conf/i386-pc.rmk: Likewise.
6897 * conf/powerpc-ieee1275.rmk: Likewise.
6898 * conf/sparc64-ieee1275.rmk: Likewise.
6899 * conf/x86_64-efi.rmk: Likewise.
6900 * fs/i386/pc/pxe.c: Likewise.
6901 * gettext/gettext.c: Likewise.
6902 * include/grub/efi/graphics_output.h: Likewise.
6903 * include/grub/i386/pc/memory.h: Likewise.
6904 * kern/env.c: Likewise.
6905 * kern/i386/qemu/startup.S: Likewise.
6906 * lib/i386/pc/biosnum.c: Likewise.
6907 * lib/i386/relocator.c: Likewise.
6908 * lib/i386/relocator_asm.S: Likewise.
6909 * lib/relocator.c: Likewise.
6910 * loader/i386/bsd.c: Likewise.
6911 * loader/i386/multiboot.c: Likewise.
6912 * loader/i386/pc/chainloader.c: Likewise.
6913 * loader/i386/xnu.c: Likewise.
6914 * loader/xnu.c: Likewise.
6915 * normal/main.c: Likewise.
6916 * normal/menu_text.c: Likewise.
6917 * util/getroot.c: Likewise.
6918 * util/grub-mkconfig_lib.in: Likewise.
6919 * util/grub.d/00_header.in: Likewise.
6920 * util/i386/pc/grub-mkimage.c: Likewise.
6921 * util/mkisofs/eltorito.c: Likewise.
6922 * util/mkisofs/exclude.h: Likewise.
6923 * util/mkisofs/hash.c: Likewise.
6924 * util/mkisofs/iso9660.h: Likewise.
6925 * util/mkisofs/joliet.c: Likewise.
6926 * util/mkisofs/mkisofs.c: Likewise.
6927 * util/mkisofs/mkisofs.h: Likewise.
6928 * util/mkisofs/multi.c: Likewise.
6929 * util/mkisofs/name.c: Likewise.
6930 * util/mkisofs/rock.c: Likewise.
6931 * util/mkisofs/tree.c: Likewise.
6932 * util/mkisofs/write.c: Likewise.
6933 * video/efi_gop.c: Likewise.
6934
6935 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6938 size counting.
6939
6940 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6941
6942 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6943 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6944
6945 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6948 (GRUB_MOD_INIT(memrw)): Update help line.
6949
6950 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6953 Use grub_extcmd_t. All users updated.
6954 (options): New variable.
6955 (grub_cmd_read): Restructure for readability. Support "-v" option.
6956 (grub_cmd_write): Restructure for readability.
6957
6958 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6959
6960 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6961
6962 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6963
6964 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6965 with the actual contents of the correspondending make variable.
6966 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6967 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6968 specifying `*.lst' and `efiemu??.o'
6969
6970 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6971
6972 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6973 after function name.
6974 Noticed by Rene Engelhard <rene@debian.org>.
6975
6976 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6979 (options): New variable.
6980 (iospace): Likewise.
6981 (grub_lspci_iter): List IO spaces if "-i" was given.
6982 (grub_cmd_lspci): Parse options.
6983 (GRUB_MOD_INIT(lspci)): Use extcmd.
6984 (GRUB_MOD_FINI(lspci)): Likewise.
6985
6986 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6987
6988 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6989 `function' keyword.
6990 Patch by Tony Mancill <tmancill@debian.org>.
6991
6992 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6995 (grub_uhci_portstatus): Likewise.
6996 (grub_uhci_portstatus): Add necessary delay.
6997 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6998
6999 2009-12-21 Carles Pina i Estany <carles@pina.cat>
7000
7001 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7002 (GRUB_MOD_INIT): Likewise.
7003 * commands/boot.c (GRUB_MOD_INIT): Likewise.
7004 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7005 * commands/echo.c (options): Fix capitalizations and/or full stops.
7006 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7007 (enable_rom_area): Likewise.
7008 (GRUB_MOD_INIT): Likewise.
7009 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7010 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7011 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7012 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7013 * commands/hexdump.c (options): Likewise.
7014 * commands/i386/cpuid.c (options): Likewise.
7015 (GRUB_MOD_INIT): Likewise.
7016 * commands/i386/pc/drivemap.c (options): Likewise.
7017 (GRUB_MOD_INIT): Likewise.
7018 * commands/i386/pc/halt (options): Likewise.
7019 (GRUB_MOD_INIT): Likewise.
7020 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7021 * commands/i386/pc/pxecmd.c (options): Likewise.
7022 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7023 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7024 * commands/keystatus.c (options): Likewise.
7025 (GRUB_MOD_INIT): Likewise.
7026 * commands/loadenv.c (options): Likewise.
7027 * commands/ls.c (options): Likewise.
7028 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7029 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7030 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7031 * commands/parttool.c (helpmsg): Likewise.
7032 * commands/probe.c (options): Likewise.
7033 * commands/read.c (GRUB_MOD_INIT): Likewise.
7034 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7035 * commands/search.c (options): Likewise.
7036 * commands/sleep.c (options): Likewise.
7037 * commands/test.c (GRUB_MOD_INIT): Likewise.
7038 * commands/true.c (GRUB_MOD_INIT): Likewise.
7039 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7040 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7041 * lib/arg.c (help_options): Likewise.
7042 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7043 `$(XGETTEXT)'.
7044 * po/POTFILES: Add `commands/loadenv.c'.
7045
7046 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
7047
7048 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
7049 instead of specifying them explicit.
7050
7051 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7052
7053 * NEWS: Add grub-probe support for GNU/Hurd.
7054
7055 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7056
7057 * NEWS: gettext was added after 1.97.
7058
7059 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7060
7061 * util/mkisofs/msdos_partition.h: New file (based on
7062 include/grub/msdos_partition.h).
7063 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7064 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7065 (ld_options, main): Recognize --protective-msdos-label.
7066 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7067 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7068 (padblock_write): If `use_protective_msdos_label' is set, patch a
7069 protective DOS-style label in the output image.
7070
7071 * util/grub-mkrescue.in: Use --protective-msdos-label.
7072
7073 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7074
7075 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7076 boot.
7077
7078 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7079
7080 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7081 variables.
7082 (ld_options, main): Recognize `--embedded-boot'.
7083 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7084 declarations.
7085 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7086 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7087 (padblock_write): Likewise. Rewrite to support embedded boot image.
7088
7089 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7090 for BIOS-based disk boot instead of only ElTorito.
7091
7092 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7093
7094 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7095 build (not needed for bootstrap).
7096
7097 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7098
7099 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7100 from i386-pc build (not needed for bootstrap).
7101 Rewrite a pair of strings.
7102
7103 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7104
7105 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7106
7107 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7110
7111 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7112
7113 * kern/env.c (grub_env_context_open): Mark exported variable for
7114 reexport.
7115
7116 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7117
7118 * kern/env.c (grub_env_export): Create nonexistent variables before
7119 exporting.
7120
7121 2009-12-20 Carles Pina i Estany <carles@pina.cat>
7122
7123 * include/grub/auth.h: Include `<grub/i18n.h>'.
7124 (GRUB_GET_PASSWORD): Gettextizze string.
7125 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7126 menu_text.c.
7127 (grub_utf8_to_ucs4_alloc): Fix indentation.
7128 (grub_print_ucs4): Likewise.
7129 (grub_getstringwidth): Likewise.
7130 (print_message_indented): New declaration.
7131 * normal/auth.c: Include `<grub/i18n.h>'.
7132 (grub_auth_check_authentication): Gettexttize string.
7133 * normal/cmdline.c: Include `<grub/i18n.h>'.
7134 (grub_cmdline_get): Gettextizze.
7135 * normal/color.c: Include `<grub/i18n.h>'.
7136 (grub_parse_color_name_pair): Gettexttize strings.
7137 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7138 string (use `print_message_indented').
7139 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7140 `include/grub/normal.h'.
7141 (print_message_indented): Renamed to ...
7142 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7143 used in normal/main.c).
7144 (print_message): Use `grub_print_message_indented' instead of
7145 `print_message_indented'.
7146 (print_timeout): Likewise.
7147 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7148 (grub_normal_print_device_info): Gettexttize strings.
7149 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7150
7151 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7154 of arguments. Return number of tokens and not arguments. All users
7155 updated.
7156
7157 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7160 non-MSDOS paritions.
7161
7162 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * include/grub/types.h (UNUSED): Removed since it conflicts with
7165 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7166 Reported by Grégoire Sutre.
7167
7168 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7169
7170 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7171 (grub_print_ucs4_alloc): Likewise.
7172 (grub_getstringwidth): Likewise.
7173 * normal/main.c (grub_normal_init_page): Gettextize version string.
7174 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7175 (getstringwidth): Renamed to ...
7176 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7177 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7178 (grub_print_ucs4): Remove `static' qualifer (now used in
7179 normal/main.c).
7180 * po/POTFILES: Add normal/main.c.
7181
7182 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7183
7184 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7185 (print_message_indented): Add `margin_left' and `margin_right'
7186 parameters.
7187 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7188 strings.
7189 (print_timeout): Use `print_message_indented' to print the message.
7190 Deletes `second_stage' parameter.
7191 (run_menu): Update `print_timeout' calls.
7192
7193 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Fix console palette on OpenFirmware.
7196
7197 * term/ieee1275/ofconsole.c (MAX): Removed.
7198 (colors): Redone based on VGA palette.
7199 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7200 colors are supported.
7201 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7202
7203 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Fix potential EfiEmu double prepare.
7206
7207 * efiemu/main.c (prepared): New variable
7208 (grub_efiemu_unload): Set prepare to '0'.
7209 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7210
7211 set_virtual_address_map support.
7212
7213 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7214 prototype.
7215 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7216 prototype.
7217 (grub_efiemu_crc32): Likewise.
7218 (grub_efiemu_crc64): Likewise.
7219 (grub_efiemu_set_virtual_address_map): Likewise.
7220 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7221 New definition.
7222 (grub_autoefi_set_virtual_address_map): Likewise.
7223 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7224 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7225 Restructure flow to accomodate it.
7226 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7227 (grub_efiemu_crc): Recompute CRC32.
7228 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7229 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7230 * efiemu/symbols.c (relocated_handle): New variable.
7231 (grub_efiemu_free_syms): Free relocated_handle.
7232 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7233 (grub_efiemu_write_sym_markers): New function.
7234 (grub_efiemu_set_virtual_address_map): Likewise.
7235
7236 Newer XNU parameters.
7237
7238 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7239 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7240 (grub_xnu_fill_devicetree): New prototype.
7241 (grub_xnu_heap_real_start): New variable.
7242 * loader/xnu.c (get_name_ptr): New function.
7243 (grub_xnu_load_driver): Fill namelen and name.
7244
7245 64-bit xnu support.
7246
7247 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7248 and 'loader/macho64.c'.
7249 * conf/i386-pc.rmk: Likewise.
7250 * conf/x86_64-efi.rmk: Likewise.
7251 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7252 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7253 * include/grub/macho.h (grub_macho_segment64): New structure.
7254 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7255 (grub_macho_size32): ... to this.
7256 (grub_macho32_get_entry_point): Renamed from ...
7257 (grub_macho_get_entry_point32): ... to this.
7258 (grub_macho_contains_macho64): New prototype.
7259 (grub_macho_size64): Likewise.
7260 (grub_macho_get_entry_point64): Likewise.
7261 (grub_macho32_load): Renamed from ...
7262 (grub_macho_load32): ... to this.
7263 (grub_macho32_filesize): Renamed from ...
7264 (grub_macho_filesize32): ... to this.
7265 (grub_macho32_readfile): Renamed from ...
7266 (grub_macho_readfile32): ... to this.
7267 (grub_macho_filesize64): New prototype.
7268 (grub_macho_readfile64): Likewise.
7269 (grub_macho_parse32): Likewise.
7270 (grub_macho_parse64): Likewise.
7271 * loader/macho.c: Split into ...
7272 * loader/machoXX.c: ... and this. Replace 32 with XX.
7273 * loader/macho32.c: New file.
7274 * loader/macho64.c: Likewise.
7275 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7276 (grub_cmd_xnu_kernel): Make 32-bit only.
7277 (grub_cmd_xnu_kernel64): New function.
7278 (grub_xnu_load_driver): Support Mach-O 64.
7279 (grub_cmd_xnu_mkext): Likewise.
7280 * util/grub.d/30_os-prober.in (osx_entry): New function.
7281 Generate entries for 64-bit boot too.
7282
7283 Eliminate ad-hoc tree format in XNU and EfiEmu.
7284
7285 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7286 * efiemu/pnvram.c: Rewritten to use environment variables.
7287 All users updated.
7288
7289 Inline utf16_to_utf8.
7290
7291 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7292 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7293 All users updated.
7294 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7295
7296 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7297 * commands/usbtest.c (grub_usb_get_string): ... move here.
7298 (usb_print_str): Fix error handling.
7299 * include/grub/usb.h (grub_usb_get_string): Remove.
7300
7301 UTF-8 to UTF-16 transformation.
7302
7303 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7304 (charset_mod_SOURCES): New variable.
7305 (charset_mod_CFLAGS): Likewise.
7306 (charset_mod_LDFLAGS): Likewise.
7307 * include/grub/utf.h: New file.
7308 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7309
7310 Support for device properties.
7311
7312 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7313 (grub_xnu_devprop_device_header): Likewise.
7314 (grub_xnu_devprop_device_descriptor): Likewise.
7315 (grub_xnu_devprop_add_device): New prototype.
7316 (grub_xnu_devprop_remove_device): Likewise.
7317 (grub_xnu_devprop_remove_property): Likewise.
7318 (grub_xnu_devprop_add_property_utf8): Likewise.
7319 (grub_xnu_devprop_add_property_utf16): Likewise.
7320 (grub_cpu_xnu_init): Likewise.
7321 (grub_cpu_xnu_fini): Likewise.
7322 (grub_cpu_xnu_unload): Likewise.
7323 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7324 (property_descriptor): Likewise.
7325 (devices): New variable.
7326 (grub_xnu_devprop_remove_property): New function.
7327 (grub_xnu_devprop_add_device): Likewise.
7328 (grub_xnu_devprop_remove_device): Likewise.
7329 (grub_xnu_devprop_add_property): Likewise.
7330 (grub_xnu_devprop_add_property_utf8): Likewise.
7331 (grub_xnu_devprop_add_property_utf16): Likewise.
7332 (hextoval): Likewise.
7333 (grub_cpu_xnu_fill_devprop): Likewise.
7334 (grub_cmd_devprop_load): Likewise.
7335 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7336 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7337 (cmd_devprop_load): New variable.
7338 (grub_cpu_xnu_init): New function.
7339 (grub_cpu_xnu_fini): Likewise.
7340 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7341 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7342 (grub_cmd_xnu_devtree): Likewise.
7343 (hextoval): New function.
7344 (unescape): Likewise.
7345 (grub_xnu_fill_devicetree): Likewise.
7346
7347 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7348 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7349
7350 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 Workaround for broken ATI VBE.
7353
7354 * video/i386/pc/vbe.c (last_set_mode): New variable.
7355 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7356 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7357 (grub_video_vbe_setup): Don't check for reserved flag.
7358
7359 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7360
7361 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7362 the `find' command.
7363
7364 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 UUID support for HFS.
7367
7368 * fs/hfs.c (grub_hfs_uuid): New function.
7369 (grub_hfs_fs): New value .uuid.
7370 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7371
7372 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7373
7374 Fix a segfault with parsing unknown long options.
7375
7376 * util/grub-mkrelpath.c (options): Zero terminate it.
7377
7378 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7379
7380 * include/grub/misc.h (grub_puts): New declaration.
7381 (grub_puts_): Likewise.
7382 * kern/misc.c (grub_puts): New definition.
7383 (grub_puts_): Likewise.
7384
7385 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7386
7387 * util/grub-probe.c (probe): Improve error message.
7388
7389 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7390
7391 * loader/i386/multiboot_elfxx.c
7392 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7393 initialization.
7394
7395 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Relocator framework
7398
7399 * loader/i386/xnu_helper.S: Removed. All users updated.
7400 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7401 (relocator_mod_SOURCES): New variable.
7402 (relocator_mod_CFLAGS): Likewise.
7403 (relocator_mod_LDFLAGS): Likewise.
7404 (relocator_mod_ASFLAGS): Likewise.
7405 * conf/x86_64.rmk: Likewise.
7406 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7407 (grub_multiboot_payload_entry_offset): Likewise.
7408 (grub_multiboot_forward_relocator): Likewise.
7409 (grub_multiboot_forward_relocator_end): Likewise.
7410 (grub_multiboot_backward_relocator): Likewise.
7411 (grub_multiboot_backward_relocator_end): Likewise.
7412 (grub_multiboot_payload_eip): New variable.
7413 (grub_multiboot_payload_orig): Likewise.
7414 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7415 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7416 * include/grub/i386/memory.h
7417 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7418 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7419 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7420 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7421 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7422 * include/grub/i386/relocator.h: New file.
7423 * include/grub/x86_64/relocator.h: Likewise.
7424 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7425 (XNU_RELOCATOR): New macro.
7426 (grub_xnu_launcher_start): Remove.
7427 (grub_xnu_launcher_end): Likewise.
7428 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7429 (grub_xnu_heap_real_start): Remove.
7430 (grub_xnu_heap_start): Change to void *. All users updated.
7431 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7432 * lib/i386/relocator.c: New file.
7433 * lib/i386/relocator_asm.S: Likewise.
7434 * lib/i386/relocator_backward.S: Likewise.
7435 * lib/mips/relocator.c: Likewise.
7436 * lib/mips/relocator_asm.S: Likewise.
7437 * lib/relocator.c: Likewise.
7438 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7439 (entry): Removed.
7440 (playground): Likewise.
7441 (grub_multiboot_payload_orig): New variable.
7442 (grub_multiboot_payload_dest): Likewise.
7443 (grub_multiboot_payload_size): Likewise.
7444 (grub_multiboot_payload_eip): Likewise.
7445 (grub_multiboot_payload_esp): Likewise.
7446 (grub_multiboot_boot): Use grub_relocator32_boot.
7447 (grub_multiboot_unload): Free relocators.
7448 (grub_multiboot): Setup stack. Use relocators.
7449 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7450 (grub_multiboot_load_elfXX): Use relocators.
7451 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7452 (grub_multiboot_payload_size): Likewise.
7453 (grub_multiboot_payload_dest): Likewise.
7454 (grub_multiboot_payload_entry_offset): Likewise.
7455 (grub_multiboot_forward_relocator): Likewise.
7456 (grub_multiboot_backward_relocator): Likewise.
7457 (grub_multiboot_real_boot): Likewise.
7458 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7459 (grub_xnu_entry_point): Likewise.
7460 (grub_xnu_arg1): Likewise.
7461 (grub_xnu_stack): Likewise.
7462 (grub_xnu_launch): Removed.
7463 (grub_xnu_boot_resume): New function.
7464 (grub_xnu_boot): Use relocators.
7465 * loader/i386/xnu_helper.S: Removed.
7466 * loader/xnu.c (grub_xnu_heap_start): New variable.
7467 (grub_xnu_heap_size): Likewise.
7468 (grub_xnu_heap_malloc): Use relocators.
7469 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7470
7471 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7474 anything.
7475
7476 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7477
7478 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7479 GRUB_ERR_NONE before calling grub_env_set.
7480
7481 2009-12-12 Robert Millan <rmh@aybabtu.com>
7482
7483 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7484 * genmk.rb (video): New variable.
7485 (CLEANFILES, VIDEOFILES): Add #{video}.
7486 (#{video}): New target rule.
7487 * genvideolist.sh: New file.
7488 * Makefile.in (pkglib_DATA): Add video.lst.
7489 (video.lst): New target rule.
7490 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7491 `video.lst'.
7492 * util/grub.d/30_os-prober.in: Replace `vbe' with
7493 ${GRUB_VIDEO_BACKEND}.
7494
7495 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7496
7497 * THANKS: Add David Miller.
7498
7499 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 libpciaccess support.
7502
7503 * Makefile.in (LIBPCIACCESS): New variable.
7504 (enable_grub_emu_pci): Likewise.
7505 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7506 util/pci.c and commands/lspci.c.
7507 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7508 * configure.ac (grub-emu-pci): New option.
7509 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7510 (grub_pci_device_unmap_range): Likewise.
7511 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7512 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7513 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7514 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7515 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7516 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7517 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7518 * include/grub/pciutils.h: New file.
7519 * util/pci.c: Likewise.
7520
7521 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7522
7523 * util/misc.c: Don't include <errno.h> twice.
7524
7525 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7526
7527 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7528 name in an error message.
7529 (grub_biosdisk_rw): Likewise.
7530
7531 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 Eliminate NTFS 4Gib barrier.
7534
7535 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7536 (read_run_data): Likewise.
7537 (grub_ntfs_read_run_list): Likewise.
7538 (grub_ntfs_read_block): Likewise.
7539 (grub_ntfs_iterate_dir): Likewise.
7540 (read_mft): Likewise.
7541 (read_data): Likewise.
7542 Use COM_LOG_LEN.
7543 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7544 to avoid 64-bit division
7545 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7546 (grub_ntfs_rlst): Use grub_disk_addr_t.
7547
7548 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 Eliminate grub-fstest 4Gib barrier.
7551
7552 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7553 (read_file): Fix error reporting.
7554
7555 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 Eliminate hexdump 4Gib barrier.
7558
7559 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7560 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7561
7562 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7565 Fixes amarsh bug.
7566
7567 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7568
7569 Remove miscellaneous files in distclean target.
7570
7571 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7572
7573 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7574
7575 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7576 if they're already set. This resolves the conflict between my
7577 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7578 fixing the --grub-probe option again.
7579 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7580 change on 2009-10-06, so that we now once again source
7581 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7582
7583 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7584
7585 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7586 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7587 `util/devicemap.c'.
7588
7589 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7590
7591 * include/grub/misc.h (grub_printf_): New declaration.
7592 * kern/misc.c (grub_printf_): New definition.
7593 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7594 instead of `grub_printf' and `_'.
7595 * normal/menu_entry.c (store_completion): Likewise.
7596 (run): Likewise.
7597 (grub_menu_entry_run): Likewise.
7598 * normal/menu_text.c (grub_wait_after_message): Likewise.
7599 (notify_booting): Likewise.
7600 (notify_fallback): Likewise.
7601 (notify_execution_failure): Likewise.
7602
7603 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7604
7605 * configure.ac: Check for vasprintf.
7606 * util/misc.c (asprintf): Move allocation from here ...
7607 (vasprintf): ... to here. New function.
7608 (xasprintf): New function.
7609 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7610 prototypes.
7611 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7612 * util/grub-mkfont.c (write_font): Likewise.
7613 * util/grub-probe.c (probe): Likewise.
7614 * util/hostdisk.c (make_device_name): Likewise.
7615
7616 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7617
7618 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7619 anything even prefixed with 'cdrom' as a cdrom.
7620
7621 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7622
7623 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7624 mount points.
7625
7626 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7627
7628 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7629 grub_gettext_msg_list.
7630 (grub_gettext_gettranslation_from_position): Return const char *
7631 and not char *.
7632 (grub_gettext_translate): Add the translated strings into a list,
7633 returns from the list if existing there.
7634 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7635 (grub_gettext_delete_list): Delete the list.
7636 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7637 lang environment variable is changed.
7638 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7639
7640 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 Rename kernel.mod to kernel.img.
7643
7644 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7645 (kernel_mod_EXPORTS): Rename to ...
7646 (kernel_img_EXPORTS): ... this.
7647 (kernel_mod_SOURCES): Rename to ...
7648 (kernel_img_SOURCES): ... this.
7649 (kernel_mod_HEADERS): Rename to ...
7650 (kernel_img_HEADERS): ... this. All users updated.
7651 (kernel_mod_CFLAGS): Rename to ...
7652 (kernel_img_CFLAGS): ... this.
7653 (kernel_mod_ASFLAGS): Rename to ...
7654 (kernel_img_ASFLAGS): ... this.
7655 (kernel_mod_LDFLAGS): Rename to ...
7656 (kernel_img_LDFLAGS): ... this.
7657 * conf/x86_64-efi.rmk: Likewise.
7658 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7659 (read_kernel_image): ... this. All users updated.
7660 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7661
7662 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7663
7664 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7665 (print_spaces): New function.
7666 (grub_print_ucs4): New function.
7667 (getstringwidth): New function.
7668 (print_message_indented): New function.
7669 (print_message): Gettexttize strings using print_message_indented.
7670 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7671 width.
7672 (get_entry_number): Gettextize and uses dynamic terminal width.
7673 (notify_booting, notify_fallback, notify_execution_failure):
7674 Gettextize.
7675 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7676 string.
7677 (run): Likewise.
7678 (grub_menu_entry_run): Likewise.
7679 * PO/POTFILES: Add normal/menu_entry.c.
7680
7681 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7684
7685 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7686
7687 * util/grub-install.in: Install gettext .mo files.
7688 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7689
7690 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7691
7692 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7693 grub_dprintf.
7694
7695 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7696
7697 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7698 non-firmware-dependant one in realmode.S takes precedence.
7699
7700 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7701
7702 * commands/halt.c: Replace misc arch-specific headers with
7703 `<grub/misc.h>'.
7704 * commands/reboot.c: Likewise.
7705 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7706 `<grub/misc.h>'.
7707 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7708 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7709 (kernel_img_SOURCES): ... to here.
7710
7711 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7712 * include/grub/i386/pc/init.h: Likewise.
7713 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7714 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7715
7716 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7717
7718 * include/grub/i386/halt.h: Remove.
7719 * include/grub/i386/reboot.h: Likewise.
7720
7721 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7722
7723 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7724
7725 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7726 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7727 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7728 "progname.h"
7729 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7730 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7731 (usage): Add missing comma in printf.
7732
7733 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7734
7735 Use the same reboot approach on i386 coreboot and qemu as we do on
7736 BIOS.
7737
7738 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7739 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7740 * kern/i386/reboot.c: Remove.
7741 * include/grub/i386/reboot.h (grub_reboot): Export function.
7742 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7743 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7744 0xf000:0xfff0 instead of 0xffff:0x0000.
7745 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7746 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7747
7748 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7749
7750 Fix $srcdir != $objdir build.
7751
7752 * Makefile.in (po/%.po): Rewrite as ...
7753 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7754
7755 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7756
7757 Fix GNU/Hurd grub-install crash.
7758 * util/grub-probe.c (probe): Try to access `path' only when it is not
7759 NULL.
7760
7761 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Correct module naming.
7764
7765 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7766 (GRUB_MOD_INIT(efi_uga)): ... to this
7767 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7768 (GRUB_MOD_FINI(efi_uga)): ... to this
7769 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7770 (GRUB_MOD_INIT(efi_gop)): ... to this
7771 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7772 (GRUB_MOD_FINI(efi_gop)): ... to this
7773
7774 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7775
7776 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7777 translatable.
7778 (usage): Translate `arg' strings using gettext().
7779 Thanks to Jordi Mallach for the suggestion.
7780
7781 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 GOP support. Based on patch from Bean
7784 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7785
7786 * video/efi_gop.c: New file.
7787 * include/grub/efi/graphics_output.h: Likewise.
7788 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7789 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7790 variables.
7791 * conf/x86_64-efi.rmk: Likewise.
7792
7793 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 Rename efi_fb to efi_uga.
7796
7797 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7798 'efi_uga.mod'.
7799 (efi_fb_mod_SOURCES): Rename this ...
7800 (efi_uga_mod_SOURCES): ... to this.
7801 (efi_fb_mod_CFLAGS): Rename this ...
7802 (efi_uga_mod_CFLAGS): ... to this.
7803 (efi_fb_mod_LDFLAGS): Rename this ...
7804 (efi_uga_mod_LDFLAGS): ... to this.
7805 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7806 'efi_uga.mod'.
7807 (efi_fb_mod_SOURCES): Rename this ...
7808 (efi_uga_mod_SOURCES): ... to this.
7809 (efi_fb_mod_CFLAGS): Rename this ...
7810 (efi_uga_mod_CFLAGS): ... to this.
7811 (efi_fb_mod_LDFLAGS): Rename this ...
7812 (efi_uga_mod_LDFLAGS): ... to this.
7813 * video/efi_fb.c: Move this ...
7814 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7815
7816 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7817
7818 * po/README: New file. Explain our PO file workflow.
7819
7820 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7821
7822 * po/ChangeLog: Remove. Move relevant entries back to ...
7823 * ChangeLog: ... here.
7824 * po/ca.po: Remove (now handled by TLP).
7825 * po/id.po: Likewise.
7826 * po/zh_CN.po: Likewise.
7827 * Makefile.in (LINGUAS): Initialize in a way that supports
7828 empty set.
7829
7830 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7831
7832 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7833 reliing on po/LINGUAS.
7834 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7835 (po/%.po): ... this.
7836
7837 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7838
7839 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7840 (main): Use `program_name' instead of nonexistent `progname'.
7841
7842 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7843
7844 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7845 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7846
7847 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7848
7849 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7850 commit.
7851 * conf/i386-efi.rmk: Likewise.
7852 * conf/i386-ieee1275.rmk: Likewise.
7853 * conf/powerpc-ieee1275.rmk: Likewise.
7854 * conf/sparc64-ieee1275.rmk: Likewise.
7855 * conf/x86_64-efi.rmk: Likewise.
7856
7857 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7858
7859 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7860
7861 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7862
7863 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7864
7865 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7866
7867 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7868 (grub_mkdevicemap_SOURCES): New variable.
7869 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7870 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7871 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7872 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7873 (grub_mkdevicemap_SOURCES): Remove.
7874 * conf/i386-efi.rmk: Likewise.
7875 * conf/i386-ieee1275.rmk: Likewise.
7876 * conf/i386-pc.rmk: Likewise.
7877 * conf/powerpc-ieee1275.rmk: Likewise.
7878 * conf/sparc64-ieee1275.rmk: Likewise.
7879 * conf/x86_64-efi.rmk: Likewise.
7880 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7881 (usage): Fix strings to use `program_name'.
7882 (main): Initialize gettext.
7883 * util/grub-editenv.c: Likewise.
7884 * util/grub-emu.c: Likewise.
7885 * util/grub-fstest.c: Likewise.
7886 * util/grub-mkdevicemap.c: Likewise.
7887 * util/grub-mkfont.c: Likewise.
7888 * util/grub-mkrelpath.c: Likewise.
7889 * util/grub-pe2elf.c: Likewise.
7890 * util/grub-probe.c: Likewise.
7891 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7892 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7893 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7894
7895 * util/misc.c: Include `"progname.h"'.
7896 (progname): Remove variable.
7897 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7898
7899 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7900
7901 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7902 printf and print a newline after the menuentry header line.
7903 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7904
7905 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7906
7907 autoconf >= 2.60 support $(localedir).
7908
7909 * INSTALL: Note that autoconf 2.60 is required.
7910 * configure.ac (AC_PREREQ): Bump to 2.60.
7911 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7912 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7913
7914 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7915
7916 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7917 aclocal is run.
7918
7919 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7920
7921 * normal/main.c (grub_normal_read_line): Fix off-by-one
7922 buffer overflow.
7923
7924 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7925
7926 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7927 "parser.grub" in grub_command_execute() call.
7928
7929 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7930
7931 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7932 * conf/i386-efi.rmk: Likewise.
7933 * conf/i386-ieee1275.rmk: Likewise.
7934 * conf/i386-pc.rmk: Likewise.
7935 * conf/powerpc-ieee1275.rmk: Likewise.
7936 * conf/sparc64-ieee1275.rmk: Likewise.
7937 * conf/x86_64-efi.rmk: Likewise.
7938 * gettext/gettex.c: Include <grub/i18n.h>.
7939 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7940 here ...
7941 * include/grub/i18n.h: ... to here
7942 * include/grub/i18n.h: ... to here.
7943 * kern/misc.c: Include <grub/i18n.h>
7944 (grub_gettext_dummy): Move above user.
7945
7946 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7947
7948 * util/Makefile.in (install-local): Convert a `for' into a normal
7949 shell expansion.
7950
7951 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7952
7953 * autogen.sh: Add automake call.
7954 * config.guess: Remove.
7955 * config.sub: Likewise.
7956 * install-sh: Likewise.
7957
7958 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7959
7960 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7961
7962 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7963
7964 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7965 function to a normal shell `for'.
7966
7967 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7968
7969 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7970
7971 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7972
7973 * util/grub-mkrelpath.c: New file.
7974 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7975 (grub_mkrelpath_SOURCES): New variable.
7976 * include/grub/util/misc.h: New function prototype.
7977 * util/misc.c (make_system_path_relative_to_its_root): New function.
7978
7979 * util/grub-mkconfig_lib.in (bindir): New variable.
7980 (grub_mkrelpath): Likewise.
7981 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7982
7983 * util/probe.c (probe): Make the file path relative to its root.
7984 Change a info message to use the GRUB path. Enable again the
7985 check if we can read the file with GRUB facilities.
7986
7987 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7988 to its root.
7989
7990 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7991
7992 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7993 platform.
7994
7995 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7996
7997 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7998 strncmp().
7999
8000 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8001
8002 * util/getroot.c (grub_util_is_dmraid): New function.
8003 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8004 devices as normal ones, not as LVM.
8005
8006 2009-11-23 Carles Pina i Estany <carles@pina.cat>
8007
8008 * conf/common.rmk: Add grub-gettext_lib target and updates
8009 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8010 LDFLAGS.
8011 * gettext/gettext.c: New file. (Reads mo files).
8012 * include/grub/file.h (grub_file_pread): New prototype.
8013 * include/grub/i18n.h (_): New prototype.
8014 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8015 prototypes.
8016 * kern/misc.c (grub_gettext_dummy): New function.
8017 * normal/menu_text.c: Include <grub/i18n.h>.
8018 * normal/menu_text.c (print_timeout): Gettexttize string.
8019 * normal/menu_text.c (print_message): Gettexttize string.
8020 * po/POTFILES: Add `normal/menu_text.c'.
8021 * po/ca.po: Add new translations.
8022 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8023 gettext module and defines locale_dir and lang in grub.cfg.
8024 * NEWS: Add gettext support.
8025
8026 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8027
8028 * util/hostdisk.c: Include `<grub/i18n.h>'.
8029 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8030 (make_device_name): Rewrite using asprintf.
8031 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8032 (find_system_device): If a device is not found, generate one just
8033 by reusing the OS path name.
8034 (read_device_map): Make it permissible for device.map not to exist.
8035
8036 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8037
8038 * script/sh/execute.c: Move from here ...
8039 * script/execute.c: ... to here. Update all users.
8040 * script/sh/function.c: Move from here ...
8041 * script/function.c: ... to here. Update all users.
8042 * script/sh/lexer.c: Move from here ...
8043 * script/lexer.c: ... to here. Update all users.
8044 * script/sh/main.c: Move from here ...
8045 * script/main.c: ... to here. Update all users.
8046 * script/sh/parser.y: Move from here ...
8047 * script/parser.y: ... to here. Update all users.
8048 * script/sh/script.c: Move from here ...
8049 * script/script.c: ... to here. Update all users.
8050
8051 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8052
8053 * configure.ac: Detect all `emu' platforms. Define
8054 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8055 --enable-grub-emu logic. Disable include/grub/machine
8056 symlink on `emu' platforms.
8057
8058 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8059 * gensymlist.sh.in: Likewise.
8060
8061 * include/grub/i386/coreboot/machine.h: Remove file.
8062 * include/grub/i386/efi/machine.h: Likewise.
8063 * include/grub/i386/ieee1275/machine.h: Likewise.
8064 * include/grub/i386/pc/machine.h: Likewise.
8065 * include/grub/i386/qemu/machine.h: Likewise.
8066 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8067 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8068 * include/grub/x86_64/efi/machine.h: Likewise.
8069
8070 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8071 * commands/halt.c: Likewise.
8072 * commands/reboot.c: Likewise.
8073 * include/grub/autoefi.h: Likewise.
8074 * include/grub/i386/at_keyboard.h: Likewise.
8075 * include/grub/i386/kernel.h: Likewise.
8076 * include/grub/i386/loader.h: Likewise.
8077 * include/grub/i386/pc/memory.h: Likewise.
8078 * kern/dl.c: Likewise.
8079 * kern/i386/coreboot/init.c: Likewise.
8080 * loader/i386/bsd.c: Likewise.
8081 * loader/i386/linux.c: Likewise.
8082 * loader/multiboot_loader.c: Likewise.
8083 * term/i386/pc/serial.c: Likewise.
8084 * term/usb_keyboard.c: Likewise.
8085
8086 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8087 `<grub/machine/machine.h>'
8088 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8089 * util/misc.c: Remove `<grub/machine/machine.h>' and
8090 `<grub/machine/time.h>'.
8091
8092 * Makefile.in (enable_grub_emu): Remove variable.
8093 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8094
8095 * conf/any-emu.rmk: New file.
8096 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8097 (grub_emu_init.c): Move from here ...
8098 * conf/any-emu.rmk: ... to here.
8099
8100 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8101 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8102 * conf/any-emu.rmk: ... to here.
8103
8104 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8105
8106 * include/grub/parser.h (grub_parser_register): Document need
8107 of `name' parameter.
8108 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8109 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8110 "sh" to "grub".
8111
8112 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8113
8114 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8115 `$(XGETTEXT)'.
8116 * include/grub/i18n.h (N_): New macro.
8117 * util/mkisofs/mkisofs.h: Likewise.
8118 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8119 around N_().
8120 (usage): Use gettext() to translate help strings when printing them.
8121
8122 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8123
8124 Based on patch from Bean
8125 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8126
8127 * video/efi_fb.c: New file.
8128 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8129 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8130 variables.
8131 * conf/x86_64-efi.rmk: Likewise.
8132
8133 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8134
8135 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8136 * util/i386/pc/grub-setup.c: Likewise.
8137
8138 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8139
8140 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8141 <hurd/fs.h>
8142 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8143 file_get_storage_info to implement grub_guess_root_device.
8144
8145 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8146
8147 * Makefile.in (target): Use make's builtin $(shell) function
8148 instead of calling directly $(SHELL) to create the locale directories,
8149 inside the $(foreach) function.
8150
8151 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8152
8153 * util/grub-mkrescue.in: Print an error and usage if output option
8154 has not been given.
8155
8156 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8157
8158 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8159 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8160 root and /boot are on different devices.
8161
8162 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8163
8164 Fix build for srcdir != objdir.
8165
8166 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8167 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8168 $(srcdir).
8169 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8170 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8171 reference for input.
8172
8173 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8174
8175 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8176 or hardlinking it). Remove -J option, Joliet is not compatible with
8177 multiple source directories.
8178
8179 2009-11-21 Carles Pina i Estany <carles@pina.cat>
8180 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8181
8182 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8183 (process_input_dir): New function. Process an arbitrary input
8184 directory.
8185 Misc adjustments to support both "override mode" and system-wide mode.
8186
8187 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8188
8189 * configure.ac (UNIFONT_BDF): Rename to ...
8190 (FONT_SOURCE): ... this. Update all users.
8191
8192 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8193
8194 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8195 to the list of unifont files to look for.
8196
8197 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8198
8199 Patch from Joe Auricchio <jauricchio@gmail.com>
8200 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8201 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8202 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8203
8204 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8205
8206 * Makefile.in (install-local): Add a missing backslash.
8207
8208 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8209
8210 * include/grub/x86_64/io.h: New file.
8211
8212 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8213
8214 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8215 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8216 Include `"progname.h"'.
8217 (main): Initialize gettext.
8218 * util/i386/pc/grub-setup.c: Gettexttize.
8219 * util/i386/pc/grub-mkimage.c: Likewise.
8220
8221 * Makefile.in (po/*.po): Redefine as ...
8222 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8223
8224 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8225
8226 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8227
8228 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8229 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8230 (program_name): Remove.
8231 (main): Initialize gettext support.
8232 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8233 Include `<libintl.h>'.
8234 (_): New macro.
8235
8236 * util/mkisofs/eltorito.c: Gettexttize.
8237 * util/mkisofs/joliet.c: Likewise.
8238 * util/mkisofs/mkisofs.c: Likewise.
8239 * util/mkisofs/multi.c: Likewise.
8240 * util/mkisofs/rock.c: Likewise.
8241 * util/mkisofs/tree.c: Likewise.
8242 * util/mkisofs/write.c: Likewise.
8243
8244 * po/POTFILES: Update with new files.
8245
8246 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8247
8248 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8249 * util/mkisofs/iso9660.h: Likewise.
8250 * util/mkisofs/joliet.c: Likewise.
8251 * util/mkisofs/mkisofs.c: Likewise.
8252 * util/mkisofs/mkisofs.h: Likewise.
8253 * util/mkisofs/rock.c: Likewise.
8254 * util/mkisofs/tree.c: Likewise.
8255 * util/mkisofs/write.c: Likewise.
8256
8257 * util/mkisofs/eltorito.c (rcsid): Remove.
8258 * util/mkisofs/hash.c: Likewise.
8259 * util/mkisofs/joliet.c: Likewise.
8260 * util/mkisofs/name.c: Likewise.
8261 * util/mkisofs/rock.c: Likewise.
8262 * util/mkisofs/tree.c: Likewise.
8263 * util/mkisofs/write.c: Likewise.
8264
8265 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8266
8267 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8268 instead of static allocation.
8269 * util/mkisofs/match.h: Likewise.
8270
8271 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8272
8273 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8274 and `util/grub.d/10_linux.in'.
8275 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8276 translatable Shell files.
8277
8278 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8279
8280 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8281
8282 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8283
8284 * INSTALL: Document Automake is needed for bootstrap.
8285 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8286 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8287 Add gettext initialization.
8288 (kfreebsd_entry): Make menuentry output translatable.
8289
8290 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8291
8292 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8293 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8294 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8295 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8296 (LINGUAS): Auto-generate using `po/LINGUAS'.
8297 * po/LINGUAS: New file.
8298
8299 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8300
8301 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8302 other things).
8303 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8304 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8305 bindtextdomain() calls for gettext initialization.
8306
8307 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8308
8309 * gnulib/progname.c: New file (imported from Gnulib).
8310 * gnulib/progname.h: Likewise.
8311 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8312 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8313 (usage): Replace `progname' with `program_name'.
8314 (main): Use set_program_name() for program name initialization.
8315
8316 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8317
8318 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8319 from here ...
8320 * Makefile.in (CPPFLAGS): ... to here.
8321
8322 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8323
8324 * aclocal.m4: Move from here ...
8325 * acinclude.m4: ... to here.
8326 * autogen.sh: Add call to `aclocal'.
8327 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8328
8329 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8330
8331 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8332 (LINGUAS): New variable.
8333 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8334 (install-local): Install MO files.
8335 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8336 * include/grub/i18n.h: New file.
8337 * po/POTFILES: New file.
8338 * po/ca.po: New file.
8339 * util/grub.d/10_linux.in (bindir): New variable.
8340 Add gettext initialization.
8341 (linux_entry): Make menuentry output translatable.
8342 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8343 (usage): Make --help output translatable.
8344 (main): Initialize gettext.
8345
8346 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8347
8348 * import_gcry.py: New file (written by Vladimir with minor
8349 adjustments).
8350 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8351 ciphers.
8352 * INSTALL: Document that Python is required for bootstrap.
8353
8354 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8355
8356 Import ciphers from libgcrypt 1.4.4.
8357
8358 * lib/libgcrypt/cipher/ChangeLog
8359 * lib/libgcrypt/cipher/ac.c
8360 * lib/libgcrypt/cipher/arcfour.c
8361 * lib/libgcrypt/cipher/bithelp.h
8362 * lib/libgcrypt/cipher/blowfish.c
8363 * lib/libgcrypt/cipher/camellia-glue.c
8364 * lib/libgcrypt/cipher/camellia.c
8365 * lib/libgcrypt/cipher/camellia.h
8366 * lib/libgcrypt/cipher/cast5.c
8367 * lib/libgcrypt/cipher/cipher.c
8368 * lib/libgcrypt/cipher/crc.c
8369 * lib/libgcrypt/cipher/des.c
8370 * lib/libgcrypt/cipher/dsa.c
8371 * lib/libgcrypt/cipher/ecc.c
8372 * lib/libgcrypt/cipher/elgamal.c
8373 * lib/libgcrypt/cipher/hash-common.c
8374 * lib/libgcrypt/cipher/hash-common.h
8375 * lib/libgcrypt/cipher/hmac-tests.c
8376 * lib/libgcrypt/cipher/md.c
8377 * lib/libgcrypt/cipher/md4.c
8378 * lib/libgcrypt/cipher/md5.c
8379 * lib/libgcrypt/cipher/primegen.c
8380 * lib/libgcrypt/cipher/pubkey.c
8381 * lib/libgcrypt/cipher/rfc2268.c
8382 * lib/libgcrypt/cipher/rijndael-tables.h
8383 * lib/libgcrypt/cipher/rijndael.c
8384 * lib/libgcrypt/cipher/rmd.h
8385 * lib/libgcrypt/cipher/rmd160.c
8386 * lib/libgcrypt/cipher/rsa.c
8387 * lib/libgcrypt/cipher/seed.c
8388 * lib/libgcrypt/cipher/serpent.c
8389 * lib/libgcrypt/cipher/sha1.c
8390 * lib/libgcrypt/cipher/sha256.c
8391 * lib/libgcrypt/cipher/sha512.c
8392 * lib/libgcrypt/cipher/tiger.c
8393 * lib/libgcrypt/cipher/twofish.c
8394 * lib/libgcrypt/cipher/whirlpool.c
8395
8396 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8397
8398 Fix build for systems without error().
8399
8400 * gnulib/error.c: New file (imported from Gnulib).
8401 * gnulib/error.h: Likewise.
8402 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8403 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8404 (this variable is now used by error()).
8405
8406 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8407
8408 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8409 instead of relying that char is signed.
8410
8411 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8414 blocksize different from specified.
8415 (grub_pxefs_read): Likewise.
8416
8417 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8418
8419 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8420
8421 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8422 (grub_ata_readwrite): Likewise. Update 2 format strings.
8423 (grub_atapi_read): Likewise.
8424
8425 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8426 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8427 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8428 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8429 (ata_mod_LDFLAGS): Move from here ...
8430 * conf/i386.rmk: ... to here ...
8431 * conf/x86_64-efi.rmk: ... and here.
8432 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8433 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8434
8435 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8436
8437 Relicense multiboot.h, with RMS' blessing.
8438
8439 * include/multiboot.h: Change to X11 license.
8440
8441 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8442
8443 Support --version in grub-mkisofs.
8444
8445 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8446 (OPTION_VERSION): New macro.
8447 (ld_options): Recognize --version.
8448 (usage): Move `program_name' from here ...
8449 (program_name): ... to here. Add `static' qualifier.
8450 (main): Recognize `OPTION_VERSION'.
8451
8452 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8453
8454 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8455 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8456
8457 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8458
8459 Fix help2man generation for mkisofs.
8460
8461 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8462 (usage): Send output to stdout (rather than stderr).
8463
8464 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8467 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8468 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8469 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8470 (bin_SCRIPTS): Add `grub-mkfloppy'.
8471 (grub_mkfloppy_SOURCES): New variable.
8472
8473 * util/grub-mkrescue.in: New file.
8474 * util/i386/pc/grub-mkfloppy.in: New file.
8475
8476 * util/i386/coreboot/grub-mkrescue.in: Remove.
8477 * util/i386/pc/grub-mkrescue.in: Remove.
8478
8479 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8480
8481 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8482 from here ...
8483 * include/multiboot.h (struct multiboot_header): ... to here. Update
8484 all users.
8485 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8486 from here ...
8487 * include/multiboot.h (struct multiboot_info): ... to here. Update
8488 all users.
8489 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8490 from here ...
8491 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8492 Update all users.
8493 * include/grub/multiboot.h (struct grub_mod_list): Move
8494 from here ...
8495 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8496 Update all users.
8497
8498 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8499
8500 * include/multiboot2.h (multiboot_word): Rename from this ...
8501 (multiboot2_word): ... to this. Update all users.
8502 (multiboot_header): Rename from this ...
8503 (multiboot2_header): ... to this. Update all users.
8504 (multiboot_tag_header): Rename from this ...
8505 (multiboot2_tag_header): ... to this. Update all users.
8506 (multiboot_tag_start): Rename from this ...
8507 (multiboot2_tag_start): ... to this. Update all users.
8508 (multiboot_tag_name): Rename from this ...
8509 (multiboot2_tag_name): ... to this. Update all users.
8510 (multiboot_tag_module): Rename from this ...
8511 (multiboot2_tag_module): ... to this. Update all users.
8512 (multiboot_tag_memory): Rename from this ...
8513 (multiboot2_tag_memory): ... to this. Update all users.
8514 (multiboot_tag_unused): Rename from this ...
8515 (multiboot2_tag_unused): ... to this. Update all users.
8516 (multiboot_tag_end): Rename from this ...
8517 (multiboot2_tag_end): ... to this. Update all users.
8518
8519 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8520
8521 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8522 this platform we should support Multiboot1 first.
8523
8524 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8525 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8526 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8527
8528 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8529
8530 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8531 of write calls (converting them to fwrite() if they aren't already).
8532 (get_torito_desc): Likewise.
8533 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8534
8535 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8536
8537 * util/i386/pc/grub-install.in: Move from here ...
8538 * util/grub-install.in: ... to here. Update all users.
8539
8540 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8541
8542 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8543
8544 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8545
8546 Support for El Torito without floppy emulation.
8547
8548 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8549 (init_boot_catalog): Improve error handling.
8550 (get_torito_desc): Don't use floppy emulation unless requested by
8551 user. Patch boot information table when requested via
8552 `-boot-info-table'.
8553 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8554 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8555 (use_boot_info_table): New variables.
8556 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8557 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8558 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8559 `--eltorito-emul-floppy'.
8560 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8561 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8562 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8563 (use_boot_info_table, get_731): New prototypes.
8564 * util/mkisofs/write.c (get_731): New function.
8565
8566 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8567
8568 Fix the generation of the man page.
8569
8570 * util/pc/i386/grub-install.in: Source
8571 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8572
8573 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8574
8575 Large file support for grub-mkisofs.
8576
8577 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8578 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8579 (session_start): Upgrade type to `uint64_t'. Update all users.
8580 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8581 (struct directory_entry): Upgrade type of `starting_block' and
8582 `size' to `uint64_t'. Update all users.
8583 (struct deferred): Remove unused structure.
8584 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8585 Update all users.
8586 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8587 file is larger than `UINT32_MAX'.
8588 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8589 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8590 return value.
8591 (struct deferred_write): Upgrade type of `extent' and `size' to
8592 `uint64_t'. Update all users.
8593 (last_extent_written): Upgrade type to `uint64_t'. Update all
8594 users.
8595 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8596 Update all users. Upgrade type of `remain' to `int64_t' and
8597 `use' to `size_t'. Use error() to handle fread() errors.
8598 (write_files): Rely on write_one_file() rather than calling
8599 xfwrite() directly.
8600
8601 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8602
8603 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8604
8605 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8606
8607 * util/mkisofs/fnmatch.c: Remove.
8608 * util/mkisofs/getopt1.c: Likewise.
8609 * util/mkisofs/getopt.c: Likewise.
8610 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8611 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8612 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8613 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8614 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8615
8616 * configure.ac: Detect `mingw32msvc' host_os.
8617 Check for lstat(), getuid() and getgid().
8618
8619 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8620 instances of `u_char' with `uint8_t'.
8621
8622 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8623 [!HAVE_GETUID] (getuid): New function (stub).
8624 [!HAVE_GETGID] (getgid): Likewise.
8625 [!HAVE_LSTAT] (lstat): Likewise.
8626 [!S_IROTH] (S_IROTH): New macro (dummy).
8627 [!S_IRGRP] (S_IRGRP): Likewise.
8628
8629 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8630
8631 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8632 conditional expression).
8633
8634 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8635
8636 Import from Gnulib.
8637
8638 * gnulib/fnmatch.c: New file.
8639 * gnulib/fnmatch.h: Likewise.
8640 * gnulib/fnmatch_loop.c: Likewise.
8641 * gnulib/getopt.c: Likewise.
8642 * gnulib/getopt.h: Likewise.
8643 * gnulib/getopt1.c: Likewise.
8644 * gnulib/getopt_int.h: Likewise.
8645 * gnulib/gettext.h: Likewise.
8646
8647 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8648
8649 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8650 * normal/handler.c (read_handler_list): Likewise.
8651
8652 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8653
8654 Misc cleanup.
8655
8656 * kern/command.c (grub_register_command_prio): Use
8657 grub_zalloc() instead of explicitly zeroing data.
8658 * kern/list.c: Include `<grub/mm.h>'.
8659 (grub_named_list_find): Replace `0' with `NULL'.
8660 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8661 (fs_module_list): Change type to `grub_named_list_t'. Update all
8662 users.
8663 * normal/dyncmd.c (read_command_list): Add space between function
8664 call and parenthesis.
8665 * normal/handler.c (read_handler_list): Likewise.
8666
8667 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8668
8669 * normal/auth.c (punishment_delay): Moved from here ...
8670 (grub_auth_strcmp): ... to here (inside function).
8671
8672 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8673
8674 * include/grub/list.h (struct grub_named_list): Remove `const'
8675 qualifier from `name'.
8676 (struct grub_prio_list): Likewise.
8677
8678 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8679
8680 * normal/auth.c: Include `<grub/time.h>'.
8681 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8682
8683 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8684
8685 * normal/auth.c (punishment_delay): New variable.
8686 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8687 (grub_auth_check_authentication): Punish failed login attempts with
8688 an incremental (2^N) delay.
8689
8690 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8691
8692 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8693 path with $(srcdir).
8694
8695 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8698
8699 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8700
8701 * util/i386/coreboot/grub-mkrescue.in: New file.
8702 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8703 variables.
8704
8705 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8706 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8707 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8708 requirements.
8709 * util/mkisofs/defaults.h: New file.
8710 * util/mkisofs/eltorito.c: Likewise.
8711 * util/mkisofs/exclude.h: Likewise.
8712 * util/mkisofs/fnmatch.c: Likewise.
8713 * util/mkisofs/getopt.c: Likewise.
8714 * util/mkisofs/getopt1.c: Likewise.
8715 * util/mkisofs/hash.c: Likewise.
8716 * util/mkisofs/include/fctldefs.h: Likewise.
8717 * util/mkisofs/include/mconfig.h: Likewise.
8718 * util/mkisofs/include/prototyp.h: Likewise.
8719 * util/mkisofs/include/statdefs.h: Likewise.
8720 * util/mkisofs/iso9660.h: Likewise.
8721 * util/mkisofs/joliet.c: Likewise.
8722 * util/mkisofs/match.c: Likewise.
8723 * util/mkisofs/match.h: Likewise.
8724 * util/mkisofs/mkisofs.c: Likewise.
8725 * util/mkisofs/mkisofs.h: Likewise.
8726 * util/mkisofs/multi.c: Likewise.
8727 * util/mkisofs/name.c: Likewise.
8728 * util/mkisofs/rock.c: Likewise.
8729 * util/mkisofs/tree.c: Likewise.
8730 * util/mkisofs/write.c: Likewise.
8731
8732 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8735 being insecure.
8736
8737 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8738
8739 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8740 `grub-mkimage' (and use $0 when possible).
8741
8742 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8743
8744 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8745 error message for excessively large memory map.
8746
8747 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8748
8749 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8750 executable bit.
8751
8752 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8753
8754 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8755 message for coreboot users.
8756
8757 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8758
8759 Fix build with GNU gold.
8760
8761 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8762 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8763 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8764 link addresses.
8765 * aclocal.m4: Likewise.
8766
8767 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8768
8769 * configure.ac (AC_PREREQ): Bump to 2.59d.
8770 * INSTALL: Make it more clear when Autoconf and Ruby are
8771 needed and when to run `./autogen.sh'.
8772
8773 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8774
8775 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8776 OSes.
8777
8778 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8779
8780 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8781
8782 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8783
8784 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8785 giving it to GNU Mach.
8786
8787 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8788
8789 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8790 GNU partition number to get internal GRUB partition number.
8791
8792 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8793
8794 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8795 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8796
8797 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8798
8799 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8800 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8801 case.
8802
8803 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8804
8805 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8806
8807 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8808
8809 Fix build problem.
8810
8811 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8812 `-isystem=$(srcdir)/include'.
8813
8814 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8815
8816 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8817 checked (grub-install doesn't currently rely on it).
8818
8819 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8820
8821 Revert SVN r2660.
8822
8823 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8824 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8825 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8826 * conf/i386-ieee1275.rmk: Likewise.
8827 * conf/i386-pc.rmk: Likewise.
8828 * conf/powerpc-ieee1275.rmk: Likewise.
8829 * conf/sparc64-ieee1275.rmk: Likewise.
8830 * conf/x86_64-efi.rmk: Likewise.
8831
8832 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8833
8834 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8835
8836 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8837
8838 * include/grub/misc.h: Stop checking for APPLE_CC.
8839
8840 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8841
8842 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8843 doesn't cause an infinite call loop.
8844
8845 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8846
8847 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8848 strings.
8849
8850 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8851
8852 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8853 variable.
8854 * Makefile.in: Likewise.
8855
8856 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8857
8858 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8859
8860 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8861
8862 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8863
8864 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8865
8866 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8867
8868 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8869
8870 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8871 from here ...
8872 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8873
8874 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8875
8876 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8877 in $(MAKEINFO) invocation. This makes it clear in output that
8878 errors are being ignored.
8879
8880 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8881
8882 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8883 from here ...
8884 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8885 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8886 * conf/i386-ieee1275.rmk: Likewise.
8887 * conf/i386-pc.rmk: Likewise.
8888 * conf/powerpc-ieee1275.rmk: Likewise.
8889 * conf/sparc64-ieee1275.rmk: Likewise.
8890 * conf/x86_64-efi.rmk: Likewise.
8891
8892 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * util/grub-editenv.c (main): If only a command is given, use
8895 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8896 (usage): FILENAME is now optional and has a default.
8897
8898 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8899
8900 Improve grub-mkconfig performance when there are several menu
8901 entries on a single filesystem.
8902
8903 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8904 prepare_grub_to_access_device.
8905 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8906 * util/grub.d/30_os-prober.in: Likewise.
8907
8908 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8909
8910 * util/grub.d/10_freebsd.in: Remove.
8911 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8912 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8913
8914 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8915
8916 * docs/grub.cfg: Fix example usage of *BSD loaders.
8917
8918 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8919
8920 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8921 grub_util_error() call.
8922
8923 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8924
8925 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8926 `reserved_first_sector' member.
8927 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8928 `reserved_first_sector' to 1.
8929 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8930 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8931 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8932 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8933 filesystems which begin at first sector.
8934 (options): New option --skip-fs-probe.
8935 (main): Handle --skip-fs-probe and pass it to setup().
8936
8937 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8938
8939 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8940 (memset): Fix function prototype.
8941
8942 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8943 2009-10-25 Vasily Averin <vvs@parallels.com>
8944
8945 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8946 `dirent.direntlen == 0'.
8947
8948 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8949
8950 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8951 `cpio'.
8952 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8953
8954 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8955
8956 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8957 `__trampoline_setup' and `__ucmpdi2'.
8958 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8959 that libgcc provides.
8960
8961 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8962
8963 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8964 * include/grub/sparc64/libgcc.h (memset): Likewise.
8965 * include/grub/misc.h (memset, memcmp): New function prototypes.
8966
8967 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8968
8969 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8970 `cpio'.
8971 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8972
8973 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8974
8975 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8976 * docs/grub.cfg: Compensate for recent change in multiboot
8977 loader (since 2009-08-14 it won't pass filename to payload).
8978 * util/grub.d/10_hurd.in: Likewise.
8979
8980 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8981
8982 * config.guess: Update to latest version from config git
8983 repository.
8984 * config.sub: Likewise.
8985
8986 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8987
8988 Fix build on sparc64.
8989
8990 * configure.ac: Perform checks for libgcc symbols before
8991 adding `-nostdlib' to LDFLAGS.
8992
8993 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Let user specify OpenBSD root device.
8996
8997 * loader/i386/bsd.c (openbsd_root): New variable.
8998 (openbsd_opts): New option 'root'.
8999 (OPENBSD_ROOT_ARG): New macro.
9000 (grub_openbsd_boot): Use 'openbsd_root'.
9001 (grub_cmd_openbsd): Fill 'openbsd_root'.
9002
9003 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9004
9005 * NEWS: Misc adjustments.
9006
9007 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9010
9011 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9012
9013 * configure.ac: Bump version to 1.97.
9014
9015 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
9016
9017 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9018 -mno-3dnow on x86 architectures. Some toolchains enable these
9019 features by default, but they rely on registers that aren't enabled
9020 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9021
9022 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9023
9024 Make entry text a bit more readable.
9025
9026 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9027
9028 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9031
9032 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9035 operations.
9036
9037 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * configure.ac: Add missing dollar.
9040
9041 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9044
9045 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9046 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9047 exports.
9048 * include/grub/sparc64/libgcc.h: Likewise. Use
9049 preprocessor conditionals.
9050
9051 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9052
9053 * conf/common.rmk (grub-dumpbios): Remove rule.
9054 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9055 * util/grub-dumpbios.in: Remove file.
9056
9057 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9058
9059 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9060 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9061
9062 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9063 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9064 users.
9065
9066 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9067 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9068 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9069 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9070 users.
9071
9072 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9073
9074 * term/tparm.c: Switch to GPLv3.
9075
9076 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9077
9078 * include/grub/i386/cpuid.h: Add header protection.
9079
9080 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9081
9082 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9083
9084 * include/grub/i386/cpuid.h: New file.
9085 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9086 (has_longmode): Rename to ...
9087 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9088 `static' attribute.
9089 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9090 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9091 on a CPU that doesn't implement AMD64 instruction set.
9092
9093 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9094
9095 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9096 that version.texi is rebuilt on version number changes.
9097
9098 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9099
9100 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9101 Fixes bug #27602.
9102
9103 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9104
9105 * util/i386/pc/grub-install.in: Source
9106 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9107 that the --grub-probe option will work.
9108 * util/sparc64/ieee1275/grub-install.in: Likewise.
9109
9110 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9111
9112 * configure.ac: Bump version to 1.97~beta4.
9113
9114 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9115
9116 Resync grub-mkdevicemap in x86_64-efi.
9117
9118 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9119 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9120 `util/devicemap.c'.
9121
9122 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
9123
9124 * util/grub-editenv.c (create_envblk_file): Write new block with a
9125 .new suffix and then rename it into place, to ensure atomic
9126 creation.
9127
9128 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9129
9130 Do not automatically install headers.
9131
9132 * Makefile.in (include_DATA): Remove. Update all users.
9133
9134 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9135
9136 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9137 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9138
9139 * util/osdetect.lua: Remove.
9140 * script/lua/lauxlib.c: Likewise.
9141 * script/lua/ldebug.c: Likewise.
9142 * script/lua/grub_main.c: Likewise.
9143 * script/lua/lauxlib.h: Likewise.
9144 * script/lua/ldebug.h: Likewise.
9145 * script/lua/ltablib.c: Likewise.
9146 * script/lua/liolib.c: Likewise.
9147 * script/lua/lstrlib.c: Likewise.
9148 * script/lua/lualib.h: Likewise.
9149 * script/lua/ldo.c: Likewise.
9150 * script/lua/ldump.c: Likewise.
9151 * script/lua/ldo.h: Likewise.
9152 * script/lua/loslib.c: Likewise.
9153 * script/lua/lundump.c: Likewise.
9154 * script/lua/grub_lib.c: Likewise.
9155 * script/lua/ldblib.c: Likewise.
9156 * script/lua/lundump.h: Likewise.
9157 * script/lua/lmem.c: Likewise.
9158 * script/lua/grub_lib.h: Likewise.
9159 * script/lua/lmathlib.c: Likewise.
9160 * script/lua/lstate.c: Likewise.
9161 * script/lua/ltm.c: Likewise.
9162 * script/lua/lvm.c: Likewise.
9163 * script/lua/lmem.h: Likewise.
9164 * script/lua/lstate.h: Likewise.
9165 * script/lua/ltm.h: Likewise.
9166 * script/lua/ltable.c: Likewise.
9167 * script/lua/lvm.h: Likewise.
9168 * script/lua/llex.c: Likewise.
9169 * script/lua/lgc.c: Likewise.
9170 * script/lua/grub_lua.h: Likewise.
9171 * script/lua/loadlib.c: Likewise.
9172 * script/lua/lfunc.c: Likewise.
9173 * script/lua/lopcodes.c: Likewise.
9174 * script/lua/lparser.c: Likewise.
9175 * script/lua/ltable.h: Likewise.
9176 * script/lua/llex.h: Likewise.
9177 * script/lua/lgc.h: Likewise.
9178 * script/lua/lfunc.h: Likewise.
9179 * script/lua/lbaselib.c: Likewise.
9180 * script/lua/lopcodes.h: Likewise.
9181 * script/lua/lparser.h: Likewise.
9182 * script/lua/lzio.c: Likewise.
9183 * script/lua/linit.c: Likewise.
9184 * script/lua/lobject.c: Likewise.
9185 * script/lua/llimits.h: Likewise.
9186 * script/lua/lstring.c: Likewise.
9187 * script/lua/lzio.h: Likewise.
9188 * script/lua/lapi.c: Likewise.
9189 * script/lua/lcode.c: Likewise.
9190 * script/lua/lua.h: Likewise.
9191 * script/lua/lobject.h: Likewise.
9192 * script/lua/lstring.h: Likewise.
9193 * script/lua/lapi.h: Likewise.
9194 * script/lua/lcode.h: Likewise.
9195 * script/lua/luaconf.h: Likewise.
9196
9197 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
9198
9199 * docs/grub.texi (Command-line and menu entry commands): Document
9200 date and echo commands.
9201
9202 2009-09-24 Pavel Roskin <proski@gnu.org>
9203
9204 * include/grub/kernel.h (struct grub_module_header): Remove
9205 `grub_module_header_types'. Make `type' unsigned. Make `size'
9206 32-bit on all platforms.
9207 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9208 8-bit field. Use grub_host_to_target32() for `size'.
9209 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9210 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9211 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9212
9213 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9214
9215 Fix "lost keypress" bug in at_keyboard.
9216
9217 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9218 Checks for readyness of input buffer (without flushing it).
9219 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9220 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9221
9222 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9223
9224 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9225 size check within GRUB_MACHINE_PCBIOS section.
9226
9227 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9228
9229 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9230 return value.
9231 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9232 KEYBOARD_ISREADY check.
9233 (grub_at_keyboard_checkkey): Rename to ...
9234 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9235 Remove gratuitous cast.
9236
9237 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9238
9239 * configure.ac: Call AC_PROG_MKDIR_P.
9240 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9241 version.texi in $(builddir) rather than $(srcdir).
9242 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9243 to makeinfo's @include search path.
9244
9245 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9246
9247 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9248
9249 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9250
9251 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9252 for `*.dpkg-new'.
9253
9254 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9255
9256 Build info documentation. Some code borrowed from Automake.
9257
9258 * configure.ac: Check for makeinfo.
9259 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9260 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9261 docs/version.texi.
9262 (MOSTLYCLEANFILES): Add vti.tmp.
9263 (docs/version.texi, docs/stamp-vti): Update automatically.
9264 (docs/grub.info): Build info documentation. Use --force and ignore
9265 errors for now.
9266 (all-local): Add $(INFOS).
9267 (install-local): Install info files.
9268 (uninstall): Uninstall info files.
9269 * docs/version.texi: Remove from revision control. This file is
9270 automatically generated on build now.
9271 * gendistlist.sh: Add `*.info'.
9272
9273 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9274
9275 * kern/term.c: Fix indentation.
9276
9277 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9278
9279 * util/hostdisk.c: Fix a comment.
9280
9281 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9282
9283 Fix regression introduced in r2539.
9284
9285 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9286 to 0xA1.
9287
9288 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9289
9290 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9291 os-prober. Under normal operation, it does not print anything to
9292 stderr; if it does, we need to debug it, and throwing away stderr
9293 makes that excessively difficult.
9294
9295 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9298
9299 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9300
9301 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9302 AC_LANG_PROGRAM from autoconf.
9303 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9304 prototypes (fixes warning).
9305
9306 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9307 `--disable-werror' was used.
9308
9309 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9310
9311 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9312 uninitialized `lastaddr'.
9313
9314 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9317
9318 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9319
9320 * commands/test.c (get_fileinfo): Return immediately if
9321 grub_fs_probe fails.
9322
9323 2009-09-14 José Martínez <xosemp@gmail.com>
9324
9325 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9326
9327 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9328
9329 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9330 output.
9331
9332 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9333
9334 * configure.ac: Remove --enable-grub-pe2elf. Only build
9335 grub-pe2elf when needed by the build system itself.
9336 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9337
9338 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9339
9340 * configure.ac: Bump version to 1.97~beta3.
9341 * docs/version.texi: Likewise.
9342
9343 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9344
9345 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9346 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9347 from here ...
9348 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9349 (grub_linux_setup_video): ... to here (with some adjustments).
9350
9351 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9352
9353 Fix memory corruption issue (spotted by Colin Watson).
9354
9355 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9356 causing returned size to be stored in an incorrect memory location.
9357 Fix use of uninitialized value when storing the returned size.
9358
9359 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9360
9361 Change clean rules to properly remove files
9362
9363 * genmk.rb: add new clean rules
9364 * Makefile.in (clean): add the new targets
9365 (mostlyclean): likewise
9366
9367 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9368
9369 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9370 to grub_uint64_t.
9371 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9372 non-resident files.
9373
9374 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9375
9376 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9377 part of bug #27349.
9378
9379 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9380
9381 * util/grub-mkconfig.in: Make the created config mode 400 and
9382 print a warning if it fails.
9383
9384 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9385
9386 * util/grub.d/40_custom.in: Ask user to type custom entries below
9387 comment, rather than below 'exec tail' line.
9388
9389 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9390
9391 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9392 visible in grub.cfg.
9393
9394 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9395
9396 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9397 file.
9398
9399 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9400
9401 * docs/grub.cfg: Add an example menu entry for memtest86+.
9402
9403 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9404
9405 * config.guess: Update to latest version from config git.
9406 * config.sub: Likewise.
9407
9408 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9409
9410 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9411 unknown-command case. Fixes bug #27320.
9412
9413 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9414
9415 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9416 `help' if the command exists.
9417
9418 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9419
9420 * INSTALL: Require GCC 4.1.3 or later.
9421
9422 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9423
9424 * Makefile.in (RMKFILES): add i386-qemu.rmk
9425 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9426 $(srcdir)/stamp-h.in
9427
9428 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9429
9430 * util/grub-probe.c (probe): Comment out buggy codepath, which
9431 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9432 should be re-enabled after 1.97.
9433
9434 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9435
9436 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9437 find searches for.
9438
9439 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9442 unnecessary calls to grub_error.
9443
9444 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9445
9446 * NEWS: Mention `keystatus' and Unicode fonts.
9447
9448 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9449
9450 * configure.ac: Bump version to 1.97~beta2.
9451 * docs/version.texi: Likewise.
9452
9453 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9454
9455 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9456 containing unwind information in some cases where it previously did
9457 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9458 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9459 discussion.
9460
9461 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9462
9463 Embedding loadenv module into grub-emu
9464
9465 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9466 commands/loadenv.c
9467 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9468 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9469 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9472 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9473
9474 2009-09-03 Magnus Granberg <zorry@ume.nu>
9475
9476 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9477 include -fPIE in the default specs.
9478 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9479 to TARGET_CFLAGS.
9480
9481 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9482
9483 * INSTALL: Note that GNU Bison 2.3 or later is required.
9484
9485 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9486
9487 * kern/i386/pc/startup.S: Fix typo.
9488
9489 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9492 according to GCS.
9493
9494 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9495
9496 * docs/grub.texi (Naming convention): Describe one-based partition
9497 numbering.
9498 (Device syntax): Likewise.
9499 (File name syntax): Likewise.
9500 (Block list syntax): Likewise.
9501 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9502 menu.lst.
9503 (File name syntax): Likewise.
9504 (Command-line and menu entry commands): Document acpi, blocklist,
9505 crc, export, insmod, keystatus, ls, set, and unset commands.
9506
9507 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9508
9509 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9510 to avoid implying that only one of --shift, --ctrl, or --alt may be
9511 used.
9512
9513 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9514
9515 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9516 rather than comparing against S_IFREG, which will almost never work.
9517
9518 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9521 (write_blocklists): Likewise.
9522
9523 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9526 argument to grub_printf.
9527
9528 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9529
9530 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9531 non GNU test.
9532
9533 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * kern/file.c (grub_file_read): Spelling fix
9536
9537 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9540 loading of headers in some cases.
9541
9542 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9543
9544 * configure.ac: Bump version to 1.97~beta1.
9545 * docs/version.texi: Likewise.
9546
9547 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * include/grub/i386/xnu.h: Add license header.
9550 include grub/err.h explicitly.
9551
9552 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9553
9554 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9555 to `ufs' in the vfs.root.mountfrom kernel parameter.
9556
9557 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9558
9559 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9560
9561 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9562 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9563
9564 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9565 `ARRAY_SIZE' macro.
9566
9567 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * kern/file.c (grub_file_read): Check offset.
9570 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9571 * fs/jfs.c (grub_jfs_read_file): Likewise.
9572 * fs/ntfs.c (grub_ntfs_read): Likewise.
9573 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9574 * fs/minix.c (grub_minix_read_file): Correct offset check.
9575 * fs/ufs.c (grub_ufs_read_file): Likewise.
9576
9577 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9578
9579 * term/i386/pc/console.c (bios_data_area): Cast
9580 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9581
9582 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 1-bit optimised blitters.
9585
9586 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9587 prototype.
9588 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9589 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9590 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9591 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9592 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9593 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9594 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9595 function.
9596 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9597 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9598 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9599 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9600 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9601 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9602 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9603 when possible.
9604 * video/video.c (grub_video_get_blit_format): Return
9605 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9606
9607 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9608
9609 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9610 the first argument to grub_printf.
9611
9612 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9613 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9614
9615 Add `getkeystatus' terminal method. Add a new `keystatus' command
9616 to query it.
9617
9618 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9619 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9620 modifier key bitmasks.
9621 (struct grub_term_input): Add `getkeystatus' member.
9622 (grub_getkeystatus): Add prototype.
9623 * kern/term.c (grub_getkeystatus): New function.
9624
9625 * include/grub/i386/pc/memory.h
9626 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9627 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9628 Data Area layout.
9629 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9630 (grub_console_term_input): Set `getkeystatus' member.
9631 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9632 constants.
9633 (grub_usb_keyboard_getreport): Likewise.
9634 (grub_usb_keyboard_checkkey): Likewise.
9635 (grub_usb_keyboard_getkeystatus): New function.
9636 (grub_usb_keyboard_term): Set `getkeystatus' member.
9637
9638 * commands/keystatus.c: New file.
9639 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9640 (keystatus_mod_SOURCES): New variable.
9641 (keystatus_mod_CFLAGS): Likewise.
9642 (keystatus_mod_LDFLAGS): Likewise.
9643 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9644 commands/keystatus.c.
9645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9646 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9647 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9651
9652 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 Split befs.mod and afs.mod into *_be.mod and *.mod
9655
9656 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9657 (grub_fstest_SOURCES): Likewise.
9658 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9659 (afs_be_mod_SOURCES): New variable.
9660 (afs_be_mod_CFLAGS): Likewise.
9661 (afs_be_mod_LDFLAGS): Likewise.
9662 (befs_be_mod_SOURCES): Likewise.
9663 (befs_be_mod_CFLAGS): Likewise.
9664 (befs_be_mod_LDFLAGS): Likewise.
9665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9667 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9668 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9669 (grub_emu_SOURCES): Likewise.
9670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9672 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9673 * fs/afs_be.c: New file.
9674 * fs/befs_be.c: New file.
9675 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9676 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9677 (U16): Replaced with ...
9678 (grub_afs_to_cpu16): ...this. All users updated.
9679 (U32): Replaced with ...
9680 (grub_afs_to_cpu32): ...this. All users updated.
9681 (U64): Replaced with ...
9682 (grub_afs_to_cpu64): ...this. All users updated.
9683 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9684 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9685 (grub_afs_validate_sblock): Check only one endianness.
9686 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9687 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9688 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9689 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9690 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9691 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9692 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9693 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9694
9695 2009-08-26 Bean <bean123ch@gmail.com>
9696
9697 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9698 64-bit number.
9699 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9700 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9701 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9702
9703 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 NetBSD memory map support.
9706
9707 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9708 (grub_netbsd_btinfo_mmap_header): New structure.
9709 (grub_netbsd_btinfo_mmap_entry): Likewise.
9710 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9711
9712 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 Enable bsd.mod on coreboot.
9715
9716 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9717 (bsd_mod_SOURCES): New variable.
9718 (bsd_mod_CFLAGS): Likewise.
9719 (bsd_mod_LDFLAGS): Likewise.
9720 (bsd_mod_ASFLAGS): Likewise.
9721 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9722 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9723
9724 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 Cleanup NetBSD root support.
9727
9728 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9729 grub_bsd_get_device.
9730 Fix typo.
9731
9732 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9733
9734 * util/grub.d/00_header.in: Move check for the video backend of
9735 gfxterm from here ...
9736 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9737 a suitable video backend.
9738
9739 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 Fix breakage in grub-setup.
9742
9743 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9744 "msdos_partition_map".
9745
9746 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 Fix breakage in normal/auth.c.
9749
9750 * normal/auth.c (grub_iswordseparator): New function.
9751
9752 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 Authentication support.
9755
9756 * commands/password.c: New file.
9757 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9758 (password_mod_SOURCES): New variable.
9759 (password_mod_CFLAGS): Likewise.
9760 (password_mod_LDFLAGS): Likewise.
9761 (normal_mod_SOURCES): Add normal/auth.c.
9762 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9763 normal/auth.c.
9764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9769 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9770 * include/grub/auth.h: New file.
9771 * include/grub/err.h (grub_err_t): New enum value
9772 GRUB_ERR_ACCESS_DENIED.
9773 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9774 'users'.
9775 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9776 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9777 users updated.
9778 * normal/auth.c: New file.
9779 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9780 (grub_cmdline_run): Don't allow to go to command line without
9781 authentication.
9782 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9783 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9784 menuentry without superuser rights.
9785 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9786 user isn't a superuser.
9787
9788 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Save space by inlining misc.c functions.
9791
9792 * kern/misc.c (grub_iswordseparator): Made static.
9793 * kern/misc.c (grub_strcat): Moved from here ...
9794 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9795 * kern/misc.c (grub_strncat): Moved from here ...
9796 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9797 * kern/misc.c (grub_strcasecmp): Moved from here ...
9798 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9799 * kern/misc.c (grub_strncasecmp): Moved from here ...
9800 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9801 * kern/misc.c (grub_isalpha): Moved from here ...
9802 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9803 * kern/misc.c (grub_isdigit): Moved from here ...
9804 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9805 * kern/misc.c (grub_isgraph): Moved from here ...
9806 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9807 * kern/misc.c (grub_tolower): Moved from here ...
9808 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9809
9810 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * script/sh/function.c (grub_script_function_find): Cut error message
9813 not to flood terminal.
9814 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9815 limit.
9816 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9817
9818 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9819
9820 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9821 `report' grub_uint8_t *.
9822 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9823 Use a 50-millisecond timeout rather than just repeating
9824 grub_usb_keyboard_getreport 50 times.
9825 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9826
9827 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 Rename *_partition_map to part_*
9830
9831 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9832 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9833 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9834 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9835 All users updated.
9836 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9837 All users updated.
9838 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9839 * util/grub-probe.c (probe_partmap): Don't transform partition name
9840 to get module name.
9841
9842 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 Fix OpenBSD and NetBSD support.
9845
9846 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9847 memory address conflict.
9848 (OPENBSD_MMAP_ACPI): New definition.
9849 (OPENBSD_MMAP_NVS): Likewise.
9850 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9851 and OPENBSD_MMAP_NVS.
9852 Add memory map terminator
9853 Explicit cast when calling grub_unix_real_boot.
9854 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9855
9856 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 Let user specify NetBSD root device.
9859
9860 * loader/i386/bsd.c (netbsd_root): New variable.
9861 (netbsd_opts): New option 'root'.
9862 (NETBSD_ROOT_ARG): New macro.
9863 (grub_netbsd_boot): Use 'netbsd_root'.
9864 (grub_bsd_unload): Free 'netbsd_root'.
9865 (grub_cmd_netbsd): Fill 'netbsd_root'.
9866
9867 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Support for 64-bit NetBSD.
9870
9871 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9872 point when booting non-FreeBSD.
9873
9874 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 Support --no-smp and --no-acpi for NetBSD.
9877
9878 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9879 (NETBSD_AB_NOACPI): Likewise.
9880 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9881 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9882
9883 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9886 errors.
9887 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9888 errors. Call grub_error when needed.
9889
9890 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * commands/search.c (search_fs): Try searching without autoload first.
9893 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9894 filesystem module explicitly for faster booting.
9895
9896 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9897
9898 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9899
9900 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * util/grub.d/30_os-prober.in: Disable os-prober if
9903 `GRUB_DISABLE_OS_PROBER' was set to true.
9904
9905 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9906
9907 * partmap/pc.c: Rename to ...
9908 * partmap/msdos.c: ... this. Update all users.
9909 (grub_pc_partition_map): Rename to ...
9910 (grub_msdos_partition_map): ... this. Update all users.
9911
9912 * parttool/pcpart.c: Rename to ...
9913 * parttool/msdospart.c: ... this. Update all users.
9914
9915 * include/grub/pc_partition.h: Rename to ...
9916 * include/grub/msdos_partition.h: ... this. Update all users.
9917 (grub_pc_partition_bsd_entry): Rename to ...
9918 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9919 (grub_pc_partition_disk_label): Rename to ...
9920 (grub_msdos_partition_disk_label): ... this. Update all users.
9921 (grub_pc_partition_entry): Rename to ...
9922 (grub_msdos_partition_entry): ... this. Update all users.
9923 (grub_pc_partition_mbr): Rename to ...
9924 (grub_msdos_partition_mbr): ... this. Update all users.
9925 (grub_pc_partition): Rename to ...
9926 (grub_msdos_partition): ... this. Update all users.
9927 (grub_pc_partition_is_empty): Rename to ...
9928 (grub_msdos_partition_is_empty): ... this. Update all users.
9929 (grub_pc_partition_is_extended): Rename to ...
9930 (grub_msdos_partition_is_extended): ... this. Update all users.
9931 (grub_pc_partition_is_bsd): Rename to ...
9932 (grub_msdos_partition_is_bsd): ... this. Update all users.
9933
9934 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9935 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9936 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9937 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9938 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9939 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9940 (gpt_mod_LDFLAGS): Rename to ...
9941 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9942 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9943 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9944 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9945 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9946 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9947 (part_gpt_mod_LDFLAGS): ... this.
9948 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9949 `pcpart.mod' to `msdospart.mod'.
9950 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9951 to ...
9952 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9953 (msdospart_mod_LDFLAGS): ... this.
9954
9955 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9958 (openbsd_opts): Likewise.
9959 (netbsd_opts): Likewise.
9960 (freebsd_flags): Added 0 terminator.
9961 (openbsd_flags): Likewise.
9962 (netbsd_flags): Likewise.
9963 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9964 (grub_cmd_freebsd): Transformed into extended command.
9965 (grub_cmd_openbsd): Likewise.
9966 (grub_cmd_netbsd): Likewise.
9967 (cmd_freebsd): Changed type to grub_extcmd_t.
9968 (cmd_openbsd): Likewise.
9969 (cmd_netbsd): Likewise.
9970 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9971 grub_cmd_openbsd as extended commands.
9972 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9973 cmd_netbsd and cmd_openbsd
9974
9975 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9978
9979 2009-08-21 Pavel Roskin <proski@gnu.org>
9980
9981 * Makefile.in (install-local): When checking if a file is in the
9982 build directory, use "test -e" to detect symlinks.
9983
9984 * Makefile.in (install-local): Remove all files in
9985 $(DESTDIR)$(pkglibdir) before installing new files there.
9986
9987 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9988
9989 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9990 grub-mkelfimage.
9991
9992 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9993
9994 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9995 explicitly specified by the user.
9996
9997 2009-08-18 Pavel Roskin <proski@gnu.org>
9998
9999 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10000 grub_uint8_t pointer for data.
10001 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10002 Likewise.
10003 * video/fb/fbutil.c: Remove unnecessary casts.
10004
10005 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10006
10007 VBE cleanup.
10008
10009 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10010 (grub_vbe_set_video_mode): Save active mode info
10011 only after setting the mode.
10012 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10013 second argument.
10014
10015 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10016
10017 Rename variables for clarity.
10018
10019 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10020 (active_vbe_mode_info): ... this. All users updated.
10021 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10022 All users updated.
10023 (initial_mode): Rename to ...
10024 (initial_vbe_mode): ... this. All users updated.
10025 (mode_in_use): Rename to ..
10026 (vbe_mode_in_use): ... this. All users updated.
10027 (mode_list): Rename to ..
10028 (vbe_mode_list): ... this. All users updated.
10029 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10030 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10031 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10032 'mode_list_size' to 'vbe_mode_list_size'.
10033 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10034 'best_mode_info' to 'best_vbe_mode_info' and
10035 'best_mode' to 'best_vbe_mode'
10036
10037 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10038
10039 Remove duplicate grub_video_fb_get_video_ptr.
10040
10041 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10042 (grub_video_fb_get_video_ptr): ... this.
10043 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10044 * video/fb/fbutil.c: Add comment about addressing.
10045 (get_data_ptr): Rename to ...
10046 (grub_video_fb_get_video_ptr): ... this. All users updated.
10047 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10048
10049 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10050
10051 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10052 grub_dprintf() that was just added.
10053
10054 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10055
10056 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10057 (DEFAULT_VIDEO_MODE): Remove macros.
10058 (grub_linux_boot): Remove assumption that Linux has FB support,
10059 and use "text" as default video mode.
10060
10061 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10064 grub_dprintf.
10065 * fs/fat.c (grub_fat_read_data): Likewise.
10066
10067 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10070 payload.
10071 (grub_module): Likewise.
10072
10073 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10076 mbi->cmdline but free playground.
10077
10078 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 Handle group offset on UFS1.
10081
10082 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10083 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10084
10085 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 Split ufs.mod into ufs1.mod and ufs2.mod.
10088
10089 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10090 (grub_fstest_SOURCES): Likewise.
10091 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10092 (ufs_mod_SOURCES): Remove.
10093 (ufs_mod_CFLAGS): Likewise.
10094 (ufs_mod_LDFLAGS): Likewise.
10095 (ufs1_mod_SOURCES): New variable.
10096 (ufs1_mod_CFLAGS): Likewise.
10097 (ufs1_mod_LDFLAGS): Likewise.
10098 (ufs2_mod_SOURCES): New variable.
10099 (ufs2_mod_CFLAGS): Likewise.
10100 (ufs2_mod_LDFLAGS): Likewise.
10101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10102 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10103 Likewise.
10104 (grub_emu_SOURCES): Likewise.
10105 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10106 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10107 (grub_setup_SOURCES): Likewise.
10108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10109 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10110 (grub_setup_SOURCES): Likewise.
10111 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10112 Likewise.
10113 * fs/ufs2.c: New file.
10114 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10115
10116 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 Framebuffer split.
10119
10120 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10121 subsystem at the end.
10122 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10123 (video_fb_mod_SOURCES): New variable.
10124 (video_fb_mod_CFLAGS): Likewise.
10125 (video_fb_mod_LDFLAGS): Likewise.
10126 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10127 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10128 * video/i386/pc/vbeblit.c: Moved from here ...
10129 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10130 * video/i386/pc/vbefill.c: Moved from here ...
10131 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10132 * video/i386/pc/vbeutil.c: Moved from here ...
10133 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10134 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10135 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10136 * include/grub/i386/pc/vbefill.h: Moved from here ...
10137 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10138 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10139 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10140 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10141 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10142 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10143 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10144 (grub_video_adapter): Added 'get_info_and_fini'.
10145 (grub_video_get_info_and_fini): New prototype.
10146 (grub_video_set_mode): make modestring const char *.
10147 * loader/i386/linux.c (grub_linux_setup_video): Use
10148 grub_video_get_info_and_fini.
10149 (grub_linux_boot): Move modesetting just before booting.
10150 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10151 grub_video_get_info_and_fini.
10152 * video/i386/pc/vbe.c: Moved framebuffer part ...
10153 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10154 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10155 grub_video_fbstd_colors and grub_video_fb_set_palette.
10156 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10157 grub_video_fb_init.
10158 (grub_video_vbe_fini): Use grub_video_fb_fini.
10159 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10160 render_target and use grub_video_fb_set_active_render_target and
10161 grub_video_fb_set_palette.
10162 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10163 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10164 (grub_video_vbe_adapter): Use framebuffer.
10165 * video/video.c (grub_video_get_info_and_fini): New function.
10166 (grub_video_set_mode): Make modestring const char *.
10167 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10168 values are already initialised.
10169
10170 2009-08-14 Pavel Roskin <proski@gnu.org>
10171
10172 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10173 ABS and APPLE_CC.
10174 * boot/i386/pc/diskboot.S: Likewise.
10175 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10176 sectors allow compilation on MacOSX.
10177 * conf/i386-pc.rmk: Enable unconditional compilation of
10178 lnxboot.img.
10179
10180 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
10181
10182 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10183 * util/grub.d/00_header.in: Enter interruptible sleep if
10184 GRUB_HIDDEN_TIMEOUT is set.
10185
10186 2009-08-13 Yves Blusseau <blusseau@zetam.org>
10187
10188 * include/grub/symbol.h: Add the LOCAL macro.
10189 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10190 starting with "L_".
10191
10192 2009-08-13 Pavel Roskin <proski@gnu.org>
10193
10194 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10195 any modern compilers we support.
10196
10197 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10198 Use local labels starting with "L_" so that Apple assembler
10199 knows they are local.
10200
10201 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10202
10203 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10204 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10205 (bsd_kernel_types): ... this enum.
10206
10207 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10208 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10209 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10210
10211 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10212 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10213 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10214 messages.
10215
10216 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10217
10218 * util/grub-dumpdevtree: Moved from here ...
10219 * util/i386/efi/grub-dumpdevtree: ... to here.
10220 (hexify): New function. Converts a string to its hex version.
10221 Generate hex versions of "efi" and "device-properties" by calling
10222 hexify() on the ASCII strings rather than by hardcoding numbers.
10223
10224 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10225
10226 * fs/jfs.c: Update copyright year.
10227
10228 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10229
10230 * util/grub.d/00_header.in: Fix a comment.
10231 * util/grub.d/10_linux.in: Likewise.
10232 * util/grub.d/10_windows.in: Likewise.
10233 * util/grub.d/10_hurd.in: Likewise.
10234
10235 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10236
10237 * util/grub-mkconfig.in: Allow the user to specify the used font
10238 with GRUB_FONT.
10239
10240 2009-08-08 Pavel Roskin <proski@gnu.org>
10241
10242 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10243 available, xfs.mod needs it now.
10244
10245 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10246 the "g" modifier in sed when the intention is to strip something
10247 once. This fixes comparison of kernels with multiple dashes.
10248
10249 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10250 on it. Add missing space before closing bracket. Fix
10251 misleading formatting.
10252
10253 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10254
10255 * docs/grub.texi: Major overhaul. Remove all sections that are
10256 specific to GRUB Legacy, or mostly composed of Legacy-specific
10257 information.
10258
10259 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10260
10261 * docs/version.texi: New file. Provides version information for
10262 grub.texi.
10263
10264 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10265
10266 * docs/grub.texi: Update CVS information to SVN.
10267 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10268
10269 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10270
10271 * util/grub-mkconfig.in: Remove a wrong `fi'.
10272
10273 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10274
10275 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10276 (grub_jfs_uuid): New function.
10277 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10278
10279 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10280
10281 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10282 of it to ...
10283 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10284 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10285
10286 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10287
10288 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10289 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10290 Update all users.
10291
10292 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10293 not just "vmlinu[zx]".
10294 Moved from here ...
10295 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10296 all users.
10297
10298 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10299 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10300 all users.
10301
10302 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10303
10304 * util/grub.d/10_freebsd.in: Use an absolute device path for
10305 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10306
10307 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10308
10309 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10310 handling of multiple abstraction modules.
10311
10312 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10313
10314 Fix a bug resulting in black screen when loading Linux using a
10315 packed video mode.
10316
10317 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10318 function.
10319
10320 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10321 (grub_vbe_bios_getset_dac_palette_width): New function.
10322 (grub_vbe_bios_get_dac_palette_width)
10323 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10324 grub_vbe_bios_getset_dac_palette_width()).
10325
10326 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10327 check for return status.
10328 (grub_vbe_get_video_mode_info): When getting information for a packed
10329 mode (<= 8 bpp), obtain DAC palette width using
10330 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10331 {red,green,blue}_mark_size.
10332
10333 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10334
10335 * commands/search.c (options): Fix help output to match actual code.
10336
10337 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10340 of homegrown code.
10341
10342 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10345 on XFS or ReiserFS.
10346
10347 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Support Apple partition map with sector size different from 512 bytes.
10350
10351 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10352 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10353 and 'apart.partmap_size'.
10354
10355 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10356 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10357
10358 Fix cpuid command.
10359
10360 * commands/i386/cpuid.c (options): New variable.
10361 (grub_cmd_cpuid): Return real error.
10362 (GRUB_MOD_INIT(cpuid)): Declare options.
10363
10364 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10367 valid.
10368
10369 2009-07-31 Bean <bean123ch@gmail.com>
10370
10371 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10372 log2_inode.
10373 (grub_fshelp_node): Move inode field to the end.
10374 (grub_xfs_data): Remove inode field.
10375 (grub_xfs_inode_block): Calculate inode size using sblock.
10376 (grub_xfs_inode_offset): Likewise.
10377 (grub_xfs_read_inode): Calculate inode size using sblock.
10378 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10379 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10380 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10381 to match inode size.
10382 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10383 not accessible when data is null.
10384 (grub_xfs_open): Likewise.
10385
10386 2009-07-31 Bean <bean123ch@gmail.com>
10387
10388 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10389 Don't change pv->disk if it's already set.
10390
10391 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10392 (grub_raid_register): ... here.
10393 (grub_raid_rescan): Removed.
10394
10395 * include/grub/raid.h (grub_raid_rescan): Removed.
10396
10397 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10398 (fstest): Replace grub_raid_rescan with module fini function followed
10399 by init function.
10400
10401 * util/grub-probe.c: Add include file <grub/raid.h>.
10402 (probe_raid_level): New function.
10403 (probe): Detect abstraction by walking the disk device, support two
10404 level of abstraction (LVM on RAID) when detecting partition map.
10405
10406 2009-07-31 Pavel Roskin <proski@gnu.org>
10407
10408 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10409 to grub_zalloc(), it was erroneous.
10410 Reported by Bean <bean123ch@gmail.com>
10411
10412 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10415 embedding zone, not only the first one.
10416
10417 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10418
10419 * term/gfxterm.c (clear_char): New function.
10420 (grub_virtual_screen_setup): Use clear_char.
10421 (scroll_up): Likewise.
10422 (grub_virtual_screen_cls): Likewise.
10423
10424 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10425
10426 * util/deviceiter.c (get_acceleraid_disk_name): New static
10427 function.
10428 (grub_util_iterate_devices): Handle Accelraid devices.
10429 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10430
10431 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10432
10433 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10434 separator for the suggested gfxpayload string (';' collides with the
10435 parser and needs escaping).
10436
10437 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10440 Clear direction flag before jumping to OS.
10441 (grub_multiboot2_real_boot): Likewise.
10442
10443 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10444
10445 * util/i386/pc/grub-install: Fix parsing of --disk-module
10446 option.
10447
10448 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10449
10450 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10451 when embedding.
10452
10453 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10454
10455 * util/grub-mkconfig.in (package_version): New variable.
10456 Use it do display the version.
10457
10458 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10459
10460 * kern/file.c (grub_file_open): Revert to previous check with
10461 grub_errno.
10462
10463 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10466 from help line. It's out of sync with code.
10467
10468 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10471 entries on failed boot.
10472
10473 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10474
10475 * kern/file.c (grub_file_open): Fix an error check.
10476
10477 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10480 partition map couldn't be identified.
10481
10482 2009-07-23 Pavel Roskin <proski@gnu.org>
10483
10484 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10485 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10486 case of little endian words becomes just an optimization.
10487 Respect const modifier.
10488 (md5_final): Use code that doesn't depend on endianness.
10489
10490 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10491 to avoid loss of upper bits if align is unsigned and shorter
10492 than addr.
10493
10494 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 UUID support for UFS
10497
10498 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10499 (grub_ufs_uuid): New function.
10500 (grub_ufs_fs): add .uuid
10501
10502 2009-07-21 Pavel Roskin <proski@gnu.org>
10503
10504 * kern/dl.c (grub_dl_check_header): Make static.
10505
10506 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10507
10508 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10509 add drivemap for Vista. It breaks Windows 7.
10510
10511 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10514 128 bytes
10515
10516 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Add BFS support
10519
10520 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10521 (grub_fstest_SOURCES): Likewise.
10522 (pkglib_MODULES): Add befs.mod.
10523 (befs_mod_SOURCES): New variable.
10524 (befs_mod_CFLAGS): Likewise.
10525 (befs_mod_LDFLAGS): Likewise.
10526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10529 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10530 (grub_setup_SOURCES): Likewise.
10531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10533 (grub_setup_SOURCES): Likewise.
10534 * fs/befs.c: New file.
10535 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10536 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10537 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10538 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10539 (B_KEY_INDEX_ALIGN): New declaration.
10540 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10541 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10542 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10543 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10544 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10545 (grub_afs_mount) [MODE_BFS]: Likewise.
10546 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10547 (grub_afs_fs): Use GRUB_AFS_FSNAME
10548 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10549 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10550 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10551 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10552
10553 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10554
10555 * util/getroot.c (find_root_device): Add support for MacOSX.
10556 * util/hostdisk.c: Likewise.
10557
10558 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * font/font.c (find_glyph): Check whether a font is present to avoid
10561 segmentation fault.
10562
10563 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10564
10565 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10566
10567 2009-07-20 Pavel Roskin <proski@gnu.org>
10568
10569 * configure.ac: Trim excessively wordy excuses.
10570
10571 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 Add symlink, mtime and label support to AtheFS.
10574
10575 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10576 (grub_afs_iterate_dir): Handle symlinks.
10577 (grub_afs_open): Use grub_afs_read_symlink.
10578 (grub_afs_dir): Likewise.
10579 Pass mtime.
10580 (grub_afs_label): New function.
10581 (grub_afs_fs): Add grub_afs_label.
10582 (grub_afs_read_symlink): New function.
10583
10584 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 Fix AtheFS support.
10587
10588 * fs/afs.c: Fix comments style.
10589 (grub_afs_blockrun): Declare as packed.
10590 (grub_afs_datastream): Likewise.
10591 (grub_afs_bnode): Likewise.
10592 (grub_afs_btree): Likewise.
10593 (grub_afs_sblock): Likewise.
10594 Declare `name' as char.
10595 (grub_afs_inode): Declare as packed.
10596 Change void *vnode to grub_uint32_t unused.
10597 (grub_afs_iterate_dir): Check that key_size is positive.
10598 (grub_afs_mount): Don't read superblock twice.
10599 (grub_afs_dir): Don't free node in case of error,
10600 grub_fshelp_find_file already handles this.
10601 (grub_afs_open): Likewise.
10602
10603 2009-07-19 Pavel Roskin <proski@gnu.org>
10604
10605 * Makefile.in: Remove LIBLZO and enable_lzo.
10606 * conf/i386-pc.rmk: Remove lzo support.
10607 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10608 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10609 support.
10610 * kern/i386/pc/lzo1x.S: Remove.
10611 * kern/i386/pc/startup.S: Remove lzo support.
10612 * util/i386/pc/grub-mkimage.c: Likewise.
10613
10614 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10617 * fs/xfs.c (grub_xfs_dir): Likewise.
10618 * fs/afs.c (grub_afs_dir): Likewise.
10619 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10620 (grub_iso9660_open): Likewise.
10621 * fs/jfs.c (grub_jfs_open): Likewise.
10622 * fs/ext2.c (grub_ext2_dir): Likewise.
10623 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10624 * script/sh/lexer.c (grub_script_yylex): Likewise.
10625
10626 2009-07-16 Pavel Roskin <proski@gnu.org>
10627
10628 * configure.ac: Never add "-c" to CFLAGS.
10629
10630 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10631
10632 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10633 grub_cv_cc_efiemu should be used.
10634
10635 * configure.ac: Typo fixes.
10636
10637 * kern/mm.c (grub_zalloc): New function.
10638 (grub_debug_zalloc): Likewise.
10639 * include/grub/mm.h: Declare grub_zalloc() and
10640 grub_debug_zalloc().
10641 * util/misc.c (grub_zalloc): New function.
10642 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10643 instead of grub_malloc(), remove unneeded initializations.
10644 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10645 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10646 * commands/parttool.c (grub_cmd_parttool): Likewise.
10647 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10648 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10649 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10650 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10651 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10652 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10653 (grub_cmd_efiemu_pnvram): Likewise.
10654 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10655 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10656 (grub_iso9660_iterate_dir): Likewise.
10657 * fs/jfs.c (grub_jfs_opendir): Likewise.
10658 * fs/ntfs.c (list_file): Likewise.
10659 (grub_ntfs_mount): Likewise.
10660 * kern/disk.c (grub_disk_open): Likewise.
10661 * kern/dl.c (grub_dl_load_core): Likewise.
10662 * kern/elf.c (grub_elf_file): Likewise.
10663 * kern/env.c (grub_env_context_open): Likewise.
10664 (grub_env_set): Likewise.
10665 (grub_env_set_data_slot): Likewise.
10666 * kern/file.c (grub_file_open): Likewise.
10667 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10668 * loader/i386/multiboot.c (grub_module): Likewise.
10669 * loader/xnu.c (grub_xnu_create_key): Likewise.
10670 (grub_xnu_create_value): Likewise.
10671 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10672 (read_config_file): Likewise.
10673 * normal/menu_entry.c (make_screen): Likewise.
10674 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10675 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10676 * script/sh/script.c (grub_script_parse): Likewise.
10677 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10678 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10679 * video/readers/png.c (grub_png_output_byte): Likewise.
10680 (grub_video_reader_png): Likewise.
10681
10682 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 Enable all targets that can be built by default
10685
10686 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10687 grub-mkfont and grub-fstest if they can be built
10688
10689 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 Fix hang and segmentation fault in grub-emu-usb
10692
10693 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10694 * util/usb.c (grub_libusb_devices): likewise
10695 (grub_libusb_init): rename to ...
10696 (GRUB_MOD_INIT (libusb)):...this
10697 (grub_libusb_fini): rename to ..
10698 (GRUB_MOD_FINI (libusb)):...this
10699 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10700 * include/grub/disk.h (grub_raid_init): removed, it's useless
10701 (grub_raid_fini): likewise
10702 (grub_lvm_init): likewise
10703 (grub_lvm_fini): likewise
10704 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10705 by grub_init_all
10706
10707 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 Fix libusb
10710
10711 * Makefile.in (LIBUSB): new macro
10712 * genmk.rb (Utility/print_tail): new method
10713 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10714 (top level): call util.print_tail at the end.
10715
10716 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 Make FreeBSD accept zpool.cache
10719
10720 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10721 type is /boot/zfs/zpool.cache
10722
10723 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 Fix 64-bit efiemu
10726
10727 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10728 correct wrong typedef
10729 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10730
10731 2009-07-15 Pavel Roskin <proski@gnu.org>
10732
10733 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10734 * kern/disk.c (struct grub_disk_cache): Likewise.
10735
10736 * commands/probe.c (options): Typo fix.
10737
10738 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10739 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10740 accordingly.
10741 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10742
10743 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10744 the end of "Error" to make the message more readable.
10745
10746 * boot/i386/pc/boot.S (kernel_segment): Remove.
10747 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10748 for destination.
10749
10750 * boot/i386/pc/boot.S (boot_version): Remove.
10751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10752 Remove.
10753
10754 * include/grub/i386/pc/boot.h: Sort all offsets.
10755 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10756 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10757 * boot/i386/pc/boot.S: Assert location of every offset listed in
10758 include/grub/i386/pc/boot.h.
10759
10760 2009-07-13 Pavel Roskin <proski@gnu.org>
10761
10762 * include/grub/i386/coreboot/machine.h: Rename
10763 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10764 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10765 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10766
10767 * kern/dl.c: Force native word size to suppress warnings when
10768 compiling grub-emu.
10769
10770 * kern/device.c (grub_device_iterate): Change struct part_ent to
10771 hold the name, not a pointer to it. Use one grub_malloc() per
10772 partition, not two. Free partition_name if grub_malloc() fails.
10773 Set ents to NULL only before grub_partition_iterate() is called.
10774
10775 2009-07-11 Bean <bean123ch@gmail.com>
10776
10777 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10778 childname.
10779
10780 2009-07-10 Bean <bean123ch@gmail.com>
10781 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10782
10783 * kern/ieee1275/openfw.c (grub_children_iterate)
10784 (grub_devalias_iterate): Fix size evaluation for property or path
10785 strings, which was broken since r2132.
10786
10787 2009-07-07 Pavel Roskin <proski@gnu.org>
10788
10789 * commands/search.c (search_file): Merge into ...
10790 (search_fs): ... this. Accept search type as argument.
10791 (grub_cmd_search): Pass search type to search_fs().
10792
10793 * include/grub/util/console.h: New file.
10794 * util/console.c: Use it instead of grub/machine/console.h.
10795 * util/grub-emu.c: Likewise.
10796
10797 * lib/arg.c (find_long_option): Remove.
10798 (find_long): Add `len' argument, make `s' const char *.
10799 (grub_arg_parse): Parse long options in place, not in a
10800 temporary buffer.
10801
10802 2009-07-06 Pavel Roskin <proski@gnu.org>
10803
10804 * commands/search.c (search_fs): Fix potential NULL pointer
10805 dereference.
10806
10807 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10808 function pointer.
10809
10810 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10811
10812 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10813 comparison.
10814
10815 2009-07-05 Pavel Roskin <proski@gnu.org>
10816
10817 * include/grub/i386/linux.h (struct linux_kernel_params):
10818 Restore padding3, it's still needed.
10819
10820 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10821 FreeBSD.
10822 * util/osdetect.lua: Likewise.
10823
10824 2009-07-05 Bean <bean123ch@gmail.com>
10825
10826 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10827
10828 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10829 (grub_lua_getenv): Likewise.
10830 (grub_lua_setenv): Likewise.
10831 (save_errno): New function.
10832 (push_result): Likewise.
10833 (grub_lua_enum_device): Likewise.
10834 (grub_lua_enum_file): Likewise.
10835 (grub_lua_file_open): Likewise.
10836 (grub_lua_file_close): Likewise.
10837 (grub_lua_file_seek): Likewise.
10838 (grub_lua_file_read): Likewise.
10839 (grub_lua_file_getline): Likewise.
10840 (grub_lua_file_getsize): Likewise.
10841 (grub_lua_file_getpos): Likewise.
10842 (grub_lua_file_eof): Likewise.
10843 (grub_lua_file_exist): Likewise.
10844 (grub_lua_add_menu): Likewise.
10845
10846 * script/lua/grub_lua.h (isupper): New inline function.
10847 (islower): Likewise.
10848 (ispunct): Likewise.
10849 (isxdigit): Likewise.
10850 (strcspn): Change to normal function.
10851 (strpbkr): New function declaration.
10852 (memchr): Likewise.
10853
10854 * script/lua/grub_main.c (scan_str): New function.
10855 (strcspn): Likewise.
10856 (strpbrk): Likewise.
10857 (memchr): Likewise.
10858
10859 * script/lua/linit.c (lualibs): Enable the string library.
10860
10861 * util/osdetect.lua: New file.
10862
10863 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10864
10865 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10866 `capabilities' member.
10867
10868 2009-07-02 Pavel Roskin <proski@gnu.org>
10869
10870 * genparttoollist.sh: Add missing newline at the end.
10871
10872 2009-07-01 Pavel Roskin <proski@gnu.org>
10873
10874 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10875
10876 * util/hostdisk.c (open_device): Remove `const' from
10877 `sysctl_size', as sysctlbyname() can change it (in this case it
10878 doesn't actually happen).
10879
10880 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10881 using signed long int constants.
10882
10883 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10884 constant to avoid a warning on FreeBSD.
10885
10886 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10887 where it's needed.
10888
10889 * Makefile.in: Install include/grub/machine symlink.
10890
10891 * Makefile.in: When installing symlinks, use "cp -fR", which
10892 works on FreeBSD and MacOSX.
10893 From Yves Blusseau <cl7m42e02@sneakemail.com>
10894
10895 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10896 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10897
10898 * util/misc.c: Move grub_reboot() and grub_halt() ...
10899 * util/grub-emu.c: ... here. Make main_env static.
10900 * include/grub/util/misc.h: Remove main_env.
10901
10902 * kern/mm.c: Use correct format to print size_t.
10903
10904 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10905 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10906 * kern/powerpc/dl.c: Likewise.
10907 * kern/sparc64/dl.c: Likewise.
10908 * kern/x86_64/dl.c: Likewise.
10909
10910 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10911
10912 Fix grub-emu build on sparc64-ieee1275.
10913
10914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10916
10917 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10918
10919 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10920 (grub_reboot, grub_halt): New functions.
10921
10922 * util/i386/pc/misc.c: Delete. Update all users.
10923 * util/sparc64/ieee1275/misc.c: Likewise.
10924 * util/powerpc/ieee1275/misc.c: Likewise.
10925
10926 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10927
10928 * conf/i386.rmk (setjmp_mod_SOURCES)
10929 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10930 * conf/common.rmk (setjmp_mod_SOURCES)
10931 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10932 to use $(target_cpu).
10933 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10934 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10935 * conf/powerpc-ieee1275.rmk: Likewise.
10936 * conf/sparc64-ieee1275.rmk: Likewise.
10937
10938 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10939 $(target_cpu) for kern/$(target_cpu)/dl.c.
10940 * conf/i386-efi.rmk: Likewise.
10941 * conf/i386-ieee1275.rmk: Likewise.
10942 * conf/x86_64-efi.rmk: Likewise.
10943 * conf/i386-coreboot.rmk: Likewise.
10944 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10945 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10946 kern/$(target_cpu)/cache.S.
10947 * conf/sparc64-ieee1275.rmk: Likewise.
10948
10949 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10950
10951 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10952 type to `grub_uint8_t', and adjust `padding9' accordingly.
10953
10954 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10955
10956 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10957
10958 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10959 assembly in final jump, using register constraints.
10960
10961 (grub_linux_boot): For text mode, initialize `have_vga' using
10962 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10963
10964 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10965 right before the final jump.
10966
10967 Set `video_mode' to 0x3.
10968
10969 Document initialization of `video_page', `video_mode' and
10970 `video_ega_bx'.
10971
10972 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10973
10974 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10975 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10976 and set GRUB_LINUX_FLAG_QUIET appropriately.
10977
10978 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10979
10980 Fix build on Debian / sparc.
10981
10982 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10983
10984 2009-06-28 Pavel Roskin <proski@gnu.org>
10985
10986 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10987 fix a warning.
10988
10989 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10990
10991 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10992
10993 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10994 `err'.
10995
10996 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10997
10998 Revert r2338.
10999
11000 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11001 file can't be opened. grub_file_open() is already supposed to set
11002 grub_errno / grub_errmsg appropriately.
11003 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11004
11005 2009-06-27 Pavel Roskin <proski@gnu.org>
11006 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11007
11008 * include/grub/dl.h: Include grub/elf.h.
11009 (struct grub_dl): Add symtab field.
11010 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11011 GRUB_MODULES_MACHINE_READONLY.
11012 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11013 of the header for read-only modules.
11014 (grub_dl_unload): Free mod->symtab for read-only modules.
11015 * kern/i386/dl.c: Use mod->symtab.
11016 * kern/powerpc/dl.c: Likewise.
11017 * kern/sparc64/dl.c: Likewise.
11018 * kern/x86_64/dl.c: Likewise.
11019
11020 * conf/i386-qemu.rmk: New file.
11021 * kern/i386/qemu/startup.S: Likewise.
11022 * kern/i386/qemu/mmap.c: Likewise.
11023 * boot/i386/qemu/boot.S: Likewise.
11024 * include/grub/i386/qemu/time.h: Likewise.
11025 * include/grub/i386/qemu/serial.h: Likewise.
11026 * include/grub/i386/qemu/kernel.h: Likewise.
11027 * include/grub/i386/qemu/console.h: Likewise.
11028 * include/grub/i386/qemu/boot.h: Likewise.
11029 * include/grub/i386/qemu/init.h: Likewise.
11030 * include/grub/i386/qemu/machine.h: Likewise.
11031 * include/grub/i386/qemu/loader.h: Likewise.
11032 * include/grub/i386/qemu/memory.h: Likewise.
11033
11034 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11035 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11036 [qemu] (pkglib_IMAGES): Add `boot.img'.
11037 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11038 [qemu] (boot_img_FORMAT): New variables.
11039 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11040 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11041 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11042 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11043 [qemu] (kernel_img_FORMAT): New variables.
11044
11045 * configure.ac: Recognise `i386-qemu'.
11046
11047 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11048 (for no compression).
11049 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11050 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11051 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11052 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11053 ifdefs).
11054
11055 2009-06-27 Pavel Roskin <proski@gnu.org>
11056
11057 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11058 read.
11059 * efiemu/prepare32.c: Likewise.
11060 * efiemu/prepare64.c: Likewise.
11061
11062 2009-06-26 Pavel Roskin <proski@gnu.org>
11063
11064 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11065 * include/grub/elf.h: Define symbols without "32" or "64" based
11066 on GRUB_TARGET_WORDSIZE.
11067 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11068 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11069 ELF definitions.
11070 * efiemu/loadcore64.c: Likewise.
11071 * loader/i386/bsd32.c: Likewise.
11072 * loader/i386/bsd64.c: Likewise.
11073 * kern/dl.c: Remove own ELF definitions.
11074 * util/i386/efi/grub-mkimage.c: Likewise.
11075
11076 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11077
11078 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11079 segment 0x0 unconditionally, because the reference generated by
11080 GAS is an absolute address.
11081
11082 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11083
11084 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11085 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11086
11087 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11088
11089 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11090 indexes. Check for -f explicitly.
11091 (search_file): Improve error message.
11092 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
11093
11094 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11095
11096 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11097 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11098
11099 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11100
11101 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11102 * conf/i386-ieee1275.rmk: Likewise.
11103 * conf/i386-coreboot.rmk: Likewise.
11104
11105 * kern/i386/pc/startup.S (grub_stop): Remove function.
11106 * kern/i386/ieee1275/startup.S: Likewise.
11107 * kern/i386/coreboot/startup.S: Likewise.
11108 * kern/i386/misc.S (grub_stop): New function.
11109
11110 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11111
11112 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11113 * kern/i386/realmode.S (real_to_prot): ... to here.
11114
11115 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11116
11117 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11118 with `kernel.img'.
11119 (kernel_elf_SOURCES): Rename to ...
11120 (kernel_img_SOURCES): ... this.
11121 (kernel_elf_HEADERS): Rename to ...
11122 (kernel_img_HEADERS): ... this. Update all users.
11123 (kernel_elf_ASFLAGS): Rename to ...
11124 (kernel_img_ASFLAGS): ... this.
11125 (kernel_elf_CFLAGS): Rename to ...
11126 (kernel_img_CFLAGS): ... this.
11127 (kernel_elf_LDFLAGS): Rename to ...
11128 (kernel_img_LDFLAGS): ... this.
11129 * conf/i386-coreboot.rmk: Likewise.
11130 * conf/powerpc-ieee1275.rmk: Likewise.
11131
11132 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11133 with "kernel.img".
11134
11135 2009-06-21 Pavel Roskin <proski@gnu.org>
11136
11137 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11138 to match nested functions.
11139 * loader/sparc64/ieee1275/linux.c: Likewise.
11140
11141 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11142
11143 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11144
11145 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11146 all i386 platforms.
11147
11148 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11149
11150 Fix asm file handling on ELF, and remove workarounds.
11151
11152 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
11153 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
11154 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11155 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11156
11157 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 Load BSD ELF modules
11160
11161 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11162 and loader/i386/bsd64.c
11163 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11164 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11165 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11166 (grub_freebsd_load_elfmodule32): New declaration
11167 (grub_freebsd_load_elfmoduleobj64): Likewise
11168 (grub_freebsd_load_elf_meta32): Likewise
11169 (grub_freebsd_load_elf_meta64): Likewise
11170 (grub_freebsd_add_meta): Likewise
11171 (grub_freebsd_add_meta_module): Likewise
11172 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11173 (grub_freebsd_add_meta_module): Likewise and move module-specific
11174 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11175 (grub_cmd_freebsd): Add elf-kernel specific parts
11176 based on grub_freebsd_add_meta_module
11177 (grub_cmd_freebsd_module): Add type parsing moved from
11178 grub_freebsd_add_meta_module
11179 (grub_cmd_freebsd_module_elf): New function
11180 (cmd_freebsd_module_elf): New variable
11181 (GRUB_MOD_INIT): Register freebsd_module_elf
11182 * loader/i386/bsd32.c: New file
11183 * loader/i386/bsd64.c: Likewise
11184 * loader/i386/bsdXX.c: Likewise
11185 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11186 (grub_elf64_load): Likewise
11187 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11188 All users updated
11189 (grub_elf64_load_hook_t): Likewise
11190
11191 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
11192
11193 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11194 variable.
11195 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11196 don't write a menu entry for recovery mode.
11197
11198 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11199
11200 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11201 after it's no longer needed.
11202
11203 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11204
11205 * include/grub/i386/loader.h (grub_linux_prot_size)
11206 (grub_linux_tmp_addr, grub_linux_real_addr)
11207 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11208 GRUB_MACHINE_PCBIOS.
11209 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11210 common grub_util_info() call to ...
11211 (generate_image): ... here.
11212 Fix use of uninitialized memory, comparison of signed with
11213 unsigned integers and memory leak.
11214 Remove bogus module address message.
11215
11216 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11219 grub_raid_register
11220 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11221
11222 2009-06-19 Pavel Roskin <proski@gnu.org>
11223
11224 * configure.ac: Remove stray AC_MSG_CHECKING.
11225
11226 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * disk/scsi.c (grub_scsi_open): use continue instead of big if
11229
11230 2009-06-18 Pavel Roskin <proski@gnu.org>
11231
11232 * conf/common.rmk: Add fs_file.mod.
11233 * disk/fs_file.c: New file.
11234 * include/grub/disk.h (enum grub_disk_dev_id): Add
11235 GRUB_DISK_DEVICE_FILE_ID.
11236
11237 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 Fix build with Apple's toolchain. Part 2
11240
11241 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11242 a fake start
11243
11244 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 Fix build with Apple's toolchain. Part 1
11247
11248 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11249 for long calls
11250 * configure.ac: remove a leftover AC_MSG_RESULT
11251 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11252 Apple's toolchain
11253
11254 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 Fix warnings
11257
11258 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11259 (decomp_block): initialize ch
11260 use grub_memcpy instead of memcpy
11261
11262 2009-06-17 Pavel Roskin <proski@gnu.org>
11263
11264 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11265 version, use declarations needed to use vga_text as the startup
11266 console.
11267
11268 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11269 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11270 the kernel.
11271 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11272 and grub_at_keyboard_fini(), it's done on module load and
11273 unload.
11274
11275 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11276
11277 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11278 file can't be found.
11279 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11280
11281 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 Fix newline handling
11284
11285 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11286 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11287 (grub_script_yylex): don't segfault on unterminated script
11288 newline terminates command and variable
11289
11290 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 avoid double grub_adjust_range call. Bug reported by David Simner
11293
11294 * kern/disk.c (grub_disk_write): change to raw disk access before
11295 calling disk_read
11296
11297 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11298
11299 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11300 spaces, for the benefit of help2man.
11301 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11302
11303 2009-06-16 Pavel Roskin <proski@gnu.org>
11304
11305 * kern/i386/halt.c: Include grub/machine/init.h.
11306 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11307
11308 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11309
11310 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11311 drivemap menuentry.
11312
11313 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11314
11315 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11316 `echo' command.
11317
11318 2009-06-16 Pavel Roskin <proski@gnu.org>
11319
11320 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11321 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11322 save %dx, we only need %dl and we never change it.
11323 * boot/i386/pc/cdboot.S: Don't set the root drive.
11324 * boot/i386/pc/pxeboot.S: Likewise.
11325 * include/grub/i386/pc/boot.h: Remove
11326 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11327 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11328 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11329 * kern/i386/pc/init.c (make_install_device): Remove references
11330 to grub_root_drive.
11331 * kern/i386/pc/startup.S: Likewise.
11332 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11333
11334 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 xnu_uuid command
11337
11338 * commands/xnu_uuid.c: new file
11339 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11340 (xnu_uuid_mod_SOURCES): new variable
11341 (xnu_uuid_mod_CFLAGS): likewise
11342 (xnu_uuid_mod_LDFLAGS): likewise
11343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11344 * conf/i386-ieee1275.rmk: likewise
11345 * conf/i386-pc.rmk: likewise
11346 * conf/powerpc-ieee1275.rmk: likewise
11347 * conf/sparc64-ieee1275.rmk: likewise
11348 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11349
11350 2009-06-16 Pavel Roskin <proski@gnu.org>
11351
11352 * configure.ac: Avoid '==' in test command, it's not portable.
11353
11354 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 Probe command
11357
11358 * commands/probe.c: new file
11359 * conf/common.rmk (pkglib_MODULES): add probe.mod
11360 (probe_mod_SOURCES): new variable
11361 (probe_mod_CFLAGS): likewise
11362 (probe_mod_LDFLAGS): likewise
11363 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11364 * conf/i386-ieee1275.rmk: likewise
11365 * conf/i386-pc.rmk: likewise
11366 * conf/powerpc-ieee1275.rmk: likewise
11367 * conf/sparc64-ieee1275.rmk: likewise
11368
11369 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 Fix handling of string like \"hello\" and "a
11372 b"
11373
11374 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11375 (grub_script_yylex): fix parsing of quoting, escaping and newline
11376
11377 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11380 handling
11381
11382 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11383
11384 * util/grub-mkconfig.in: Fix parsing of --output option.
11385
11386 2009-06-12 Pavel Roskin <proski@gnu.org>
11387
11388 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11389 genmk.rb don't need to be generated or installed.
11390
11391 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * commands/i386/pc/drivemap_int13h.S: add more comments
11394
11395 2009-06-11 Pavel Roskin <proski@gnu.org>
11396
11397 * Makefile.in (uninstall): Uninstall manuals.
11398
11399 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11400 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11401 and update-grub_lib in two places.
11402 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11403
11404 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11405 a compiler warning.
11406
11407 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11408 `entry_lo' to fix variable shadowing.
11409
11410 2009-06-11 Christian Franke <franke@computer.org>
11411
11412 * kern/misc.c (__enable_execute_stack): Add missing return type
11413 to prevent gcc warning.
11414
11415 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11416
11417 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11418
11419 2009-06-11 Pavel Roskin <proski@gnu.org>
11420
11421 * Makefile.in: Don't rely on any scripts being executable.
11422 Always use $(SHELL) to run shell scripts.
11423
11424 * configure.ac: Always define ___main if using -nostdlib. This
11425 fixes tests on Cygwin.
11426
11427 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11428
11429 UDF fix
11430
11431 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11432 is in bytes and not in blocks
11433
11434 2009-06-11 Pavel Roskin <proski@gnu.org>
11435
11436 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11437 warning.
11438
11439 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11440
11441 * util/grub.d/30_os-prober.in: Fix a comment. Source
11442 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11443 to set the root device. Place drivemap command in the generated
11444 chain entry.
11445
11446 2009-06-11 Pavel Roskin <proski@gnu.org>
11447
11448 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11449 have long been resolved.
11450
11451 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * util/grub.d/10_linux.in: Capitalise "Linux".
11454
11455 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11456
11457 2009-06-11 Pavel Roskin <proski@gnu.org>
11458
11459 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11460 fix a gcc warning and ensure that the function won't ever exit.
11461
11462 * kern/i386/ieee1275/init.c: Add missing prototype for
11463 grub_stop_floppy().
11464
11465 * loader/ieee1275/multiboot2.c [__i386__]: Include
11466 grub/cpu/multiboot.h.
11467
11468 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11469 casts to short - they are not portable and cause warnings. Fix
11470 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11471
11472 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 Drivemap fixes
11475
11476 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11477 new function
11478 (grub_get_root_biosnumber_saved): new variable
11479 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11480 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11481 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11482 %dx after the call if necessary
11483 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11484 (boot_mod_SOURCES): remove
11485 (boot_mod_CFLAGS): remove
11486 (boot_mod_LDFLAGS): remove
11487 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11488 (boot_mod_SOURCES): new variable
11489 (boot_mod_CFLAGS): likewise
11490 (boot_mod_LDFLAGS): likewise
11491 * conf/i386-efi.rmk: likewise
11492 * conf/i386-ieee1275.rmk: likewise
11493 * conf/i386-pc.rmk: likewise
11494 * conf/powerpc-ieee1275.rmk: likewise
11495 * conf/sparc64-ieee1275.rmk: likewise
11496 * conf/x86_64-efi.rmk: likewise
11497 * include/grub/i386/pc/biosnum.h: new file
11498 * lib/i386/pc/biosnum.c: likewise
11499 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11500 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11501 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11502
11503 2009-06-10 Pavel Roskin <proski@gnu.org>
11504
11505 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11506 Use separate variables. Read only the file size at the end, but
11507 not the checksum that we don't use.
11508
11509 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11510 Adjust all callers.
11511
11512 * kern/ieee1275/openfw.c: Remove libc includes.
11513 * kern/ieee1275/cmain.c: Likewise.
11514 * include/grub/ieee1275/ieee1275.h: Likewise.
11515
11516 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11517 compiler warnings.
11518
11519 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11520
11521 * Makefile.in: Remove all trailing whitespace.
11522 * conf/i386-pc.rmk: Likewise.
11523 * conf/powerpc-ieee1275.rmk: Likewise.
11524 * conf/sparc64-ieee1275.rmk: Likewise.
11525 * docs/grub.texi: Likewise.
11526 * docs/texinfo.tex: Likewise.
11527 * disk/fs_uuid.c: Likewise.
11528 * disk/lvm.c: Likewise.
11529 * disk/scsi.c: Likewise.
11530 * disk/ata.c: Likewise.
11531 * disk/ieee1275/ofdisk.c: Likewise.
11532 * disk/i386/pc/biosdisk.c: Likewise.
11533 * disk/host.c: Likewise.
11534 * disk/raid.c: Likewise.
11535 * disk/efi/efidisk.c: Likewise.
11536 * disk/usbms.c: Likewise.
11537 * disk/memdisk.c: Likewise.
11538 * disk/loopback.c: Likewise.
11539 * kern/powerpc/dl.c: Likewise.
11540 * kern/device.c: Likewise.
11541 * kern/dl.c: Likewise.
11542 * kern/sparc64/dl.c: Likewise.
11543 * kern/ieee1275/ieee1275.c: Likewise.
11544 * kern/term.c: Likewise.
11545 * kern/fs.c: Likewise.
11546 * kern/i386/dl.c: Likewise.
11547 * kern/i386/pc/startup.S: Likewise.
11548 * kern/i386/pc/init.c: Likewise.
11549 * kern/i386/pc/mmap.c: Likewise.
11550 * kern/i386/pc/lzo1x.S: Likewise.
11551 * kern/i386/ieee1275/init.c: Likewise.
11552 * kern/i386/realmode.S: Likewise.
11553 * kern/i386/tsc.c: Likewise.
11554 * kern/partition.c: Likewise.
11555 * kern/corecmd.c: Likewise.
11556 * kern/file.c: Likewise.
11557 * kern/efi/efi.c: Likewise.
11558 * kern/efi/init.c: Likewise.
11559 * kern/efi/mm.c: Likewise.
11560 * kern/main.c: Likewise.
11561 * kern/err.c: Likewise.
11562 * kern/env.c: Likewise.
11563 * kern/disk.c: Likewise.
11564 * kern/generic/millisleep.c: Likewise.
11565 * kern/generic/rtc_get_time_ms.c: Likewise.
11566 * kern/misc.c: Likewise.
11567 * kern/parser.c: Likewise.
11568 * genmk.rb: Likewise.
11569 * configure.ac: Likewise.
11570 * boot/i386/pc/diskboot.S: Likewise.
11571 * boot/i386/pc/pxeboot.S: Likewise.
11572 * boot/i386/pc/boot.S: Likewise.
11573 * boot/i386/pc/lnxboot.S: Likewise.
11574 * boot/i386/pc/cdboot.S: Likewise.
11575 * parttool/pcpart.c: Likewise.
11576 * video/readers/tga.c: Likewise.
11577 * video/video.c: Likewise.
11578 * video/bitmap.c: Likewise.
11579 * lib/envblk.c: Likewise.
11580 * lib/i386/setjmp.S: Likewise.
11581 * fs/xfs.c: Likewise.
11582 * fs/afs.c: Likewise.
11583 * fs/fat.c: Likewise.
11584 * fs/ntfs.c: Likewise.
11585 * fs/udf.c: Likewise.
11586 * fs/affs.c: Likewise.
11587 * fs/iso9660.c: Likewise.
11588 * fs/hfs.c: Likewise.
11589 * fs/fshelp.c: Likewise.
11590 * fs/ext2.c: Likewise.
11591 * fs/jfs.c: Likewise.
11592 * fs/reiserfs.c: Likewise.
11593 * fs/hfsplus.c: Likewise.
11594 * fs/minix.c: Likewise.
11595 * fs/cpio.c: Likewise.
11596 * fs/sfs.c: Likewise.
11597 * fs/ufs.c: Likewise.
11598 * efiemu/prepare.c: Likewise.
11599 * efiemu/loadcore_common.c: Likewise.
11600 * efiemu/runtime/efiemu.sh: Likewise.
11601 * efiemu/runtime/efiemu.S: Likewise.
11602 * efiemu/runtime/efiemu.c: Likewise.
11603 * efiemu/pnvram.c: Likewise.
11604 * efiemu/main.c: Likewise.
11605 * efiemu/i386/pc/cfgtables.c: Likewise.
11606 * efiemu/i386/loadcore64.c: Likewise.
11607 * efiemu/i386/loadcore32.c: Likewise.
11608 * efiemu/loadcore.c: Likewise.
11609 * efiemu/symbols.c: Likewise.
11610 * efiemu/mm.c: Likewise.
11611 * include/grub/autoefi.h: Likewise.
11612 * include/grub/datetime.h: Likewise.
11613 * include/grub/term.h: Likewise.
11614 * include/grub/hfs.h: Likewise.
11615 * include/grub/lvm.h: Likewise.
11616 * include/grub/i386/tsc.h: Likewise.
11617 * include/grub/i386/linux.h: Likewise.
11618 * include/grub/i386/xnu.h: Likewise.
11619 * include/grub/i386/efiemu.h: Likewise.
11620 * include/grub/i386/pc/biosdisk.h: Likewise.
11621 * include/grub/i386/pc/memory.h: Likewise.
11622 * include/grub/i386/pc/vbe.h: Likewise.
11623 * include/grub/parttool.h: Likewise.
11624 * include/grub/video.h: Likewise.
11625 * include/grub/memory.h: Likewise.
11626 * include/grub/fs.h: Likewise.
11627 * include/grub/partition.h: Likewise.
11628 * include/grub/xnu.h: Likewise.
11629 * include/grub/efi/api.h: Likewise.
11630 * include/grub/efi/pe32.h: Likewise.
11631 * include/grub/efi/memory.h: Likewise.
11632 * include/grub/multiboot.h: Likewise.
11633 * include/grub/usbdesc.h: Likewise.
11634 * include/grub/multiboot2.h: Likewise.
11635 * include/grub/acpi.h: Likewise.
11636 * include/grub/efiemu/efiemu.h: Likewise.
11637 * include/grub/disk.h: Likewise.
11638 * include/grub/ieee1275/ieee1275.h: Likewise.
11639 * include/grub/net.h: Likewise.
11640 * include/grub/machoload.h: Likewise.
11641 * include/grub/macho.h: Likewise.
11642 * include/multiboot.h: Likewise.
11643 * genmoddep.awk: Likewise.
11644 * normal/main.c: Likewise.
11645 * normal/menu_entry.c: Likewise.
11646 * normal/menu_viewer.c: Likewise.
11647 * normal/completion.c: Likewise.
11648 * normal/cmdline.c: Likewise.
11649 * normal/misc.c: Likewise.
11650 * normal/datetime.c: Likewise.
11651 * bus/usb/usbtrans.c: Likewise.
11652 * bus/usb/ohci.c: Likewise.
11653 * bus/usb/uhci.c: Likewise.
11654 * bus/usb/usb.c: Likewise.
11655 * mmap/efi/mmap.c: Likewise.
11656 * mmap/i386/pc/mmap_helper.S: Likewise.
11657 * mmap/i386/pc/mmap.c: Likewise.
11658 * mmap/i386/mmap.c: Likewise.
11659 * mmap/i386/uppermem.c: Likewise.
11660 * mmap/mmap.c: Likewise.
11661 * commands/acpi.c: Likewise.
11662 * commands/echo.c: Likewise.
11663 * commands/blocklist.c: Likewise.
11664 * commands/loadenv.c: Likewise.
11665 * commands/usbtest.c: Likewise.
11666 * commands/boot.c: Likewise.
11667 * commands/parttool.c: Likewise.
11668 * commands/search.c: Likewise.
11669 * commands/cat.c: Likewise.
11670 * commands/i386/pc/play.c: Likewise.
11671 * commands/i386/pc/drivemap.c: Likewise.
11672 * commands/i386/pc/vbeinfo.c: Likewise.
11673 * commands/i386/pc/acpi.c: Likewise.
11674 * commands/i386/pc/vbetest.c: Likewise.
11675 * commands/ls.c: Likewise.
11676 * commands/cmp.c: Likewise.
11677 * commands/test.c: Likewise.
11678 * commands/efi/acpi.c: Likewise.
11679 * commands/gptsync.c: Likewise.
11680 * commands/help.c: Likewise.
11681 * partmap/amiga.c: Likewise.
11682 * partmap/apple.c: Likewise.
11683 * partmap/acorn.c: Likewise.
11684 * partmap/pc.c: Likewise.
11685 * partmap/sun.c: Likewise.
11686 * partmap/gpt.c: Likewise.
11687 * script/sh/lexer.c: Likewise.
11688 * script/sh/function.c: Likewise.
11689 * font/font.c: Likewise.
11690 * font/font_cmd.c: Likewise.
11691 * loader/powerpc/ieee1275/linux.c: Likewise.
11692 * loader/efi/chainloader.c: Likewise.
11693 * loader/multiboot_loader.c: Likewise.
11694 * loader/macho.c: Likewise.
11695 * loader/i386/multiboot.c: Likewise.
11696 * loader/i386/linux.c: Likewise.
11697 * loader/i386/pc/linux.c: Likewise.
11698 * loader/i386/pc/multiboot2.c: Likewise.
11699 * loader/i386/pc/chainloader.c: Likewise.
11700 * loader/i386/pc/xnu.c: Likewise.
11701 * loader/i386/bsd_trampoline.S: Likewise.
11702 * loader/i386/efi/linux.c: Likewise.
11703 * loader/i386/multiboot_elfxx.c: Likewise.
11704 * loader/i386/bsd_helper.S: Likewise.
11705 * loader/i386/bsd.c: Likewise.
11706 * loader/i386/linux_trampoline.S: Likewise.
11707 * loader/i386/xnu_helper.S: Likewise.
11708 * loader/i386/xnu.c: Likewise.
11709 * loader/i386/bsd_pagetable.c: Likewise.
11710 * loader/i386/multiboot_helper.S: Likewise.
11711 * loader/xnu.c: Likewise.
11712 * loader/xnu_resume.c: Likewise.
11713 * io/gzio.c: Likewise.
11714 * term/efi/console.c: Likewise.
11715 * term/terminfo.c: Likewise.
11716 * term/ieee1275/ofconsole.c: Likewise.
11717 * term/i386/pc/serial.c: Likewise.
11718 * term/i386/pc/vesafb.c: Likewise.
11719 * term/i386/pc/vga.c: Likewise.
11720 * term/usb_keyboard.c: Likewise.
11721 * term/gfxterm.c: Likewise.
11722 * aclocal.m4: Likewise.
11723 * util/lvm.c: Likewise.
11724 * util/grub.d/30_os-prober.in: Likewise.
11725 * util/grub.d/10_hurd.in: Likewise.
11726 * util/console.c: Likewise.
11727 * util/grub-macho2img.c: Likewise.
11728 * util/grub-probe.c: Likewise.
11729 * util/hostfs.c: Likewise.
11730 * util/i386/pc/grub-mkimage.c: Likewise.
11731 * util/i386/pc/grub-setup.c: Likewise.
11732 * util/i386/efi/grub-mkimage.c: Likewise.
11733 * util/grub-mkconfig.in: Likewise.
11734 * util/raid.c: Likewise.
11735 * util/resolve.c: Likewise.
11736 * util/grub-mkdevicemap.c: Likewise.
11737 * util/grub-emu.c: Likewise.
11738 * util/getroot.c: Likewise.
11739 * util/hostdisk.c: Likewise.
11740 * util/usb.c: Likewise.
11741 * util/grub-editenv.c: Likewise.
11742 * util/misc.c: Likewise.
11743
11744 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11745
11746 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11747 `genparttoollist.sh'.
11748 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11749 Add `*.sh' to the list find searches for and change `mdate.sh'
11750 to `mdate-sh'.
11751
11752 2009-06-10 Pavel Roskin <proski@gnu.org>
11753
11754 * include/grub/multiboot2.h: Provide compatibility defines for
11755 multiboot2.h.
11756 * include/multiboot2.h: Include stdint.h only if needed, using
11757 angle brackets.
11758 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11759 grub/multiboot2.h.
11760 * loader/ieee1275/multiboot2.c: Likewise.
11761 * loader/multiboot2.c: Likewise.
11762 * loader/multiboot_loader.c: Likewise.
11763
11764 * configure.ac: Use -nostdlib when probing for the target. It
11765 should not be required to have libc for the target.
11766
11767 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11768 they fail without libc headers for the target.
11769 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11770 exports.
11771 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11772 preprocessor conditionals.
11773
11774 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11775 build system doesn't need to be aware of the tar.c internals.
11776
11777 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11778
11779 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11780
11781 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11782
11783 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11784 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11785
11786 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11787
11788 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11789 aren't available if ata.mod gets used.
11790
11791 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11792
11793 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11794 initialising controller.
11795 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11796
11797 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11798
11799 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11800 to choose between ata and biosdisk module on i386-pc.
11801
11802 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11803
11804 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11805 Subclass and Programming Interface fields in terms of the 3 byte
11806 Class Code register.
11807 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11808
11809 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11810 interface is OHCI. Add grub_dprintf for symmetry with
11811 bus/usb/uhci.c.
11812 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11813 interface is UHCI. Add interf variable for programming
11814 interface. Print interface with class/subclass.
11815
11816 * bus/usb/ohci.c: Set interf with correct field.
11817
11818 * bus/usb/uhci.c: Remove unneeded doubled lines.
11819 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11820 Remove whitespace inside comment.
11821
11822 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11823
11824 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11825 as fallback an equivalent option without depth.
11826
11827 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 Not fail if unable to retrieve C/H/S on LBA disks
11830
11831 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11832 if unable to retrieve C/H/S on LBA disks
11833
11834 2009-06-08 Pavel Roskin <proski@gnu.org>
11835
11836 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11837 about aliasing.
11838
11839 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11840
11841 * Makefile.in (uninstall): Remove all $lib_DATA files.
11842
11843 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 Bugfix: install on partitionless device
11846
11847 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11848 is a whole disk
11849
11850 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11851
11852 * Makefile.in (uninstall): Remove all $include_DATA files.
11853
11854 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11855
11856 * commands/true.c: New file. Implement the true and false commands.
11857 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11858 (true_mod_SOURCES): New variable.
11859 (true_mod_CFLAGS): Likewise.
11860 (true_mod_LDFLAGS): Likewise.
11861
11862 2009-06-05 Colin D Bennett <colin@gibibit.com>
11863
11864 Optimized font character lookup using binary search instead of linear
11865 search. Fonts now are required to have the character index ordered by
11866 code point.
11867
11868 * font/font.c (load_font_index): Verify that fonts have ordered
11869 character indices.
11870 (find_glyph): Use binary search instead of linear search to find a
11871 character in a font.
11872
11873 2009-06-05 Michael Scherer <misc@mandriva.org>
11874
11875 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11876 uses case sensitive btree.
11877 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11878 only for case insensitive filesystems.
11879
11880 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11883 * conf/common.rmk (search_mod_CFLAGS): likewise
11884
11885 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11888 compensate a compiler bug
11889
11890 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11893 instead of '\b'
11894
11895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Definitions for creating asm symbols with Apple's CC
11898
11899 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11900 [APPLE_CC] (VARIABLE): likewise
11901
11902 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 Disable lnxboot.img when compiled
11905 with Apple's CC
11906
11907 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11908 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11909 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11910 [! APPLE_CC] (CODE_LENG): skip
11911 [! APPLE_CC] (setup_sects): likewise
11912 [! APPLE_CC]: skip filling
11913
11914 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Address in trampolines based on 32-bit registers when compiled
11917 with Apple's CC
11918
11919 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11920 for addresses
11921 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11922
11923 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11926
11927 * kern/misc.c [APPLE_CC] (memcpy): new function
11928 [APPLE_CC] (memmove): likewise
11929 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11930 (memcpy): define alias conditionally on !APPLE_CC
11931 (memset): likewise
11932 (abort): likewise
11933 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11934 APPLE_CC are defined
11935 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11936 (grub_assert_fail): make prototype conditional
11937
11938 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11941
11942 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11943 grub-macho2img
11944 (CLEANFILES): add grub-macho2img
11945 (grub_macho2img_SOURCES): new variable
11946 * kern/i386/pc/startup.S (bss_start): new variable
11947 (bss_end): likewise
11948 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11949 * util/grub-macho2img.c: new file
11950
11951 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Use objconv when compiling with Apple's CC
11954
11955 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11956 (efiemu64.o): likewise
11957 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11958 when compiling with Apple's CC
11959 (efiemu64_s.o): likewise
11960 * configure.ac: check for objconv when compiling with Apple's CC
11961 * genmk.rb: use objconv for modules when compiled with Apple's CC
11962
11963 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 Define segment as well as section when compiling with
11966 Apple's CC
11967
11968 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11969 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11970 (efiemu_convert_pointer): likewise
11971 (efiemu_set_virtual_address_map): likewise
11972 (efiemu_convert_pointer): likewise
11973 (efiemu_getcrc32): likewise
11974 (init_crc32_table): likewise
11975 (reflect): likewise
11976 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11977 (GRUB_MOD_DEP): likewise
11978
11979 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 Allow a compilation without -mcmodel=large
11982
11983 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11984 when compiled without -mcmodel=large
11985 (filter_memory_map): remove memory post 4 GiB when compiled
11986 without -mcmodel=large
11987 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11988 TARGET_CFLAGS when -mcmodel=large isn't supported
11989
11990 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 Remove nested functions in efiemu core
11993
11994 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11995
11996 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11999
12000 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12001 temporary storage
12002 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12003 using Apple's CC
12004 (grub_cpu_is_tsc_supported): likewise
12005 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
12006
12007 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 Absolute addressing through constant with Apple's cc
12010
12011 * kern/i386/pc/startup.S: Define necessary constants
12012 and address through it when using ABS with Apple's CC
12013 * boot/i386/pc/diskboot.S: likewise
12014 * boot/i386/pc/boot.S: likewise
12015 * boot/i386/pc/lnxboot.S: likewise
12016 * boot/i386/pc/cdboot.S: likewise
12017 * mmap/i386/pc/mmap_helper.S: likewise
12018 * commands/i386/pc/drivemap_int13h.S: likewise
12019
12020 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 Check if compiler is apple cc
12023
12024 * Makefile.in (ASFLAGS): new variable
12025 (TARGET_ASFLAGS): likewise
12026 (TARGET_MODULE_FORMAT): likewise
12027 (TARGET_APPLE_CC): likewise
12028 (OBJCONV): likewise
12029 (TARGET_IMG_CFLAGS): likewise
12030 (TARGET_CPPFLAGS): add includedir
12031 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12032 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12033 Check for linker script only if compiler isn't Apple's CC
12034 (TARGET_MODULE_FORMAT): set
12035 (TARGET_APPLE_CC): likewise
12036 (TARGET_ASFLAGS): likewise
12037 (ASFLAGS): likewise
12038 Check for objcopy only if compiler isn't Apple's CC
12039 Check for BSS symbol only if compiler isn't Apple's CC
12040 * genmk.rb: adapt nm options if we use Apple's utils
12041 * aclocal.m4 (grub_apple_cc): new test
12042 (grub_apple_target_cc): likewise
12043
12044 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 Simplify sed expressions and improve awk
12047
12048 * Makefile.in (install-local): simplify sed expression
12049 * gencmdlist.sh: likewise
12050 * genmoddep.awk: avoid adding module as a dependency of itself
12051
12052 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 Add missing start symbols
12055
12056 * boot/i386/pc/boot.S: add start
12057 * boot/i386/pc/pxeboot.S: likewise
12058
12059 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 Fix wrong assumptions with grub-mkimage on EFI
12062
12063 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
12064 (relocate_addresses): consider both r_addend and value at offset
12065 (make_mods_section): zerofill modinfo and header
12066 (convert_elf): write prefix here
12067
12068 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 Use .asciz instead of .string
12071
12072 * i386/pc/diskboot.S: use .asciz instead of .string
12073 * i386/pc/boot.S: likewise
12074 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12075 (GRUB_MOD_NAME): likewise
12076
12077 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 gfxpayload support
12080
12081 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12082 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12083 (grub_video_setup): remove
12084 (grub_video_set_mode): new prototype
12085 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12086 (vid_mode): remove
12087 (linux_vesafb_res): compile only on PCBIOS
12088 (grub_linux_boot): support gfxpayload
12089 * loader/i386/pc/xnu.c (video_hook): new function
12090 (grub_xnu_set_video): support gfxpayload
12091 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12092 (DEFAULT_VIDEO_HEIGHT): likewise
12093 (DEFAULT_VIDEO_FLAGS): likewise
12094 (DEFAULT_VIDEO_MODE): new definition
12095 (video_hook): new function
12096 (grub_gfxterm_init): use grub_video_set_mode
12097 * util/grub.d/30_os-prober.in: remove explicit modesetting before
12098 loading xnu
12099 * video/video.c (grub_video_setup): removed
12100 (grub_video_set_mode): new function based on grub_gfxterm_init and
12101 grub_video_setup
12102
12103 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Avoid calling biosdisk in drivemap
12106
12107 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12108 (revparse_biosdisk): likewise
12109 (list_mappings): derive name from id directly
12110 (grub_cmd_drivemap): use tryparse_diskstring
12111
12112 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 Script fixes
12115
12116 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12117 (grub_lexer_param): add tokenonhold
12118 (grub_script_create_cmdline): remove cmdline. All callers updated
12119 (grub_script_function_create): make functionname
12120 grub_script_arg. All callers updated
12121 (grub_script_execute_argument_to_string): new prototype
12122 * kern/parser.c (state_transitions): reorder
12123 (grub_parser_cmdline_state): fix a bug and make more compact
12124 * script/sh/execute.c (grub_script_execute_argument_to_string):
12125 make global
12126 (grub_script_execute_cmdline): use new format
12127 * script/sh/function.c (grub_script_function_create): make functionname
12128 grub_script_arg. All callers updated
12129 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
12130 (grub_script_yylex): remove
12131 (grub_script_yylex2): renamed to ...
12132 (grub_script_yylex): ...renamed
12133 parse the expressions like a${b}c
12134 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12135 (GRUB_PARSER_TOKEN_VAR): remove
12136 (GRUB_PARSER_TOKEN_NAME): likewise
12137 ("if"): declare as typeless
12138 ("while"): likewise
12139 ("function"): likewise
12140 ("else"): likewise
12141 ("then"): likewise
12142 ("fi"): likewise
12143 (text): remove
12144 (argument): likewise
12145 (script): accept empty scripts and make exit on error
12146 (arguments): use GRUB_PARSER_TOKEN_ARG
12147 (function): likewise
12148 (command): move error handling to script
12149 (menuentry): move grub_script_lexer_ref before
12150 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
12151 argument. All callers updated
12152
12153 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12154
12155 Prevent GRUB from probing floppies during boot.
12156
12157 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12158 * commands/search.c (options): Add --no-floppy.
12159 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12161 --no-floppy when searching for UUIDs.
12162
12163 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12164
12165 Simplify the code duplication in commands/search.c.
12166
12167 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12168 (search_fs): ... this. Update all users.
12169
12170 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
12171
12172 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12173
12174 2009-05-28 Pavel Roskin <proski@gnu.org>
12175
12176 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12177 Remove the original symlink explicitly.
12178
12179 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12180 just one slash. That's how grub_fshelp_find_file() does it.
12181
12182 2009-05-26 Pavel Roskin <proski@gnu.org>
12183
12184 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12185 to `str'.
12186
12187 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12188 possibly unused.
12189
12190 2009-05-25 Christian Franke <franke@computer.org>
12191
12192 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12193 register.
12194 (grub_atapi_identify): Add wait after drive select.
12195 (grub_ata_identify): Do more strict status register check before
12196 calling grub_atapi_identify (). Suppress error message if status
12197 register is 0x00 after command failure. Add status register
12198 check after PIO read to avoid bogus identify due to stuck DRQ.
12199 Thanks to Pavel Roskin for testing.
12200 (grub_device_initialize): Remove unsafe status register check.
12201 Thanks to 'phcoder' for problem report and patch.
12202 Prevent sign extension in debug message.
12203
12204 2009-05-23 Colin D Bennett <colin@gibibit.com>
12205
12206 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12207 definition file, and functions defined in `normal/menu.c' have had
12208 their prototypes moved to `include/grub/menu.h' for consistency.
12209
12210 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12211 from normal.h.
12212 (grub_menu_get_entry): Likewise.
12213 (grub_menu_get_timeout): Likewise.
12214 (grub_menu_set_timeout): Likewise.
12215 (grub_menu_execute_entry): Likewise.
12216 (grub_menu_execute_with_fallback): Likewise.
12217 (grub_menu_entry_run): Likewise.
12218
12219 * include/grub/normal.h: Re-ordered and grouped function
12220 prototypes by file that the function is defined in.
12221 (grub_menu_execute_callback): Removed; moved to menu.h.
12222 (grub_menu_get_entry): Likewise.
12223 (grub_menu_get_timeout): Likewise.
12224 (grub_menu_set_timeout): Likewise.
12225 (grub_menu_execute_entry): Likewise.
12226 (grub_menu_execute_with_fallback): Likewise.
12227 (grub_menu_entry_run): Likewise.
12228 (grub_menu_addentry): Renamed from this ...
12229 (grub_normal_add_menu_entry): ... to this.
12230
12231 * normal/main.c (grub_menu_addentry): Renamed from this ...
12232 (grub_normal_add_menu_entry): ... to this.
12233
12234 * script/sh/execute.c (grub_script_execute_menuentry): Update
12235 reference to renamed grub_menu_addentry function.
12236
12237 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12238
12239 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12240
12241 2009-05-22 Pavel Roskin <proski@gnu.org>
12242
12243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12244 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12245 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12246 compiling for the i386 targets, but not for the utilities.
12247
12248 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12249 to grub_uint8_t.
12250 (grub_root_drive): Likewise.
12251 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12252 remove alignment.
12253 (grub_root_drive): Change size to byte.
12254 (grub_start_addr): Remove.
12255 (grub_end_addr): Likewise.
12256 (grub_apm_bios_info): Likewise.
12257
12258 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12259
12260 * normal/i386: Remove.
12261 * normal/powerpc: Likewise.
12262 * normal/sparc64: Likewise.
12263 * normal/x86_64: Likewise.
12264
12265 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12268 * loader/i386/linux_trampoline.S: Fix indentation
12269 * loader/i386/xnu_helper.S: Likewise
12270
12271 2009-05-18 Colin D Bennett <colin@gibibit.com>
12272
12273 Display error messages when parsing a Lua statement fails.
12274 Previously, executing a syntactically invalid statement like
12275 ")foo" or "bar;" would silently fail.
12276
12277 * script/lua/grub_main.c (handle_lua_error): New function.
12278 (grub_lua_parse_line): Improved reporting of Lua parser and
12279 execution errors.
12280
12281 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Remove -Werror which causes build to fail on some systems
12284
12285 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12286 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12287 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12288
12289 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 trampoline for linux on 64-bit platform
12292
12293 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12294 loader/i386/efi/linux_trampoline.S
12295 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12296 declaration
12297 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12298 here
12299 * loader/i386/linux_trampoline.S: moved here
12300 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12301 trampoline
12302 (jumpvector): removed
12303 (grub_linux_trampoline_start): new declaration
12304 (grub_linux_trampoline_end): likewise
12305 (grub_linux_boot): use trampoline when on 64-bit platform
12306 * loader/i386/linux.c: likewise
12307
12308 2009-05-16 Pavel Roskin <proski@gnu.org>
12309
12310 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12311 const to avoid a warning.
12312 (grub_lua_setenv): Likewise.
12313 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12314 lmsg to fix a warning.
12315
12316 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12317
12318 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12319 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12320 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12321 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12322 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12323 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12324 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12325 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12326
12327 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12328
12329 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12330
12331 2009-05-16 Bean <bean123ch@gmail.com>
12332
12333 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12334 (lua_mod_SOURCES): New variable.
12335 (lua_mod_CFLAGS): Likewise.
12336 (lua_mod_LDFLAGS): Likewise.
12337
12338 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12339 (setjmp_mod_SOURCES): New variable.
12340 (setjmp_mod_CFLAGS): Likewise.
12341 (setjmp_LDFLAGS): Likewise.
12342
12343 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12344 (setjmp_mod_SOURCES): New variable.
12345 (setjmp_mod_CFLAGS): Likewise.
12346 (setjmp_LDFLAGS): Likewise.
12347
12348 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12349 (setjmp_mod_SOURCES): New variable.
12350 (setjmp_mod_CFLAGS): Likewise.
12351 (setjmp_LDFLAGS): Likewise.
12352
12353 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12354 (setjmp_mod_SOURCES): New variable.
12355 (setjmp_mod_CFLAGS): Likewise.
12356 (setjmp_LDFLAGS): Likewise.
12357
12358 * normal/i386/setjmp.S: Moved from here ...
12359 * lib/i386/setjmp.S: ... Moved here
12360 * normal/x86_64/setjmp.S: Moved from here ...
12361 * lib/x86_64/setjmp.S: ... Moved here
12362 * normal/powerpc/setjmp.S: Moved from here ...
12363 * lib/powerpc/setjmp.S: ... Moved here
12364 * normal/sparc64/setjmp.S: Moved from here ...
12365 * lib/sparc64/setjmp.S: ... Moved here
12366
12367 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12368 returns_twice in mingw.
12369
12370 * script/lua/grub_lib.c: New file.
12371 * script/lua/grub_lib.h: Likewise.
12372 * script/lua/grub_lua.h: Likewise.
12373 * script/lua/grub_main.c: Likewise.
12374 * script/lua/lapi.c: Likewise.
12375 * script/lua/lapi.h: Likewise.
12376 * script/lua/lauxlib.c: Likewise.
12377 * script/lua/lauxlib.h: Likewise.
12378 * script/lua/lbaselib.c: Likewise.
12379 * script/lua/lcode.c: Likewise.
12380 * script/lua/lcode.h: Likewise.
12381 * script/lua/ldblib.c: Likewise.
12382 * script/lua/ldebug.c: Likewise.
12383 * script/lua/ldebug.h: Likewise.
12384 * script/lua/ldo.c: Likewise.
12385 * script/lua/ldo.h: Likewise.
12386 * script/lua/ldump.c: Likewise.
12387 * script/lua/lfunc.c: Likewise.
12388 * script/lua/lfunc.h: Likewise.
12389 * script/lua/lgc.c: Likewise.
12390 * script/lua/lgc.h: Likewise.
12391 * script/lua/linit.c: Likewise.
12392 * script/lua/liolib.c: Likewise.
12393 * script/lua/llex.c: Likewise.
12394 * script/lua/llex.h: Likewise.
12395 * script/lua/llimits.h: Likewise.
12396 * script/lua/lmathlib.c: Likewise.
12397 * script/lua/lmem.c: Likewise.
12398 * script/lua/lmem.h: Likewise.
12399 * script/lua/loadlib.c: Likewise.
12400 * script/lua/lobject.c: Likewise.
12401 * script/lua/lobject.h: Likewise.
12402 * script/lua/lopcodes.c: Likewise.
12403 * script/lua/lopcodes.h: Likewise.
12404 * script/lua/loslib.c: Likewise.
12405 * script/lua/lparser.c: Likewise.
12406 * script/lua/lparser.h: Likewise.
12407 * script/lua/lstate.c: Likewise.
12408 * script/lua/lstate.h: Likewise.
12409 * script/lua/lstring.c: Likewise.
12410 * script/lua/lstring.h: Likewise.
12411 * script/lua/lstrlib.c: Likewise.
12412 * script/lua/ltable.c: Likewise.
12413 * script/lua/ltable.h: Likewise.
12414 * script/lua/ltablib.c: Likewise.
12415 * script/lua/ltm.c: Likewise.
12416 * script/lua/ltm.h: Likewise.
12417 * script/lua/lua.h: Likewise.
12418 * script/lua/luaconf.h: Likewise.
12419 * script/lua/lualib.h: Likewise.
12420 * script/lua/lundump.c: Likewise.
12421 * script/lua/lundump.h: Likewise.
12422 * script/lua/lvm.c: Likewise.
12423 * script/lua/lvm.h: Likewise.
12424 * script/lua/lzio.c: Likewise.
12425 * script/lua/lzio.h: Likewise.
12426
12427 2009-05-16 Bean <bean123ch@gmail.com>
12428
12429 * include/grub/kernel.h (grub_module_header_types): Add type
12430 OBJ_TYPE_CONFIG.
12431
12432 * kern/main.c (grub_load_config): New function.
12433 (grub_main): Call grub_load_config to read boot config.
12434
12435 * grub-mkimage (generate_image): New parameter config_path.
12436 (options): New option --config.
12437 (main): Parse --config option, and pass it to generate_image.
12438
12439 2009-05-14 Christian Franke <franke@computer.org>
12440
12441 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12442 This fixes build on Cygwin.
12443
12444 2009-05-14 Pavel Roskin <proski@gnu.org>
12445
12446 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12447 jump. This saves two bytes, so the typical case of 2 swapped
12448 drives would fit 32 bytes.
12449
12450 2009-05-13 Pavel Roskin <proski@gnu.org>
12451
12452 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12453 grub_uint32_t to avoid a warning.
12454
12455 * loader/i386/linux.c (allocate_pages): When assigning
12456 real_mode_mem, cast through grub_size_t to fix a warning. The
12457 code already makes sure that the value would fit a pointer.
12458 (grub_linux_setup_video): Cast render_target->data to
12459 grub_size_t to fix a warning.
12460
12461 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12462
12463 * commands/i386/pc/drivemap.c: New file - implement drivemap
12464 command.
12465 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12466 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12467
12468 2009-05-13 Pavel Roskin <proski@gnu.org>
12469
12470 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12471 embedding_area_exists.
12472
12473 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12474
12475 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12476 it easier to understand / work with.
12477 Improve warning messages for cases where there's no embedding area,
12478 or when it is too small (or core.img too large).
12479
12480 2009-05-13 Pavel Roskin <proski@gnu.org>
12481
12482 * loader/i386/pc/multiboot2.c: Add necessary includes for
12483 grub_multiboot2_real_boot().
12484
12485 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12486 PX record is always little-endian. We only need the lower 2
12487 bytes of the mode.
12488
12489 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12490 facilitate code reuse.
12491 (grub_cpio_mount): Use "struct head", not a char buffer. This
12492 fixes a warning reported by gcc 4.4.
12493
12494 * kernel/disk.c (grub_disk_read): Use void pointer for the
12495 buffer.
12496 (grub_disk_write): Use const void pointer for the buffer.
12497 Adjust all callers. Remove unnecessary casts.
12498
12499 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12500
12501 * util/i386/pc/grub-install.in: Update copyright year.
12502
12503 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 gptsync
12506
12507 * commands/gptsync.c: new file
12508 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12509 (gptsync_mod_SOURCES): new variable
12510 (gptsync_mod_CFLAGS): likewise
12511 (gptsync_mod_LDFLAGS): likewise
12512 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12513 new definition
12514 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12516 * conf/i386-ieee1275.rmk: likewise
12517 * conf/i386-pc.rmk: likewise
12518 * conf/powerpc-ieee1275.rmk: likewise
12519
12520 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Fixed grub-emu
12523
12524 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12525 (grub_dl_ref): likewise
12526
12527 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12528
12529 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12530 split in two functions (one for msdos and one for gpt).
12531
12532 2009-05-08 Pavel Roskin <proski@gnu.org>
12533
12534 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12535 not modified.
12536
12537 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12538 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12539 Initialize them with -1. Add sanity check for bad1. Eliminate
12540 nerr variable.
12541
12542 2009-05-08 David S. Miller <davem@davemloft.net>
12543
12544 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12545
12546 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12547
12548 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12549 existence.
12550
12551 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12552
12553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12554 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12555
12556 2009-05-05 David S. Miller <davem@davemloft.net>
12557
12558 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12559
12560 2009-05-05 Pavel Roskin <proski@gnu.org>
12561
12562 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12563 of grub_dl_ref() and grub_dl_unref().
12564 * commands/parttool.c: Remove preprocessor conditionals around
12565 grub_dl_ref() and grub_dl_unref().
12566 * fs/affs.c: Likewise.
12567 * fs/afs.c: Likewise.
12568 * fs/cpio.c: Likewise.
12569 * fs/ext2.c: Likewise.
12570 * fs/fat.c: Likewise.
12571 * fs/hfs.c: Likewise.
12572 * fs/hfsplus.c: Likewise.
12573 * fs/iso9660.c: Likewise.
12574 * fs/jfs.c: Likewise.
12575 * fs/minix.c: Likewise.
12576 * fs/ntfs.c: Likewise.
12577 * fs/reiserfs.c: Likewise.
12578 * fs/sfs.c: Likewise.
12579 * fs/udf.c: Likewise.
12580 * fs/ufs.c: Likewise.
12581 * fs/xfs.c: Likewise.
12582 * include/grub/dl.h: Likewise.
12583 * loader/xnu.c: Likewise.
12584
12585 2009-05-04 Pavel Roskin <proski@gnu.org>
12586
12587 * commands/acpi.c: Remove unused variable my_mod.
12588 * partmap/amiga.c: Likewise.
12589 * partmap/apple.c: Likewise.
12590 * partmap/gpt.c: Likewise.
12591 * partmap/pc.c: Likewise.
12592 * partmap/sun.c: Likewise.
12593 * term/gfxterm.c: Likewise.
12594 * term/i386/pc/vesafb.c: Likewise.
12595 * term/i386/pc/vga.c: Likewise.
12596
12597 2009-05-04 David S. Miller <davem@davemloft.net>
12598
12599 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12600 pointer args to grub_ieee1275_get_property().
12601
12602 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12603
12604 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12605 devices, and do not traverse down under controller nodes.
12606
12607 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12608 (grub_ofdisk_open): Use it to un-escape "," characters.
12609 * kern/disk.c (find_part_sep): New.
12610 (grub_disk_open): Use it to find the first non-escaped ','
12611 character in the disk name.
12612 * util/ieee1275/devicemap.c (escape_of_path): New.
12613 (grub_util_emit_devicemap_entry): Use it.
12614 * util/sparc64/ieee1275/grub-install.in: Update script to
12615 strip partition specifiers properly by not triggering on
12616 '\' escaped ',' characters.
12617
12618 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12619
12620 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12621 to 0x300.
12622 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12623 resolutions.
12624 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12625 on documentation from Wikipedia).
12626
12627 2009-05-04 Pavel Roskin <proski@gnu.org>
12628
12629 * disk/ata.c: Spelling fixes.
12630 * disk/raid.c: Likewise.
12631 * disk/usbms.c: Likewise.
12632 * disk/dmraid_nvidia.c: Likewise.
12633 * kern/ieee1275/openfw.c: Likewise.
12634 * kern/ieee1275/init.c: Likewise.
12635 * kern/ieee1275/cmain.c: Likewise.
12636 * boot/i386/pc/cdboot.S: Likewise.
12637 * video/readers/png.c: Likewise.
12638 * video/i386/pc/vbe.c: Likewise.
12639 * fs/udf.c: Likewise.
12640 * fs/hfs.c: Likewise.
12641 * fs/reiserfs.c: Likewise.
12642 * efiemu/runtime/efiemu.c: Likewise.
12643 * efiemu/main.c: Likewise.
12644 * efiemu/mm.c: Likewise.
12645 * include/grub/elf.h: Likewise.
12646 * include/grub/xnu.h: Likewise.
12647 * include/grub/usbdesc.h: Likewise.
12648 * include/grub/usb.h: Likewise.
12649 * include/grub/script_sh.h: Likewise.
12650 * include/grub/lib/LzmaEnc.h: Likewise.
12651 * include/grub/efiemu/efiemu.h: Likewise.
12652 * include/grub/command.h: Likewise.
12653 * normal/menu.c: Likewise.
12654 * normal/main.c: Likewise.
12655 * normal/datetime.c: Likewise.
12656 * bus/usb/uhci.c: Likewise.
12657 * mmap/i386/uppermem.c: Likewise.
12658 * mmap/mmap.c: Likewise.
12659 * commands/acpi.c: Likewise.
12660 * commands/test.c: Likewise.
12661 * partmap/apple.c: Likewise.
12662 * font/font.c: Likewise.
12663 * loader/sparc64/ieee1275/linux.c: Likewise.
12664 * loader/macho.c: Likewise.
12665 * loader/i386/bsd_trampoline.S: Likewise.
12666 * loader/i386/bsd.c: Likewise.
12667 * loader/xnu.c: Likewise.
12668 * term/i386/pc/vesafb.c: Likewise.
12669 * term/usb_keyboard.c: Likewise.
12670 * util/resolve.c: Likewise.
12671 * util/getroot.c: Likewise.
12672
12673 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12674
12675 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12676
12677 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12678
12679 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12680 build error.
12681
12682 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12683
12684 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12685 parameter only available on BIOS.
12686
12687 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Removed wrong semicolon in declaration
12690
12691 * grub/misc.h (grub_dprintf): remove semicolon
12692
12693 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12696 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12697 is done by grub_cmd_linux() now).
12698 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12699 restore video to text mode.
12700 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12701 indicates lack of "vga=" parameter. "vga=0" is mapped to
12702 `GRUB_LINUX_VID_MODE_NORMAL'.
12703
12704 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12705
12706 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12707 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12708 and `normal/script.c'. Add `kern/rescue_reader.c',
12709 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12710 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12711 `grub_script.tab.c'.
12712
12713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12717 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12718
12719 * Makefile.in: Remove duplicated 2008 in Copyright line.
12720
12721 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12722
12723 * util/misc.c (grub_util_warn): New function. Emits a warning
12724 unconditionally.
12725 * include/grub/util/misc.h (grub_util_warn): New declaration.
12726
12727 * util/i386/pc/grub-install.in: Understand --force and pass it down
12728 to grub-setup.
12729
12730 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12731 down to setup().
12732 (setup): Improve error messages and add warnings when requested to
12733 install in odd layouts. Refuse to install using blocklists unless
12734 --force was set.
12735
12736 2009-05-04 martin f. krafft <madduck@madduck.net>
12737
12738 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12739
12740 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 Updated copyright year
12743
12744 * fs/hfsplus.c: updated copyright year
12745
12746 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 HFS+ UUID
12749
12750 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12751 in the space previously used by unused3
12752 (grub_hfsplus_uuid): new function
12753 (grub_hfsplus_fs): added uuid field
12754
12755 2009-05-03 Pavel Roskin <proski@gnu.org>
12756
12757 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12758 suppress warnings. It's no longer needed.
12759 * disk/host.c: Likewise.
12760 * disk/ata_pthru.c: Likewise.
12761 * disk/loopback.c: Likewise.
12762 * hook/datehook.c: Likewise.
12763 * parttool/pcpart.c: Likewise.
12764 * fs/i386/pc/pxe.c: Likewise.
12765 * fs/ntfscomp.c: Likewise.
12766 * efiemu/main.c: Likewise.
12767 * mmap/mmap.c: Likewise.
12768 * commands/crc.c: Likewise.
12769 * commands/hexdump.c: Likewise.
12770 * commands/hdparm.c: Likewise.
12771 * commands/acpi.c: Likewise.
12772 * commands/echo.c: Likewise.
12773 * commands/minicmd.c: Likewise.
12774 * commands/blocklist.c: Likewise.
12775 * commands/memrw.c: Likewise.
12776 * commands/loadenv.c: Likewise.
12777 * commands/usbtest.c: Likewise.
12778 * commands/lsmmap.c: Likewise.
12779 * commands/boot.c: Likewise.
12780 * commands/parttool.c: Likewise.
12781 * commands/configfile.c: Likewise.
12782 * commands/search.c: Likewise.
12783 * commands/ieee1275/suspend.c: Likewise.
12784 * commands/cat.c: Likewise.
12785 * commands/i386/pc/pxecmd.c: Likewise.
12786 * commands/i386/pc/play.c: Likewise.
12787 * commands/i386/pc/halt.c: Likewise.
12788 * commands/i386/pc/vbeinfo.c: Likewise.
12789 * commands/i386/pc/vbetest.c: Likewise.
12790 * commands/lspci.c: Likewise.
12791 * commands/date.c: Likewise.
12792 * commands/handler.c: Likewise.
12793 * commands/ls.c: Likewise.
12794 * commands/test.c: Likewise.
12795 * commands/cmp.c: Likewise.
12796 * commands/efi/loadbios.c: Likewise.
12797 * commands/efi/fixvideo.c: Likewise.
12798 * commands/halt.c: Likewise.
12799 * commands/help.c: Likewise.
12800 * commands/reboot.c: Likewise.
12801 * hello/hello.c: Likewise.
12802 * script/sh/main.c: Likewise.
12803 * loader/xnu.c: Likewise.
12804 * term/terminfo.c: Likewise.
12805 * term/i386/pc/serial.c: Likewise.
12806 * term/usb_keyboard.c: Likewise.
12807
12808 2009-05-03 David S. Miller <davem@davemloft.net>
12809
12810 * normal/menu.c: Include grub/parser.h
12811
12812 2009-05-03 Pavel Roskin <proski@gnu.org>
12813
12814 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12815 not char*.
12816 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12817 Suggested by Javier Martín <lordhabbit@gmail.com>
12818
12819 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12820 efiemu??.o doesn't exist.
12821 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12822 copying.
12823
12824 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 FreeBSD 64-bit support
12827
12828 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12829 and loader/i386/bsd_trampoline.S
12830 (bsd_mod_ASFLAGS): new variable
12831 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12832 (FREEBSD_MODTYPE_KERNEL64): likewise
12833 (grub_bsd64_trampoline_start): likewise
12834 (grub_bsd64_trampoline_end): likewise
12835 (grub_bsd64_trampoline_selfjump): likewise
12836 (grub_bsd64_trampoline_gdt): likewise
12837 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12838 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12839 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12840 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12841 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12842 of "attrib" member
12843 * loader/i386/bsd_pagetable.c: new file
12844 * loader/i386/bsd_trampoline.S: likewise
12845 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12846 (ALIGN_VAR): likewise
12847 (entry_hi): new variable
12848 (kern_end_mdofs): likewise
12849 (is_64bit): likewise
12850 (grub_freebsd_add_meta): use ALIGN_VAR
12851 (grub_e820_mmap): new declaration
12852 (grub_freebsd_add_mmap): new function
12853 (grub_freebsd_add_meta_module): support 64 bit kernels
12854 (grub_freebsd_list_modules): use ALIGN_VAR
12855 (gdt_descriptor): new declaration
12856 (grub_freebsd_boot): support 64 bit kernels
12857 (grub_bsd_elf64_hook): new function
12858 (grub_bsd_load_elf): support elf64
12859
12860 2009-05-03 Bean <bean123ch@gmail.com>
12861
12862 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12863 after we get the result of if statement.
12864
12865 2009-05-03 Bean <bean123ch@gmail.com>
12866
12867 * Makefile.in (enable_efiemu): New variable.
12868
12869 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12870 set.
12871 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12872 path.
12873 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12874 path, add -mno-red-zone option.
12875 (efiemu64_s.o): Likewise.
12876 (efiemu64.o): Use macro $^ for source file.
12877
12878 * configure.ac (--enable-efiemu): New option.
12879
12880 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 xnu support
12883
12884 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12885 (pkglib_MODULES): add xnu.mod
12886 (xnu_mod_SOURCES): new variable
12887 (xnu_mod_CFLAGS): likewise
12888 (xnu_mod_LDFLAGS): likewise
12889 (xnu_mod_ASFLAGS): likewise
12890 * conf/i386-pc.rmk: likewise
12891 * conf/x86_64-efi.rmk: likewise
12892 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12893 new declaration
12894 * include/grub/i386/macho.h: new file
12895 * include/grub/i386/xnu.h: likewise
12896 * include/grub/macho.h: likewise
12897 * include/grub/machoload.h: likewise
12898 * include/grub/x86_64/macho.h: likewise
12899 * include/grub/x86_64/xnu.h: likewise
12900 * include/grub/xnu.h: likewise
12901 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12902 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12903 * loader/i386/efi/xnu.c: new file
12904 * loader/i386/pc/xnu.c: likewise
12905 * loader/i386/xnu.c: likewise
12906 * loader/i386/xnu_helper.S: likewise
12907 * loader/macho.c: likewise
12908 * loader/xnu.c: likewise
12909 * loader/xnu_resume.c: likewise
12910 * util/grub-dumpdevtree: likewise
12911 * include/grub/i386/pit.h: include grub/err.h
12912 (grub_pit_wait): export
12913 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12914
12915 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 Efiemu
12918
12919 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12920 _linux_efi, linux_efi.
12921 new files in grub-emu
12922 new targets efiemu32.o and efiemu64.o
12923 * loader/linux_normal_efiemu.c: likewise
12924 * loader/i386/efi/linux.c: added preliminary efiemu support
12925 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12926 files to copy
12927 * include/grub/autoefi.h: new file
12928 * include/grub/i386/efiemu.h: likewise
12929 * include/grub/i386/pc/efiemu.h: likewise
12930 * include/grub/efi/api.h: add LL suffix when necessary
12931 new definitions relating to tables
12932 * include/grub/efiemu/efiemu.h: new file
12933 * include/grub/efiemu/runtime.h: likewise
12934 * efiemu/prepare.c: likewise
12935 * efiemu/loadcore_common.c: likewise
12936 * efiemu/loadcore64.c: likewise
12937 * efiemu/runtime/efiemu.sh: likewise
12938 * efiemu/runtime/efiemu.S: likewise
12939 * efiemu/runtime/efiemu.c: likewise
12940 * efiemu/runtime/config.h: likewise
12941 * efiemu/prepare32.c: likewise
12942 * efiemu/main.c: likewise
12943 * efiemu/modules/pnvram.c: likewise
12944 * efiemu/modules/i386: likewise
12945 * efiemu/modules/i386/pc: likewise
12946 * efiemu/modules/acpi.c: likewise
12947 * efiemu/i386/pc/cfgtables.c: likewise
12948 * efiemu/i386/loadcore64.c: likewise
12949 * efiemu/i386/loadcore32.c: likewise
12950 * efiemu/prepare64.c: likewise
12951 * efiemu/loadcore.c: likewise
12952 * efiemu/symbols.c: likewise
12953 * efiemu/mm.c: likewise
12954 * efiemu/loadcore32.c: likewise
12955
12956 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 ACPI spoofing
12959
12960 * commands/acpi.c: new file
12961 * commands/i386/pc/acpi.c: likewise
12962 * commands/efi/acpi.c: likewise
12963 * include/grub/acpi.h: likewise
12964 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12965 (acpi_mod_SOURCES): new variable
12966 (acpi_mod_CFLAGS): likewise
12967 (acpi_mod_LDFLAGS): likewise
12968 * conf/i386-efi.rmk: likewise
12969 * conf/x86_64-efi.rmk: likewise
12970
12971 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 Missing part from mmap patch
12974
12975 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12976 (grub_mmap_unregister)
12977 (grub_mmap_free_and_unregister): use grub_mmap_register
12978
12979 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 Mmap services
12982
12983 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12984 * loader/i386/linux.c (find_mmap_size): likewise
12985 (allocate_pages): likewise
12986 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12987 (grub_fill_multiboot_mmap): likewise
12988 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12989 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12990 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12991 (OPENBSD_MMAP_RESERVED): likewise
12992 * include/grub/i386/pc/memory.h: include grub/memory.h
12993 (grub_lower_mem): removed
12994 (grub_upper_mem): likewise
12995 (GRUB_MACHINE_MEMORY_ACPI): new definition
12996 (GRUB_MACHINE_MEMORY_NVS): likewise
12997 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12998 (GRUB_MACHINE_MEMORY_HOLE): likewise
12999 (grub_machine_mmap_register): likewise
13000 (grub_machine_mmap_unregister): likewise
13001 (grub_machine_get_upper): likewise
13002 (grub_machine_get_lower): likewise
13003 (grub_machine_get_post64): likewise
13004 * include/grub/i386/efi/memory.h: new file
13005 * include/grub/x86_64/efi/memory.h: likewise
13006 * include/grub/efi/memory.h: likewise
13007 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13008 (mmap_mod_SOURCES): new variable
13009 (mmap_mod_LDFLAGS): likewise
13010 (mmap_mod_ASFLAGS): likewise
13011 * conf/i386-coreboot.rmk: likewise
13012 * conf/i386-ieee1275.rmk: likewise
13013 * conf/i386-efi.rmk: likewise
13014 * conf/x86_64-efi.rmk: likewise
13015 * include/grub/types.h (UINT_TO_PTR): new macro
13016 (PTR_TO_UINT32): likewise
13017 (PTR_TO_UINT64): likewise
13018 * include/grub/memory.h: new file
13019 * mmap/i386/pc/mmap.c: likewise
13020 * mmap/i386/pc/mmap_helper.S: likewise
13021 * mmap/i386/uppermem.c: likewise
13022 * mmap/mmap.c: likewise
13023 * mmap/efi/mmap.c: likewise
13024 * kern/i386/coreboot/init.c (grub_machine_init): don't use
13025 grub_upper_mem
13026 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13027 (grub_upper_mem): likewise
13028 (grub_machine_init): don't use grub_upper_mem,
13029 make grub_lower_mem local
13030 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13031 grub_mmap_iterate and grub_mmap_get_upper
13032 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13033
13034 2009-05-02 Bean <bean123ch@gmail.com>
13035
13036 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13037 script/sh/parser.y.
13038 (pkglib_MODULES): Add normal.mod and sh.mod.
13039 (normal_SOURCES): New variable.
13040 (normal_mod_CFLAGS): Likewise.
13041 (normal_mod_LDFLAGS): Likewise.
13042 (sh_mod_SOURCES): Likewise.
13043 (sh_mod_CFLAGS): Likewise.
13044 (sh_mod_LDFLAGS): Likewise.
13045
13046 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13047 script/sh/lexer.c_DEPENDENCIES.
13048 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13049 kern/rescue_reader.c and kern/rescue_parser.c.
13050 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13051 (grub_emu_SOURCES): Change source files.
13052 (pkglib_MODULES): Remove normal.mod.
13053 (normal_SOURCES): Removed.
13054 (normal_mod_CFLAGS): Likewise.
13055 (normal_mod_LDFLAGS): Likewise.
13056 * conf/i386-coreboot.rmk: Likewise.
13057 * conf/i386-efi.rmk: Likewise.
13058 * conf/i386-ieee1276.rmk: Likewise.
13059 * conf/powerpc-ieee1275.rmk: Likewise.
13060 * conf/sparc64-ieee1275.rmk: Likewise.
13061 * conf/x86_64-efi.rmk: Likewise.
13062
13063 * include/grub/command.h (grub_command_execute): New inline function.
13064
13065 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13066
13067 * include/grub/normal.h: Remove <grub/setjmp.h>.
13068 (grub_fs_module_list): Moved to normal/autofs.c.
13069 (grub_exit_env): Removed.
13070 (grub_command_execute): Likewise.
13071 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13072 parameter script.
13073 (read_command_list): New function declaration.
13074 (read_fs_list): Likewise.
13075
13076 * include/parser.h: Include <grub/reader.h>.
13077 (grub_parser_split_cmdline): Change type of getline parameter.
13078 (grub_parser): New structure.
13079 (grub_parser_class): New variable.
13080 (grub_parser_execute): New function declaration.
13081 (grub_register_rescue_parser): Likewise.
13082 (grub_parser_register): New inline function.
13083 (grub_parser_unregister): Likewise.
13084 (grub_parser_get_current): Likewise.
13085 (grub_parser_set_current): Likewise.
13086
13087 * include/grub/reader.h: New file.
13088 * kern/reader.c: Likewise.
13089 * kern/rescue_parser.c: Likewise.
13090 * kern/rescue_reader.c: Likewise.
13091 * normal/autofs.c: Likewise.
13092 * normal/dyncmd.c: Likewise.
13093
13094 * include/grub/rescue.h: Removed.
13095 * normal/command.h: Likewise.
13096
13097 * include/grub/script.h: Moved to ...
13098 * include/grub/script_sh.h: ... Moved here.
13099 * normal/execute.c: Moved to ...
13100 * script/sh/execute.c: ... Moved here.
13101 * normal/function.c: Moved to ...
13102 * script/sh/function.c: ... Moved here.
13103 * normal/lexer.c: Moved to ...
13104 * script/sh/lexer.c: ... Moved here.
13105 * normal/parser.y: Moved to ...
13106 * script/sh/parser.y: ... Moved here.
13107 * normal/script.c: Moved to ...
13108 * script/sh/script.c: ... Moved here.
13109
13110 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13111 <grub/reader.h>.
13112 (grub_exit_env): Removed.
13113 (fs_module_list): Moved to normal/autofs.c.
13114 (grub_file_getline): Don't handle comment here.
13115 (free_menu): Skip removed field entry->commands.
13116 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13117 script parameter.
13118 (read_config_file): Removed nested parameter, change getline function.
13119 (grub_enter_normal_mode): Removed.
13120 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13121 (read_command_list): Likewise.
13122 (autoload_fs_module): Moved to normal/autofs.c.
13123 (read_fs_list): Likewise.
13124 (reader_nested): New variable.
13125 (grub_normal_execute): Run parser.sh to switch to sh parser.
13126 (grub_cmd_rescue): Removed.
13127 (cmd_normal): Removed.
13128 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13129 rescue command.
13130 (grub_cmdline_run): New function.
13131 (grub_normal_reader_init): Likewise.
13132 (grub_normal_read_line): Likewise.
13133 (grub_env_write_pager): Likewise.
13134 (cmdline): New variable.
13135 (grub_normal_reader): Likewise.
13136 (GRUB_MOD_INIT): Register normal reader and set as current, register
13137 pager hook, register normal command with grub_register_command_prio,
13138 so that it won't show up in command.lst.
13139 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13140 grub_fs_autoload_hook.
13141
13142 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13143 (grub_menu_execute_entry): Replace grub_script_execute with
13144 grub_parser_execute, change parameter to grub_command_execute.
13145
13146 * normal/menu_text.c: Remove <grub/script.h>.
13147
13148 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13149 and <grub/parser.h>.
13150 (run): Change editor_getline to use new parser interface. Change
13151 parameter to grub_command_execute.
13152
13153 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13154 <grub/reader.h> and <grub/parser.h>.
13155 (grub_load_normal_mode): Execute normal command.
13156 (grub_main): Call grub_register_core_commands,
13157 grub_register_rescue_parser and grub_register_rescue_reader, use
13158 grub_reader_loop to enter input loop.
13159
13160 * kern/parser.c (grub_parser_split_cmdline): Change type of
13161 getline parameter.
13162 (grub_parser_class): New variable.
13163 (grub_parser_execute): New function.
13164
13165 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13166 * loader/multiboot2.c: Likewise.
13167 * loader/sparc64/ieee1275/linux.c: Likewise.
13168
13169 * util/grub-emu.c (read_command_list): New dummy function.
13170
13171 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13172
13173 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13174 count to 16 for CCISS and IDA.
13175
13176 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13177
13178 * normal/menu_text.c (grub_wait_after_message): Print a newline
13179 after waiting for user input.
13180
13181 * loader/i386/linux.c: Include `<grub/normal.h>'.
13182 (grub_cmd_linux): Improve the error message about `ask' mode, by
13183 waiting for user input so it's not missed (we can do this, since
13184 user requested interaction).
13185
13186 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 Added missing lst to grub-mkrescue
13189
13190 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13191 and ${input_dir}/parttool.lst
13192
13193 2009-04-30 David S. Miller <davem@davemloft.net>
13194
13195 * util/hostdisk.c (device_is_wholedisk): New function.
13196 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13197 zero only if device_is_wholedisk() returns true.
13198
13199 * util/hostdisk.c (convert_system_partition_to_system_disk):
13200 Handle virtual disk devices named /dev/vdiskX as found on sparc
13201 and powerpc.
13202
13203 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13204 lettered partition specifier is found, convert to numbered.
13205
13206 2009-04-29 David S. Miller <davem@davemloft.net>
13207
13208 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13209 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13210
13211 * normal/command.c: Add missing newline at end of file.
13212
13213 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13214 warnings.
13215 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13216 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13217 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13218 ihandles have a 32-bit type but need to be stored in a "void *".
13219
13220 2009-04-28 Pavel Roskin <proski@gnu.org>
13221
13222 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13223 not disk. Adjust all dependencies.
13224 (grub_fs_uuid_close): Use grub_device_close(), not
13225 grub_disk_close().
13226
13227 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13228 parent's partition, don't copy it by reference, as it gets freed
13229 on close.
13230
13231 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 Preboot hooks support
13234
13235 * commands/boot.c (struct grub_preboot_t): new declaration
13236 (preboots_head): new variable
13237 (preboots_tail): likewise
13238 (grub_loader_register_preboot_hook): new function
13239 (grub_loader_unregister_preboot_hook): likewise
13240 (grub_loader_set): launch preboot hooks
13241 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13242 (grub_loader_register_preboot_hook): new declaration
13243 (grub_loader_unregister_preboot_hook): likewise
13244
13245 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 Warning fix
13248
13249 * disk/scsi.c (grub_scsi_open): added missing cast when
13250 calling grub_dprintf
13251
13252 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 Bug and warning fixes
13255
13256 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13257 declaration
13258 * commands/test.c (test_parse): fixed bug with file tests and corrected
13259 declaration of find_file
13260
13261 2009-04-26 Pavel Roskin <proski@gnu.org>
13262
13263 * Makefile.in: Don't install empty manual pages if help2man is
13264 missing. Use help2man option for output, not shell redirection.
13265
13266 2009-04-26 David S. Miller <davem@davemloft.net>
13267
13268 * util/grub-mkdevicemap.c (make_device_map): Add missing
13269 NESTED_FUNC_ATTR to process_device().
13270
13271 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 Test command
13274
13275 * commands/test.c: rewritten to use bash-like test
13276
13277 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 Parttool autoloading and improvements
13280
13281 * Makefile.in (pkglib_DATA): add parttool.lst
13282 (parttool.lst): new target
13283 * genmk.rb: generate parttool-*
13284 (CLEANFILES): add #{parttool}
13285 (PARTTOOLFILES): new variable
13286 * genparttoollist.sh: new file
13287 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13288 (grub_pcpart_type): likewise
13289 * commands/parttool.c (helpmsg): new variable
13290 (grub_cmd_parttool): output help if not enough arguments are supplied
13291 autoload modules
13292 (GRUB_MOD_INIT(parttool)): use helpmsg
13293
13294 2009-04-24 David S. Miller <davem@davemloft.net>
13295
13296 Avoiding opening same device multiple times in device iterator.
13297
13298 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13299 and use it to build a list of partitions in iterate_disk() and
13300 iterate_partition().
13301
13302 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13303 on disk->data.
13304
13305 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13306 grub_devalias_iterate() result instead of unconditional 0.
13307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13308 Also, capture hook return value, either directly or via
13309 grub_children_iterate(), and propagate to caller.
13310 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13311 grub_children_iterate): Return value is now 'int' instead of
13312 'grub_err_t'.
13313 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13314 like a proper iterator, stopping when hooks return non-zero.
13315 (grub_devalias_iterate): Likewise.
13316
13317 2009-04-23 David S. Miller <davem@davemloft.net>
13318
13319 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13320
13321 2009-04-22 David S. Miller <davem@davemloft.net>
13322
13323 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13324 is larger than address_cells, use that value for address_cells too.
13325
13326 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13327 IEEE1275_MAX_PATH_LEN): Define.
13328 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13329 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13330 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13331 'devtype'. Explicitly NULL terminate devalias expansion.
13332
13333 * util/sparc64/ieee1275/misc.c: New file.
13334 * util/sparc64/ieee1275/grub-setup.c: New file.
13335 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13336 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13337 * util/sparc64/ieee1275/grub-install.in: New file.
13338 * util/ieee1275/ofpath.c: New file.
13339 * util/ieee1275/devicemap.c: New file.
13340 * util/devicemap.c: New file.
13341 * util/deviceiter.c: New file.
13342 * kern/sparc64/ieee1275/init.c: New file.
13343 * include/grub/util/ofpath.h: New file.
13344 * include/grub/util/deviceiter.h: New file.
13345 * util/grub-mkdevicemap.c: Include deviceiter.h.
13346 Implement using grub_util_emit_devicemap_entry and
13347 grub_util_iterate_devices.
13348 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13349 util/devicemap.c into grub-mkdevicemap
13350 * conf/i386-efi.rmk: Likewise.
13351 * conf/i386-ieee1275.rmk: Likewise.
13352 * conf/i386-pc.rmk: Likewise.
13353 * conf/powerpc-ieee1275.rmk: Likewise.
13354 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13355 images and installation utilities. Build kernel as image
13356 instead of as elf binary. Use common rules as much as possible.
13357
13358 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 Correct GPT definition
13361
13362 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13363 of "attrib" member
13364
13365 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13366
13367 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13368
13369 2009-04-19 David S. Miller <davem@davemloft.net>
13370
13371 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13372 (grub_rescue_cmd_linux): Rename to...
13373 (grub_cmd_linux): and fix prototype.
13374 (grub_rescue_cmd_initrd): Rename to...
13375 (grub_cmd_initrd): and fix prototype.
13376 (cmd_linux, cmd_initrd): New.
13377 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13378 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13379
13380 2009-04-17 Pavel Roskin <proski@gnu.org>
13381
13382 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13383 format.
13384 (grub_ohci_transfer): Likewise.
13385
13386 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13387
13388 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13389 return without a value. Fix inconsistent indentation.
13390
13391 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13392 match struct grub_fs.
13393
13394 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13395 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13396 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13397 * commands/lspci.c (grub_lspci_iter): Likewise.
13398
13399 2009-04-16 Bean <bean123ch@gmail.com>
13400
13401 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13402 value.
13403
13404 2009-04-15 Pavel Roskin <proski@gnu.org>
13405
13406 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13407 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13408 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13409 definitions.
13410
13411 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13412
13413 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13414 that no multiple data or metadata areas are supported and `Unknown
13415 metadata header'.
13416
13417 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 Move loader out of the kernel
13420
13421 * kern/loader.c: moved to ...
13422 * commands/boot.c: ... moved here
13423 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13424 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13425 * include/grub/kernel.h (grub_machine_fini): export
13426 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13427 (grub_loader_set): likewise
13428 (grub_loader_unset): likewise
13429 (grub_loader_boot): likewise
13430 * conf/common.rmk: new module boot.mod
13431 (pkglib_MODULES): add boot.mod
13432 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13433 (grub_emu_SOURCES): likewise
13434 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13435 (grub_emu_SOURCES): likewise
13436 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13437 (grub_emu_SOURCES): likewise
13438 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13439 (grub_emu_SOURCES): likewise
13440 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13441 (grub_emu_SOURCES): likewise
13442 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13443 (grub_emu_SOURCES): likewise
13444 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13445 (grub_emu_SOURCES): likewise
13446
13447 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13450
13451 * kern/misc.c (grub_itoa): Removed function
13452 (grub_ltoa): likewise
13453 (grub_vsprintf): use grub_lltoa
13454
13455 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Restore grub-emu
13458
13459 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13460 * conf/i386-coreboot.rmk: likewise
13461 * conf/i386-ieee1275.rmk: likewise
13462 * conf/powerpc-ieee1275.rmk: likewise
13463
13464 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13465
13466 * INSTALL: Add that `./autogen.sh' needs to be run before
13467 `./configure.'.
13468
13469 2009-04-14 Bean <bean123ch@gmail.com>
13470
13471 * Makefile.in (pkglib_DATA): Add handler.lst.
13472 (handler.lst): New rule.
13473
13474 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13475 * conf/i386-coreboot.rmk: Likewise.
13476 * conf/i386-ieee1275.rmk: Likewise.
13477 * conf/i386-efi.rmk: Likewise.
13478 * conf/x86_64-efi.rmk: Likewise.
13479 * conf/powerpc-ieee1275.rmk: Likewise.
13480 * conf/sparc64-ieee1275.rmk: Likewise.
13481
13482 * genhandlerlist.sh: New file.
13483
13484 * genmk.rb: Add rules to generate handler.lst.
13485
13486 * include/grub/normal.h (grub_file_getline): New function definition.
13487 (read_handler_list): Likewise.
13488 (free_handler_list): Likewise.
13489
13490 * include/grub/term.h (grub_term_register_input): Add name parameter
13491 for auto generation of handler.lst.
13492 (grub_term_register_output): Likewise.
13493
13494 * normal/handler.c: New file.
13495
13496 * normal/main.c (get_line): Renamed to grub_file_getline.
13497 (read_config_file): Use the newly renamed grub_file_getline.
13498 (read_command_list): Likewise.
13499 (read_fs_list): Likewise.
13500 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13501 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13502
13503 * term/efi/console.c (grub_console_init): Add name parameter for auto
13504 generation of handler.lst.
13505 * term/gfxterm.c: Likewise.
13506 * term/i386/pc/at_keyboard.c: Likewise.
13507 * term/i386/pc/console.c: Likewise.
13508 * term/i386/pc/serial.c: Likewise.
13509 * term/i386/pc/vesafb.c: Likewise.
13510 * term/i386/pc/vga.c: Likewise.
13511 * term/i386/pc/vga_text.c: Likewise.
13512 * term/ieee1275/ofconsole.c: Likewise.
13513 * term/usb_keyboard.c: Likewise.
13514
13515 2009-04-14 Bean <bean123ch@gmail.com>
13516
13517 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13518 properly with null character.
13519
13520 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13521
13522 * configure: Remove.
13523 * config.h.in: Likewise.
13524 * stamp-h.in: Likewise.
13525 * DISTLIST: Likewise.
13526 * conf/common.mk: Likewise.
13527 * conf/i386-coreboot.mk: Likewise.
13528 * conf/i386-efi.mk: Likewise.
13529 * conf/i386-ieee1275.mk: Likewise.
13530 * conf/i386.mk: Likewise.
13531 * conf/i386-pc.mk: Likewise.
13532 * conf/powerpc-ieee1275.mk: Likewise.
13533 * conf/sparc64-ieee1275.mk: Likewise.
13534 * conf/x86_64-efi.mk: Likewise.
13535
13536 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13537 develop on GRUB.
13538
13539 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13540 David S. Miller <davem@davemloft.net>
13541
13542 * util/hostdisk.c (make_device_name): Fix buffer length
13543 calculations.
13544
13545 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13546
13547 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13548 <sys/param.h> and <sys/sysctl.h>.
13549 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13550 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13551 opening the device and reset them afterwards.
13552
13553 2009-04-13 Pavel Roskin <proski@gnu.org>
13554
13555 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13556 Reported by John Stanley <jpsinthemix@verizon.net>
13557
13558 2009-04-13 Robert Millan <rmh@aybabtu.com>
13559
13560 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13561 that name for menuentries when appropriate.
13562
13563 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13564
13565 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13566
13567 2009-04-13 Robert Millan <rmh@aybabtu.com>
13568
13569 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13570 to Linux, simply abort telling the user it's no longer supported.
13571
13572 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13573
13574 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13575 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13576 `freebsd_loadenv' only when devices.hints exist.
13577
13578 2009-04-13 Pavel Roskin <proski@gnu.org>
13579
13580 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13581
13582 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13583
13584 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13585 partition number.
13586 (grub_drive): Likewise.
13587
13588 2009-04-13 David S. Miller <davem@davemloft.net>
13589
13590 * kern/sparc64/ieee1275/ieee1275.c: New file.
13591 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13592 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13593 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13594 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13595 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13596 grub_ieee1275_alloc_physmem): Declare new exported functions.
13597
13598 * include/grub/sparc64/ieee1275/loader.h: New file.
13599 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13600 * include/grub/sparc64/kernel.h: Likewise.
13601 * loader/sparc64/ieee1275/linux.c: Likewise.
13602
13603 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13604 (grub_fstest_SOURCES): Likewise.
13605
13606 * util/hostdisk.c (make_device_name): Do not make any assumptions
13607 about the length of drive names.
13608
13609 * kern/dl.c (grub_dl_load_file): Close file immediately when
13610 we are done using it.
13611
13612 2009-04-12 David S. Miller <davem@davemloft.net>
13613
13614 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13615 values. Noticed by Pavel Roskin.
13616
13617 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13618 target compiler.
13619
13620 * genmk.rb: Add more flexible image type specification, also
13621 pass --strip-unneeded to objcopy.
13622 * conf/i386-pc.rmk: Use *_FORMAT.
13623 * conf/i386-pc.mk: Rebuilt.
13624
13625 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13626 (OFDISK_HASH_SZ): Define.
13627 (ofdisk_hash): New hash table.
13628 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13629 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13630 instead of device phandle which is not unique.
13631
13632 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13633 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13634 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13635 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13636 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13637 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13638 GRUB_KERNEL_MACHINE_DATA_END): Define.
13639 (grub_kernel_image_size, grub_total_module_size): Declare.
13640
13641 2009-04-12 Pavel Roskin <proski@gnu.org>
13642
13643 * configure.ac: Change the logic when we check for target tools.
13644 Do it when the target is specified and it's different from the
13645 specified value of the host.
13646
13647 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13648
13649 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13650 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13651 GNU/kFreeBSD. Check if a device is a character device. Use
13652 DIOCGMEDIASIZE to get the size.
13653 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13654 support for GNU/kFreeBSD.
13655 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13656 is a character device instead of a block device. Add support for
13657 FreeBSD device names.
13658
13659 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13660 is a character device instead of a block device.
13661
13662 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13663 is a character device instead of a block device.
13664
13665 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13666
13667 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13668 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13669 FreeBSD. Check if a device is a character device. Use
13670 DIOCGMEDIASIZE to get the size.
13671 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13672 support for FreeBSD.
13673 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13674 is a character device instead of a block device. Add support for
13675 FreeBSD device names.
13676
13677 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13678 a character device instead of a block device.
13679 (grub_util_check_char_device): New function.
13680
13681 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13682 a character device instead of a block device.
13683
13684 * include/grub/util/getroot.h (grub_util_check_char_device): New
13685 prototype.
13686
13687 2009-04-11 David S. Miller <davem@davemloft.net>
13688
13689 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13690 static libgcc.
13691 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13692 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13693 function, if present.
13694 (__bswapdi2): Likewise.
13695
13696 * include/grub/sparc64/ieee1275/boot.h: New file.
13697 * boot/sparc64/ieee1275/boot.S: Likewise.
13698 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13699
13700 * kern/misc.c (grub_ltoa): New function.
13701 (grub_vsprintf): Use it to format 'long' integers.
13702
13703 2009-04-10 David S. Miller <davem@davemloft.net>
13704
13705 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13706 slots are of type grub_ieee1275_cell_t.
13707 (grub_nand_read): Likewise.
13708 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13709 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13710 macros are used to compare values in arg/ret block of the call.
13711 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13712 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13713 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13714 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13715 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13716 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13717 grub_ieee1275_close, grub_ieee1275_set_property,
13718 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13719 grub_ieee1275_cell_t.
13720 * kern/ieee1275/openfw.c (grub_map): Likewise.
13721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13722 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13723
13724 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13725 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13726 (grub_devalias_iterate): Likewise.
13727
13728 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 UFS improvements
13731
13732 * fs/ufs.c (INODE_NBLOCKS): new definition
13733 (struct grub_ufs_dirent): added fields for non-BSD dirents
13734 (grub_ufs_get_file_block): fixed double indirect handling
13735 (grub_ufs_lookup_symlink): use more robust way to determine whether
13736 symlink is inline
13737 (grub_ufs_find_file): support for non-BSD dirents
13738 (grub_ufs_dir): support for non-BSD dirents
13739
13740 2009-04-10 Bean <bean123ch@gnail.com>
13741
13742 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13743 attribute, otherwise the size would be wrong for i386 platform.
13744
13745 * include/grub/pci.h (grub_pci_read_word): New inline function.
13746 (grub_pci_read_byte): Likewise.
13747 (grub_pci_write): Likewise.
13748 (grub_pci_write_word): Likewise.
13749 (grub_pci_write_byte): Likewise.
13750
13751 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13752
13753 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13754 (find_framebuf): Scan pci to locate the frame buffer address.
13755
13756 * commands/efi/fixvideo.c: New file.
13757
13758 * commands/efi/loadbios.c: Likewise.
13759
13760 * commands/memrw.c: Likewise.
13761
13762 * util/grub-dumpbios.in: Likewise.
13763
13764 * conf/common.rmk (grub-dumpbios): New utility.
13765 (pkglib_MODULES): New module memrw.mod.
13766 (memrw_mod_SOURCE): New macro.
13767 (memrw_mod_CFLAGS): Likewise.
13768 (memrw_mod_LDFLAGS): Likewise.
13769
13770 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13771 fixvideo.mod.
13772 (loadbios_mod_SOURCE): New macro.
13773 (loadbios_mod_CFLAGS): Likewise.
13774 (loadbios_mod_LDFLAGS): Likewise.
13775 (fixvideo_mod_SOURCE): Likewise.
13776 (fixvideo_mod_CFLAGS): Likewise.
13777 (fixvideo_mod_LDFLAGS): Likewise.
13778
13779 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13780 fixvideo.mod.
13781 (loadbios_mod_SOURCE): New macro.
13782 (loadbios_mod_CFLAGS): Likewise.
13783 (loadbios_mod_LDFLAGS): Likewise.
13784 (fixvideo_mod_SOURCE): Likewise.
13785 (fixvideo_mod_CFLAGS): Likewise.
13786 (fixvideo_mod_LDFLAGS): Likewise.
13787
13788 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13789
13790 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13791
13792 2009-04-07 David S. Miller <davem@davemloft.net>
13793
13794 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13795 support for R_SPARC_OLO10 relocations. Fix compile warning for
13796 R_SPARC_WDISP30 case.
13797 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13798
13799 2009-04-06 Pavel Roskin <proski@gnu.org>
13800
13801 * include/grub/misc.h (ARRAY_SIZE): New macro.
13802 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13803 New macro.
13804 * loader/i386/linux.c (allocate_pages): Use free_pages().
13805 (grub_linux_unload): Don't use free_pages().
13806 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13807 wrong index. Treat all other modes as text modes.
13808 (grub_cmd_linux): Initialize vid_mode unconditionally to
13809 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13810
13811 * commands/help.c (print_command_help): Use cmd->prio, not
13812 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13813
13814 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 Parttool
13817
13818 * parttool/pcpart.c: new file
13819 * commands/parttool.c: likewise
13820 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13821 (parttool_mod_SOURCES): new variable
13822 (parttool_mod_CFLAGS): likewise
13823 (parttool_mod_LDFLAGS): likewise
13824 (pcpart_mod_SOURCES): likewise
13825 (pcpart_mod_CFLAGS): likewise
13826 (pcpart_mod_LDFLAGS): likewise
13827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13828 and parttool/pcpart.c
13829 * conf/i386-efi.rmk: likewise
13830 * conf/i386-ieee1275.rmk: likewise
13831 * conf/i386-pc.rmk: likewise
13832 * conf/powerpc-ieee1275.rmk: likewise
13833 * conf/sparc64-ieee1275.rmk: likewise
13834 * conf/x86_64-ieee1275.rmk: likewise
13835
13836 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 Support for mtime and further expandability of dir command
13839
13840 * include/grub/lib/datetime.h: moved to ...
13841 * include/grub/datetime.h: ... moved here and added
13842 declaration of grub_unixtime2datetime. All users updated
13843 * include/grub/fs.h: new syntax for dir and mtime functions in
13844 struct grub_fs
13845 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13846 and GRUB_FSHELP_FLAGS_MASK
13847 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13848 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13849 (grub_ext2_mtime): new function
13850 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13851 (grub_hfsplus_mtime): new function
13852 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13853 (GRUB_UFS_ATTR_FILE): likewise
13854 (GRUB_UFS_ATTR_LNK): likewise
13855 (struct grub_ufs_sblock): new fields mtime
13856 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13857 all users updated
13858 (grub_ufs_dir): mtime support
13859 (grub_ufs_mtime): new function
13860 * fs/affs.c (grub_affs_dir): use new dir syntax
13861 * fs/afs.c (grub_afs_dir): likewise
13862 * fs/cpio.c (grub_cpio_dir): likewise
13863 * fs/fat.c (grub_fat_find_dir): likewise
13864 * fs/hfs.c (grub_hfs_dir): likewise
13865 * fs/iso9660.c (grub_iso9660_dir): likewise
13866 * fs/jfs.c (grub_jfs_dir): likewise
13867 * fs/minix.c (grub_minix_dir): likewise
13868 * fs/ntfs.c (grub_ntfs_dir): likewise
13869 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13870 * fs/sfs.c (grub_sfs_dir): likewise
13871 * fs/xfs.c (grub_xfs_dir): likewise
13872 * util/hostfs.c (grub_hostfs_dir): likewise
13873 * lib/datetime.c: moved to ...
13874 * normal/datetime.c: ... moved here
13875 (grub_unixtime2datetime): new function
13876 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13877 * normal/completion.c (iterate_dir): use new dir syntax
13878 * normal/misc.c (grub_normal_print_device_info): tell the
13879 last modification time of a volume
13880 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13881 * conf/common.rmk: added lib/datetime.c to ls.mod
13882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13883 (normal_mod_SOURCES): likewise
13884 (datetime_mod_SOURCES): Removed lib/datetime.c
13885 * conf/i386-efi.rmk: likewise
13886 * conf/i386-ieee1275.rmk: likewise
13887 * conf/i386-pc.rmk: likewise
13888 * conf/powerpc-ieee1275.rmk: likewise
13889 * conf/sparc64-ieee1275.rmk: likewise
13890 * conf/x86_64-efi.rmk: likewise
13891
13892 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 Trim trailing spaces in FAT label and support mtools-like labels
13895
13896 * fs/fat.c (grub_fat_iterate_dir): New function based
13897 on grub_fat_find_dir
13898 (grub_fat_find_dir): use grub_fat_iterate_dir
13899 (grub_fat_label): likewise
13900
13901 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13904 and command.h
13905 remove extraneous kernel_elf_HEADERS
13906
13907 2009-04-04 Bean <bean123ch@gnail.com>
13908
13909 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13910
13911 * util/misc.c: Likewise.
13912
13913 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13914
13915 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13916 instead of grub_printf.
13917
13918 2009-04-03 Robert Millan <rmh@aybabtu.com>
13919
13920 * loader/i386/linux.c (grub_linux_setup_video): Fill
13921 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13922 values from `mode info' structure instead of hardcoded
13923 values.
13924
13925 2009-04-01 Pavel Roskin <proski@gnu.org>
13926
13927 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13928 unused now.
13929 * genmk.rb: Likewise.
13930 * configure.ac: Likewise.
13931
13932 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13933
13934 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13935 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13936
13937 2009-04-01 David S. Miller <davem@davemloft.net>
13938
13939 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13940 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13941 (grub_setjmp): Mark with 'returns_twice' attribute.
13942 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13943 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13944 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13945
13946 2009-04-01 Robert Millan <rmh@aybabtu.com>
13947
13948 Reapply fix from 2008-07-28 which was accidentally reverted; also
13949 perform the same fix to a similar check in same function.
13950
13951 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13952 with the same number are found, just use issue a warning with
13953 grub_dprintf(), as this error has been reported to be non-fatal.
13954
13955 2009-03-31 Pavel Roskin <proski@gnu.org>
13956
13957 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13958 for cross-compilation.
13959
13960 2009-03-30 Robert Millan <rmh@aybabtu.com>
13961
13962 Fix i386-ieee1275 build.
13963
13964 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13965 Remove declaration.
13966
13967 2009-03-30 Pavel Roskin <proski@gnu.org>
13968
13969 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13970 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13971 zero-terminated, rely only on the strlen value. Fix comparison
13972 of strings differing in length.
13973
13974 2009-03-30 Robert Millan <rmh@aybabtu.com>
13975
13976 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13977 checking for abi version. Improve error messages on BIOS to notify
13978 user about `linux16' command.
13979
13980 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 Leak fixes
13983
13984 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13985 in case of collision
13986 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13987
13988 2009-03-29 Robert Millan <rmh@aybabtu.com>
13989
13990 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13991 set `vid_mode' accordingly.
13992 (grub_linux_boot): Process `vid_mode' and set video mode.
13993
13994 2009-03-29 Robert Millan <rmh@aybabtu.com>
13995
13996 * util/grub.d/10_linux.in (linux_entry): New function.
13997 Factorize generation of Linux boot entries.
13998
13999 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14000
14001 Make the format of Environment Block plain text. The boot loader
14002 part is not tested well yet.
14003
14004 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14005 (buffer): Removed.
14006 (envblk): Likewise.
14007 (usage): Remove "info" and "clear". Add "unset". Update the
14008 description of "set", as this does not delete variables any
14009 longer.
14010 (create_envblk_file): Complete rewrite.
14011 (open_envblk_file): Likewise.
14012 (cmd_info): Removed.
14013 (cmd_list): Likewise.
14014 (cmd_set): Likewise.
14015 (cmd_clear): Likewise.
14016 (list_variables): New function.
14017 (write_envblk): Likewise.
14018 (set_variables): Likewise.
14019 (unset_variables): Likewise.
14020 (main): Complete rewrite.
14021
14022 * commands/loadenv.c (buffer): Removed.
14023 (envblk): Likewise.
14024 (open_envblk_file): New function.
14025 (read_envblk_file): Complete rewrite.
14026 (grub_cmd_load_env): Likewise.
14027 (grub_cmd_list_env): Likewise.
14028 (struct blocklist): New struct.
14029 (free_blocklists): New function.
14030 (check_blocklists): Likewise.
14031 (write_blocklists): Likewise.
14032 (grub_cmd_save_env): Complete rewrite.
14033
14034 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14035 a plain text signature.
14036 (GRUB_ENVBLK_MAXLEN): Removed.
14037 (struct grub_envblk): Complete rewrite.
14038 (grub_envblk_find): Removed.
14039 (grub_envblk_insert): Likewise.
14040 (grub_envblk_open): New prototype.
14041 (grub_envblk_set): Likewise.
14042 (grub_envblk_delete): Put const to VALUE.
14043 (grub_envblk_iterate): Put const to NAME and VALUE.
14044 (grub_envblk_close): New prototype.
14045 (grub_envblk_buffer): New inline function.
14046 (grub_envblk_size): Likewise.
14047
14048 * lib/envblk.c: Include grub/mm.h.
14049 (grub_env_find): Removed.
14050 (grub_envblk_open): New function.
14051 (grub_envblk_close): Likewise.
14052 (escaped_value_len): Likewise.
14053 (find_next_line): Likewise.
14054 (grub_envblk_insert): Removed.
14055 (grub_envblk_set): New function.
14056 (grub_envblk_delete): Complete rewrite.
14057 (grub_envblk_iterate): Likewise.
14058
14059 2009-03-28 Robert Millan <rmh@aybabtu.com>
14060
14061 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14062 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14063 variables. Use 16-bit loader.
14064 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14065 loader.
14066 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14067 (grub_linux16_boot): ... this. Update all users.
14068 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14069 (grub_linux_boot): ... this. Update all users.
14070
14071 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14072 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14073 commands to `linux16' and `initrd16'.
14074 (GRUB_MOD_FINI(linux)): Rename to ...
14075 (GRUB_MOD_FINI(linux16)): ... this.
14076
14077 2009-03-24 Pavel Roskin <proski@gnu.org>
14078
14079 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14080 not just for compilation.
14081
14082 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 Move multiboot helper out of kernel
14085
14086 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14087 `loader/i386/multiboot_helper.S'.
14088 * conf/i386-coreboot.rmk: Likewise
14089 * conf/i386-ieee1275.rmk: Likewise
14090
14091 * kern/i386/loader.S: Move multiboot helpers from here...
14092 * loader/i386/multiboot_helper.S: ...moved here
14093 * include/grub/i386/loader.h: Move declarations of multiboot
14094 helpers from here...
14095 * include/grub/i386/multiboot.h: ...moved here
14096 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14097
14098 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14099
14100 * kern/env.c (grub_env_context_open): Added an argument to specify
14101 whether a new context inherits exported variables from current
14102 one. This is useful when making a sandbox to interpret a config
14103 file.
14104 All callers updated.
14105
14106 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14107
14108 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14109
14110 * kern/env.c (grub_env_context_close): Fix memory leaks.
14111
14112 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14113
14114 * normal/main.c (grub_normal_execute): Added an argument
14115 BATCH to specify if an interactive interface should be provided
14116 after reading a config file.
14117 All callers updated.
14118 (read_command_list): Prevent being executed twice.
14119 (read_fs_list): Likewise.
14120
14121 * include/grub/normal.h (grub_normal_execute): Updated the
14122 prototype.
14123
14124 2009-03-22 Pavel Roskin <proski@gno.org>
14125
14126 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14127 _start.
14128 * kern/i386/pc/startup.S: Likewise.
14129 * kern/i386/efi/startup.S: Likewise.
14130 * kern/i386/ieee1275/startup.S: Likewise.
14131 * kern/i386/coreboot/startup.S: Likewise.
14132 * kern/x86_64/efi/startup.S: Likewise.
14133
14134 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14135 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14136 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14137
14138 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14141
14142 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14143 limit detection.
14144 Use vaddr of correct segment for entry_point.
14145
14146 2009-03-21 Bean <bean123ch@gmail.com>
14147
14148 * commands/blocklist.c: Add include file <grub/command.h>, remove
14149 <grub/normal.h> and <grub/arg.h>.
14150 (grub_cmd_blocklist): Use the new command interface.
14151 (GRUB_MOD_INIT): Likewise.
14152 (GRUB_MOD_FINI): Likewise.
14153 * commands/boot.c: Likewise.
14154 * commands/cat.c: Likewise.
14155 * commands/cmp.c: Likewise.
14156 * commands/configfile.c: Likewise.
14157 * commands/crc.c: Likewise.
14158 * commands/echo.c: Likewise.
14159 * commands/halt.c: Likewise.
14160 * commands/handler.c: Likewise.
14161 * commands/hdparm.c: Likewise.
14162 * commands/help.c: Likewise.
14163 * commands/hexdump.c: Likewise.
14164 * commands/loadenv.c: Likewise.
14165 * commands/ls.c: Likewise.
14166 * commands/lsmmap.c: Likewise.
14167 * commands/lspci.c: Likewise.
14168 * commands/loadenv.c: Likewise.
14169 * commands/read.c: Likewise.
14170 * commands/reboot.c: Likewise.
14171 * commands/search.c: Likewise.
14172 * commands/sleep.c: Likewise.
14173 * commands/test.c: Likewise.
14174 * commands/usbtest.c: Likewise.
14175 * commands/videotest.c: Likewise.
14176 * commands/i386/cpuid.c: Likewise.
14177 * commands/i386/pc/halt.c: Likewise.
14178 * commands/i386/pc/play.c: Likewise.
14179 * commands/i386/pc/pxecmd.c: Likewise.
14180 * commands/i386/pc/vbeinfo.c: Likewise.
14181 * commands/i386/pc/vbetest.c: Likewise.
14182 * commands/ieee1275/suspend.c: Likewise.
14183 * disk/loopback.c: Likewise.
14184 * font/font_cmd.c: Likewise.
14185 * hello/hello.c: Likewise.
14186 * loader/efi/appleloader.c: Likewise.
14187 * loader/efi/chainloader.c: Likewise.
14188 * loader/i386/bsd.c: Likewise.
14189 * loader/i386/efi/linux.c: Likewise.
14190 * loader/i386/ieee1275/linux.c: Likewise.
14191 * loader/i386/linux.c: Likewise.
14192 * loader/i386/pc/chainloader.c: Likewise.
14193 * loader/i386/pc/linux.c: Likewise.
14194 * loader/powerpc/ieee1275/linux.c: Likewise.
14195 * loader/multiboot_loader.c: Likewise.
14196 * term/gfxterm.c: Likewise.
14197 * term/i386/pc/serial.c: Likewise.
14198 * term/terminfo.c: Likewise.
14199
14200 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14201 * term/i386/pc/vga.c: Likewise.
14202 * video/readers/jpeg.c: Likewise.
14203 * video/readers/png.c: Likewise.
14204 * video/readers/tga.c: Likewise.
14205
14206 * util/grub-fstest (cmd_loopback): Removed.
14207 (cmd_blocklist): Likewise.
14208 (cmd_ls): Likewise.
14209 (grub_register_command): Likewise.
14210 (grub_unregister_command): Likewise.
14211 (execute_command): Use grub_command_find to locate command and execute
14212 it.
14213
14214 * include/grub/efi/chainloader.h: Removed.
14215 * loader/efi/chainloader_normal.c: Likewise.
14216 * loader/i386/bsd_normal.c: Likewise.
14217 * loader/i386/pc/chainloader_normal.c: Likewise.
14218 * loader/i386/pc/multiboot_normal.c: Likewise.
14219 * loader/linux_normal.c: Likewise.
14220 * loader/multiboot_loader_normal.c: Likewise.
14221 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14222
14223 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14224 and grub_register_command_p1.
14225
14226 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14227 kern/command.c, lib/arg.c and commands/extcmd.c.
14228 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14229 (minicmd_mod_SOURCES): New variable.
14230 (minicmd_mod_CFLAGS): Likewise.
14231 (minicmd_mod_LDFLAGS): Likewise.
14232 (extcmd_mod_SOURCES): Likewise.
14233 (extcmd_mod_CFLAGS): Likewise.
14234 (extcmd_mod_LDFLAGS): Likewise.
14235 (boot_mod_SOURCES): Removed.
14236 (boot_mod_CFLAGS): Likewise.
14237 (boot_mod_LDFLAGS): Likewise.
14238
14239 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14240 kern/corecmd.c.
14241 (kernel_img_HEADERS): Add command.h.
14242 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14243 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14244 and lib/arg.c.
14245 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14246 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14247 remove the corresponding normal mode command.
14248 (normal_mod_SOURCES): Remove normal/arg.c.
14249 * conf/i386-coreboot.rmk: Likewise.
14250 * conf/i386-efi.rmk: Likewise.
14251 * conf/i386-ieee1275.rmk: Likewise.
14252 * conf/powerpc-ieee1275.rmk: Likewise.
14253 * conf/x86_64-efi.rmk: Likewise.
14254
14255 * include/grub/arg.h: Move from here ...
14256 * include/grub/lib/arg.h: ... to here.
14257
14258 * normal/arg.c: Move from here ...
14259 * lib/arg.c: ... to here.
14260
14261 * commands/extcmd.c: New file.
14262 * commands/minicmd.c: Likewise.
14263 * include/grub/command.h: Likewise.
14264 * include/grub/extcmd.h: Likewise.
14265 * kern/command.c: Likewise.
14266 * kern/corecmd.c: Likewise.
14267
14268 * kern/list.c (grub_list_iterate): Return int instead of void.
14269 (grub_list_insert): New function.
14270 (grub_prio_list_insert): Likewise.
14271
14272 * kern/rescue.c (grub_rescue_command): Removed.
14273 (grub_rescue_command_list): Likewise.
14274 (grub_rescue_register_command): Likewise.
14275 (grub_rescue_unregister_command): Likewise.
14276 (grub_rescue_cmd_boot): Move to minicmd.c
14277 (grub_rescue_cmd_help): Likewise.
14278 (grub_rescue_cmd_info): Likewise.
14279 (grub_rescue_cmd_boot): Likewise.
14280 (grub_rescue_cmd_testload): Likewise.
14281 (grub_rescue_cmd_dump): Likewise.
14282 (grub_rescue_cmd_rmmod): Likewise.
14283 (grub_rescue_cmd_lsmod): Likewise.
14284 (grub_rescue_cmd_exit): Likewise.
14285 (grub_rescue_print_devices): Moved to corecmd.c.
14286 (grub_rescue_print_files): Likewise.
14287 (grub_rescue_cmd_ls): Likewise.
14288 (grub_rescue_cmd_insmod): Likewise.
14289 (grub_rescue_cmd_set): Likewise.
14290 (grub_rescue_cmd_unset): Likewise.
14291 (attempt_normal_mode): Use grub_command_find to get normal module.
14292 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14293 commands, remove grub_rescue_register_command calls.
14294
14295 * normal/command.c (grub_register_command): Removed.
14296 (grub_unregister_command): Likewise.
14297 (grub_command_find): Likewise.
14298 (grub_iterate_commands): Likewise.
14299 (rescue_command): Likewise.
14300 (export_command): Moved to corecmd.c.
14301 (set_command): Removed.
14302 (unset_command): Likewise.
14303 (insmod_command): Likewise.
14304 (rmmod_command): Likewise.
14305 (lsmod_command): Likewise.
14306 (grub_command_init): Likewise.
14307
14308 * normal/completion.c (iterate_command): Use cmd->prio to check for
14309 active command.
14310 (complete_arguments): Use grub_extcmd_t structure to find options.
14311 (grub_normal_do_completion): Change function grub_iterate_commands to
14312 grub_command_iterate.
14313
14314 * normal/execute.c (grub_script_execute_cmd): No need to parse
14315 argument here.
14316
14317 * normal/main.c (grub_dyncmd_dispatcher): New function.
14318 (read_command_list): Register unload commands as dyncmd.
14319 (grub_cmd_normal): Use new command interface, register rescue,
14320 unregister normal at entry, register normal, unregister rescue at exit.
14321
14322 * include/grub/list.h (grub_list_test_t): New type.
14323 (grub_list_iterate): Return int instead of void.
14324 (grub_list_insert): New function.
14325 (GRUB_AS_NAMED_LIST_P): New macro.
14326 (GRUB_AS_PRIO_LIST): Likewise.
14327 (GRUB_AS_PRIO_LIST_P): Likewise.
14328 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14329 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14330 (grub_prio_list): New structure.
14331 (grub_prio_list_insert): New function.
14332 (grub_prio_list_remove): New inline function.
14333
14334 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14335 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14336 (GRUB_COMMAND_FLAG_MENU): Likewise.
14337 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14338 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14339 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14340 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14341 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14342 (grub_command): Likewise.
14343 (grub_register_command): Likewise.
14344 (grub_command_find): Likewise.
14345 (grub_iterate_commands): Likewise.
14346 (grub_command_init): Likewise.
14347 (grub_arg_parse): Likewise.
14348 (grub_arg_show_help): Likewise.
14349
14350 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14351 (grub_rescue_unregister_command): Likewise.
14352
14353 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14354 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14355 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14356
14357 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14358 grub_rescue_cmd_initrd.
14359 * include/grub/i386/loader.h: Likewise.
14360 * include/grub/x86_64/loader.h: Likewise.
14361
14362 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14363
14364 2009-03-21 Bean <bean123ch@gmail.com>
14365
14366 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14367 instead of stat in mingw environment.
14368
14369 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14370
14371 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14372
14373 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14374 AC_CONFIG_LINKS.
14375
14376 2009-03-21 Bean <bean123ch@gmail.com>
14377
14378 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14379 out of range error.
14380
14381 2009-03-18 Michel Dänzer <michel@daenzer.net>
14382
14383 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14384 checking inode flags for EXT4_EXTENTS_FLAG.
14385
14386 2009-03-18 Robert Millan <rmh@aybabtu.com>
14387
14388 * loader/i386/linux.c: Include `<grub/video.h>' and
14389 `<grub/i386/pc/vbe.h>'..
14390 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14391 (grub_linux32_boot): Attempt to configure video settings with
14392 grub_linux_setup_video().
14393 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14394 to avoid grub_console_fini() which would step out of graphical mode
14395 unconditionally.
14396
14397 2009-03-14 Robert Millan <rmh@aybabtu.com>
14398
14399 Fix build on powerpc.
14400 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14401
14402 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14405 background image command.
14406
14407 2009-03-12 Colin D Bennett <colin@gibibit.com>
14408
14409 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14410 (grub_gfxterm_putchar): Extract pairs of identical calls to
14411 draw_cursor out of conditional blocks.
14412
14413 2009-03-11 Pavel Roskin <proski@gnu.org>
14414
14415 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14416 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14417
14418 2009-03-11 Robert Millan <rmh@aybabtu.com>
14419
14420 * loader/i386/multiboot_elfxx.c
14421 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14422
14423 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14424
14425 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14426 `kern/handler.c'.
14427
14428 2009-03-11 Robert Millan <rmh@aybabtu.com>
14429
14430 * loader/i386/multiboot.c (code_size): New variable.
14431 (grub_multiboot): Define offsets by adding to `code_size' rather
14432 than subtracting from `grub_multiboot_payload_size'. Provide
14433 4-byte alignment to MBI and others by increasing
14434 `boot_loader_name_length' appropriately.
14435
14436 * loader/i386/multiboot_elfxx.c
14437 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14438
14439 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14440
14441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14442 `fs/ext2.c'.
14443
14444 2009-03-08 Robert Millan <rmh@aybabtu.com>
14445
14446 Make loader/i386/linux.c usable on i386-pc again.
14447
14448 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14449 memory to heap.
14450 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14451 `#error' stanza.
14452
14453 2009-03-07 Bean <bean123ch@gmail.com>
14454
14455 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14456 allocation.
14457
14458 2009-03-06 Robert Millan <rmh@aybabtu.com>
14459
14460 Fix display issue on terminals with screen size other than 80x25
14461 (e.g. gfxterm with resolution higher than 640x480).
14462
14463 * normal/main.c (grub_normal_init_page): Display title text in a
14464 position relative to the center of the terminal instead of relying
14465 on a hardcoded offset.
14466
14467 2009-03-04 Robert Millan <rmh@aybabtu.com>
14468
14469 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14470 installed.
14471
14472 * Makefile.in (host_kernel): New variable.
14473 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14474 scripts instead of just the windows one.
14475 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14476
14477 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14478
14479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14480 `kern/handler.c'.
14481 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14482 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14483 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14485 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14487
14488 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14489
14490 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14491 or if there's no space for the disk label and print the partition number on a
14492 invalid magic.
14493
14494 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14495
14496 * util/misc.c: Include <time.h>.
14497 (grub_millisleep): New function.
14498
14499 2009-03-04 Bean <bean123ch@gmail.com>
14500
14501 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14502 another option -mno-red-zone.
14503
14504 * commands/handler.c: Change module description.
14505
14506 * kern/handler.c: Add missing space at the end of description line.
14507
14508 * kern/list.c: Likewise.
14509
14510 2009-03-03 Robert Millan <rmh@aybabtu.com>
14511
14512 Move more components to the relocation area, and fix mbi pointer
14513 handling to use the destination rather than the origin (thanks to
14514 Vladimir Serbinenko for spotting).
14515
14516 * loader/i386/multiboot.c (mbi_dest): New variable.
14517 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14518 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14519 relocation area.
14520
14521 2009-03-01 Bean <bean123ch@gmail.com>
14522
14523 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14524 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14525 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14526 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14527
14528 * loader/i386/efi/linux.c (acpi_guid): New variable.
14529 (acpi_guid): Likewise.
14530 (EBDA_SEG_ADDR): New constant.
14531 (LOW_MEM_ADDR): Likewise.
14532 (FAKE_EBDA_SEG): Likewise.
14533 (fake_bios_data): New function.
14534 (grub_linux_boot): Call fake_bios_data.
14535
14536 2009-03-01 Bean <bean123ch@gmail.com>
14537
14538 * commands/terminal.c: Removed.
14539
14540 * commands/handler.c: New file.
14541
14542 * include/grub/list.h: Likewise.
14543
14544 * include/grub/handler.h: Likewise.
14545
14546 * kern/list.c: Likewise.
14547
14548 * kern/handler.c: Likewise.
14549
14550 * kern/term.h: Include header file <grub/handler.h>.
14551 (grub_term_input): Move next field to the beginning.
14552 (grub_term_output): Likewise.
14553 (grub_term_input_class): New variable.
14554 (grub_term_output_class): Likewise.
14555 (grub_term_register_input): Changed to inline function.
14556 (grub_term_register_output): Likewise.
14557 (grub_term_unregister_input): Likewise.
14558 (grub_term_unregister_output): Likewise.
14559 (grub_term_set_current_input): Likewise.
14560 (grub_term_set_current_output): Likewise.
14561 (grub_term_get_current_input): Likewise.
14562 (grub_term_get_current_output): Likewise.
14563 (grub_term_iterate_input): Removed.
14564 (grub_term_iterate_output): Likewise.
14565
14566 * kern/term.c (grub_term_list_input): Removed.
14567 (grub_term_list_output): Likewise.
14568 (grub_term_input_class): New variable.
14569 (grub_term_output_class): Likewise.
14570 (grub_cur_term_input): Change variable as macro.
14571 (grub_cur_term_output): Likewise.
14572 (grub_term_register_input): Removed.
14573 (grub_term_register_output): Likewise.
14574 (grub_term_unregister_input): Likewise.
14575 (grub_term_unregister_output): Likewise.
14576 (grub_term_set_current_input): Likewise.
14577 (grub_term_set_current_output): Likewise.
14578 (grub_term_iterate_input): Likewise.
14579 (grub_term_iterate_output): Likewise.
14580 (grub_term_get_current_input): Likewise.
14581 (grub_term_get_current_output): Likewise.
14582
14583 * util/grub-editenv.c: Include header file <grub/handler.h>.
14584 (grub_term_get_current_input): Removed.
14585 (grub_term_get_current_output): Likewise.
14586 (grub_term_input_class): New variable.
14587 (grub_term_output_class): Likewise.
14588
14589 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14590 (grub_term_get_current_output): Likewise.
14591 (grub_term_input_class): New variable.
14592 (grub_term_output_class): Likewise.
14593
14594 * util/grub-probe.c (grub_term_get_current_input): Removed.
14595 (grub_term_get_current_output): Likewise.
14596 (grub_term_input_class): New variable.
14597 (grub_term_output_class): Likewise.
14598
14599 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14600 (grub_term_get_current_output): Likewise.
14601 (grub_term_input_class): New variable.
14602 (grub_term_output_class): Likewise.
14603
14604 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14605 (terminal_mod_SOURCES): Likewise.
14606 (terminal_mod_CFLAGS): Likewise.
14607 (terminal_mod_LDFLAGS): Likewise.
14608
14609 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14610 handler.c.
14611 (kernel_img_SOURCES): Add list.c and handler.c.
14612 (kernel_img_HEADERS): Add list.h and handler.h.
14613
14614 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14615 handler.c.
14616 (kernel_mod_SOURCES): Add list.c and handler.c.
14617 (kernel_mod_HEADERS): Add list.h and handler.h.
14618
14619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14620 handler.c.
14621 (kernel_elf_SOURCES): Add list.c and handler.c.
14622 (kernel_elf_HEADERS): Add list.h and handler.h.
14623
14624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14625 handler.c.
14626 (kernel_elf_SOURCES): Add list.c and handler.c.
14627 (kernel_elf_HEADERS): Add list.h and handler.h.
14628
14629 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14630 handler.c.
14631 (kernel_mod_SOURCES): Add list.c and handler.c.
14632 (kernel_mod_HEADERS): Add list.h and handler.h.
14633
14634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14635 handler.c.
14636 (kernel_elf_SOURCES): Add list.c and handler.c.
14637 (kernel_elf_HEADERS): Add list.h and handler.h.
14638
14639 2009-02-27 Robert Millan <rmh@aybabtu.com>
14640
14641 Factorize elf32 / elf64 code in Multiboot loader. This will
14642 prevent it from getting out of sync again.
14643
14644 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14645 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14646 grub_multiboot_load_elf64): Move from here ...
14647 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14648 grub_multiboot_load_elf): ... to here (new file).
14649
14650 2009-02-27 Robert Millan <rmh@aybabtu.com>
14651
14652 * util/grub.d/10_linux.in: Rename "single-user mode" to
14653 "recovery mode".
14654
14655 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 Don't leak in SCSI code.
14658 * disk/scsi.c (grub_scsi_close): free `scsi'.
14659
14660 2009-02-27 Robert Millan <rmh@aybabtu.com>
14661
14662 * loader/i386/pc/multiboot.c: Move from here ...
14663 * loader/i386/multiboot.c: ... to here. Update all users.
14664
14665 2009-02-27 Robert Millan <rmh@aybabtu.com>
14666
14667 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14668 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14669
14670 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14671
14672 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14673 b-tree.
14674
14675 2009-02-27 Robert Millan <rmh@aybabtu.com>
14676
14677 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14678 `0x' qualifier as 0 when base is specified as parameter).
14679
14680 2009-02-24 Bean <bean123ch@gmail.com>
14681
14682 * configure.ac: Check for -mcmodel=large in x86_64 target.
14683
14684 * include/grub/efi/api.h (efi_call_10): New macro.
14685 (efi_wrap_10): New function.
14686
14687 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14688 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14689 (GRUB_PE32_REL_BASED_LOW): Likewise.
14690 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14691 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14692 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14693 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14694 (GRUB_PE32_REL_BASED_REL): Likewise.
14695 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14696 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14697 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14698
14699 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14700 issue.
14701
14702 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14703 (efi_wrap_10): New function.
14704
14705 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14706
14707 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14708 MB/MBP model (NV chipset).
14709 (devdata_devs): Add devpath_5 to the list.
14710
14711 * load/i386/efi/linux.c (video_base): Remove variable.
14712 (RGB_MASK): New macro.
14713 (RGB_MAGIC): Likewise.
14714 (LINE_MIN): Likewise.
14715 (LINE_MAX): Likewise.
14716 (FBTEST_STEP): Likewise.
14717 (FBTEST_COUNT): Likewise.
14718 (fb_list): New variable.
14719 (grub_find_video_card): Remove function.
14720 (find_framebuf): New function.
14721 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14722 line length.
14723
14724 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14725 problem for x86_64.
14726
14727 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14728
14729 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14730
14731 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14732 coding tool name.
14733
14734 2009-02-22 Robert Millan <rmh@aybabtu.com>
14735
14736 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14737 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14738 in our relocation, instead of using it directly from heap. Also
14739 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14740
14741 2009-02-21 Robert Millan <rmh@aybabtu.com>
14742
14743 Implement USB keyboard support (based on patch by Marco Gerards)
14744
14745 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14746 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14747 (usb_keyboard_mod_LDFLAGS): New variables.
14748
14749 * term/usb_keyboard.c: New file.
14750
14751 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Corrected wrong declaration
14754
14755 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14756
14757 2009-02-14 Christian Franke <franke@computer.org>
14758
14759 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14760 (grub_lspci_iter): Print class code and programming interface byte.
14761
14762 2009-02-14 Christian Franke <franke@computer.org>
14763
14764 * gendistlist.sh: Ignore `.svn' directories.
14765
14766 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14767
14768 * fs/fat.c: Add 2009 to Copyright line.
14769
14770 2009-02-14 Christian Franke <franke@computer.org>
14771
14772 * commands/hdparm.c: New file. Provides `hdparm' command
14773 which sends ATA commands via grub_disk_ata_pass_through ().
14774
14775 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14776
14777 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14778 and <grub/cpu/io.h> to include/grub/ata.h.
14779 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14780 (GRUB_CDROM_SECTOR_SIZE): Remove.
14781 (GRUB_ATA_*): Move to include/grub/ata.h.
14782 (GRUB_ATAPI_*): Likewise.
14783 (enum grub_ata_commands): Likewise.
14784 (enum grub_ata_timeout_milliseconds): Likewise.
14785 (struct grub_ata_device): Likewise.
14786 (grub_ata_regset): Likewise.
14787 (grub_ata_regget): Likewise.
14788 (grub_ata_regset2): Likewise.
14789 (grub_ata_regget2): Likewise.
14790 (grub_ata_check_ready): Likewise.
14791 (grub_ata_wait_not_busy): Remove static, exported in
14792 include/grub/ata.h.
14793 (grub_ata_wait_drq): Likewise.
14794 (grub_ata_pio_read): Likewise.
14795
14796 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14797 function for hdparm.mod.
14798
14799 * include/grub/ata.h: New file, contains declarations from
14800 disk/ata.c.
14801 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14802
14803 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14804 (grub_disk_ata_pass_through): New exported variable.
14805
14806 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14807
14808 2009-02-13 Colin D Bennett <colin@gibibit.com>
14809
14810 Support multiple fallback entries, and provide an API to support
14811 executing default+fallback menu entries. Renamed the `terminal' menu
14812 viewer to `text'.
14813
14814 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14815 variable declaration.
14816 (grub_menu_execute_callback): New structure declaration.
14817 (grub_menu_execute_callback_t): New typedef.
14818 (grub_menu_execute_with_fallback): New function declaration.
14819 (grub_menu_get_entry): Likewise.
14820 (grub_menu_get_timeout): Likewise.
14821 (grub_menu_set_timeout): Likewise.
14822
14823 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14824
14825 * normal/menu.c (grub_wait_after_message): Moved to
14826 `normal/menu_text.c'.
14827 (draw_border): Likewise.
14828 (print_message): Likewise.
14829 (print_entry): Likewise.
14830 (print_entries): Likewise.
14831 (grub_menu_init_page): Likewise.
14832 (get_entry_number): Likewise.
14833 (print_timeout): Likewise.
14834 (run_menu): Likewise.
14835 (grub_menu_execute_entry): Likewise.
14836 (show_text_menu): Likewise.
14837 (get_and_remove_first_entry_number): New function.
14838 (grub_menu_execute_with_fallback): Likewise.
14839 (get_entry): Renamed to ...
14840 (grub_menu_get_entry): .. this and made it global.
14841 (get_timeout): Renamed to ...
14842 (grub_menu_get_timeout): ... this and made it global.
14843 (set_timeout): Renamed to ...
14844 (grub_menu_set_timeout): ... this and made it global.
14845 (grub_normal_terminal_menu_viewer): Renamed to ...
14846 (grub_normal_text_menu_viewer): ... this.
14847
14848 * normal/menu_text.c: New file. Extracted text-menu-specific code
14849 from normal/menu.c.
14850
14851 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14852 (normal_mod_SOURCES): Likewise.
14853
14854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14855 (normal_mod_SOURCES): Likewise.
14856
14857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14858 (normal_mod_SOURCES): Likewise.
14859
14860 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14861 (normal_mod_SOURCES): Likewise.
14862
14863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14864 (normal_mod_SOURCES): Likewise.
14865
14866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14867 (normal_mod_SOURCES): Likewise.
14868
14869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14870 (normal_mod_SOURCES): Likewise.
14871
14872 2009-02-11 Robert Millan <rmh@aybabtu.com>
14873
14874 * util/grub.d/00_header.in: Update old reference to `font' command.
14875
14876 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14877
14878 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14879
14880 Based on patch from Javier Martín.
14881
14882 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14883
14884 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14885 to avoid false positives with FAT.
14886 (grub_fstest_SOURCES): Likewise.
14887 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14893
14894 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14895
14896 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14897 bpb.version_specific.fat12_or_fat16.fstype and
14898 bpb.version_specific.fat32.fstype.
14899
14900 2009-02-08 Robert Millan <rmh@aybabtu.com>
14901
14902 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14903
14904 2009-02-08 Robert Millan <rmh@aybabtu.com>
14905
14906 * Makefile.in (host_os, host_cpu): New variables.
14907 (target_os): Remove. Update all users.
14908
14909 2009-02-08 Marco Gerards <marco@gnu.org>
14910
14911 * Makefile.in (enable_grub_emu_usb): New variable.
14912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14913 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14914 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14915 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14916 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14917 `usbtest.mod' and `usbms.mod'.
14918 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14919 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14920 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14921 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14922 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14923 variables.
14924
14925 * disk/usbms.c: New file.
14926
14927 * include/grub/usb.h: Likewise.
14928
14929 * include/grub/usbtrans.h: Likewise.
14930
14931 * include/grub/usbdesc.h: Likewise.
14932
14933 * bus/usb/usbtrans.c: Likewise.
14934
14935 * bus/usb/ohci.c: Likewise.
14936
14937 * bus/usb/uhci.c: Likewise.
14938
14939 * bus/usb/usbhub.c: Likewise.
14940
14941 * bus/usb/usb.c: Likewise.
14942
14943 * commands/usbtest.c: Likewise.
14944
14945 * util/usb.c: Likewise.
14946
14947 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14948
14949 * configure.ac: Test for libusb presence.
14950
14951 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14952
14953 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14954
14955 * kern/mm.c: Add more comments.
14956
14957 2009-02-08 Robert Millan <rmh@aybabtu.com>
14958
14959 Patch from Javier Martín.
14960 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14961 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14962
14963 2009-02-08 Robert Millan <rmh@aybabtu.com>
14964
14965 * fs/cpio.c: Split tar functionality to ...
14966 * fs/tar.c: ... here (new file). Update all users.
14967
14968 2009-02-07 Robert Millan <rmh@aybabtu.com>
14969
14970 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14971 backward-incompatible features.
14972
14973 Based on patch from Javier Martín, with some adjustments.
14974
14975 2009-02-07 Michael Scherer <misc@mandriva.org>
14976
14977 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14978
14979 2009-02-07 Robert Millan <rmh@aybabtu.com>
14980
14981 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14982 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14983 after the RAID stuff.
14984
14985 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14986
14987 Fixes problem when running vbetest command as reported by
14988 Vladimir Serbinenko <phcoder@gmail.com>.
14989
14990 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14991
14992 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14993
14994 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14995 /dev/md/NpN style mdraid devices.
14996
14997 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14998
14999 * util/unifont2pff.rb: Remove.
15000
15001 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
15002
15003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15004 `#'.
15005
15006 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
15007
15008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15009 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15011 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15015
15016 2009-02-02 Christian Franke <franke@computer.org>
15017
15018 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15019
15020 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
15021
15022 * INSTALL: Note that we now require at least autoconf 2.59 and
15023 that LZO is optional.
15024
15025 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15026
15027 Base on patch on bug #24154 created by Tomas Tintera
15028 <trosos@seznam.cz>.
15029
15030 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15031
15032 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15033
15034 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
15035 <bero@arklinux.org>.
15036
15037 * normal/parser.y (script_init): Add missing semicolon.
15038
15039 2009-01-31 Colin D Bennett <colin@gibibit.com>
15040
15041 * normal/main.c: Add include to grub/menu_viewer.h.
15042 (free_menu_entry_classes): Added.
15043 (grub_normal_menu_addentry): Added class property handling.
15044 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15045 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15046
15047 * normal/menu_viewer.c: New file.
15048
15049 * normal/menu.c (run_menu_entry): Renamed to ...
15050 (grub_menu_execute_entry): ... this and made it as global.
15051 (grub_menu_run): Renamed to ...
15052 (show_text_menu): ... this and made it local.
15053 (show_text_menu): Adapt to new function names.
15054 (grub_normal_terminal_menu_viewer): New global variable.
15055
15056 * include/grub/menu.h: New file.
15057
15058 * include/grub/menu_viewer.h: New file.
15059
15060 * include/grub/normal.h: Added include to grub/menu.h.
15061 (grub_menu_entry): Moved to include/grub/menu.h.
15062 (grub_menu_entry_t): Likewise.
15063 (grub_menu): Likewise.
15064 (grub_menu_t): Likewise.
15065 (grub_normal_terminal_menu_viewer): Added.
15066 (grub_menu_execute_entry): Likewise.
15067 (grub_menu_run): Removed.
15068
15069 * DISTLIST: Added include/grub/menu.h.
15070 Added include/grub/menu_viewer.h.
15071 Added normal/menu_viewer.c.
15072
15073 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15074
15075 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15076 arglist for menutitle arguments.
15077
15078 * normal/main.c (grub_normal_menu_addentry): Likewise.
15079
15080 * normal/parser.y (menuentry): Likewise.
15081
15082 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15083
15084 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15085 (grub_script_create_cmdmenu): Likewise.
15086
15087 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15088
15089 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15090 changes.
15091
15092 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15093
15094 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15095
15096 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15097
15098 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15099
15100 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15101
15102 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15103
15104 2009-01-30 Christian Franke <franke@computer.org>
15105
15106 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15107 in option help text.
15108
15109 2009-01-27 Pavel Roskin <proski@gnu.org>
15110
15111 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15112
15113 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15114
15115 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15116
15117 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15118
15119 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15120 unregister function.
15121
15122 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15123
15124 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15125
15126 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15127
15128 * util/grub-mkfont.c (usage): Fix typo.
15129
15130 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15131
15132 2009-01-26 Daniel Mierswa <impulze@impulze.org>
15133
15134 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15135
15136 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15137
15138 * kern/misc.c (grub_strcasecmp): New function.
15139 (grub_strcasecmp): Use grub_size_t instead of int for length.
15140 Fix return value.
15141 * include/grub/misc.h: Update function prototypes.
15142
15143 2009-01-26 Robert Millan <rmh@aybabtu.com>
15144
15145 * configure.ac: Fix cross-compilation check.
15146
15147 2009-01-22 Christian Franke <franke@computer.org>
15148
15149 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15150 (precision) digit string. Allow `.format2' without `format1' (width).
15151 Limit input chars for `%s' output to `format2' if specified. This is
15152 compatible with standard printf ().
15153
15154 2009-01-22 Christian Franke <franke@computer.org>
15155
15156 * disk/ata.c (grub_ata_wait_status): Replace by ...
15157 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15158 other status bits may be invalid while BSY is asserted.
15159 (grub_ata_check_ready): New function.
15160 (grub_ata_cmd): Removed.
15161 (grub_ata_wait_drq): New function.
15162 (grub_ata_strncpy): Remove inline.
15163 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15164 and error check now done by grub_ata_wait_drq ().
15165 (grub_ata_pio_write): Likewise.
15166 (grub_atapi_identify): Set DEV before check for !BSY. Use
15167 grub_ata_wait_drq () to wait for data.
15168 (grub_ata_device_initialize): Add status register check to
15169 detect missing SATA slave devices. Add debug messages.
15170 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15171 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15172 transfer loop by grub_ata_pio_write ().
15173 (grub_ata_identify): Set DEV before check for !BSY. Use
15174 grub_ata_wait_drq () to wait for data.
15175 (grub_ata_setaddress): Set DEV before check for !BSY.
15176 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15177 read/write in one loop. Fix invalid command on write. Fix incomplete
15178 command on (size % batch) == 0. Add missing error check after write of
15179 last block. Add debug messages.
15180 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15181
15182 2009-01-19 Christian Franke <franke@computer.org>
15183
15184 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15185 (GRUB_ATAPI_IREASON_*): Likewise.
15186 (grub_ata_pio_write): Fix timeout error return.
15187 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15188 (grub_atapi_wait_drq): New function.
15189 (grub_atapi_packet): New parameter `size'.
15190 Use grub_atapi_wait_drq () and direct write instead of
15191 grub_ata_pio_write ().
15192 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15193 reads the number of bytes requested by the device for each DRQ
15194 assertion.
15195 (grub_atapi_write): Remove old implementation, return not
15196 implemented instead.
15197
15198 2009-01-19 Christian Franke <franke@computer.org>
15199
15200 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15201 of 512 to calculate data size.
15202 (grub_scsi_read12): Likewise.
15203 (grub_scsi_write10): Likewise.
15204 (grub_scsi_write12): Likewise.
15205 (grub_scsi_read): Adjust size according to blocksize.
15206 Add checks for invalid blocksize and unaligned transfer.
15207
15208 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15209
15210 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15211
15212 * term/gfxterm.c (write_char): Fix background rendering for wide
15213 width glyphs.
15214
15215 2009-01-19 Robert Millan <rmh@aybabtu.com>
15216
15217 * config.guess: Update to latest version from config git.
15218 * config.sub: Likewise.
15219
15220 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
15221
15222 * Makefile.in: Change font compilation to use new grub-mkfont instead
15223 of java version.
15224
15225 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15226 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15227 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15228 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15229 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15230 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15231 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15232 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15233 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15234
15235 2009-01-16 Christian Franke <franke@computer.org>
15236
15237 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15238 (enum grub_ata_timeout_milliseconds): New enum.
15239 (grub_ata_wait_status): Add parameter milliseconds.
15240 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15241 recovery from timed-out commands.
15242 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15243 return grub_errno instead of REG_ERROR.
15244 (grub_ata_pio_write): Add parameter milliseconds.
15245 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15246 Pass milliseconds to grub_ata_wait_status () and
15247 grub_ata_pio_read ().
15248 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15249 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15250 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15251 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15252 It is not suitable for device detection, because DEV bit is ignored,
15253 the command may run too long, and not all devices set the signature
15254 properly.
15255 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15256 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15257 Fix device selection, DEV bit must be set first to address the registers
15258 of the correct device.
15259 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15260 grub_ata_pio_read/write ().
15261 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15262 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15263
15264 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15265
15266 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15267
15268 2009-01-13 Bean <bean123ch@gmail.com>
15269
15270 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15271
15272 2009-01-13 Bean <bean123ch@gmail.com>
15273
15274 * Makefile.in: (enable_grub_mkfont): New variable.
15275 (freetype_cflags): Likewise.
15276 (freetype_libs): Likewise.
15277
15278 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15279 (grub_mkfont_SOURCES): New variable.
15280 (grub_mkfont_CFLAGS): Likewise.
15281 (grub_mkfont_LDFLAGS): Likewise.
15282
15283 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15284 library if `--enable-grub-mkfont' is requested.
15285 (enable_grub_mkfont): New variable.
15286 (freetype_cflags): Likewise.
15287 (freetype_libs): Likewise.
15288
15289 * util/grub-mkfont.c: New file.
15290
15291 2009-01-12 Christian Franke <franke@computer.org>
15292
15293 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15294 mode check. Fix setting of compat_use[].
15295
15296 2009-01-10 Robert Millan <rmh@aybabtu.com>
15297
15298 Update a few copyright years which we forgot to do in 2008 (only for
15299 files whose changes made in 2008 were copyright-significant)
15300
15301 * Makefile.in: Add 2008 to Copyright line.
15302 * disk/ieee1275/ofdisk.c: Likewise.
15303 * disk/efi/efidisk.c: Likewise.
15304 * kern/dl.c: Likewise.
15305 * kern/sparc64/ieee1275/init.c: Likewise.
15306 * kern/mm.c: Likewise.
15307 * kern/efi/mm.c: Likewise.
15308 * boot/i386/pc/boot.S: Likewise.
15309 * genfslist.sh: Likewise.
15310 * fs/iso9660.c: Likewise.
15311 * fs/hfs.c: Likewise.
15312 * fs/jfs.c: Likewise.
15313 * fs/minix.c: Likewise.
15314 * fs/ufs.c: Likewise.
15315 * gensymlist.sh.in: Likewise.
15316 * genkernsyms.sh.in: Likewise.
15317 * include/grub/misc.h: Likewise.
15318 * include/grub/types.h: Likewise.
15319 * include/grub/symbol.h: Likewise.
15320 * include/grub/elf.h: Likewise.
15321 * include/grub/kernel.h: Likewise.
15322 * include/grub/disk.h: Likewise.
15323 * include/grub/dl.h: Likewise.
15324 * include/grub/i386/linux.h: Likewise.
15325 * include/grub/i386/pc/biosdisk.h: Likewise.
15326 * include/grub/efi/api.h: Likewise.
15327 * include/grub/efi/pe32.h: Likewise.
15328 * include/grub/util/misc.h: Likewise.
15329 * normal/execute.c: Likewise.
15330 * normal/arg.c: Likewise.
15331 * normal/completion.c: Likewise.
15332 * normal/lexer.c: Likewise.
15333 * normal/parser.y: Likewise.
15334 * normal/misc.c: Likewise.
15335 * commands/i386/pc/vbeinfo.c: Likewise.
15336 * commands/hexdump.c: Likewise.
15337 * commands/terminal.c: Likewise.
15338 * commands/ls.c: Likewise.
15339 * commands/help.c: Likewise.
15340 * partmap/pc.c: Likewise.
15341 * loader/efi/chainloader.c: Likewise.
15342 * loader/multiboot_loader.c: Likewise.
15343 * loader/i386/pc/multiboot2.c: Likewise.
15344 * term/efi/console.c: Likewise.
15345 * term/i386/pc/serial.c: Likewise.
15346 * util/lvm.c: Likewise.
15347 * util/console.c: Likewise.
15348 * util/i386/efi/grub-mkimage.c: Likewise.
15349 * util/raid.c: Likewise.
15350
15351 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15352
15353 * commands/videotest.c: Removed include to grub/machine/memory.h.
15354
15355 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15356 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15357 (video_mod_SOURCES): Removed.
15358 (video_mod_CFLAGS): Likewise.
15359 (video_mod_LDFLAGS): Likewise.
15360 (gfxterm_mod_SOURCES): Likewise.
15361 (gfxterm_mod_CFLAGS): Likewise.
15362 (gfxterm_mod_LDFLAGS): Likewise.
15363 (videotest_mod_SOURCES): Likewise.
15364 (videotest_mod_CFLAGS): Likewise.
15365 (videotest_mod_LDFLAGS): Likewise.
15366 (bitmap_mod_SOURCES): Likewise.
15367 (bitmap_mod_CFLAGS): Likewise.
15368 (bitmap_mod_LDFLAGS): Likewise.
15369 (tga_mod_SOURCES): Likewise.
15370 (tga_mod_CFLAGS): Likewise.
15371 (tga_mod_LDFLAGS): Likewise.
15372 (jpeg_mod_SOURCES): Likewise.
15373 (jpeg_mod_CFLAGS): Likewise.
15374 (jpeg_mod_LDFLAGS): Likewise.
15375 (png_mod_SOURCES): Likewise.
15376 (png_mod_CFLAGS): Likewise.
15377 (png_mod_LDFLAGS): Likewise.
15378
15379 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15380 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15381 (video_mod_SOURCES): Added.
15382 (video_mod_CFLAGS): Likewise.
15383 (video_mod_LDFLAGS): Likewise.
15384 (videotest_mod_SOURCES): Likewise.
15385 (videotest_mod_CFLAGS): Likewise.
15386 (videotest_mod_LDFLAGS): Likewise.
15387 (bitmap_mod_SOURCES): Likewise.
15388 (bitmap_mod_CFLAGS): Likewise.
15389 (bitmap_mod_LDFLAGS): Likewise.
15390 (tga_mod_SOURCES): Likewise.
15391 (tga_mod_CFLAGS): Likewise.
15392 (tga_mod_LDFLAGS): Likewise.
15393 (jpeg_mod_SOURCES): Likewise.
15394 (jpeg_mod_CFLAGS): Likewise.
15395 (jpeg_mod_LDFLAGS): Likewise.
15396 (png_mod_SOURCES): Likewise.
15397 (png_mod_CFLAGS): Likewise.
15398 (png_mod_LDFLAGS): Likewise.
15399 (gfxterm_mod_SOURCES): Likewise.
15400 (gfxterm_mod_CFLAGS): Likewise.
15401 (gfxterm_mod_LDFLAGS): Likewise.
15402
15403 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15404 grub/machine/console.h.
15405
15406 2009-01-04 Jerone Young <jerone@gmail.com>
15407
15408 Make on screen instructions clearer
15409
15410 Based on patch created by Jidanni <jidanni@jidanni.org>
15411
15412 * normal/menu.c: print clearer instructions on the screen
15413
15414 2009-01-02 Colin D Bennett <colin@gibibit.com>
15415
15416 New font engine.
15417
15418 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15419 build system and fixed gfxterm.c to work with different sized fonts.
15420
15421 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15422
15423 * configure: Re-generated.
15424
15425 * DISTLIST: Removed font/manager.c.
15426 Added font/font.c.
15427 Added font/font_cmd.c.
15428
15429 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15430 compilation.
15431
15432 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15433
15434 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15435
15436 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15437
15438 * normal/menu.c: Likewise.
15439
15440 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15441 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15442
15443 * include/grub/font.h: Replaced with new file.
15444
15445 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15446 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15447 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15448 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15449 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15450 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15451 fg_red, fg_green, fg_blue, fg_alpha.
15452 (grub_video_adapter): Removed blit_glyph.
15453 (grub_video_blit_glyph): Removed.
15454
15455 * font/manager.c: Removed file.
15456
15457 * font/font.c: New file.
15458
15459 * font/font_cmd.c: Likewise.
15460
15461 * video/video.c (grub_video_blit_glyph): Removed.
15462
15463 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15464 (grub_video_vbe_map_rgba): Likewise.
15465 (grub_video_vbe_unmap_color_int): Likewise.
15466 (grub_video_vbe_blit_glyph): Removed.
15467 (grub_video_vbe_adapter): Removed blit_glyph.
15468
15469 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15470 (get_pixel): Likewise.
15471 (set_pixel): Likewise.
15472
15473 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15474
15475 * term/gfxterm.c: Adapted to new font engine.
15476
15477 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15478
15479 * term/i386/pc/vga.c: Likewise.
15480
15481 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15482
15483 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15484
15485 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15486
15487 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15488
15489 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15490
15491 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15492
15493 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15494
15495 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15496
15497 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15498
15499 * util/grub.d/00_header.in: Changed to use new loadfont command.
15500
15501 * util/grub-mkconfig_lib.in: Changed font extension.
15502
15503 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15504
15505 * util/getroot.c (grub_util_get_grub_dev): Add support for
15506 /dev/md/dNNpNN style partitionable mdraid devices.
15507
15508 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15509
15510 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15511 at a time limit of the PXE TFTP API correctly.
15512 (grub_pxefs_close): Likewise.
15513
15514 2008-11-29 Robert Millan <rmh@aybabtu.com>
15515
15516 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15517 grub_ata_device_initialize() calls.
15518
15519 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15520
15521 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15522 iteration failed.
15523 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15524
15525 2008-11-28 Robert Millan <rmh@aybabtu.com>
15526
15527 Fix build on powerpc-ieee1275. Based on patch created by
15528 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15529 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15530 `kern/ieee1275/mmap.c'.
15531 * include/grub/powerpc/ieee1275/memory.h: New file.
15532
15533 Provide grub-install on coreboot.
15534 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15535 (grub_install_SOURCES): New variable.
15536 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15537 usable on coreboot.
15538
15539 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15540
15541 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15542 to `grub_term_input_t'.
15543 (grub_term_get_current_output): Change return type to
15544 `grub_term_output_t'.
15545
15546 2008-11-22 Robert Millan <rmh@aybabtu.com>
15547
15548 Fix breakage on coreboot due to declaration mismatch.
15549 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15550 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15551 grub_vga_text_cls().
15552
15553 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15554 comments. Avoid copying one more byte than necessary (just in case).
15555
15556 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15557 to 0x200000 (avoids trouble with some OFW implementations, and matches
15558 with the one in Yaboot).
15559 Reported by Manoel Abranches
15560
15561 2008-11-20 Robert Millan <rmh@aybabtu.com>
15562
15563 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15564 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15565
15566 * util/grub-mkconfig_lib.in (grub_warn): New function.
15567 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15568 warnings, to obtain consistent formatting.
15569 * util/grub.d/00_header.in: Likewise.
15570 * util/update-grub_lib.in: Likewise.
15571
15572 * loader/i386/linux.c (allocate_pages): Fix a warning.
15573 Move comment text to `#error' stanza.
15574
15575 Harmonize ieee1275's grub_available_iterate() with the generic
15576 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15577 build problem on i386-ieee1275):
15578 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15579 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15580 parameter `type'. Update all users of this function.
15581 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15582 `kern/ieee1275/mmap.c'.
15583 * kern/ieee1275/init.c
15584 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15585 with ...
15586 (grub_machine_mmap_iterate): ... this.
15587 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15588 return type to `grub_err_t'. Update all implementations of this
15589 function prototype.
15590 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15591 Likewise.
15592
15593 Add `lsmmap' command (lists firmware-provided memory map):
15594 * commands/lsmmap.c: New file.
15595 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15596 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15597 variables.
15598 * conf/powerpc-ieee1275.rmk: Likewise.
15599 * conf/i386-coreboot.rmk: Likewise.
15600 * conf/i386-ieee1275.rmk: Likewise.
15601
15602 2008-11-19 Robert Millan <rmh@aybabtu.com>
15603
15604 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15605 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15606 constraints to initrd allocation (based on code from
15607 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15608 for Linux to find it.
15609
15610 2008-11-14 Robert Millan <rmh@aybabtu.com>
15611
15612 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15613 order to cope with duplicate slashes.
15614
15615 2008-11-14 Robert Millan <rmh@aybabtu.com>
15616
15617 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15618 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15619 don't want to mess with lower memory, because it is used in the Linux
15620 loader.
15621
15622 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15623 an appropriate place in lower memory, between 0x10000 and 0x90000,
15624 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15625 is in our heap (probably as a result of it being corrupted during
15626 decompression). Add #error instance with comment to explain why this
15627 loader isn't currently usable on PC/BIOS.
15628
15629 2008-11-14 Robert Millan <rmh@aybabtu.com>
15630
15631 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15632 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15633
15634 2008-11-12 Robert Millan <rmh@aybabtu.com>
15635
15636 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15637
15638 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15639 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15640 from here ...
15641 * include/grub/i386/pc/memory.h: ... to here.
15642
15643 2008-11-12 Robert Millan <rmh@aybabtu.com>
15644
15645 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15646 split).
15647
15648 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15649 (grub_console_cur_color, grub_console_real_putchar)
15650 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15651 (grub_console_setcolorstate, grub_console_setcolor)
15652 (grub_console_getcolor): Move from here ...
15653 * include/grub/i386/vga_common.h: ... to here (new file).
15654
15655 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15656 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15657 `<grub/i386/io.h>'.
15658 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15659 `<grub/i386/vga_common.h>'.
15660
15661 2008-11-12 Robert Millan <rmh@aybabtu.com>
15662
15663 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15664 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15665 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15666 variables.
15667 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15668 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15669
15670 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15671 grub_console_init() with call to grub_vga_text_init().
15672 (grub_machine_fini): Replace call to
15673 grub_console_fini() with call to grub_vga_text_fini() and
15674 grub_at_keyboard_fini().
15675
15676 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15677 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15678 (grub_console_setcolorstate, grub_console_setcolor)
15679 (grub_console_getcolor): New function prototypes.
15680
15681 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15682 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15683 (grub_vga_text_setcursor): Static-ize.
15684 (grub_vga_text_term): New structure.
15685 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15686
15687 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15688 (grub_console_cur_color, grub_console_standard_color)
15689 (grub_console_normal_color, grub_console_highlight_color)
15690 (map_char, grub_console_putchar, grub_console_getcharwidth)
15691 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15692 (grub_console_getcolor): Move from here ...
15693 * term/i386/vga_common.c: ... to here (same function names).
15694
15695 2008-11-12 Robert Millan <rmh@aybabtu.com>
15696
15697 Use newly-added Multiboot support in coreboot.
15698
15699 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15700 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15701
15702 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15703 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15704 (codestart): Store the MBI in `startup_multiboot_info' when we're
15705 being loaded using Multiboot.
15706
15707 * kern/i386/coreboot/init.c (grub_machine_init): Move
15708 grub_at_keyboard_init() call to beginning of function (useful for
15709 debugging). Call grub_machine_mmap_init() before attempting to use
15710 grub_machine_mmap_iterate().
15711 (grub_lower_mem, grub_upper_mem): Move from here ...
15712 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15713 here (new file).
15714
15715 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15716 function prototype.
15717
15718 2008-11-12 Robert Millan <rmh@aybabtu.com>
15719
15720 Fix a regression introduced by the at_keyboard.mod split. Because
15721 some terminals are default on some platforms and non-default on
15722 others, the first terminal being registered determines which is
15723 going to be default.
15724
15725 * kern/term.c (grub_term_register_input): If this is the first
15726 terminal being registered, set it as the current one.
15727 (grub_term_register_output): Likewise.
15728
15729 * term/efi/console.c (grub_console_init): Do not call
15730 grub_term_set_current_output() or grub_term_set_current_input().
15731 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15732 * term/i386/pc/console.c (grub_console_init): Likewise.
15733 (grub_console_fini): Do not call grub_term_set_current_input()
15734 (but leave grub_term_set_current_output() to restore text mode).
15735
15736 2008-11-10 Robert Millan <rmh@aybabtu.com>
15737
15738 * util/grub.d/00_header.in: Add backward compatibility check for
15739 versions of terminal.mod that don't understand `terminal_input' or
15740 `terminal_output'.
15741
15742 2008-11-09 Robert Millan <rmh@aybabtu.com>
15743
15744 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15745 `terminal_input' / `terminal_output', not `terminal'.
15746
15747 2008-11-08 Robert Millan <rmh@aybabtu.com>
15748
15749 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15750 (DISTCLEANFILES): Add `build_env.mk'.
15751
15752 2008-11-08 Robert Millan <rmh@aybabtu.com>
15753
15754 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15755 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15756 members. Update all users.
15757 * util/console.c (grub_ncurses_term): Split in ...
15758 (grub_ncurses_term_input): ... this, and ...
15759 (grub_ncurses_term_output): ... this. Update all users.
15760 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15761
15762 2008-11-08 Robert Millan <rmh@aybabtu.com>
15763
15764 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15765 (PKGDATA): Add $(pkgdata_SRCDIR).
15766 (pkglib_BUILDDIR): New variable.
15767 (pkgdata_SRCDIR): New variable.
15768 (build_env.mk): New target.
15769 (include_DATA): New variable.
15770 (install-local): Install $(include_DATA) files in $(includedir).
15771
15772 2008-11-07 Pavel Roskin <proski@gnu.org>
15773
15774 * gendistlist.sh: Use C locale for sorting to ensure consistent
15775 output on all systems.
15776
15777 * util/grub.d/00_header.in: Remove incorrect space before
15778 "serial".
15779
15780 2008-11-07 Robert Millan <rmh@aybabtu.com>
15781
15782 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15783 per specification.
15784 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15785 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15786 (based on find_multi_boot1_header).
15787 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15788 using find_multi_boot2_header(), and abort if neither Multiboot or
15789 Multiboot headers were found.
15790
15791 2008-11-07 Robert Millan <rmh@aybabtu.com>
15792
15793 Modularize at_keyboard.mod:
15794
15795 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15796 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15797 (at_keyboard_mod_LDFLAGS): New variables.
15798
15799 Actual terminal split:
15800
15801 * include/grub/term.h (struct grub_term): Split in ...
15802 (struct grub_term_input): ... this, and ...
15803 (struct grub_term_output): ... this. Update all users.
15804 (grub_term_set_current): Split in ...
15805 (grub_term_set_current_input): ... this, and ...
15806 (grub_term_set_current_output): ... this.
15807 (grub_term_get_current): Split in ...
15808 (grub_term_get_current_input): ... this, and ...
15809 (grub_term_get_current_output): ... this.
15810 (grub_term_register): Split in ...
15811 (grub_term_register_input): ... this, and ...
15812 (grub_term_register_output): ... this.
15813 (grub_term_unregister): Split in ...
15814 (grub_term_unregister_input): ... this, and ...
15815 (grub_term_unregister_output): ... this.
15816 (grub_term_iterate): Split in ...
15817 (grub_term_iterate_input): ... this, and ...
15818 (grub_term_iterate_output): ... this.
15819
15820 * kern/term.c (grub_term_list): Split in ...
15821 (grub_term_list_input): ... this, and ...
15822 (grub_term_list_output): ... this. Update all users.
15823 (grub_cur_term): Split in ...
15824 (grub_cur_term_input): ... this, and ...
15825 (grub_cur_term_output): ... this. Update all users.
15826 (grub_term_set_current): Split in ...
15827 (grub_term_set_current_input): ... this, and ...
15828 (grub_term_set_current_output): ... this.
15829 (grub_term_get_current): Split in ...
15830 (grub_term_get_current_input): ... this, and ...
15831 (grub_term_get_current_output): ... this.
15832 (grub_term_register): Split in ...
15833 (grub_term_register_input): ... this, and ...
15834 (grub_term_register_output): ... this.
15835 (grub_term_unregister): Split in ...
15836 (grub_term_unregister_input): ... this, and ...
15837 (grub_term_unregister_output): ... this.
15838 (grub_term_iterate): Split in ...
15839 (grub_term_iterate_input): ... this, and ...
15840 (grub_term_iterate_output): ... this.
15841
15842 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15843 a check for input and one for output (and only attempt to get keys
15844 from user when input works).
15845
15846 * util/grub-probe.c (grub_term_get_current): Split in ...
15847 (grub_term_get_current_input): ... this, and ...
15848 (grub_term_get_current_output): ... this.
15849 * util/grub-fstest.c: Likewise.
15850 * util/i386/pc/grub-setup.c: Likewise.
15851 * util/grub-editenv.c: Likewise.
15852
15853 Portability adjustments:
15854
15855 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15856 `term/i386/pc/at_keyboard.c'.
15857 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15858 grub_keyboard_controller_init() (now handled by terminal .init).
15859 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15860 grub_at_keyboard_init().
15861 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15862 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15863 at_keyboard.mod via input terminal interface).
15864 * include/grub/i386/coreboot/console.h: Convert into a stub for
15865 `<grub/i386/pc/console.h>'.
15866
15867 Migrate full terminals to new API:
15868
15869 * term/efi/console.c (grub_console_term): Split into ...
15870 (grub_console_term_input): ... this, and ...
15871 (grub_console_term_output): ... this. Update all users.
15872 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15873 (grub_ofconsole_init): Split into ...
15874 (grub_ofconsole_init_input): ... this, and ...
15875 (grub_ofconsole_init_output): ... this.
15876 (grub_ofconsole_term): Split into ...
15877 (grub_ofconsole_term_input): ... this, and ...
15878 (grub_ofconsole_term_output): ... this. Update all users.
15879 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15880 (grub_serial_term_input): ... this, and ...
15881 (grub_serial_term_output): ... this. Update all users.
15882 * term/i386/pc/console.c (grub_console_term): Split into ...
15883 (grub_console_term_input): ... this, and ...
15884 (grub_console_term_output): ... this. Update all users.
15885 (grub_console_term_input): Only enable it on PC/BIOS platform.
15886 (grub_console_init): Remove grub_keyboard_controller_init() call.
15887
15888 Migrate input terminals to new API:
15889
15890 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15891 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15892 i386-specific anyway).
15893 (grub_console_checkkey): Rename to ...
15894 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15895 users.
15896 (grub_keyboard_controller_orig): New variable.
15897 (grub_console_getkey): Rename to ...
15898 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15899 users.
15900 (grub_keyboard_controller_init): Static-ize. Save original
15901 controller value so that it can be restored ...
15902 (grub_keyboard_controller_fini): ... here (new function).
15903 (grub_at_keyboard_term): New structure.
15904 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15905 functions.
15906
15907 Migrate output terminals to new API:
15908
15909 * term/i386/pc/vga.c (grub_vga_term): Change type to
15910 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15911 members. Update all users.
15912 * term/gfxterm.c (grub_video_term): Change type to
15913 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15914 members. Update all users.
15915 * include/grub/i386/pc/console.h (grub_console_checkkey)
15916 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15917 etc).
15918
15919 Migrate `terminal' command and userland tools to new API:
15920
15921 * commands/terminal.c (grub_cmd_terminal): Split into ...
15922 (grub_cmd_terminal_input): ... this, and ...
15923 (grub_cmd_terminal_output): ... this.
15924 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15925 `terminal_input' and `terminal_output'.
15926 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15927 `terminal_input' / `terminal_output' API.
15928 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15929 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15930 provided ${GRUB_TERMINAL}, convert it).
15931
15932 2008-11-04 Robert Millan <rmh@aybabtu.com>
15933
15934 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15935 for FreeBSD.
15936 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15937
15938 2008-11-03 Bean <bean123ch@gmail.com>
15939
15940 * kern/elf.c (grub_elf32_load): Revert to previous code.
15941 (grub_elf64_load): Likewise.
15942
15943 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15944
15945 2008-11-01 Robert Millan <rmh@aybabtu.com>
15946
15947 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15948 (TARGET_CPPFLAGS): Likewise.
15949 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15950
15951 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15952
15953 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15954
15955 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15956
15957 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15958 addition of objects until the code is not going to be able to fail.
15959
15960 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15961
15962 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15963 (add a missing NULL check, and correct them by moving the pointer
15964 operations after the actual check).
15965
15966 2008-10-29 Robert Millan <rmh@aybabtu.com>
15967
15968 * util/i386/pc/grub-install.in: Handle empty string as output from
15969 make_system_path_relative_to_its_root().
15970
15971 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15972
15973 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15974 circular metadata worst case scenario. If the metadata is circular
15975 then copy the wrap in place.
15976 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15977 project lib/format_text/layout.h
15978 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15979
15980 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15981
15982 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15983
15984 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15985
15986 * util/update-grub_lib.in: Mention filename in warning message.
15987
15988 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15989
15990 * NEWS: Update for rename of update-grub to grub-mkconfig.
15991
15992 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15993
15994 * util/update-grub_lib.in: Copy to ...
15995 * util/grub-mkconfig_lib.in: ... this. Update all users.
15996 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15997 * util/update-grub.in: Rename to ...
15998 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15999 option. Add `--output' option to allow users to specify the generated
16000 configuration file. Default to stdout.
16001 (update_grub_dir): Rename to ...
16002 (grub_mkconfig_dir): ... this.
16003 (grub_cfg): Default to an empty string.
16004 * conf/common.rmk (update-grub): Rename to ...
16005 (grub-mkconfig): ... this.
16006 (update-grub_lib): Copy to ...
16007 (grub-mkconfig_lib): ... this.
16008 (update-grub_SCRIPTS): Copy to ...
16009 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16010 (update-grub_DATA): Rename to ...
16011 (grub-mkconfig_DATA): ... this.
16012
16013 2008-09-28 Robert Millan <rmh@aybabtu.com>
16014
16015 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16016 to `modified'. Add the real `created' field.
16017 (grub_iso9660_uuid): Use `modified' rather than `created' for
16018 constructing the UUID.
16019
16020 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
16021
16022 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16023 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16024
16025 2008-09-28 Bean <bean123ch@gmail.com>
16026
16027 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16028 Thanks to Christian Franke for finding this bug.
16029
16030 2008-09-25 Robert Millan <rmh@aybabtu.com>
16031
16032 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16033 instances of grub_util_get_disk_name() (see previous commit).
16034
16035 2008-09-25 Robert Millan <rmh@aybabtu.com>
16036
16037 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16038 `util/i386/get_disk_name.c'.
16039 * conf/i386-efi.rmk: Likewise.
16040 * conf/x86_64-efi.rmk: Likewise.
16041 * conf/i386-coreboot.rmk: Likewise.
16042 * conf/i386-ieee1275.rmk: Likewise.
16043 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16044 `util/ieee1275/get_disk_name.c'.
16045 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16046 * util/ieee1275/get_disk_name.c: Remove file.
16047 * util/i386/get_disk_name.c: Remove file.
16048 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16049 "hd%d" for device.map entries, rather than using
16050 grub_util_get_disk_name().
16051
16052 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16053
16054 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16055 warning.
16056 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16057
16058 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16059
16060 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16061 Changed to 0x5100.
16062 (GRUB_TERM_PPAGE): Changed to 0x4900.
16063
16064 2008-09-24 Robert Millan <rmh@aybabtu.com>
16065
16066 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16067 macros (they were i386-pc specific).
16068 * include/grub/sparc64/ieee1275/console.h: Likewise.
16069 * include/grub/efi/console.h: Likewise.
16070
16071 2008-09-22 Bean <bean123ch@gmail.com>
16072
16073 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16074 resident and in attribute list.
16075
16076 * include/grub/ntfs.h (BMP_LEN): Removed.
16077
16078 2008-09-22 Bean <bean123ch@gmail.com>
16079
16080 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
16081 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16082
16083 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16084 error occurs, as grub_disk_open will call grub_disk_close, which will
16085 call p->close (scsi).
16086
16087 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16088
16089 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16090 (AC_PREREQ): Bumped to 2.59.
16091 (AC_TRY_COMPILE): Replace obsolete macro with ...
16092 (AC_COMPILE_IFELSE): ... this.
16093 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16094 (AC_LINK_IFELSE): ... this.
16095
16096 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16097
16098 * autogen.sh: Add a call to `gendistlist.sh'.
16099
16100 2008-09-19 Christian Franke <franke@computer.org>
16101
16102 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16103 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16104 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16105 Export __enable_execute_stack() to modules.
16106 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16107 New function.
16108
16109 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16110
16111 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16112 Sort the list.
16113
16114 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16115
16116 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
16117 #include <grub/util/hostdisk.h>.
16118
16119 2008-09-08 Robert Millan <rmh@aybabtu.com>
16120
16121 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16122 segments when their filesz is zero (grub_file_read() interprets
16123 zero-size as "read until EOF", which results in memory corruption).
16124 Use `lowest_segment' rather than 0 for calculating the current
16125 segment load address.
16126
16127 2008-09-08 Robert Millan <rmh@aybabtu.com>
16128
16129 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16130 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16131 clobbered useful information.
16132
16133 2008-09-08 Robert Millan <rmh@aybabtu.com>
16134
16135 * include/grub/util/biosdisk.h: Move to ...
16136 * include/grub/util/hostdisk.h: ... here. Update all users.
16137 * util/biosdisk.c: Move to ...
16138 * util/hostdisk.c: ... here. Update all users.
16139
16140 2008-09-07 Robert Millan <rmh@aybabtu.com>
16141
16142 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16143 variables.
16144 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16145 and length can be stored directly in the `mbi->mmap_addr' and
16146 `mbi->mmap_length' struct fields.
16147
16148 2008-09-07 Robert Millan <rmh@aybabtu.com>
16149
16150 * conf/i386.rmk: New file. Provides declaration for building
16151 `cpuid.mod'.
16152 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16153 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16154 variables.
16155 Include `conf/i386.mk'.
16156 * conf/i386-efi.rmk: Likewise.
16157 * conf/x86_64-efi.rmk: Likewise.
16158 * conf/i386-coreboot.rmk: Likewise.
16159 * conf/i386-ieee1275.rmk: Likewise.
16160
16161 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16162
16163 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16164 Adds optimization support for BGR based modes.
16165
16166 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16167 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16168 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16169 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16170 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16171 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16172 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16173 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16174 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16175 (grub_video_i386_vbeblit_index_index): Likewise.
16176 (grub_video_i386_vbeblit_replace_directN): Added.
16177 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16178 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16179 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16180 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16181 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16182 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16183 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16184 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16185 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16186 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16187 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16188 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16189 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16190
16191 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16192 (grub_video_i386_vbefill_R8G8B8): Likewise.
16193 (grub_video_i386_vbefill_index): Likewise.
16194 (grub_video_i386_vbefill_direct32): Added.
16195 (grub_video_i386_vbefill_direct24): Likewise.
16196 (grub_video_i386_vbefill_direct16): Likewise.
16197 (grub_video_i386_vbefill_direct8): Likewise.
16198
16199 * include/grub/video.h (grub_video_blit_format): Removed
16200 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16201 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16202 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16203 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16204 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
16205
16206 * video/video.c (grub_video_get_blit_format): Updated to use new
16207 blit formats. Added handling for 16 bit color modes.
16208
16209 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
16210 fillers.
16211 (common_blitter): Updated to use new blitters.
16212
16213 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16214 Removed.
16215 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16216 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16218 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16219 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16220 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16222 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16223 (grub_video_i386_vbeblit_index_index): Likewise.
16224 (grub_video_i386_vbeblit_replace_directN): Added.
16225 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16226 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16227 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16228 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16229 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16230 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16231 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16232 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16233 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16234 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16235 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16236 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16237 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16238
16239 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16240 (grub_video_i386_vbefill_R8G8B8): Likewise.
16241 (grub_video_i386_vbefill_index): Likewise.
16242 (grub_video_i386_vbefill_direct32): Added.
16243 (grub_video_i386_vbefill_direct24): Likewise.
16244 (grub_video_i386_vbefill_direct16): Likewise.
16245 (grub_video_i386_vbefill_direct8): Likewise.
16246
16247 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16248 types.
16249
16250 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16251 types.
16252
16253 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16254 blitter types.
16255
16256 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16257 types.
16258
16259 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16260
16261 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16262 RAID level 1.
16263
16264 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16265
16266 * fs/iso9660.c (grub_iso9660_date): New structure.
16267 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16268 (grub_iso9660_uuid): New function.
16269
16270 2008-09-05 Bean <bean123ch@gmail.com>
16271
16272 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16273
16274 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16275 insensitive bit for names in Win32 and Win32 & DOS namespace.
16276
16277 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16278
16279 * include/grub/types.h (LONG_MAX): Likewise.
16280
16281 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16282
16283 * util/getroot.c: Include <config.h>.
16284 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16285 add support for /dev/md/N devices and handle LVM double dash escaping.
16286
16287 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16288
16289 * config.guess: Update to latest version from config git.
16290 * config.sub: Likewise.
16291
16292 2008-09-03 Robert Millan <rmh@aybabtu.com>
16293
16294 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16295 `disk->total_sectors'.
16296
16297 2008-09-01 Colin D Bennett <colin@gibibit.com>
16298
16299 * include/grub/normal.h: Fixed incorrect comment for
16300 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16301
16302 2008-09-01 Colin D Bennett <colin@gibibit.com>
16303
16304 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16305 values with defines.
16306
16307 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16308 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16309 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16310 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16311 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16312 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16313 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16314 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16315 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16316 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16317 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16318 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16319 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16320 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16321 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16322 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16323 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16324 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16325 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16326
16327 2008-08-31 Robert Millan <rmh@aybabtu.com>
16328
16329 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16330 declaration.
16331 (grub_multiboot): Fix a few warnings.
16332
16333 2008-08-31 Robert Millan <rmh@aybabtu.com>
16334
16335 * loader/i386/pc/multiboot.c: Update comment not to say that
16336 boot_device support is unimplemented.
16337
16338 2008-08-31 Robert Millan <rmh@aybabtu.com>
16339
16340 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16341 or memory map support are unimplemented.
16342
16343 2008-08-31 Colin D Bennett <colin@gibibit.com>
16344
16345 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16346
16347 2008-08-31 Colin D Bennett <colin@gibibit.com>
16348
16349 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16350 total video memory in 'vbeinfo' output; show color format details for
16351 each video mode.
16352
16353 2008-08-30 Pavel Roskin <proski@gnu.org>
16354
16355 * util/genmoddep.c: Remove for real this time.
16356 * DISTLIST: Remove util/genmoddep.c.
16357
16358 2008-08-30 Robert Millan <rmh@aybabtu.com>
16359
16360 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16361 as required by Multiboot spec (it was already 4-byte aligned, but
16362 only by chance).
16363
16364 2008-08-29 Pavel Roskin <proski@gnu.org>
16365
16366 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16367 * kern/powerpc/ieee1275/startup.S: ... this.
16368 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16369 * DISTLIST: Likewise.
16370
16371 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16372 grub/cpu/kernel.h. Add start label for consistency with other
16373 platforms. Add grub_prefix immediately after start. Add jump
16374 to the code after grub_prefix.
16375 * include/grub/powerpc/kernel.h: Provide valid values for
16376 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16377
16378 2008-08-29 Bean <bean123ch@gmail.com>
16379
16380 * configure.ac: Change host_os to cygwin for mingw.
16381 (asprintf): New check for function.
16382
16383 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16384 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16385
16386 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16387 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16388 sync, sleep and grub_util_get_disk_size for mingw.
16389
16390 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16391 to get size in mingw.
16392 (open_device): Use flag O_BINARY if it's defined.
16393 (find_root_device): Add dummy code for mingw.
16394
16395 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16396 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16397 (get_scsi_disk_name): Return 0 for mingw.
16398
16399 * util/hostfs.c: #include <grub/util/misc.h>.
16400 (grub_hostfs_open): Use "rb" flag to open file, use
16401 grub_util_get_disk_size to get disk size for mingw.
16402
16403 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16404 (asprintf): New function if HAVE_ASPRINTF is not set.
16405 (sync): New function for mingw.
16406 (sleep): Likewise.
16407 (grub_util_get_disk_size): Likewise.
16408
16409 2008-08-28 Pavel Roskin <proski@gnu.org>
16410
16411 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16412 kern/time.c.
16413
16414 2008-08-28 Robert Millan <rmh@aybabtu.com>
16415
16416 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16417
16418 2008-08-28 Robert Millan <rmh@aybabtu.com>
16419
16420 Change find_grub_drive() syntax so it doesn't prevent it from
16421 detecting NULL names as errors.
16422
16423 * util/biosdisk.c (find_grub_drive): Move free slot search code
16424 from here ...
16425 (find_free_slot): ... to here.
16426 (read_device_map): Use find_free_slot() to search for free slots.
16427
16428 2008-08-27 Marco Gerards <marco@gnu.org>
16429
16430 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16431 (scsi_mod_SOURCES): New variable.
16432 (scsi_mod_CFLAGS): Likewise
16433 (scsi_mod_LDFLAGS): Likewise.
16434
16435 * disk/scsi.c: New file.
16436
16437 * include/grub/scsi.h: Likewise.
16438
16439 * include/grub/scsicmd.h: Likewise.
16440
16441 * disk/ata.c: Include <grub/scsi.h>.
16442 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16443 instead.
16444 (grub_ata_iterate): Skip ATAPI devices.
16445 (grub_ata_open): Only handle ATAPI devices.
16446 (struct grub_atapi_read): Removed.
16447 (grub_atapi_readsector): Likewise.
16448 (grub_ata_read): No longer handle ATAPI devices.
16449 (grub_ata_write): Likewise.
16450 (grub_atapi_iterate): New function.
16451 (grub_atapi_read): Likewise.
16452 (grub_atapi_write): Likewise.
16453 (grub_atapi_open): Likewise.
16454 (grub_atapi_close): Likewise.
16455 (grub_atapi_dev): New variable.
16456 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16457 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16458
16459 * include/grub/disk.h (enum grub_disk_dev_id): Add
16460 `GRUB_DISK_DEVICE_SCSI_ID'.
16461
16462 2008-08-26 Robert Millan <rmh@aybabtu.com>
16463
16464 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16465 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16466 descriptive.
16467
16468 2008-08-23 Bean <bean123ch@gmail.com>
16469
16470 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16471 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16472 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16473 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16474 dm_nv.mod.
16475 (raid5rec_mod_SOURCES): New macro.
16476 (raid5rec_mod_CFLAGS): Likewise.
16477 (raid5rec_mod_LDFLAGS): Likewise.
16478 (raid6rec_mod_SOURCES): Likewise.
16479 (raid6rec_mod_CFLAGS): Likewise.
16480 (raid6rec_mod_LDFLAGS): Likewise.
16481 (mdraid_mod_SOURCES): Likewise.
16482 (mdraid_mod_CFLAGS): Likewise.
16483 (mdraid_mod_LDFLAGS): Likewise.
16484 (dm_nv_mod_SOURCES): Likewise.
16485 (dm_nv_mod_CFLAGS): Likewise.
16486 (dm_nv_mod_LDFLAGS): Likewise.
16487
16488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16489 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16490 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16491
16492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16493 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16494
16495 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16496
16497 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16498
16499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16500
16501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16502
16503 * disk/raid5_recover.c: New file.
16504
16505 * disk/raid6_recover.c: Likewise.
16506
16507 * disk/mdraid_linux.c: Likewise.
16508
16509 * disk/dmraid_nvidia.c: Likewise.
16510
16511 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16512 ULONG_MAX.
16513
16514 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16515 calculate the size of raid device.
16516 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16517 different layout of raid5.
16518 (grub_raid_scan_device): Remove code specific to mdraid.
16519 (grub_raid_list): New variable.
16520 (free_array): New function.
16521 (grub_raid_register): Likewise.
16522 (grub_raid_unregister): Likewise.
16523 (grub_raid_rescan): Likewise.
16524 (GRUB_MOD_INIT): Don't iterate device here.
16525 (GRUB_MOD_FINI): Use free_array to release resource.
16526
16527 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16528 (grub_raid5_recover_func_t): New function variable type.
16529 (grub_raid6_recover_func_t): Likewise.
16530 (grub_raid5_recover_func): New variable.
16531 (grub_raid6_recover_func): Likewise.
16532 (grub_raid_register): New function.
16533 (grub_raid_unregister): Likewise.
16534 (grub_raid_rescan): Likewise.
16535 (grub_raid_block_xor): Likewise.
16536
16537 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16538 (CMD_CRC): New macro.
16539 (part): Removed.
16540 (read_file): Handle device as well as file.
16541 (cmd_crc): New function.
16542 (fstest): Handle multiple disks.
16543 (options): Remove part, raw and long, add root and diskcount.
16544 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16545 (main): Find the first non option entry and ignore subsequent options,
16546 add handling for the new options, support multiple disks.
16547
16548 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16549
16550 2008-08-23 Bean <bean123ch@gmail.com>
16551
16552 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16553
16554 * genfslist.sh: Ignore kernel.mod.
16555
16556 * genpartmaplist.sh: Likewise.
16557
16558 2008-08-23 Robert Millan <rmh@aybabtu.com>
16559
16560 * util/getroot.c (find_root_device): Skip anything that starts with
16561 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16562
16563 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16564
16565 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16566 * util/grub.d/00_header.in: Allow the administrator to change default
16567 gfxmode via ${GRUB_GFXMODE}.
16568
16569 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16570
16571 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16572
16573 2008-08-21 Robert Millan <rmh@aybabtu.com>
16574
16575 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16576 loader.
16577 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16578 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16579
16580 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16581
16582 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16583 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16584
16585 2008-08-19 Robert Millan <rmh@aybabtu.com>
16586
16587 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16588 (struct grub_virtual_screen): Remove `cursor_color'.
16589 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16590 initialization.
16591 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16592
16593 2008-08-18 Robert Millan <rmh@aybabtu.com>
16594
16595 Unify (identical) linux_normal.c files.
16596 * loader/i386/efi/linux_normal.c: Move from here ...
16597 * loader/linux_normal.c: ... to here. Update all users.
16598 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16599 * loader/i386/ieee1275/linux_normal.c: Likewise.
16600
16601 2008-08-18 Robert Millan <rmh@aybabtu.com>
16602
16603 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16604 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16605 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16606 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16607 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16608 New macros.
16609 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16610 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16611 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16612 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16613 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16614 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16615 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16616 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16617 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16618 portably using grub_getxy().
16619 Replace `-EFI' with `-bzImage' in boot message.
16620
16621 2008-08-17 Robert Millan <rmh@aybabtu.com>
16622
16623 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16624
16625 2008-08-17 Robert Millan <rmh@aybabtu.com>
16626
16627 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16628
16629 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16630 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16631 (grub_machine_mmap_iterate): New function declaration.
16632 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16633 structure.
16634 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16635 macros.
16636
16637 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16638 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16639 Move e820 parsing from here ...
16640 * kern/i386/pc/mmap.c: New file.
16641 (grub_machine_mmap_iterate): ... to here.
16642
16643 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16644 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16645 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16646 (grub_available_iterate): Redeclare to return `void', and redeclare
16647 its hook to use grub_uint64_t as addr and size parameters, and rename
16648 to ...
16649 (grub_machine_mmap_iterate): ... this. Update all users.
16650
16651 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16652 to make it more readable. Rename to ...
16653 (grub_machine_mmap_iterate): ... this.
16654
16655 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16656 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16657 (grub_multiboot): Allocate an extra region after the payload, and fill
16658 it with a Multiboot memory map. Adjust a.out loader to calculate size
16659 with the extra space.
16660 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16661 with the extra space.
16662
16663 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16664
16665 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16666
16667 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16668
16669 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16670 mdate-sh to the list `find' searches for.
16671 * DISTLIST: Regenerated.
16672
16673 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16674
16675 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16676 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16677 genmoddep.awk, gensymlist.sh.in.
16678 (DISTDIRS): Add bus, docs, hook, lib.
16679 * DISTLIST: Regenerated.
16680 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16681
16682 2008-08-16 Robert Millan <rmh@aybabtu.com>
16683
16684 * disk/raid.c (grub_raid_init): Handle/report errors set by
16685 grub_device_iterate().
16686 * disk/lvm.c (grub_lvm_init): Likewise.
16687
16688 2008-08-15 Bean <bean123ch@gmail.com>
16689
16690 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16691 and datehook.mod.
16692 (datetime_mod_SOURCES): New macro.
16693 (datetime_mod_CFLAGS): Likewise.
16694 (datetime_mod_LDFLAGS): Likewise.
16695 (date_mod_SOURCES): Likewise.
16696 (date_mod_CFLAGS): Likewise.
16697 (date_mod_LDFLAGS): Likewise.
16698 (datehook_mod_SOURCES): Likewise.
16699 (datehook_mod_CFLAGS): Likewise.
16700 (datehook_mod_LDFLAGS): Likewise.
16701
16702 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16703 and datehook.mod.
16704 (datetime_mod_SOURCES): New macro.
16705 (datetime_mod_CFLAGS): Likewise.
16706 (datetime_mod_LDFLAGS): Likewise.
16707 (date_mod_SOURCES): Likewise.
16708 (date_mod_CFLAGS): Likewise.
16709 (date_mod_LDFLAGS): Likewise.
16710 (datehook_mod_SOURCES): Likewise.
16711 (datehook_mod_CFLAGS): Likewise.
16712 (datehook_mod_LDFLAGS): Likewise.
16713
16714 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16715 and datehook.mod.
16716 (datetime_mod_SOURCES): New macro.
16717 (datetime_mod_CFLAGS): Likewise.
16718 (datetime_mod_LDFLAGS): Likewise.
16719 (date_mod_SOURCES): Likewise.
16720 (date_mod_CFLAGS): Likewise.
16721 (date_mod_LDFLAGS): Likewise.
16722 (datehook_mod_SOURCES): Likewise.
16723 (datehook_mod_CFLAGS): Likewise.
16724 (datehook_mod_LDFLAGS): Likewise.
16725
16726 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16727 and datehook.mod.
16728 (datetime_mod_SOURCES): New macro.
16729 (datetime_mod_CFLAGS): Likewise.
16730 (datetime_mod_LDFLAGS): Likewise.
16731 (date_mod_SOURCES): Likewise.
16732 (date_mod_CFLAGS): Likewise.
16733 (date_mod_LDFLAGS): Likewise.
16734 (datehook_mod_SOURCES): Likewise.
16735 (datehook_mod_CFLAGS): Likewise.
16736 (datehook_mod_LDFLAGS): Likewise.
16737
16738 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16739 and datehook.mod.
16740 (datetime_mod_SOURCES): New macro.
16741 (datetime_mod_CFLAGS): Likewise.
16742 (datetime_mod_LDFLAGS): Likewise.
16743 (date_mod_SOURCES): Likewise.
16744 (date_mod_CFLAGS): Likewise.
16745 (date_mod_LDFLAGS): Likewise.
16746 (datehook_mod_SOURCES): Likewise.
16747 (datehook_mod_CFLAGS): Likewise.
16748 (datehook_mod_LDFLAGS): Likewise.
16749
16750 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16751
16752 * commands/date.c: New file.
16753
16754 * hook/datehook.c: Likewise.
16755
16756 * include/grub/lib/datetime.h: Likewise.
16757
16758 * include/grub/i386/cmos.h: Likewise.
16759
16760 * lib/datetime.c: Likewise.
16761
16762 * lib/i386/datetime.c: Likewise.
16763
16764 * lib/efi/datetime.c: Likewise.
16765
16766 2008-08-14 Robert Millan <rmh@aybabtu.com>
16767
16768 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16769 (grub_mkelfimage_SOURCES): New variable.
16770 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16771
16772 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16773 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16774 * conf/powerpc-ieee1275.rmk: Likewise.
16775 * conf/i386-ieee1275.rmk: Likewise.
16776
16777 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16778 * kern/i386/coreboot/init.c: Likewise.
16779
16780 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16781 with `<grub/cpu/kernel.h>'.
16782 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16783 to ...
16784 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16785 * kern/i386/coreboot/startup.S: Likewise.
16786
16787 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16788 (GRUB_MOD_GAP): Remove.
16789 * include/grub/powerpc/kernel.h: New file.
16790 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16791 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16792 * include/grub/i386/kernel.h: New file.
16793 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16794 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16795 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16796
16797 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16798 `grub-mkelfimage'.
16799 Use --directory when invoking grub_mkimage.
16800
16801 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16802 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16803 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16804 and GRUB_KERNEL_CPU_PREFIX.
16805
16806 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16807
16808 * include/grub/err.h (grub_err_printf): New function prototype.
16809 * util/misc.c (grub_err_printf): New function.
16810 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16811 grub_printf.
16812 * kern/err.c (grub_print_error): Use grub_err_printf.
16813
16814 2008-08-13 Robert Millan <rmh@aybabtu.com>
16815
16816 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16817
16818 2008-08-13 Robert Millan <rmh@aybabtu.com>
16819
16820 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16821 boot entry.
16822
16823 2008-08-12 Robert Millan <rmh@aybabtu.com>
16824
16825 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16826 of the relocation code from here ...
16827 (grub_multiboot): ... to here.
16828 (forward_relocator, backward_relocator): Move from here ...
16829 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16830 (grub_multiboot_backward_relocator): ... to here.
16831 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16832 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16833 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16834 (grub_multiboot_forward_relocator_end)
16835 (grub_multiboot_backward_relocator)
16836 (grub_multiboot_backward_relocator_end): New variables.
16837
16838 2008-08-12 Bean <bean123ch@gmail.com>
16839
16840 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16841
16842 2008-08-11 Robert Millan <rmh@aybabtu.com>
16843
16844 * kern/i386/linuxbios/startup.S: Move from here ...
16845 * kern/i386/coreboot/startup.S: ... to here.
16846
16847 * kern/i386/linuxbios/init.c: Move from here ...
16848 * kern/i386/coreboot/init.c: ... to here.
16849
16850 * kern/i386/linuxbios/table.c: Move from here ...
16851 * kern/i386/coreboot/mmap.c: ... to here.
16852
16853 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16854
16855 2008-08-11 Robert Millan <rmh@aybabtu.com>
16856
16857 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16858 errors. Leave it to the upper layer to handle them.
16859
16860 2008-08-09 Christian Franke <franke@computer.org>
16861
16862 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16863 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16864 Install `grub.d/10_windows' only on Cygwin.
16865 * configure.ac: Add subst of `target_os'.
16866 Check `target_os' also before setting TARGET_OBJ2ELF.
16867 Add `--enable-grub-pe2elf'.
16868
16869 2008-08-08 Robert Millan <rmh@aybabtu.com>
16870
16871 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16872 (grub_last_time): Change type to grub_uint64_t.
16873 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16874 (grub_disk_close): Likewise.
16875
16876 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16877 (run_menu): Migrate code from to using grub_get_time_ms().
16878
16879 * util/misc.c (grub_get_time_ms): New function.
16880
16881 2008-08-08 Marco Gerards <marco@gnu.org>
16882
16883 * disk/ata.c (grub_ata_regget): Change return type to
16884 `grub_uint8_t'.
16885 (grub_ata_regget2): Likewise.
16886 (grub_ata_wait_status): New function.
16887 (grub_ata_wait_busy): Removed function, updated all users to use
16888 `grub_ata_wait_status'.
16889 (grub_ata_wait_drq): Likewise.
16890 (grub_ata_cmd): New function.
16891 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16892 error handling.
16893 (grub_ata_pio_write): Add error handling.
16894 (grub_atapi_identify): Likewise.
16895 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16896 handling.
16897 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16898 handling. Actually use the detected registers. Reorder the
16899 detection logic such that it is easier to read.
16900 (grub_ata_pciinit): Do not assign the same ID to each controller.
16901 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16902 handling.
16903 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16904
16905 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16906
16907 2008-08-08 Marco Gerards <marco@gnu.org>
16908
16909 * NEWS: Update.
16910
16911 2008-08-07 Bean <bean123ch@gmail.com>
16912
16913 * include/grub/x86_64/pci.h: New file.
16914
16915 2008-08-07 Christian Franke <franke@computer.org>
16916
16917 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16918 (TIMER2_GATE): Likewise.
16919 (grub_pit_wait): Add enable/disable of the timer2 gate
16920 bit of port 0x61. This fixes a possible infinite loop.
16921
16922 2008-08-07 Bean <bean123ch@gmail.com>
16923
16924 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16925 kern/i386/tsc.c and kern/i386/pit.c.
16926
16927 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16928 x86_64 platform.
16929
16930 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16931 <grub/i386/tsc.h>.
16932
16933 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16934
16935 2008-08-07 Bean <bean123ch@gmail.com>
16936
16937 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16938
16939 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16940
16941 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16942 multiple inclusion. Add #include <grub/types.h>.
16943
16944 2008-08-06 Christian Franke <franke@computer.org>
16945
16946 * conf/common.rmk: Build and install `10_windows'.
16947 * util/grub.d/10_windows.in: New script.
16948
16949 2008-08-06 Pavel Roskin <proski@gnu.org>
16950
16951 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16952
16953 2008-08-06 Robert Millan <rmh@aybabtu.com>
16954
16955 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16956 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16957
16958 2008-08-06 Bean <bean123ch@gmail.com>
16959
16960 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16961 (grub_pxefs_fs_int): Remove dummy definition.
16962 (grub_pxefs_open): Use data->block_size to store the current block
16963 size setting.
16964 (grub_pxefs_read): Use block size stored in data->block_size. As the
16965 value of grub_pxe_blksize can be changed after the file is opened.
16966
16967 2008-08-06 Bean <bean123ch@gmail.com>
16968
16969 * fs/i386/pc/pxe.c (curr_file): new variable.
16970 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16971 require the dummy internal file system anymore.
16972 (grub_pxefs_read): Removed.
16973 (grub_pxefs_close): Likewise.
16974 (grub_pxefs_fs_int): Likewise.
16975 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16976 connection when we switch file.
16977 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16978
16979 2008-08-06 Robert Millan <rmh@aybabtu.com>
16980
16981 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16982 `halt.mod'.
16983 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16984 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16985
16986 * kern/i386/halt.c: New file.
16987 * kern/i386/reboot.c: Likewise.
16988 * include/grub/i386/reboot.h: Likewise.
16989 * include/grub/i386/halt.h: Likewise.
16990
16991 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16992 Include `<grub/cpu/halt.h>'.
16993 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16994 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16995
16996 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16997 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16998 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16999 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17000 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17001 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17002 from here ...
17003 * include/grub/i386/at_keyboard.h: ... to here.
17004
17005 2008-08-05 Robert Millan <rmh@aybabtu.com>
17006
17007 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17009 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17010 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17011 `kern/generic/millisleep.c'.
17012
17013 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17014 instead of grub_get_rtc().
17015 (grub_tsc_init): Initialize `tsc_boot_time'.
17016
17017 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17018 (grub_machine_init): Use grub_tsc_init() rather than
17019 installing an RTC-based handler via grub_install_get_time_ms().
17020
17021 * kern/i386/pit.c: New file.
17022 * include/grub/i386/pit.h: Likewise.
17023
17024 2008-08-05 Bean <bean123ch@gmail.com>
17025
17026 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17027
17028 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17029 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17030 (pxe_mod_SOURCES): New macro.
17031 (pxe_mod_CFLAGS): Likewise.
17032 (pxe_mod_LDFLAGS): Likewise.
17033 (pxecmd_mod_SOURCES): Likewise.
17034 (pxecmd_mod_CFLAGS): Likewise.
17035 (pxecmd_mod_LDFLAGS): Likewise.
17036
17037 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17038 (grub_pxe_call): Likewise.
17039
17040 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17041
17042 * commands/i386/pc/pxecmd.c: New file.
17043
17044 * fs/i386/pc/pxe.c: Likewise.
17045
17046 * include/grub/i386/pc/pxe.h: Likewise.
17047
17048 2008-08-05 Bean <bean123ch@gmail.com>
17049
17050 * util/console.c (grub_console_cur_color): New variable.
17051 (grub_console_standard_color): Likewise.
17052 (grub_console_normal_color): Likewise.
17053 (grub_console_highlight_color): Likewise.
17054 (color_map): Likewise.
17055 (use_color): Likewise.
17056 (NUM_COLORS): New macro.
17057 (grub_ncurses_setcolorstate): Handle color properly.
17058 (grub_ncurses_setcolor): Don't change color here, just remember the
17059 settings, color will be set in grub_ncurses_setcolorstate.
17060 (grub_ncurses_getcolor): New function.
17061 (grub_ncurses_init): Initialize color pairs.
17062 (grub_ncurses_term): New member grub_ncurses_getcolor.
17063
17064 2008-08-05 Colin D Bennett <colin@gibibit.com>
17065
17066 High resolution timer support. Implemented for x86 CPUs using TSC.
17067 Extracted generic grub_millisleep() so it's linked in only as needed.
17068 This requires a Pentium compatible CPU; if the RDTSC instruction is
17069 not supported, then it falls back on the generic grub_get_time_ms()
17070 implementation that uses the machine's RTC.
17071
17072 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17073 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17074 `kern/generic/millisleep.c'.
17075
17076 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17077 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17078
17079 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17080 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17081
17082 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17083
17084 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17085 `kern/generic/millisleep.c'.
17086
17087 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17088
17089 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17090
17091 * kern/generic/rtc_get_time_ms.c: New file.
17092
17093 * kern/generic/millisleep.c: New file.
17094
17095 * kern/misc.c: Don't include
17096 <kern/time.h> anymore.
17097 (grub_millisleep_generic): Removed.
17098
17099 * commands/sleep.c (grub_interruptible_millisleep): Uses
17100 grub_get_time_ms() instead of grub_get_rtc().
17101
17102 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17103 function.
17104 (grub_cpu_is_cpuid_supported): New inline function.
17105 (grub_cpu_is_tsc_supported): New inline function.
17106 (grub_tsc_init): New function prototype.
17107 (grub_tsc_get_time_ms): New function prototype.
17108
17109 * kern/i386/tsc.c (grub_get_time_ms): New file.
17110
17111 * include/grub/time.h: Include <grub/types.h.
17112 (grub_millisleep_generic): Removed.
17113 (grub_get_time_ms): New prototype.
17114 (grub_install_get_time_ms): New prototype.
17115 (grub_rtc_get_time_ms): New prototype.
17116
17117 * kern/time.c (grub_get_time_ms): New function.
17118 (grub_install_get_time_ms): New function.
17119
17120 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17121 <grub/time.h> anymore.
17122 (grub_millisleep): Removed.
17123 (grub_machine_init): Call grub_tsc_init.
17124
17125 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17126 get_time_ms() implementation.
17127
17128 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17129 (ieee1275_get_time_ms): New function.
17130 (grub_machine_init): Install get_time_ms() implementation.
17131
17132 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17133 (grub_machine_init): Call grub_tsc_init().
17134 (grub_millisleep): Removed.
17135
17136 * kern/ieee1275/init.c (grub_millisleep): Removed.
17137 (grub_machine_init): Install ieee1275_get_time_ms()
17138 implementation.
17139 (ieee1275_get_time_ms): New function.
17140 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17141 real work.
17142
17143 2008-08-05 Marco Gerards <marco@gnu.org>
17144
17145 * disk/ata.c: Include <grub/pci.h>.
17146 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17147 (grub_ata_initialize): Rewritten.
17148 (grub_ata_device_initialize): New function.
17149
17150 2008-08-04 Pavel Roskin <proski@gnu.org>
17151
17152 * kern/main.c: Include grub/mm.h.
17153
17154 2008-08-04 Robert Millan <rmh@aybabtu.com>
17155
17156 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17157 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17158 corruption problem).
17159
17160 2008-08-04 Robert Millan <rmh@aybabtu.com>
17161
17162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17163 warnings introduced in my last commit.
17164
17165 2008-08-03 Robert Millan <rmh@aybabtu.com>
17166
17167 Make PCI available on all i386 architectures.
17168
17169 * include/grub/i386/pc/pci.h: Move from here ...
17170 * include/grub/i386/pci.h: ... to here.
17171
17172 * include/grub/i386/pc/pci.h: Remove.
17173 * include/grub/i386/efi/pci.h: Remove.
17174 * include/grub/x86_64/efi/pci.h: Remove.
17175
17176 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17177 `<grub/cpu/pci.h>'.
17178
17179 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17180 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17181 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17182
17183 * conf/i386-ieee1275.rmk: Likewise.
17184
17185 2008-08-03 Robert Millan <rmh@aybabtu.com>
17186
17187 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17188 (grub_console_setcursor): Make it possible to set cursor off.
17189
17190 2008-08-03 Robert Millan <rmh@aybabtu.com>
17191
17192 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17193 of modules instead of assuming which platform provides what.
17194 * util/update-grub.in: Likewise.
17195
17196 2008-08-03 Robert Millan <rmh@aybabtu.com>
17197
17198 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17199 instead of `grub_install_dos_part' to determine whether a drive needs
17200 to be prepended to prefix (`grub_install_dos_part' is not reliable,
17201 because it can be overridden when loading GRUB via Multiboot).
17202
17203 2008-08-02 Robert Millan <rmh@aybabtu.com>
17204
17205 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17206
17207 2008-08-02 Robert Millan <rmh@aybabtu.com>
17208
17209 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17210 of informational grub_dprintf() calls.
17211
17212 2008-08-02 Robert Millan <rmh@aybabtu.com>
17213
17214 * disk/memdisk.c (memdisk_size): Don't initialize.
17215 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17216
17217 * include/grub/i386/pc/kernel.h
17218 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17219 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17220 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17221 (grub_arch_memdisk_size): Remove.
17222
17223 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17224 field (was only used to transfer a constant). Add `type' field to
17225 support multiple module types.
17226 (grub_module_iterate): New function.
17227
17228 * kern/device.c (grub_device_open): Do not hide error messages
17229 when grub_disk_open() fails. Use grub_print_error() instead.
17230
17231 * kern/i386/pc/init.c (grub_arch_modules_addr)
17232 (grub_arch_memdisk_size): Remove functions.
17233 (grub_arch_modules_addr): Return the module address in high memory
17234 (now that it isn't copied anymore).
17235
17236 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17237 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17238 decompression routine (grub_total_module_size already includes that
17239 now). Don't copy modules back to low memory.
17240
17241 * kern/main.c: Include `<grub/mm.h>'.
17242 (grub_load_modules): Split out (and use) ...
17243 (grub_module_iterate): ... this function, which iterates through
17244 module objects and runs a hook.
17245 Comment out grub_mm_init_region() call, as it would cause non-ELF
17246 modules to be overwritten.
17247
17248 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17249 the memdisk image in its own region, make it part of the module list.
17250 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17251 (main): Parse --memdisk|-m option, and pass user-provided path as
17252 parameter to generate_image().
17253 (add_segments): Pass `memdisk_path' down to load_modules().
17254 (load_modules): Embed memdisk image in module section when requested.
17255 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17256 `header.type' instead of `header.offset'.
17257
17258 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17259 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17260 (memdisk_mod_LDFLAGS): New variables.
17261 * conf/i386-coreboot.rmk: Likewise.
17262 * conf/i386-ieee1275.rmk: Likewise.
17263
17264 2008-08-02 Robert Millan <rmh@aybabtu.com>
17265
17266 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17267 (backward_relocator): New variables. Used to allocate and relocate
17268 the payload, respectively.
17269 (grub_multiboot_load_elf32): Load into heap instead of requested
17270 address, install the appropriate relocator code in each bound of
17271 the payload, and set the entry point such that
17272 grub_multiboot_real_boot() will jump to one of them.
17273
17274 * kern/i386/loader.S (grub_multiboot_payload_size)
17275 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17276 (grub_multiboot_payload_entry_offset): New variables.
17277 (grub_multiboot_real_boot): Set cpu context to what the relocator
17278 expects, and jump to the relocator instead of the payload.
17279
17280 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17281 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17282 (grub_multiboot_payload_entry_offset): Export.
17283
17284 2008-08-01 Bean <bean123ch@gmail.com>
17285
17286 * normal/menu_entry.c (editor_getline): Don't return the original
17287 string as result, as it will be released by lexer once it has done
17288 using it.
17289
17290 2008-08-01 Robert Millan <rmh@aybabtu.com>
17291
17292 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17293 within menuentries, not before them.
17294 util/grub.d/10_hurd.in: Likewise.
17295
17296 2008-08-01 Bean <bean123ch@gmail.com>
17297
17298 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17299 (bufio_mod_SOURCES): New macro.
17300 (bufio_mod_CFLAGS): Likewise.
17301 (bufio_mod_LDFLAGS): Likewise.
17302
17303 * include/grub/bufio.h: New file.
17304
17305 * io/bufio.c: Likewise.
17306
17307 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17308 (grub_video_reader_png): Use grub_buffile_open to open file.
17309
17310 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17311 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17312
17313 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17314 (grub_video_reader_tga): Use grub_buffile_open to open file.
17315
17316 * font/manager.c: Include <grub/bufio.h>.
17317 (add_font): Use grub_buffile_open to open file.
17318
17319 2008-07-31 Robert Millan <rmh@aybabtu.com>
17320
17321 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17322 ELF segments, use a macro for arbitrarily accessing any of them instead
17323 of preparing a pointer that allows access to one at a time.
17324 (grub_multiboot_load_elf64): Likewise.
17325
17326 2008-07-31 Bean <bean123ch@gmail.com>
17327
17328 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17329 GRUB_KERNEL_MACHINE_DATA_END.
17330
17331 2008-07-30 Robert Millan <rmh@aybabtu.com>
17332
17333 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17334 Increase from 0x50 to 0x60.
17335 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17336 use UUIDs to identify the root drive for them. If that's not
17337 possible, abort.
17338 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17339 check, for cross-disk installs.
17340
17341 2008-07-30 Robert Millan <rmh@aybabtu.com>
17342
17343 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17344 is non-empty, use it to set the `prefix' environment variable instead
17345 of the usual approach.
17346 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17347 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17348 environment variable instead of dummy make_install_device().
17349
17350 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17351 (start): Insert a data section, with `grub_prefix' variable.
17352 * kern/i386/linuxbios/startup.S: Likewise.
17353
17354 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17355 New variable reference.
17356 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17357 New macro. Defines offset of `grub_prefix' within startup.S (relative
17358 to `start').
17359 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17360 section within startup.S (relative to `start').
17361 * include/grub/i386/coreboot/kernel.h: Likewise.
17362
17363 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17364 Overwrite grub_prefix with its contents, at the beginning of the
17365 first segment.
17366 (main): Understand -p|--prefix.
17367
17368 2008-07-30 Robert Millan <rmh@aybabtu.com>
17369
17370 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17371
17372 2008-07-30 Robert Millan <rmh@aybabtu.com>
17373
17374 * term/i386/pc/vga_text.c (grub_console_cls): Use
17375 grub_console_gotoxy() to go back to beginning of the screen.
17376 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17377
17378 2008-07-29 Christian Franke <franke@computer.org>
17379
17380 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17381 Add conversion of emulated mount points on Cygwin.
17382
17383 2008-07-29 Christian Franke <franke@computer.org>
17384
17385 * util/update-grub.in: Add a check for admin
17386 group on Cygwin.
17387 Remove old `grub.cfg.new' before creation.
17388 Add `-f' to `mv' to handle the different filesystem
17389 semantics of Windows.
17390
17391 2008-07-29 Bean <bean123ch@gmail.com>
17392
17393 * normal/main.c (get_line): Fix buffer overflow bug.
17394
17395 2008-07-28 Robert Millan <rmh@aybabtu.com>
17396
17397 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17398 (struct grub_apple_header): New struct. Describes the layout of
17399 the partmap header.
17400 (apple_partition_map_iterate): Check the header magic as well as the
17401 partition magic (which was already being checked).
17402
17403 2008-07-28 Pavel Roskin <proski@gnu.org>
17404
17405 * genmk.rb: Add a warning to the beginning of the output that
17406 it's a generated file and should not be edited.
17407
17408 2008-07-28 Robert Millan <rmh@aybabtu.com>
17409
17410 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17411 with the same number are found, just use issue a warning with
17412 grub_dprintf(), as this error has been reported to be non-fatal.
17413
17414 2008-07-27 Robert Millan <rmh@aybabtu.com>
17415
17416 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17417 information.
17418
17419 2008-07-27 Bean <bean123ch@gmail.com>
17420
17421 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17422 (grub_fat_find_dir): Ignore case when comparing filename.
17423
17424 2008-07-27 Bean <bean123ch@gmail.com>
17425
17426 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17427 smallino, as it's more descriptive, and i8count can be confused with
17428 the other field count.
17429 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17430 inode type.
17431
17432 2008-07-27 Bean <bean123ch@gmail.com>
17433
17434 * commands/crc.c: New file.
17435
17436 * lib/crc.c: Likewise.
17437
17438 * include/grub/lib/crc.h: Likewise.
17439
17440 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17441
17442 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17443 (hexdump): Move this function to ...
17444
17445 * lib/hexdump.c: ... here.
17446
17447 * include/grub/hexdump.h: Renamed to ...
17448
17449 * include/grub/lib/hexdump.h: ... this.
17450
17451 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17452
17453 * util/grub-editenv.c: Likewise.
17454
17455 * include/envblk.h: Renamed to ...
17456
17457 * include/lib/envblk.h: ... this.
17458
17459 * util/envblk.c: Renamed to ...
17460
17461 * lib/envblk.c: ... this.
17462
17463 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17464 lib/hexdump.c.
17465 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17466 (pkglib_MODULES): Add crc.mod.
17467 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17468 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17469 (crc_mod_SOURCES): New macro.
17470 (crc_mod_CFLAGS): Likewise.
17471 (crc_mod_LDFLAGS): Likewise.
17472
17473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17474
17475 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17476
17477 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17478
17479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17480
17481 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17482
17483 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17484
17485 * commands/help.c: Include <grub/term.h>.
17486 (TERM_WIDTH): Removed. Updated all users.
17487
17488 2008-07-27 Pavel Roskin <proski@gnu.org>
17489
17490 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17491 spurious warnings about a comment within a comment.
17492
17493 2008-07-25 Robert Millan <rmh@aybabtu.com>
17494
17495 * util/getroot.c (find_root_device): Skip devices that match
17496 /dev/dm-[0-9]. This lets the real device be found for any type of
17497 abstraction (LVM, EVMS, RAID..).
17498 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17499 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17500 device is found first, find_root_device() will now skip it.
17501
17502 2008-07-24 Pavel Roskin <proski@gnu.org>
17503
17504 * include/grub/types.h: Use __builtin_bswap32() and
17505 __builtin_bswap64() with gcc 4.3 and newer.
17506
17507 2008-07-24 Christian Franke <franke@computer.org>
17508
17509 * util/i386/pc/grub-install.in: If `--debug' is specified,
17510 pass `--verbose' to grub-setup.
17511 Abort script if make_system_path_relative_to_its_root() fails.
17512
17513 2008-07-24 Bean <bean123ch@gmail.com>
17514
17515 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17516 variable `target_platform' should be `platform'.
17517
17518 2008-07-24 Bean <bean123ch@gmail.com>
17519
17520 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17521 (grub_png_init_fixed_block): New function.
17522 (grub_png_decode_image_data): Handle fixed huffman code compression.
17523
17524 2008-07-24 Bean <bean123ch@gmail.com>
17525
17526 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17527 (grub_pe2elf_SOURCES): New macro.
17528 (CLEANFILES): Add grub-pe2elf.
17529
17530 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17531 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17532 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17533 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17534 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17535 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17536 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17537 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17538 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17539 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17540 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17541 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17542 (GRUB_PE32_DT_FUNCTION): Likewise.
17543 (GRUB_PE32_REL_I386_DIR32): Likewise.
17544 (GRUB_PE32_REL_I386_REL32): Likewise.
17545 (grub_pe32_symbol): New structure.
17546 (grub_pe32_reloc): Likewise.
17547
17548 * util/grub-pe2elf.c: New file.
17549
17550 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17551 start symbol in non pc platform.
17552
17553 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17554
17555 The following patches are from Christian Franke.
17556
17557 * include/grub/dl.h: Remove .previous, gas supports this only
17558 for ELF format.
17559
17560 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17561 Remove .type, gas supports this only for ELF format.
17562
17563 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17564 nullbytes in symbol table. This fixes an infinite loop if table is
17565 zero filled.
17566
17567 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17568 TARGET_IMG_LDFLAGS and EXEEXT.
17569
17570 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17571 TARGET_IMG_LDFLAGS_AC.
17572 (grub_CHECK_STACK_ARG_PROBE): New function.
17573
17574 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17575
17576 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17577
17578 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17579 to set TARGET_IMG_LD* accordingly.
17580 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17581 Add call to grub_CHECK_STACK_ARG_PROBE.
17582 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17583
17584 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17585
17586 * genmk.rb: Add EXEEXT to CLEANFILES.
17587
17588 2008-07-23 Robert Millan <rmh@aybabtu.com>
17589
17590 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17591 define the codes for arrows and lines used for the menu).
17592 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17593 as well.
17594
17595 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17596 fonts, because the latter are too slow.
17597
17598 2008-07-21 Bean <bean123ch@gmail.com>
17599
17600 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17601 a20. Run keyboard test last, as it will cause macbook to halt.
17602
17603 2008-07-18 Pavel Roskin <proski@gnu.org>
17604
17605 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17606 load foreign architecture modules correctly anyway. Keep
17607 support for loading host architecture modules, whether we
17608 compile them or not.
17609
17610 2008-07-17 Pavel Roskin <proski@gnu.org>
17611
17612 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17613 change target_cpu. The compiler default can mismatch target_cpu
17614 in any case.
17615
17616 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17617 * kern/efi/efi.c: Likewise.
17618
17619 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17620 target compiler is functional.
17621 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17622 are set up.
17623
17624 * configure.ac: Default to efi platform for x86_64-apple. Allow
17625 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17626 adjustments from the rest, only do them if target is not
17627 explicitly given. Merge other adjustments with the final sanity
17628 check. Remove an extraneous check for supported CPU. Be
17629 specific which CPU and which platform is not supported.
17630
17631 * configure.ac: Default to pc platform for x86_64.
17632
17633 2008-07-17 Robert Millan <rmh@aybabtu.com>
17634
17635 Partial LinuxBIOS -> Coreboot rename.
17636
17637 * conf/i386-linuxbios.rmk: Renamed to ...
17638 * conf/i386-coreboot.rmk: ... this.
17639 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17640 * configure.ac: Accept "coreboot" as input platform (but maintain
17641 compatibility with "linuxbios").
17642 * include/grub/i386/linuxbios: Renamed to ...
17643 * include/grub/i386/coreboot: ... this.
17644
17645 2008-07-17 Bean <bean123ch@gmail.com>
17646
17647 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17648 (appleldr_mod_SOURCE): New variable.
17649 (appleldr_mod_CFLAGS): Likewise.
17650 (appleldr_mod_LDFLAGS): Likewise.
17651 (pci_mod_SOURCES): Likewise.
17652 (pci_mod_CFLAGS): Likewise.
17653 (pci_mod_LDFLAGS): Likewise.
17654 (lspci_mod_SOURCES): Likewise.
17655 (lspci_mod_CFLAGS): Likewise.
17656 (lspci_mod_LDFLAGS): Likewise.
17657
17658 * conf/x86_64-efi.rmk: New file.
17659
17660 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17661 macro.
17662 (grub_efidisk_write): Likewise.
17663
17664 * include/efi/api.h (efi_call_0): New macro.
17665 (efi_call_1): Likewise.
17666 (efi_call_2): Likewise.
17667 (efi_call_3): Likewise.
17668 (efi_call_4): Likewise.
17669 (efi_call_5): Likewise.
17670 (efi_call_6): Likewise.
17671
17672 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17673 grub_rescue_cmd_chainloader.
17674
17675 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17676 (grub_pe32_optional_header): Change some fields based on i386 or
17677 x86_64 platform.
17678 (GRUB_PE32_PE32_MAGIC): Likewise.
17679
17680 * include/grub/efi/uga_draw.h: New file.
17681
17682 * include/grub/elf.h (STN_ABS): New constant.
17683 (R_X86_64_NONE): Relocation constant for x86_64.
17684 (R_X86_64_64): Likewise.
17685 (R_X86_64_PC32): Likewise.
17686 (R_X86_64_GOT32): Likewise.
17687 (R_X86_64_PLT32): Likewise.
17688 (R_X86_64_COPY): Likewise.
17689 (R_X86_64_GLOB_DAT): Likewise.
17690 (R_X86_64_JUMP_SLOT): Likewise.
17691 (R_X86_64_RELATIVE): Likewise.
17692 (R_X86_64_GOTPCREL): Likewise.
17693 (R_X86_64_32): Likewise.
17694 (R_X86_64_32S): Likewise.
17695 (R_X86_64_16): Likewise.
17696 (R_X86_64_PC16): Likewise.
17697 (R_X86_64_8): Likewise.
17698 (R_X86_64_PC8): Likewise.
17699
17700 * include/grub/i386/efi/pci.h: New file.
17701
17702 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17703 Change it value based on platform.
17704 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17705 (GRUB_E820_RAM): Likewise.
17706 (GRUB_E820_RESERVED): Likewise.
17707 (GRUB_E820_ACPI): Likewise.
17708 (GRUB_E820_NVS): Likewise.
17709 (GRUB_E820_EXEC_CODE): Likewise.
17710 (GRUB_E820_MAX_ENTRY): Likewise.
17711 (grub_e820_mmap): New structure.
17712 (linux_kernel_header): Change the efi field according to different
17713 kernel version, also field from linux_kernel_header.
17714
17715 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17716
17717 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17718 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17719 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17720 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17721 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17722 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17723 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17724 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17725 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17726 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17727
17728 * include/grub/x86_64/efi/kernel.h: New file.
17729
17730 * include/grub/x86_64/efi/loader.h: Likewise.
17731
17732 * include/grub/x86_64/efi/machine.h: Likewise.
17733
17734 * include/grub/x86_64/efi/pci.h: Likewise.
17735
17736 * include/grub/x86_64/efi/time.h: Likewise.
17737
17738 * include/grub/x86_64/linux.h: Likewise.
17739
17740 * include/grub/x86_64/setjmp.h: Likewise.
17741
17742 * include/grub/x86_64/time.h: Likewise.
17743
17744 * include/grub/x86_64/types.h: Likewise.
17745
17746 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17747 GRUB_TARGET_SIZEOF_VOID_P.
17748
17749 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17750 (grub_efi_locate_handle): Likewise.
17751 (grub_efi_open_protocol): Likewise.
17752 (grub_efi_set_text_mode): Likewise.
17753 (grub_efi_stall): Likewise.
17754 (grub_exit): Likewise.
17755 (grub_reboot): Likewise.
17756 (grub_halt): Likewise.
17757 (grub_efi_exit_boot_services): Likewise.
17758 (grub_get_rtc): Likewise.
17759
17760 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17761 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17762 (grub_efi_allocate_pages): Wrap efi calls.
17763 (grub_efi_free_pages): Wrap efi calls.
17764 (grub_efi_get_memory_map): Wrap efi calls.
17765
17766 * kern/x86_64/dl.c: New file.
17767
17768 * kern/x86_64/efi/callwrap.S: Likewise.
17769
17770 * kern/x86_64/efi/startup.S: Likewise.
17771
17772 * loader/efi/appleloader.c: Likewise.
17773
17774 * loader/efi/chainloader.c (cmdline): New variable.
17775 (grub_chainloader_unload): Wrap efi calls.
17776 (grub_chainloader_boot): Likewise.
17777 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17778 command line.
17779
17780 * loader/efi/chainloader_normal.c (chainloader_command):
17781 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17782 command line.
17783
17784 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17785 method.
17786 (grub_e820_add_region): New function.
17787 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17788 booting.
17789 (grub_find_video_card): New function.
17790 (grub_linux_setup_video): New function.
17791 (grub_rescue_cmd_linux): Probe for video information.
17792
17793 * normal/x86_64/setjmp.S: New file.
17794
17795 * term/efi/console.c (map_char): New function.
17796 (grub_console_putchar): Map unicode char.
17797 (grub_console_checkkey): Wrap efi calls.
17798 (grub_console_getkey): Likewise.
17799 (grub_console_getwh): Likewise.
17800 (grub_console_gotoxy): Likewise.
17801 (grub_console_cls): Likewise.
17802 (grub_console_setcolorstate): Likewise.
17803 (grub_console_setcursor): Likewise.
17804
17805 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17806
17807 2008-07-16 Pavel Roskin <proski@gnu.org>
17808
17809 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17810 format strings.
17811
17812 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17813 pointer, not an integer. This fixes a warning and prevents
17814 precision loss on 64-bit systems.
17815 (relocate_addresses): Remove unneeded cast.
17816
17817 2008-07-15 Pavel Roskin <proski@gnu.org>
17818
17819 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17820
17821 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17822
17823 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17824 Fix comparison between signed and unsigned.
17825
17826 * include/grub/i386/ieee1275/console.h: Declare
17827 grub_console_init() and grub_console_fini().
17828
17829 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17830 It's empty and unused.
17831
17832 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17833 beginning to avoid warnings with some compilers.
17834
17835 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17836 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17837
17838 2008-07-14 Pavel Roskin <proski@gnu.org>
17839
17840 * kern/env.c (grub_register_variable_hook): Don't copy empty
17841 string, it leaks memory. Pass "" to grub_env_set(), it should
17842 handle constant strings.
17843
17844 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17845 * commands/cmp.c (grub_cmd_cmp): Likewise.
17846 * kern/dl.c (grub_dl_flush_cache): Likewise.
17847 (grub_dl_load_core): Likewise.
17848 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17849 (grub_elf64_load_phdrs): Likewise.
17850
17851 2008-07-13 Pavel Roskin <proski@gnu.org>
17852
17853 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17854 between signed and unsigned.
17855 (LzmaEnc_Finish): Fix warning about an unused parameter.
17856
17857 2008-07-13 Bean <bean123ch@gmail.com>
17858
17859 * Makefile.in (enable_lzo): New rule.
17860
17861 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17862
17863 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17864
17865 * boot/i386/pc/lnxboot.S: #include <config.h>.
17866
17867 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17868 its value according to the compression algorithm used, lzo or lzma.
17869
17870 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17871 compression algorithm according to configure macro.
17872
17873 * kern/i386/pc/startup.S (codestart): Likewise.
17874
17875 * kern/i386/pc/lzma_decode.S: New file.
17876
17877 * include/grub/lib/LzFind.h: Likewise.
17878
17879 * include/grub/lib/LzHash.h: Likewise.
17880
17881 * include/grub/lib/LzmaDec.h: Likewise.
17882
17883 * include/grub/lib/LzmaEnc.h: Likewise.
17884
17885 * include/grub/lib/LzmaTypes.h: Likewise.
17886
17887 * lib/LzFind.c: Likewise.
17888
17889 * lib/LzmaDec.c: Likewise.
17890
17891 * lib/LzmaEnc.c: Likewise.
17892
17893 2008-07-13 Bean <bean123ch@gmail.com>
17894
17895 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17896 (grub_ext4_extent_header): New structure.
17897 (grub_ext4_extent): Likewise.
17898 (grub_ext4_extent_idx): Likewise.
17899 (grub_ext4_find_leaf): New function.
17900 (grub_ext2_read_block): Handle extents.
17901
17902 2008-07-12 Robert Millan <rmh@aybabtu.com>
17903
17904 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17905
17906 2008-07-11 Robert Millan <rmh@aybabtu.com>
17907
17908 * util/grub.d/40_custom.in: New file. Example on how to add custom
17909 entries to /etc/grub.d.
17910 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17911 40_custom (implicitly, by merging all the grub.d rules).
17912
17913 2008-07-11 Pavel Roskin <proski@gnu.org>
17914
17915 * commands/read.c (grub_getline): Fix invalid memory access.
17916 Don't add newline to the variable value.
17917
17918 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17919 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17920 (serial_hw_get_port): Check validity of the port number.
17921 (grub_cmd_serial): Check return value of serial_hw_get_port().
17922
17923 2008-07-07 Pavel Roskin <proski@gnu.org>
17924
17925 * boot/i386/pc/diskboot.S (notification_string): Replace
17926 "Loading kernel" with just "loading". This is shorter, less
17927 confusing and saves a few bytes for possible future changes.
17928
17929 2008-07-05 Pavel Roskin <proski@gnu.org>
17930
17931 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17932 size for ATAPI devices, they are undefined. Output sector
17933 number in decimal form.
17934
17935 * disk/ata.c: Use named constants for status bits.
17936
17937 2008-07-04 Pavel Roskin <proski@gnu.org>
17938
17939 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17940 grub_addr_t before casting it to the void pointer to fix a
17941 warning. Non-addressable regions are discarded earlier.
17942 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17943 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17944 (check_signature): Don't shadow table_header.
17945 (grub_linuxbios_table_iterate): Cast numeric constants to
17946 grub_linuxbios_table_header_t.
17947 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17948 grub_stop().
17949
17950 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17951 prevent warnings.
17952
17953 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17954 pointer, which can cause warnings. Support 64-bit addresses.
17955
17956 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17957 of sizeof(long). This fixes PowerPC image generation on x86_64.
17958
17959 2008-07-04 Robert Millan <rmh@aybabtu.com>
17960
17961 This fixes a performance issue when pc & gpt partmap iterators
17962 didn't abort iteration even after our hook found what it was
17963 looking for (often causing expensive probes of non-existent drives).
17964
17965 Some callers relied on previous buggy behaviour, since they would
17966 raise an error when their own hooks caused early abortion of its
17967 iteration.
17968
17969 * kern/device.c (grub_device_open): Improve error message.
17970 * disk/lvm.c (grub_lvm_open): Likewise.
17971 * disk/raid.c (grub_raid_open): Likewise.
17972
17973 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17974 when hook requests it, independently of grub_errno.
17975 (pc_partition_map_probe): Do not fail when find_func() caused
17976 early abortion of pc_partition_map_iterate().
17977
17978 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17979 when hook requests it, independently of grub_errno.
17980 (gpt_partition_map_probe): Do not fail when find_func() caused
17981 early abortion of gpt_partition_map_iterate().
17982
17983 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17984 when hook requests it, independently of grub_errno. Do not fail when
17985 part_map_iterate_hook() caused early abortion of p->iterate().
17986
17987 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17988 when grub_partition_iterate() returned with non-zero.
17989
17990 2008-07-03 Pavel Roskin <proski@gnu.org>
17991
17992 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17993 like we do in grub_ata_pio_read().
17994 (grub_ata_readwrite): Always write individual sectors. Fix the
17995 sector count for the remainder.
17996 (grub_ata_write): Enable writing to ATA devices. Correctly
17997 report error for ATAPI devices.
17998
17999 2008-07-02 Pavel Roskin <proski@gnu.org>
18000
18001 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18002 warning.
18003
18004 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18005 for every read sector, we already increment it for the whole
18006 batch. This fixes reading more than 256 sectors at once.
18007
18008 * util/grub-editenv.c (cmd_info): Cast argument to long
18009 explicitly. ptrdiff_t reduces to int on i386.
18010
18011 * util/grub-editenv.c (main): Be specific which parameter is
18012 missing.
18013
18014 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18015 (memdisk): Make memdisk_orig_addr a pointer.
18016
18017 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18018 for file offsets, use grub_off_t instead. Fix printf format
18019 warnings.
18020
18021 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18022 there. Real unexpected warnings should not drown in the noise
18023 about known problems.
18024
18025 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18026 grub_disk_addr_t for memory addresses.
18027
18028 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18029 explicitly to fix a warning.
18030
18031 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18032
18033 * Makefile.in (MODULE_LDFLAGS): New variable.
18034 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18035 the linker accepts --build-id=none.
18036 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18037 MODULE_LDFLAGS.
18038 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18039
18040 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18041 those in Linux XFS code. Provide a way to access 64-bit parent
18042 inode.
18043 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18044 the end of struct grub_xfs_dir_header.
18045
18046 2008-07-02 Bean <bean123ch@gmail.com>
18047
18048 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18049 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18050 and GRUB_IEEE1275_FLAG_NO_ANSI.
18051
18052 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18053 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18054 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18055
18056 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18057 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18058
18059 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18060 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18061
18062 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18063 esc sequence on non ANSI terminal.
18064 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18065
18066 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18067 beginning of file.
18068
18069 2008-07-02 Bean <bean123ch@gmail.com>
18070
18071 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18072 (grub_editenv_SOURCES): New variable.
18073 (pkglib_MODULES): Add loadenv.mod.
18074 (loadenv_mod_SOURCES): New variable.
18075 (loadenv_mod_CFLAGS): Likewise.
18076 (loadenv_mod_LDFLAGS): Likewise.
18077
18078 * include/grub/envblk.h: New file.
18079
18080 * util/envblk.c: New file.
18081
18082 * util/grub-editenv.c: New file.
18083
18084 * commands/loadenv.c: New file.
18085
18086 2008-07-01 Pavel Roskin <proski@gnu.org>
18087
18088 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18089 not unsigned char. This fixes warnings and is consistent with
18090 other tags.
18091
18092 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18093
18094 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18095
18096 * term/tparm.c (analyze): Always set *popcount.
18097
18098 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18099 cast to fix a warning.
18100
18101 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18102 cast to suppress a warning.
18103
18104 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18105 grub_fshelp_read_file() expects.
18106
18107 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18108 write uuid as a 32-bit value in CPU byte order, so declare and
18109 use it as such.
18110
18111 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18112 long if the format specifier expects it.
18113 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18114 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18115 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18116 long to fix a warning.
18117 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18118 grub_dprintf() arguments to fix warnings.
18119
18120 2008-06-30 Pavel Roskin <proski@gnu.org>
18121
18122 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18123 install_bsd_part immediately before core.img is embedded or
18124 modified on disk. This fixes core.img verification if core.img
18125 cannot be embedded.
18126
18127 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18128 core_path to calculate the blocklist.
18129 Patch from Javier Martín <lordhabbit@gmail.com>
18130
18131 2008-06-29 Robert Millan <rmh@aybabtu.com>
18132
18133 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18134 block to disk block.
18135 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18136 Patch from Niels Böhm <bitbucket@arcor.de>
18137
18138 2008-06-29 Robert Millan <rmh@aybabtu.com>
18139
18140 * util/update-grub_lib.in (font_path): Search for fonts in
18141 /boot/grub first, which is more likely to be readable (we aren't
18142 deciding where fonts live, just looking for them).
18143
18144 2008-06-26 Pavel Roskin <proski@gnu.org>
18145
18146 * util/biosdisk.c (read_device_map): Don't leave dead map
18147 entries for devices failing stat() check.
18148
18149 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18150 core_path_dev for the core.img path on the target device.
18151
18152 2008-06-26 Robert Millan <rmh@aybabtu.com>
18153
18154 * disk/fs_uuid.c: New file.
18155 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18156 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18157 (fs_uuid_mod_LDFLAGS): New variables.
18158 * include/grub/disk.h (grub_disk_dev_id): Add
18159 `GRUB_DISK_DEVICE_UUID_ID'.
18160 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18161 implement iterate().
18162
18163 2008-06-26 Robert Millan <rmh@aybabtu.com>
18164
18165 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18166 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18167 Linux image includes no initrd.
18168
18169 2008-06-21 Javier Martín <lordhabbit@gmail.com>
18170
18171 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18172 call to resolve the core image location that effectively appended the
18173 name twice.
18174
18175 2008-06-21 Robert Millan <rmh@aybabtu.com>
18176
18177 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18178 call from here ...
18179
18180 * util/grub.d/10_hurd.in: ... to here ...
18181 * util/grub.d/10_linux.in: ... and here.
18182
18183 2008-06-19 Robert Millan <rmh@aybabtu.com>
18184
18185 * kern/main.c (grub_main): Export `prefix' variable immediately
18186 after it has been set by grub_machine_set_prefix().
18187
18188 2008-06-19 Robert Millan <rmh@aybabtu.com>
18189
18190 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18191 search result when not saving to variable, not the other way around.
18192 When saving to variable, abort iteration as soon as a match is found.
18193
18194 2008-06-19 Robert Millan <rmh@aybabtu.com>
18195
18196 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18197 check for partition that provides /boot/grub. Its logic is flawed,
18198 as it prevents prepare_grub_to_access_device() from being called
18199 multiple times.
18200
18201 2008-06-19 Robert Millan <rmh@aybabtu.com>
18202
18203 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18204 "insmod" command directly when abstraction modules are needed,
18205 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
18206 since it had already been processed).
18207
18208 2008-06-19 Pavel Roskin <proski@gnu.org>
18209
18210 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18211 changed. This is needed in case GRUB_LIBDIR changes.
18212 * conf/i386-ieee1275.rmk: Likewise.
18213 * conf/i386-linuxbios.rmk: Likewise.
18214 * conf/i386-pc.rmk: Likewise.
18215 * conf/powerpc-ieee1275.rmk: Likewise.
18216
18217 2008-06-18 Pavel Roskin <proski@gnu.org>
18218
18219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18220 kernel_elf_symlist.c to symlist.c for consistency with other
18221 architectures. Update all users.
18222 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18223
18224 2008-06-18 Robert Millan <rmh@aybabtu.com>
18225
18226 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18227 it in prefix.
18228
18229 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18230 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18231 a RAID device, run setup() for all members independently on whether
18232 LVM abstraction is being used.
18233 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18234 If grub-mkimage has set `*install_dos_part == -2', don't override this
18235 value.
18236 Perform *install_dos_part adjustments independently on whether
18237 we're embedding or not.
18238 Clarify error message when image is too big for embedding.
18239 Remove duplicate *install_dos_part stanza.
18240
18241 2008-06-17 Robert Millan <rmh@aybabtu.com>
18242
18243 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18244 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18245 variables.
18246 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18247 values in grub_ofconsole_normal_color and
18248 grub_ofconsole_highlight_color (they're not directly related to
18249 background and foreground).
18250 (grub_ofconsole_setcolorstate): Extract background and foreground
18251 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18252
18253 2008-06-17 Robert Millan <rmh@aybabtu.com>
18254
18255 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18256 /boot/grub for the check in last commit, not /boot (they could be
18257 different partitions).
18258
18259 2008-06-16 Robert Millan <rmh@aybabtu.com>
18260
18261 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18262 asked to setup access for the same partition that provides /boot,
18263 don't bother using UUIDs since our root already has the value we
18264 want.
18265
18266 2008-06-16 Robert Millan <rmh@aybabtu.com>
18267
18268 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18269 I2O devices.
18270 Patch from Sven Mueller <sven@debian.org>.
18271
18272 2008-06-16 Robert Millan <rmh@aybabtu.com>
18273
18274 * util/update-grub.in: Check for $EUID instead of $UID.
18275 Reported by Vincent Zweije.
18276
18277 2008-06-16 Bean <bean123ch@gmail.com>
18278
18279 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18280 (grub_ext2_read_block): Likewise.
18281 (grub_ext2_read_inode): Likewise.
18282 (grub_ext2_mount): Likewise.
18283 (grub_ext2_close): Likewise.
18284 (grub_ext3_get_journal): Removed.
18285
18286 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18287 (grub_reiserfs_read_symlink): Likewise.
18288 (grub_reiserfs_mount): Likewise.
18289 (grub_reiserfs_open): Likewise.
18290 (grub_reiserfs_read): Likewise.
18291 (grub_reiserfs_close): Likewise.
18292 (grub_reiserfs_get_journal): Removed.
18293
18294 * fs/fshelp.c (grub_fshelp_read): Removed.
18295 (grub_fshelp_map_block): Likewise.
18296
18297 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18298 (grub_fshelp_journal): Likewise.
18299 (grub_fshelp_read): Likewise.
18300 (grub_fshelp_map_block): Likewise.
18301
18302 2008-06-16 Pavel Roskin <proski@gnu.org>
18303
18304 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18305 floating point anymore.
18306 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18307
18308 2008-06-15 Pavel Roskin <proski@gnu.org>
18309
18310 * commands/ls.c (grub_ls_list_files): Use integer calculations
18311 for human readable format, avoid floating point use.
18312 * kern/misc.c (grub_ftoa): Remove.
18313 (grub_vsprintf): Remove floating point support.
18314
18315 2008-06-15 Robert Millan <rmh@aybabtu.com>
18316
18317 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18318 devices.
18319 Reported by Max Vozeler.
18320
18321 2008-06-15 Robert Millan <rmh@aybabtu.com>
18322
18323 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18324 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18325 skipped later.
18326 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18327 the beginning of the prefix.
18328
18329 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18330 It is assumed that if we have a memdisk, grub-mkimage has set
18331 grub_prefix to include the "(memdisk)" drive in it.
18332
18333 2008-06-15 Robert Millan <rmh@aybabtu.com>
18334
18335 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18336 Initialize keyboard controller after registering the terminal, so that
18337 grub_printf() can be called from grub_keyboard_controller_init().
18338
18339 2008-06-15 Robert Millan <rmh@aybabtu.com>
18340
18341 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18342 extent-btree which is written as big endian on disk.
18343 Reported by Alain Greppin <al@chilibi.org>.
18344
18345 2008-06-14 Robert Millan <rmh@aybabtu.com>
18346
18347 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18348 * util/i386/pc/grub-install.in (modules): Likewise.
18349
18350 2008-06-13 Pavel Roskin <proski@gnu.org>
18351
18352 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18353
18354 2008-06-13 Bean <bean123ch@gmail.com>
18355
18356 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18357
18358 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18359
18360 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18361 to indicate sparse block.
18362
18363 2008-06-12 Pavel Roskin <proski@gnu.org>
18364
18365 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18366 number, grub_fshelp_read() does it for us.
18367
18368 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18369 linear disk read with journal translation.
18370 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18371 * include/grub/fshelp.h: Declare grub_fshelp_read().
18372
18373 2008-06-09 Pavel Roskin <proski@gnu.org>
18374
18375 * fs/minix.c (grub_minix_mount): Handle error reading
18376 superblock.
18377
18378 2008-06-08 Robert Millan <rmh@aybabtu.com>
18379
18380 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18381 don't append the RAID prefix afterwards.
18382 Reported by Clint Adams.
18383
18384 2008-06-08 Robert Millan <rmh@aybabtu.com>
18385
18386 Based on description from Pavel:
18387 * kern/disk.c (grub_disk_check_range): Rename to ...
18388 (grub_disk_adjust_range): ... this. Add a comment explaining the
18389 tasks performed by this function.
18390
18391 2008-06-08 Robert Millan <rmh@aybabtu.com>
18392
18393 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18394 `num_serial' (for consistency with other variables).
18395 (struct grub_ntfs_data): Add `uuid' member.
18396 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18397 (grub_ntfs_uuid): New function.
18398 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18399
18400 2008-06-07 Pavel Roskin <proski@gnu.org>
18401
18402 * util/biosdisk.c (open_device): Revert last change to the
18403 function, it broke installation. The sector needs to be
18404 different dependent on which device is opened.
18405
18406 2008-06-06 Robert Millan <rmh@aybabtu.com>
18407
18408 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18409 rest of GRUB, and breakage doesn't happen if its value were modified.
18410
18411 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18412 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18413 a constant (same value).
18414 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18415 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18416
18417 2008-06-06 Robert Millan <rmh@aybabtu.com>
18418
18419 * util/biosdisk.c (open_device): Do not modify sector offset when
18420 accessing a partition. kern/disk.c already handles this for us.
18421
18422 2008-06-06 Robert Millan <rmh@aybabtu.com>
18423
18424 * util/grub-emu.c (grub_machine_init): Move code in this function from
18425 here ...
18426 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18427 segfault in case grub_printf() is called).
18428
18429 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18430 grub_probe. Update all users not to explicitly add it again.
18431 (grub_device): New variable; contains corresponding device for grubdir.
18432 (fs_module, partmap_module, devabstraction_module): Pass
18433 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18434 every time.
18435
18436 2008-06-05 Robert Millan <rmh@aybabtu.com>
18437
18438 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18439 is found, print it (same layout as with labels).
18440
18441 2008-06-04 Robert Millan <rmh@aybabtu.com>
18442
18443 * util/biosdisk.c (get_drive): Rename to ...
18444 (find_grub_drive): ... this. Update all users.
18445
18446 (get_os_disk): Rename to ...
18447 (convert_system_partition_to_system_disk): ... this. Update all users.
18448
18449 (find_drive): Rename to ...
18450 (find_system_device): ... this. Update all users.
18451
18452 2008-06-04 Robert Millan <rmh@aybabtu.com>
18453
18454 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18455 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18456 (make_device_map): Likewise.
18457
18458 2008-06-01 Robert Millan <rmh@aybabtu.com>
18459
18460 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18461 before dereferencing it.
18462
18463 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18464 union with fat12/fat16-specific ones. Add some new fields, including
18465 `num_serial' for both versions.
18466 (struct grub_fat_data): Add `uuid' member.
18467 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18468 names. Initialize `data->uuid' using `num_serial'.
18469 (grub_fat_uuid): New function.
18470 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18471
18472 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18473 (grub_reiserfs_uuid): New function.
18474 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18475 member.
18476
18477 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18478 (grub_xfs_uuid): New function.
18479 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18480
18481 2008-06-01 Robert Millan <rmh@aybabtu.com>
18482
18483 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18484 code that is backward compatible with pre-uuid search command.
18485
18486 2008-05-31 Robert Millan <rmh@aybabtu.com>
18487
18488 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18489 floppies after everything else, to ensure floppy drive isn't accessed
18490 unnecessarily (patch from Bean).
18491
18492 2008-05-31 Robert Millan <rmh@aybabtu.com>
18493
18494 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18495 not print device names when we were asked to set a variable.
18496
18497 2008-05-31 Robert Millan <rmh@aybabtu.com>
18498
18499 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18500 using "cursor-on" and "cursor-off" commands (understood at least by
18501 the Open Firmware flavour on OLPC).
18502
18503 2008-05-31 Michael Gorven <michael@gorven.za.net>
18504
18505 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18506 on and off sequences.
18507
18508 2008-05-31 Robert Millan <rmh@aybabtu.com>
18509
18510 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18511 * util/update-grub.in: Likewise.
18512
18513 2008-05-30 Pavel Roskin <proski@gnu.org>
18514
18515 * util/biosdisk.c (linux_find_partition): Simplify logic and
18516 make the code more universal. Keep special processing for
18517 devfs, but use a simple rule for all other devices. If the
18518 device ends with a number, append 'p' and the partition number.
18519 Otherwise, append only the partition number.
18520
18521 2008-05-30 Robert Millan <rmh@aybabtu.com>
18522
18523 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18524 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18525 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18526 the `root' parameter to Linux.
18527
18528 2008-05-30 Robert Millan <rmh@aybabtu.com>
18529
18530 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18531 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18532 --fs_uuid with --fs-uuid.
18533 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18534 all filesystems support them).
18535
18536 2008-05-30 Robert Millan <rmh@aybabtu.com>
18537
18538 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18539 grub_printf() flags, since we're printing in units of 2 bytes.
18540
18541 2008-05-30 Robert Millan <rmh@aybabtu.com>
18542
18543 * util/grub.d/00_header.in: Remove obsolete comment referencing
18544 convert_system_path_to_grub_path().
18545 * util/update-grub.in: Likewise.
18546 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18547 (convert_system_path_to_grub_path): Add a warning message explaining
18548 that this function is deprecated. Rely on is_path_readable_by_grub()
18549 for the readability checks.
18550 (font_path): Use is_path_readable_by_grub() for the readability
18551 check rather than convert_system_path_to_grub_path().
18552
18553 2008-05-30 Robert Millan <rmh@aybabtu.com>
18554
18555 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18556 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18557 converting it first.
18558 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18559 grub.cfg for access to font file, and afterwards call it again to set
18560 the root device.
18561
18562 2008-05-30 Robert Millan <rmh@aybabtu.com>
18563
18564 * commands/search.c (options): Add --fs_uuid option.
18565 (search_fs_uuid): New function.
18566 (grub_cmd_search): Fix --set argument passing.
18567 Use search_fs_uuid() when requested via --fs_uuid.
18568 (grub_search_init): Update help message.
18569 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18570 and redeclare it as an array of 16-bit words.
18571 (grub_ext2_uuid): New function.
18572 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18573 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18574 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18575 (GRUB_DEVICE_BOOT_UUID): New variables.
18576 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18577 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18578 whenever possible.
18579 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18580 just assume `root' variable has the right value.
18581 * util/grub.d/10_linux.in: Likewise.
18582 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18583 via PRINT_FS_UUID.
18584 (main): Recognise `-t fs_uuid' argument.
18585
18586 2008-05-30 Robert Millan <rmh@aybabtu.com>
18587
18588 * util/biosdisk.c (map): Redefine structure to hold information
18589 about GRUB drive name.
18590 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18591 drive names.
18592 (call_hook): Remove.
18593 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18594 member. Assume drive has partitions.
18595 (grub_util_biosdisk_open): Access device names via `.device' struct
18596 member.
18597 (open_device): Likewise.
18598 (find_drive): Likewise.
18599 (read_device_map): Adjust map[] usage to match the new struct
18600 definition. Don't check for duplicates (still possible, but not cheap
18601 anymore).
18602 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18603 (make_device_name): Remove assumption of BIOS-like drive names.
18604
18605 2008-05-30 Pavel Roskin <proski@gnu.org>
18606
18607 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18608 compiling execute.c doesn't need grub_script.tab.h anymore.
18609 (normal/command.c_DEPENDENCIES): Likewise.
18610 (normal/function.c_DEPENDENCIES): Likewise.
18611 * conf/i386-ieee1275.rmk: Likewise.
18612 * conf/i386-linuxbios.rmk: Likewise.
18613 * conf/i386-pc.rmk: Likewise.
18614 * conf/powerpc-ieee1275.rmk: Likewise.
18615 * conf/sparc64-ieee1275.rmk: Likewise.
18616
18617 2008-05-29 Pavel Roskin <proski@gnu.org>
18618
18619 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18620 when scanning metadata for volume group name.
18621
18622 * include/grub/script.h: Don't include grub_script.tab.h. It's
18623 a generated file, which may only be included from the files with
18624 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18625 use union YYSTYPE, as the later allows forward declaration.
18626 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18627
18628 2008-05-29 Robert Millan <rmh@aybabtu.com>
18629
18630 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18631 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18632 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18633 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18634 scan codes.
18635
18636 2008-05-29 Robert Millan <rmh@aybabtu.com>
18637
18638 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18639 control key combinations.
18640
18641 2008-05-29 Robert Millan <rmh@aybabtu.com>
18642
18643 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18644 * util/ieee1275/grub-install.in: ... to here.
18645 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18646 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18647 (grub_install_SOURCES): Likewise.
18648
18649 2008-05-29 Robert Millan <rmh@aybabtu.com>
18650
18651 * fs/affs.c: Update copyright year.
18652 * fs/ext2.c: Likewise.
18653 * fs/fshelp.c: Likewise.
18654 * fs/hfsplus.c: Likewise.
18655 * fs/ntfs.c: Likewise.
18656 * fs/xfs.c: Likewise.
18657 * include/grub/fshelp.h: Likewise.
18658 * util/grub-mkdevicemap.c: Likewise.
18659
18660 2008-05-28 Robert Millan <rmh@aybabtu.com>
18661
18662 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18663 might need to be fatfs to support some firmware implementations
18664 (e.g. OFW or EFI).
18665
18666 2008-05-28 Robert Millan <rmh@aybabtu.com>
18667
18668 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18669 devices.
18670 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18671 (make_device_map): Likewise.
18672
18673 2008-05-20 Bean <bean123ch@gmail.com>
18674
18675 * fs/fshelp.c (grub_fshelp_map_block): New function.
18676 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18677 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18678
18679 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18680 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18681 (grub_fshelp_journal): New structure.
18682 (grub_fshelp_map_block): New function prototype.
18683 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18684 (grub_fshelp_map_block): Likewise.
18685
18686 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18687 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18688 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18689 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18690 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18691 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18692 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18693 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18694 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18695 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18696 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18697 (grub_ext2_sblock): New members for journal support.
18698 (grub_ext3_journal_header): New structure.
18699 (grub_ext3_journal_revoke_header): Likewise.
18700 (grub_ext3_journal_block_tag): Likewise.
18701 (grub_ext3_journal_sblock): Likewise.
18702 (grub_fshelp_node): New members logfile and journal.
18703 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18704 grub_fshelp_map_block to get real block number.
18705 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18706 number.
18707 (grub_ext2_read_inode): Likewise.
18708 (grub_ext3_get_journal): New function.
18709 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18710 (grub_ext2_close): Release memory used by journal.
18711
18712 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18713 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18714 (grub_reiserfs_transaction_header): Renamed to
18715 grub_reiserfs_description_block, replace field data with real_blocks.
18716 (grub_reiserfs_commit_block): New structure.
18717 (grub_reiserfs_data): New member journal.
18718 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18719 number.
18720 (grub_reiserfs_read_symlink): Likewise.
18721 (grub_reiserfs_iterate_dir): Likewise.
18722 (grub_reiserfs_open): Likewise.
18723 (grub_reiserfs_read): Likewise.
18724 (grub_reiserfs_get_journal): New function.
18725 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18726 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18727 using grub_reiserfs_get_journal.
18728 (grub_reiserfs_close): Release memory used by journal.
18729
18730 * fs/affs.c (grub_affs_read_block): Change block type to
18731 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18732
18733 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18734
18735 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18736
18737 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18738
18739 * fs/udf.c (grub_udf_read_block): Change block type to
18740 grub_disk_addr_t. Use type cast to avoid warning.
18741
18742 * fs/xfs.c (grub_xfs_read_block): Likewise.
18743
18744 2008-05-16 Christian Franke <franke@computer.org>
18745
18746 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18747 to ensure that break with ESC will always work.
18748 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18749 Remove ESC from keyboard queue.
18750
18751 2008-05-16 Christian Franke <franke@computer.org>
18752
18753 * util/biosdisk.c: [__CYGWIN__] Add includes.
18754 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18755 (get_os_disk): Move variable declarations to OS specific
18756 parts to avoid warning.
18757 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18758 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18759 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18760 Cygwin.
18761 * util/getroot.c: [__CYGWIN__] Add includes.
18762 (strip_extra_slashes): Fix "/" case.
18763 [__CYGWIN__] (get_win32_path): New function.
18764 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18765 [__CYGWIN__] (find_root_device): Disable.
18766 [__CYGWIN__] (get_bootsec_serial): New function.
18767 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18768 [__linux__] (grub_guess_root_device): Add early returns to simplify
18769 structure.
18770 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18771 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18772 check for Linux only.
18773
18774 2008-05-15 Bean <bean123ch@gmail.com>
18775
18776 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18777 keyboard hang problem in apple's intel mac.
18778
18779 2008-05-09 Robert Millan <rmh@aybabtu.com>
18780
18781 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18782 devices.
18783 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18784 (make_device_map): Likewise.
18785 Reported by Aurelien Jarno <aurel32@debian.org>
18786
18787 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18788
18789 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18790 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18791 (make_device_map): Output entries for xvd type disks.
18792
18793 2008-05-07 Robert Millan <rmh@aybabtu.com>
18794
18795 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18796 devices.
18797 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18798 (make_device_map): Likewise.
18799 Reported by Roland Dreier <rdreier@cisco.com>
18800
18801 2008-05-07 Robert Millan <rmh@aybabtu.com>
18802
18803 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18804 grub_strstr() call. Correct a few mistakes in failure path handling.
18805
18806 2008-05-06 Robert Millan <rmh@aybabtu.com>
18807
18808 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18809 Do not print a trailing slash (therefore, the root directory is an
18810 empty string).
18811 (convert_system_path_to_grub_path): Do not remove trailing slash
18812 from make_system_path_relative_to_its_root() output.
18813
18814 * util/i386/pc/grub-install.in: Add trailing slash to output from
18815 make_system_path_relative_to_its_root().
18816
18817 2008-05-06 Robert Millan <rmh@aybabtu.com>
18818
18819 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18820 ensures that output lines aren't intermangled with those sent to
18821 stderr (via grub_util_info()).
18822 * util/grub-probe.c (grub_refresh): Likewise.
18823 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18824
18825 2008-05-05 Christian Franke <franke@computer.org>
18826
18827 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18828 Add Cygwin device names.
18829 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18830 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18831 (check_device): Return error instead of success on empty name.
18832 (make_device_map): Move label inside linux specific code to
18833 prevent compiler warning.
18834
18835 2008-04-30 Robert Millan <rmh@aybabtu.com>
18836
18837 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18838 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18839 first boot option.
18840 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18841
18842 2008-04-29 Robert Millan <rmh@aybabtu.com>
18843
18844 * docs/grub.cfg: New file (example GRUB configuration).
18845
18846 2008-04-26 Robert Millan <rmh@aybabtu.com>
18847
18848 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18849 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18850 and `disk/ieee1275/nand.c'.
18851
18852 2008-04-25 Bean <bean123ch@gmail.com>
18853
18854 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18855 i386-linuxbios.
18856
18857 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18858 change the buffer size to 4096 for cdrom device.
18859
18860 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18861 and nand.mod.
18862 (_linux_mod_SOURCES): New variable.
18863 (_linux_mod_CFLAGS): Likewise.
18864 (_linux_mod_LDFLAGS): Likewise.
18865 (linux_mod_SOURCES): Likewise.
18866 (linux_mod_CFLAGS): Likewise.
18867 (linux_mod_LDFLAGS): Likewise.
18868 (nand_mod_SOURCES): Likewise.
18869 (nand_mod_CFLAGS): Likewise.
18870 (nand_mod_LDFLAGS): Likewise.
18871
18872 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18873 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18874 type property. (nand device in olpc don't have this property)
18875
18876 * include/grub/disk.h (grub_disk_dev_id): New macro
18877 GRUB_DISK_DEVICE_NAND_ID.
18878
18879 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18880 function prototype.
18881 (grub_rescue_cmd_initrd): Likewise.
18882
18883 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18884 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18885 ofw_cif_handler and ofw_idt, adjust padding number.
18886
18887 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18888 GRUB_MACHINE_IEEE1275 is defined.
18889
18890 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18891 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18892
18893 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18894 on nested function heap_init.
18895 (grub_upper_mem): New variable for i386-ieee1275.
18896 (grub_get_extended_memory): New function for i386-ieee1275.
18897 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18898
18899 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18900 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18901 property.
18902
18903 * loader/i386/ieee1275/linux.c: New file.
18904
18905 * loader/i386/ieee1275/linux_normal.c: New file.
18906
18907 * disk/ieee1275/nand.c: New file.
18908
18909 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18910
18911 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18912 value.
18913 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18914
18915 2008-04-18 Robert Millan <rmh@aybabtu.com>
18916
18917 Restructures early code path on ieee1275 to unify grub_main() as
18918 the first C function that is executed in every platform.
18919
18920 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18921 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18922 cmain().
18923 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18924 * kern/ieee1275/cmain.c (cmain): Rename to ...
18925 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18926 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18927 at the beginning.
18928
18929 2008-04-18 Robert Millan <rmh@aybabtu.com>
18930
18931 * util/update-grub.in: Fix syntax error when setting
18932 `GRUB_PRELOAD_MODULES'.
18933 Reported by Stephane Chazelas <stephane@artesyncp.com>
18934
18935 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18936
18937 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18938 section into account, newer toolchains generate unique build ids
18939 * configure.ac: remove the test for --build-id=none acceptance,
18940 we want build ids to be preserved
18941 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18942 far from other sections don't cause the raw binary images grow
18943 size
18944
18945 2008-04-15 Robert Millan <rmh@aybabtu.com>
18946
18947 * disk/lvm.c: Update copyright year.
18948 * kern/misc.c: Likewise.
18949
18950 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18951
18952 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18953 there is no memory left for physical volume name.
18954
18955 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18956
18957 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18958 volume name mapping to support bigger than 9 character names properly.
18959
18960 2008-04-13 Robert Millan <rmh@aybabtu.com>
18961
18962 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18963 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18964
18965 2008-04-13 Christian Franke <franke@computer.org>
18966
18967 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18968 to create a floppy emulation boot CD when non emulation mode
18969 does not work.
18970 Enable Joliet CD filesystem extension.
18971
18972 2008-04-13 Robert Millan <rmh@aybabtu.com>
18973
18974 * kern/misc.c (grub_strncat): Fix off-by-one error.
18975 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18976
18977 * kern/env.c (grub_env_context_close): Clear current context, not
18978 previous one.
18979 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18980
18981 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18982
18983 2008-04-13 Robert Millan <rmh@aybabtu.com>
18984
18985 Improve robustness when handling LVM.
18986
18987 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18988 (and leave `*p' unmodified).
18989 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18990 through it.
18991 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18992 iterating through it.
18993 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18994 through it.
18995 (grub_lvm_scan_device): Check the return value (and fail gracefully
18996 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18997 Don't assume `vg->pvs != NULL' when iterating through it.
18998
18999 2008-04-13 Robert Millan <rmh@aybabtu.com>
19000
19001 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19002 * genmk.rb (partmap): New variable.
19003 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19004 (#{partmap}): New target rule.
19005 * genpartmaplist.sh: New file.
19006 * Makefile.in (pkglib_DATA): Add partmap.lst.
19007 (partmap.lst): New target rule.
19008 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19009 modules (including all partition maps), instead of preloading them.
19010
19011 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19012
19013 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19014 `linux-boot-prober' (if installed) to detect other operating
19015 systems which are installed on the computer and add them to
19016 the boot menu.
19017 * conf/common.rmk: Build and install 30_os-prober.
19018
19019 2008-04-12 Robert Millan <rmh@aybabtu.com>
19020
19021 * kern/powerpc/ieee1275/init.c: Move from here ...
19022 * kern/ieee1275/init.c: ... to here. Update all users.
19023
19024 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19025 * kern/ieee1275/cmain.c: ... to here. Update all users.
19026
19027 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19028 * kern/ieee1275/openfw.c: ... to here. Update all users.
19029
19030 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19031 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19032
19033 2008-04-10 Pavel Roskin <proski@gnu.org>
19034
19035 * configure.ac: Always use "_cv_" in cache variables for
19036 compatibility with Autoconf 2.62.
19037
19038 2008-04-07 Robert Millan <rmh@aybabtu.com>
19039
19040 Revert grub/machine/init.h addition by Pavel (since it breaks on
19041 i386-ieee1275 and others):
19042 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19043 * util/powerpc/ieee1275/misc.c: Likewise.
19044
19045 2008-04-07 Robert Millan <rmh@aybabtu.com>
19046
19047 * util/grub-probe.c (probe): Improve error message.
19048
19049 2008-04-07 Robert Millan <rmh@aybabtu.com>
19050
19051 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19052 (this prevents the presence of a bogus entry from ruining the whole
19053 thing).
19054
19055 2008-04-06 Pavel Roskin <proski@gnu.org>
19056
19057 * util/biosdisk.c: Include grub/util/biosdisk.h.
19058 * util/grub-fstest.c (execute_command): Make static.
19059 * util/grub-mkdevicemap.c (check_device): Likewise.
19060 * util/i386/pc/misc.c: Include grub/machine/init.h.
19061 * util/powerpc/ieee1275/misc.c: Likewise.
19062 * util/lvm.c: Include grub/util/lvm.h.
19063 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19064 grub/cache.h.
19065 * util/raid.c: Include grub/util/raid.h.
19066 (grub_util_getdiskname): Make static.
19067
19068 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19069 grub_hostfs_fini(), as they are called from grub_init_all() and
19070 grub_fini_all() respectively. This fixes an infinite loop in
19071 grub-fstest due to double registration of hostfs.
19072 Reported by Christian Franke <Christian.Franke@t-online.de>
19073
19074 2008-04-05 Pavel Roskin <proski@gnu.org>
19075
19076 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19077 all 8 functions. Otherwise, probe function 0 only.
19078
19079 2008-04-04 Pavel Roskin <proski@gnu.org>
19080
19081 * commands/lspci.c (grub_lspci_iter): Print the bus number
19082 correctly.
19083
19084 * commands/lspci.c (grub_pci_classes): Fix typos.
19085 (grub_lspci_iter): Don't print func twice. Print vendor ID
19086 before device ID, as it's normally done.
19087
19088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19089 Fix signedness warnings.
19090 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19091 Likewise.
19092 * util/ieee1275/get_disk_name.c: Include config.h so that
19093 _GNU_SOURCE is defined and getline() is declared. Mark an
19094 unused argument as such. Fix a signedness warning.
19095
19096 2008-04-02 Pavel Roskin <proski@gnu.org>
19097
19098 * genkernsyms.sh.in: Use more robust assignments for CC and
19099 srcdir. Quote srcdir.
19100 * gensymlist.sh.in: Likewise. Assert at the compile time that
19101 the symbol table is not empty.
19102
19103 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19104 * fs/cpio.c (grub_cpio_read): Likewise.
19105
19106 2008-04-01 Pavel Roskin <proski@gnu.org>
19107
19108 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19109 * disk/host.c (grub_host_open): Likewise.
19110 * disk/loopback.c (grub_loopback_open): Likewise.
19111 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19112 disk->id as in disk/host.c, not a multi-character constant.
19113
19114 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19115 later is obsolete, potentially dangerous and sets a bad example.
19116 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19117 * util/misc.c (grub_util_get_image_size): Likewise.
19118
19119 * disk/loopback.c (options): Improve help for "--partitions".
19120
19121 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19122 options to align them with the short options, e.g. "echo -e".
19123
19124 2008-03-31 Bean <bean123ch@gmail.com>
19125
19126 * video/reader/png.c (grub_png_data): New member is_16bit and
19127 image_data.
19128 (grub_png_decode_image_header): Detect 16 bit png image.
19129 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19130 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19131 (grub_video_reader_png): Release memory occupied by image_data.
19132
19133 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19134 4096 bytes.
19135 (grub_nfs_mount): Skip the test for sector per cluster.
19136
19137 * include/grub/ntfs.h (MAX_SPC): Removed.
19138
19139 2008-03-31 Bean <bean123ch@gmail.com>
19140
19141 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19142 (grub_probe_SOURCES): Add fs/afs.c.
19143 (grub_fstest_SOURCES): Likewise.
19144 (afs_mod_SOURCES): New variable.
19145 (afs_mod_CFLAGS): Likewise.
19146 (afs_mod_LDFLAGS): Likewise.
19147
19148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19149 (grub_emu_SOURCES): Likewise.
19150
19151 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19152
19153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19154
19155 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19156
19157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19158
19159 * fs/afs.c: New file.
19160
19161 2008-03-30 Pavel Roskin <proski@gnu.org>
19162
19163 * disk/host.c: Include grub/misc.h to fix a warning.
19164 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19165 warnings about implicit declarations.
19166
19167 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19168 variable.
19169 * include/grub/i386/loader.h: Change declaration of
19170 grub_linux_boot() to match what grub_loader_set() expects.
19171 * util/getroot.c (grub_guess_root_device): Return const char* to
19172 fix a warning.
19173 * util/grub-probe.c (probe): Fix a warning about uninitialized
19174 abstraction_name variable.
19175 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19176 second argument as unused to fix a warning.
19177
19178 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19179 missing grub_error() call.
19180
19181 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19182 2.60 and newer uses it to define datadir.
19183
19184 * commands/sleep.c: Fix warning about implicit declaration.
19185 * disk/memdisk.c: Likewise.
19186 * loader/aout.c: Likewise.
19187 * loader/i386/bsd_normal.c: Likewise.
19188 * util/grub-probe.c: Likewise.
19189
19190 * commands/i386/cpuid.c (has_longmode): Make static.
19191 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19192 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19193
19194 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19195 GDT. This is more robust, as %ds can change.
19196 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19197 calling real_to_prot().
19198 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19199
19200 2008-03-28 Pavel Roskin <proski@gnu.org>
19201
19202 * kern/i386/pc/startup.S: Assert that uncompressed functions
19203 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19204 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19205 code, as they push parts of the code (error handlers) beyond
19206 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19207 code as correctness and size.
19208
19209 2008-03-28 Pavel Roskin <proski@gnu.org>
19210
19211 * kern/i386/pc/startup.S
19212 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19213 data block address to the real mode, keep offset minimal. This
19214 works around a bug in AWARD BIOS on old Athlon systems, which
19215 makes CD detection hang.
19216
19217 2008-03-26 Pavel Roskin <proski@gnu.org>
19218
19219 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19220 const.
19221 * include/grub/normal.h: Add grub_parse_color_name_pair()
19222 declaration.
19223
19224 2008-03-24 Bean <bean123ch@gmail.com>
19225
19226 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19227 (cd_count): Removed.
19228 (cd_drive): New variable.
19229 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19230 (grub_biosdisk_call_hook): Likewise.
19231 (grub_biosdisk_iterate): Change cdrom detection method.
19232 (grub_biosdisk_open): Replace cd_start with cd_drive.
19233 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19234 detect cdrom device.
19235
19236 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19237 Removed.
19238 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19239 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19240 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19241 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19242 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19243 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19244 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19245 (grub_biosdisk_cdrp): New structure.
19246 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19247
19248 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19249
19250 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19251 device.
19252
19253 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19254 New function.
19255
19256 2008-03-20 Robert Millan <rmh@aybabtu.com>
19257
19258 Remove 2 TiB limit in ata.mod.
19259 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19260 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19261 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19262 grub_uint64_t instead of grub_uint32_t.
19263
19264 2008-03-05 Bean <bean123ch@gmail.com>
19265
19266 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19267 (grub_multiboot): Set boot device.
19268
19269 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19270
19271 2008-03-02 Bean <bean123ch@gmail.com>
19272
19273 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19274 symlink_buffer.
19275
19276 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19277
19278 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19279 texinfo.tex.
19280
19281 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19282 modified.
19283
19284 * docs/fdl.texi: New file.
19285
19286 * docs/mdate-sh: New file. Copied from gnulib.
19287 * docs/texinfo.tex: Likewise.
19288
19289 * config.guess: Updated from gnulib.
19290 * install-sh: Likewise.
19291
19292 2008-02-28 Robert Millan <rmh@aybabtu.com>
19293
19294 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19295 (aout_mod_SOURCES): New variable.
19296 (aout_mod_CFLAGS): Likewise.
19297 (aout_mod_LDFLAGS): Likewise.
19298
19299 * conf/i386-ieee1275.rmk: Likewise.
19300
19301 2008-02-28 Robert Millan <rmh@aybabtu.com>
19302
19303 * util/update-grub.in: Reorganise terminal validity check. Accept
19304 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19305 Based on suggestion by Franklin PIAT.
19306
19307 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19308
19309 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19310 function.
19311 * util/getroot.c (grub_util_check_block_device): New function that
19312 returns the given argument if it is a block device and returns NULL else.
19313 * util/grub-probe.c (argument_is_device): New variable.
19314 (probe): Promote device_name from a variable to an argument. Receive
19315 device_name from grub_util_check_block_device() if path is NULL and from
19316 grub_guess_root_device() else. Do not free() device_name anymore.
19317 (options): Introduce new parameter '-d, --device'.
19318 (main): Add description of the new parameter to the help screen.
19319 Rename path variable to argument. Set argument_is_device if the '-d'
19320 option is given. Pass argument to probe() depending on
19321 argument_is_device.
19322
19323 2008-02-24 Bean <bean123ch@gmail.com>
19324
19325 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19326 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19327 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19328 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19329 (GRUB_ISO9660_VOLDESC_END): Likewise.
19330 (grub_iso9660_primary_voldesc): New member escape.
19331 (grub_iso9660_data): New member joliet.
19332 (grub_iso9660_convert_string): New function.
19333 (grub_iso9660_mount): Detect joliet extension.
19334 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19335 (grub_iso9660_iso9660_label): Likewise.
19336
19337 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19338 (grub_setup_SOURCES): Add fs/udf.c.
19339 (grub_fstest_SOURCES): Likewise.
19340 (udf_mod_SOURCES): New variable.
19341 (udf_mod_CFLAGS): Likewise.
19342 (udf_mod_LDFLAGS): Likewise.
19343
19344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19345 (grub_emu_SOURCES): Likewise.
19346
19347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19348
19349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19350
19351 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19352
19353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19354
19355 * fs/udf.c: New file.
19356
19357 2008-02-24 Robert Millan <rmh@aybabtu.com>
19358
19359 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19360 (normal/lexer.c_DEPENDENCIES): New variables.
19361 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19362 (normal/lexer.c_DEPENDENCIES): Likewise.
19363 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19364 (normal/lexer.c_DEPENDENCIES): Likewise.
19365 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19366 (normal/lexer.c_DEPENDENCIES): Likewise.
19367 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19368 (normal/lexer.c_DEPENDENCIES): Likewise.
19369 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19370 (normal/lexer.c_DEPENDENCIES): Likewise.
19371
19372 2008-02-23 Robert Millan <rmh@aybabtu.com>
19373
19374 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19375 since they were intended to be in hex. This didn't break previously
19376 because of a bug in gpt_partition_map_iterate() (see below).
19377
19378 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19379 when checking the validity of GPT header.
19380 Remove `partno', since it always provides the same information as `i'.
19381
19382 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19383
19384 * include/grub/efi/time.h: Fix a wrong comment.
19385
19386 2008-02-19 Pavel Roskin <proski@gnu.org>
19387
19388 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19389 message.
19390
19391 2008-02-19 Bean <bean123ch@gmail.com>
19392
19393 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19394 (aout_mod_SOURCES): New variable.
19395 (aout_mod_CFLAGS): Likewise.
19396 (aout_mod_LDFLAGS): Likewise.
19397 (_bsd_mod_SOURCES): New variable.
19398 (_bsd_mod_CFLAGS): Likewise.
19399 (_bsd_mod_LDFLAGS): Likewise.
19400 (bsd_mod_SOURCES): New variable.
19401 (bsd_mod_CFLAGS): Likewise.
19402 (bsd_mod_LDFLAGS): Likewise.
19403
19404 * include/grub/aout.h: New file.
19405
19406 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19407
19408 * include/grub/i386/bsd.h: New file.
19409
19410 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19411 to make it public.
19412
19413 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19414 function is called, so that it's possible to change it inside the hook.
19415 (grub_elf64_load): Likewise.
19416 (grub_elf_file): Don't close the file if elf header is not found.
19417 (grub_elf_close): Close the file if grub_elf_file fails (The new
19418 grub_elf_file won't close it).
19419 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19420 (grub_elf64_size): Likewise.
19421
19422 * kern/i386/loader.S (grub_unix_real_boot): New function.
19423
19424 * loader/aout.c: New file.
19425
19426 * loader/i386/bsd.c: New file.
19427
19428 * loader/i386/bsd_normal.c: New file.
19429
19430 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19431
19432 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19433 can test other formats.
19434
19435 2008-02-19 Robert Millan <rmh@aybabtu.com>
19436
19437 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19438 (grub_gpt_partition_type_empty): Redefine with macro from
19439 `<grub/gpt_partition.h>'.
19440 (gpt_partition_map_iterate): Adjust partition type comparison.
19441
19442 Export `entry' as partmap-specific `part.data' struct.
19443 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19444
19445 * include/grub/gpt_partition.h (grub_gpt_header)
19446 (grub_gpt_partentry): ... to here (new file).
19447
19448 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19449
19450 (grub_gpt_partition_type_bios_boot): New const variable, defined
19451 with macro from `<grub/gpt_partition.h>'.
19452
19453 (setup): Replace `first_start' with `embed_region', which keeps
19454 track of the embed region (and is partmap-agnostic).
19455
19456 Replace find_first_partition_start() with find_usable_region(),
19457 which finds a usable region for embedding using partmap-specific
19458 knowledge (supports PC/MSDOS and GPT).
19459
19460 Fix all assumptions that the embed region start at sector 1, using
19461 `embed_region.start' from now on. Similarly, use `embed_region.end'
19462 rather than `first_start' to calculate available size.
19463
19464 In grub_util_info() message, replace "into after the MBR" with an
19465 indication of the specific sector our embed region starts at.
19466
19467 2008-02-19 Robert Millan <rmh@aybabtu.com>
19468
19469 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19470 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19471 `commands/reboot.c'.
19472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19473 (halt_mod_SOURCES): Likewise.
19474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19475 (halt_mod_SOURCES): Likewise.
19476
19477 2008-02-17 Christian Franke <franke@computer.org>
19478
19479 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19480
19481 2008-02-17 Robert Millan <rmh@aybabtu.com>
19482
19483 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19484 set `first_start' to 0 for non-PC/MSDOS partition maps.
19485
19486 2008-02-16 Robert Millan <rmh@aybabtu.com>
19487
19488 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19489 do not assume partition map is PC/MSDOS before performing checks that
19490 are specific to that layout.
19491
19492 2008-02-13 Robert Millan <rmh@aybabtu.com>
19493
19494 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19495 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19496 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19497
19498 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19499
19500 * configure.ac: Only a cosmetic change on the handling of
19501 -fno-stack-protector.
19502
19503 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19504
19505 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19506 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19507 reboot.c.
19508 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19509 (halt_mod_SOURCES): New variable.
19510 (halt_mod_CFLAGS): Likewise.
19511 (halt_mod_LDFLAGS): Likewise.
19512 (reboot_mod_SOURCES): Likewise.
19513 (reboot_mod_CFLAGS): Likewise.
19514 (reboot_mod_LDFLAGS): Likewise.
19515
19516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19517 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19518 reboot.c.
19519 (halt_mod_SOURCES): Likewise.
19520 (reboot_mod_SOURCES): Likewise.
19521
19522 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19523 commands/i386/pc/reboot.c by commands/reboot.c.
19524 (reboot_mod_SOURCES): Likewise.
19525
19526 * commands/i386/pc/reboot.c: merge this file ...
19527
19528 * commands/ieee1275/reboot.c: ... and this file ...
19529
19530 * commands/reboot.c: ... to this file.
19531 Add some precompiler directive to include the correct header for
19532 each machine.
19533
19534 * commands/ieee1275/halt.c: move this file ...
19535
19536 * commands/halt.c: ... to here.
19537 Add some precompiler directive to include the correct header for
19538 each machine.
19539
19540 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19541 (grub_halt): Likewise.
19542
19543 * kern/efi/efi.c (grub_reboot): New function.
19544 (grub_halt): Likewise.
19545
19546 2008-02-12 Robert Millan <rmh@aybabtu.com>
19547
19548 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19549 /dev (like it is done for /dev/mapper). This doesn't provide support
19550 for EVMS, but at least it is now easy to identify the problem when it
19551 arises.
19552
19553 2008-02-11 Robert Millan <rmh@aybabtu.com>
19554
19555 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19556 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19557 comparing it with -1, not 0.
19558
19559 2008-02-10 Robert Millan <rmh@aybabtu.com>
19560
19561 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19562 `disk/lvm.c'.
19563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19564 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19565
19566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19567 `disk/lvm.c' to the end of the list.
19568 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19569 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19570
19571 2008-02-10 Robert Millan <rmh@aybabtu.com>
19572
19573 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19574 grub_print_error() instead. This will let user know why we're entering
19575 rescue mode.
19576 Based on suggestions from Sam Morris.
19577
19578 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19579
19580 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19581 on remaining N args, instead of "--" arg N times.
19582
19583 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19584
19585 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19586 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19587 pattern for unknown glyphs.
19588
19589 2008-02-09 Robert Millan <rmh@aybabtu.com>
19590
19591 * configure.ac: Probe for `help2man'.
19592 * Makefile.in (builddir): New variable.
19593 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19594 or otherwise add a few flags/options to it.
19595 (install-local): For every executable utility or script that is
19596 installed, invoke $(HELP2MAN) to install a manpage based on --help
19597 output.
19598
19599 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19600 that it doesn't prevent --help from working in build tree.
19601
19602 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19603 with `bug-grub@gnu.org'.
19604 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19605 * util/update-grub.in (usage): New function.
19606 Implement proper argument check, with support for --help and --version
19607 (as well as existing -y).
19608
19609 2008-02-09 Christian Franke <franke@computer.org>
19610
19611 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19612 avoid overwriting previous output.
19613 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19614
19615 2008-02-09 Robert Millan <rmh@aybabtu.com>
19616
19617 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19618 drawing the menu.
19619
19620 2008-02-09 Robert Millan <rmh@aybabtu.com>
19621
19622 * commands/sleep.c: New file.
19623 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19624 (sleep_mod_SOURCES): New variable.
19625 (sleep_mod_CFLAGS): Likewise.
19626 (sleep_mod_LDFLAGS): Likewise.
19627
19628 2008-02-09 Robert Millan <rmh@aybabtu.com>
19629
19630 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19631 situations in which we can deduce the RAID size and the superblock
19632 doesn't match it.
19633
19634 2008-02-09 Robert Millan <rmh@aybabtu.com>
19635
19636 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19637 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19638 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19639
19640 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19641 and return a grub_diskmemberlist_t composed of physical array members.
19642 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19643
19644 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19645 prototype.
19646 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19647 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19648 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19649
19650 * util/grub-probe.c (probe): Move partmap probing code from here ...
19651 (probe_partmap): ... to here.
19652 (probe): Use probe_partmap() once for the disk we're probing, and
19653 additionally, when such disk contains a memberlist() struct member,
19654 once for each disk that is contained in the structure returned by
19655 memberlist().
19656
19657 2008-02-09 Robert Millan <rmh@aybabtu.com>
19658
19659 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19660 environment variable to 'all' in order to obtain debug output from
19661 non-util/ code.
19662 * util/i386/pc/grub-setup.c (main): Likewise.
19663
19664 2008-02-08 Robert Millan <rmh@aybabtu.com>
19665
19666 * disk/raid.c (grub_raid_scan_device): Check for
19667 `array->device[sb.this_disk.number]' rather than for
19668 `array->device[sb.this_disk.number]->name', since the latter is not
19669 guaranteed to be accessible.
19670
19671 2008-02-08 Robert Millan <rmh@aybabtu.com>
19672
19673 * disk/raid.c: Update copyright.
19674 * fs/cpio.c: Likewise.
19675 * include/grub/raid.h: Likewise.
19676 * loader/i386/pc/multiboot.c: Likewise.
19677 * util/hostfs.c: Likewise.
19678
19679 2008-02-08 Robert Millan <rmh@aybabtu.com>
19680
19681 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19682 to a grub_disk_t array.
19683 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19684 `device[x]'.
19685 (grub_raid_scan_device): Replace `device[x].name' accesses with
19686 `device[x]->name'. Simplify initialization of `array->device[x]'.
19687
19688 2008-02-08 Robert Millan <rmh@aybabtu.com>
19689
19690 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19691 grub_dprintf() calls.
19692 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19693 error message.
19694
19695 2008-02-07 Christian Franke <franke@computer.org>
19696
19697 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19698 instead of fseek and ftell to support large files.
19699 (grub_hostfs_read): Likewise.
19700
19701 2008-02-07 Robert Millan <rmh@aybabtu.com>
19702
19703 Patch from Jeroen Dekkers.
19704 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19705 failure, since successfully reading all array members might not be
19706 required.
19707
19708 2008-02-06 Robert Millan <rmh@aybabtu.com>
19709
19710 * util/grub-probe.c (probe): Simplify partmap probing (with the
19711 assumption that the first word up to the underscore equals to
19712 the module name).
19713
19714 2008-02-06 Christian Franke <franke@computer.org>
19715
19716 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19717 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19718 last block of a cpio or tar stream.
19719 Check for "TRAILER!!!" instead of any empty data
19720 block to detect last block of a cpio stream.
19721 (grub_cpio_dir): Fix constness of variable np.
19722 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19723 cpio or tar trailer is detected. This fixes a crash
19724 on open of a non existing file.
19725
19726 2008-02-05 Bean <bean123ch@gmail.com>
19727
19728 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19729 address of entry.
19730 (grub_multiboot_load_elf64): Likewise.
19731 (grub_multiboot): Initialize mbi structure.
19732
19733 * util/grub-fstest.c: Don't include unused header file script.h.
19734
19735 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19736 of file.
19737 (grub_fstest_SOURCES): Likewise.
19738
19739 2008-02-05 Robert Millan <rmh@aybabtu.com>
19740
19741 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19742 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19743 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19744 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19745
19746 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19747 (translation_table): Replace hardcoded values with macros
19748 provided by `<grub/term.h>'.
19749
19750 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19751 (keyboard_map): Correct/add a few values, with macros provided
19752 by `<grub/term.h>'.
19753 (keyboard_map_shift): Zero values that don't differ from their
19754 `keyboard_map' equivalents.
19755 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19756 Discard the second scan code that is always sent by Caps lock.
19757 Only use `keyboard_map_shift' when it provides a non-zero value,
19758 otherwise fallback to `keyboard_map'.
19759
19760 2008-02-04 Bean <bean123ch@gmail.com>
19761
19762 * Makefile.in (enable_grub_fstest): New variable.
19763
19764 * conf/common.rmk (grub_fstest_init.lst): New rule.
19765 (grub_fstest_init.h): Likewise.
19766 (grub_fstest_init.c): Likewise.
19767 (util/grub-fstest.c_DEPENDENCIES): New variable.
19768 (grub_fstest_SOURCES): Likewise.
19769
19770 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19771
19772 * util/grub-fstest.c: New file.
19773
19774 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19775
19776 Make grub-setup handle a separate root device.
19777
19778 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19779 so that the root device can be compared with the destination
19780 device.
19781 When embedding the core image, if the root and destination devices
19782 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19783 0xFF.
19784 When not embedding, set ROOT_DRIVE to 0xFF.
19785
19786 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19787
19788 Add support for having a grub directory in a different drive. This
19789 is still only the data handling part.
19790
19791 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19792 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19793 (grub_root_drive): New variable.
19794
19795 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19796 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19797 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19798 as it was.
19799
19800 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19801
19802 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19803 macro.
19804 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19805
19806 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19807 is bogus, because PXE booting does not specify any drive
19808 correctly.
19809
19810 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19811 am not sure if this is really correct.
19812
19813 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19814 is always identical to the boot drive when booting from a CD.
19815
19816 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19817 longer.
19818 (root_drive): New variable.
19819 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19820 (setup_sectors): Push %dx right after popping it, because %dh will
19821 be modified later.
19822 (copy_buffer): Restore %dx.
19823
19824 2008-02-03 Robert Millan <rmh@aybabtu.com>
19825
19826 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19827 use `cdboot.img' for cdrom images.
19828
19829 2008-02-03 Robert Millan <rmh@aybabtu.com>
19830
19831 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19832 only setup gfxterm when `font' command has succeeded.
19833
19834 2008-02-03 Robert Millan <rmh@aybabtu.com>
19835
19836 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19837 (grub_rescue_cmd_multiboot_loader)
19838 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19839
19840 2008-02-03 Pavel Roskin <proski@gnu.org>
19841
19842 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19843 %edx and %esi from stack only after grub_gate_a20() is called.
19844 grub_gate_a20() clobbers %edx.
19845
19846 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19847
19848 * configure.ac (AC_INIT): Bumped to 1.96.
19849
19850 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19851 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19852 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19853 video/readers/png.c.
19854
19855 2008-02-03 Bean <bean123ch@gmail.com>
19856
19857 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19858 (cdboot_img_SOURCES): New variable.
19859 (cdboot_img_ASFLAGS): New variable.
19860 (cdboot_img_LDFLAGS): New variable.
19861
19862 * boot/i386/pc/cdboot.S: New file.
19863
19864 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19865 (cd_count): Likewise.
19866 (grub_biosdisk_get_drive): Add support for cd device.
19867 (grub_biosdisk_call_hook): Likewise.
19868 (grub_biosdisk_iterate): Likewise.
19869 (grub_biosdisk_open): Likewise.
19870 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19871 (grub_biosdisk_rw): Support reading from cd device.
19872 (GRUB_MOD_INIT): Iterate cd devices.
19873
19874 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19875 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19876 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19877
19878 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19879
19880 2008-02-02 Robert Millan <rmh@aybabtu.com>
19881
19882 * commands/read.c: New file.
19883 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19884 (read_mod_SOURCES): New variable.
19885 (read_mod_CFLAGS): Likewise.
19886 (read_mod_LDFLAGS): Likewise.
19887
19888 2008-02-02 Robert Millan <rmh@aybabtu.com>
19889
19890 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19891 determining whether menu has to be displayed.
19892
19893 2008-02-02 Marco Gerards <marco@gnu.org>
19894
19895 * bus/pci.c: New file.
19896
19897 * include/grub/pci.h: Likewise.
19898
19899 * include/grub/i386/pc/pci.h: Likewise.
19900
19901 * commands/lspci.c: Likewise.
19902
19903 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19904 `lspci.mod'.
19905 (pci_mod_SOURCES): New variable.
19906 (pci_mod_CFLAGS): Likewise.
19907 (pci_mod_LDFLAGS): Likewise.
19908 (lspci_mod_SOURCES): Likewise.
19909 (lspci_mod_CFLAGS): Likewise.
19910 (lspci_mod_LDFLAGS): Likewise.
19911
19912 2008-02-02 Bean <bean123ch@gmail.com>
19913
19914 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19915 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19916
19917 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19918 (grub_xfs_btree_node): New structure.
19919 (grub_xfs_btree_root): New structure.
19920 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19921 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19922 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19923 (GRUB_XFS_EXTENT_SIZE): Likewise.
19924 (grub_xfs_read_block): Support btree format type.
19925 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19926 Use directory block as basic unit.
19927
19928 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19929
19930 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19931 __attribute__ ((__regparm__ (1))).
19932
19933 2008-02-01 Robert Millan <rmh@aybabtu.com>
19934
19935 Correct a mistake in previous commit.
19936
19937 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19938 top.
19939 (normal/command.c_DEPENDENCIES): New variable.
19940
19941 2008-02-01 Robert Millan <rmh@aybabtu.com>
19942
19943 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19944 top.
19945 (normal/command.c_DEPENDENCIES): New variable.
19946 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19947 * conf/i386-ieee1275.rmk: Likewise.
19948 * conf/i386-linuxbios.rmk: Likewise.
19949 * conf/i386-pc.rmk: Likewise.
19950 * conf/sparc64-ieee1275.rmk: Likewise.
19951 * conf/powerpc-ieee1275.rmk: Likewise.
19952 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19953
19954 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19955
19956 2008-02-01 Robert Millan <rmh@aybabtu.com>
19957
19958 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19959 call at beginning of function.
19960
19961 2008-01-31 Pavel Roskin <proski@gnu.org>
19962
19963 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19964 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19965 (grub_mkrescue_SOURCES): Likewise.
19966 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19967
19968 2008-01-30 Robert Millan <rmh@aybabtu.com>
19969
19970 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19971 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19972 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19973 (grub_probe_SOURCES): ... to here.
19974
19975 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19976 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19977 * conf/i386-ieee1275.rmk: Likewise.
19978 * conf/i386-linuxbios.rmk: Likewise.
19979 * conf/powerpc-ieee1275.rmk: Likewise.
19980
19981 2008-01-30 Tristan Gingold <gingold@free.fr>
19982
19983 * kern/rescue.c: Silently accept empty lines.
19984
19985 2008-01-29 Bean <bean123ch@gmail.com>
19986
19987 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19988 (real_code_2): Code cleanup and change comment style.
19989 (move_memory): Avoid using 32-bit address mode.
19990
19991 2008-01-29 Bean <bean123ch@gmail.com>
19992
19993 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19994 (png_mod_SOURCES): New variable.
19995 (png_mod_CFLAGS): Likewise.
19996 (png_mod_LDFLAGS): Likewise.
19997
19998 * video/readers/png.c: New file.
19999
20000 2008-01-28 Robert Millan <rmh@aybabtu.com>
20001
20002 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20003 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20004 `ifndef GRUB_MOD_GAP' hack.
20005 * util/elf/grub-mkimage.c (add_segments): Likewise.
20006
20007 2008-01-27 Robert Millan <rmh@aybabtu.com>
20008
20009 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20010 `GRUB_MOD_GAP' for platforms in which it's not defined.
20011 * util/elf/grub-mkimage.c (add_segments): Likewise.
20012
20013 2008-01-27 Robert Millan <rmh@aybabtu.com>
20014
20015 Get grub-emu to build again (including parallel builds).
20016
20017 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20018 Split into ...
20019 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20020 (normal/execute.c_DEPENDENCIES): ... this, ...
20021 (grub-emu_DEPENDENCIES): ... and this.
20022
20023 * conf/i386-efi.rmk: Likewise.
20024 * conf/i386-linuxbios.rmk: Likewise.
20025 * conf/i386-ieee1275.rmk: Likewise.
20026 * conf/powerpc-ieee1275.rmk: Likewise.
20027 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20028
20029 2008-01-27 Robert Millan <rmh@aybabtu.com>
20030
20031 * NEWS: Add a few items.
20032
20033 2008-01-27 Robert Millan <rmh@aybabtu.com>
20034
20035 Fix parallel builds with grub-emu. Based on earlier commit for
20036 grub-probe and grub-setup.
20037
20038 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20039 (util/grub-emu.c_DEPENDENCIES): ... this.
20040 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20041 (util/grub-emu.c_DEPENDENCIES): ... this.
20042 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20043 (util/grub-emu.c_DEPENDENCIES): ... this.
20044 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20045 (util/grub-emu.c_DEPENDENCIES): ... this.
20046 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20047 (util/grub-emu.c_DEPENDENCIES): ... this.
20048
20049 2008-01-27 Pavel Roskin <proski@gnu.org>
20050
20051 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20052 to create a gap between _end and the modules added to the image
20053 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20054 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20055 * util/elf/grub-mkimage.c (add_segments): Likewise.
20056
20057 2008-01-26 Pavel Roskin <proski@gnu.org>
20058
20059 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20060 just return an error.
20061
20062 2008-01-26 Bean <bean123ch@gmail.com>
20063
20064 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20065 (grub_reiserfs_get_item): Save offset of the next item.
20066 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20067
20068 2008-01-25 Robert Millan <rmh@aybabtu.com>
20069
20070 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20071 make all filesystem sources appear together (possibly fixing omissions
20072 while at it).
20073 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20074 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20077
20078 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20079 add `kern/file.c'.
20080 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20081 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20082 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20083 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20084
20085 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20086 (probe): Add a sanity check to make sure of our ability to read
20087 requested files when probing for filesystem type.
20088
20089 * genmk.rb: Update copyright year (2007).
20090
20091 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20092 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20093 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20094 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20095 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20096 : Remove function prototypes.
20097
20098 2008-01-25 Robert Millan <rmh@aybabtu.com>
20099
20100 Revert my previous commits (based on wrong assumption of how grub_errno
20101 works).
20102
20103 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
20104 * kern/file.c (grub_file_open): Likewise.
20105
20106 2008-01-24 Pavel Roskin <proski@gnu.org>
20107
20108 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20109 that hang if GRUB tries to setup colors.
20110 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20111 colors for firmwares that don't support it.
20112 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20113 Recognize Open Hack'Ware, set flags to work around its
20114 limitations.
20115
20116 2008-01-24 Robert Millan <rmh@aybabtu.com>
20117
20118 * kern/file.c (grub_file_open): Do not account previous failures of
20119 unrelated functions when grub_errno is checked for.
20120 Reported by Oleg Strikov.
20121
20122 2008-01-24 Bean <bean123ch@gmail.com>
20123
20124 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20125 (grub_ufs_sblock): New member volume name.
20126 (grub_ufs_find_file): Fix string copy bug.
20127 (grub_ufs_label): Implement this function properly.
20128
20129 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20130 (grub_hfs_iterate_records): Use the correct file number for extents
20131 and catalog file. Fix problem in next index calculation.
20132 (grub_hfs_find_node): Replace recursive function call with loop.
20133 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20134
20135 2008-01-23 Robert Millan <rmh@aybabtu.com>
20136
20137 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20138 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20139 (grub_multiboot2_real_boot): New function prototype.
20140
20141 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20142 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20143
20144 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20145 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20146
20147 2008-01-23 Robert Millan <rmh@aybabtu.com>
20148
20149 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20150 #ifdef'ed out grub_printf().
20151
20152 2008-01-23 Robert Millan <rmh@aybabtu.com>
20153
20154 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20155 grub_dprintf calls, since they make "debug=all" mode unusable.
20156 (grub_console_checkkey): Likewise.
20157
20158 2008-01-23 Robert Millan <rmh@aybabtu.com>
20159
20160 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20161 `term/i386/pc/at_keyboard.c'.
20162 (pkglib_MODULES): Add `serial.mod'.
20163 (serial_mod_SOURCES): New variable.
20164 (serial_mod_CFLAGS): Likewise.
20165 (serial_mod_LDFLAGS): Likewise.
20166
20167 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20168 `<grub/powerpc/ieee1275/console.h>'.
20169 (grub_keyboard_controller_init): New function prototype.
20170 (grub_console_checkkey): Likewise.
20171 (grub_console_getkey): Likewise.
20172
20173 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20174 keyboard on i386.
20175
20176 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20177 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20178
20179 2008-01-23 Robert Millan <rmh@aybabtu.com>
20180
20181 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20182 present, "(memdisk)/boot/grub" becomes the default prefix.
20183
20184 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20185 a memdisk tarball with all the modules. Add --overlay=DIR option that
20186 allows users to overlay additional files into the image.
20187
20188 2008-01-23 Robert Millan <rmh@aybabtu.com>
20189
20190 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20191 and `machine/memory.h'.
20192 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20193 (_multiboot_mod_SOURCES): New variable.
20194 (_multiboot_mod_CFLAGS): Likewise.
20195 (_multiboot_mod_LDFLAGS): Likewise.
20196 (multiboot_mod_SOURCES): Likewise.
20197 (multiboot_mod_CFLAGS): Likewise.
20198 (multiboot_mod_LDFLAGS): Likewise.
20199
20200 * include/grub/i386/ieee1275/loader.h: New file.
20201
20202 * include/grub/i386/ieee1275/machine.h: Likewise.
20203
20204 * include/grub/i386/ieee1275/memory.h: Likewise.
20205
20206 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20207 variable declaration.
20208 (grub_os_area_size): Likewise.
20209
20210 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20211 (grub_lower_mem, grub_upper_mem): New variables.
20212 (grub_stop_floppy): New function (just to make
20213 grub_multiboot2_real_boot() happy).
20214
20215 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20216 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20217 (grub_stop): New function.
20218 Include `"../realmode.S"' and `"../loader.S"'.
20219
20220 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20221 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20222
20223 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20224 rely on grub_multiboot2_real_boot() for final boot.
20225
20226 2008-01-22 Robert Millan <rmh@aybabtu.com>
20227
20228 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20229 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20230 device that doesn't look like an SD card.
20231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20232 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20233 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20234 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20235 found.
20236
20237 2008-01-22 Robert Millan <rmh@aybabtu.com>
20238
20239 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20240 avoid claiming over our own code.
20241
20242 2008-01-22 Bean <bean123ch@gmail.com>
20243
20244 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20245 (jpeg_mod_SOURCES): New variable.
20246 (jpeg_mod_CFLAGS): Likewise.
20247 (jpeg_mod_LDFLAGS): Likewise.
20248
20249 * video/readers/jpeg.c : New file.
20250
20251 2008-01-22 Bean <bean123ch@gmail.com>
20252
20253 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20254 there are no more items.
20255
20256 2008-01-21 Robert Millan <rmh@aybabtu.com>
20257
20258 * kern/mm.c (grub_mm_init_region): Improve debug message.
20259
20260 2008-01-21 Robert Millan <rmh@aybabtu.com>
20261
20262 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20263 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20264 address.
20265 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20266 a C macro.
20267 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20268 Indicates start of upper memory.
20269 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20270 (generate_image): Abort when image size is big enough to corrupt
20271 upper memory.
20272
20273 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20274 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20275 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20276 instead of hardcoding 0xA0000.
20277 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20278 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20279 instead of hardcoding 0xA0000.
20280
20281 2008-01-21 Robert Millan <rmh@aybabtu.com>
20282
20283 * disk/memdisk.c (memdisk_size): New variable.
20284 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20285 `memdisk_size'.
20286 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20287 image to dynamic memory.
20288 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20289 `memdisk_size'. Free memdisk block.
20290
20291 2008-01-21 Robert Millan <rmh@aybabtu.com>
20292
20293 Fix detection of very small filesystems (like tar).
20294
20295 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20296 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20297 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20298 a problem with this disk).
20299
20300 2008-01-21 Robert Millan <rmh@aybabtu.com>
20301
20302 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20303 on grub_biosdisk_rw_standard() error.
20304
20305 2008-01-21 Robert Millan <rmh@aybabtu.com>
20306
20307 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20308 recent changes.
20309 * kern/elf.c: Likewise.
20310 * kern/ieee1275/ieee1275.c: Likewise.
20311 * kern/powerpc/ieee1275/openfw.c: Likewise.
20312 * term/ieee1275/ofconsole.c: Likewise.
20313
20314 2008-01-21 Robert Millan <rmh@aybabtu.com>
20315
20316 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20317
20318 * include/grub/kernel.h (grub_arch_memdisk_addr)
20319 (grub_arch_memdisk_size): Moved from here ...
20320
20321 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20322 (grub_arch_memdisk_size): ... to here.
20323
20324 2008-01-21 Robert Millan <rmh@aybabtu.com>
20325
20326 Mostly based on bugfix from Bean.
20327
20328 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20329 attribute with hook() parameter.
20330 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20331 declaration.
20332 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20333 attribute with hook() parameter.
20334 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20335 declaration.
20336
20337 2008-01-21 Robert Millan <rmh@aybabtu.com>
20338
20339 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20340 (pkglib_MODULES): Add `memdisk.mod'.
20341 (memdisk_mod_SOURCES): New variable.
20342 (memdisk_mod_CFLAGS): Likewise.
20343 (memdisk_mod_LDFLAGS): Likewise.
20344
20345 * disk/memdisk.c: New file.
20346
20347 * include/grub/disk.h (grub_disk_dev_id): Add
20348 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20349
20350 * include/grub/i386/pc/kernel.h
20351 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20352 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20353 (grub_kernel_image_size): New variable declaration.
20354 (grub_total_module_size): Likewise.
20355 (grub_memdisk_image_size): Likewise.
20356
20357 * include/grub/i386/pc/memory.h
20358 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20359
20360 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20361 (grub_arch_memdisk_addr): New variable declaration.
20362 (grub_arch_memdisk_size): Likewise.
20363
20364 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20365 (grub_arch_memdisk_size): Likewise.
20366
20367 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20368 (codestart): Replace hardcoded `0x100000' with
20369 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20370
20371 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20372 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20373 not NULL, append the contents of the file it refers to, at the end of
20374 the compressed kernel image. Initialize `grub_memdisk_image_size'
20375 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20376 (options): Add "memdisk"|'m' option.
20377 (main): Parse --memdisk|-m option, and pass user-provided path as
20378 parameter to generate_image().
20379
20380 2008-01-20 Robert Millan <rmh@aybabtu.com>
20381
20382 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20383 grub_dprintf() calls from here ...
20384 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20385
20386 2008-01-20 Robert Millan <rmh@aybabtu.com>
20387
20388 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20389
20390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20391 declaration.
20392 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20393 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20394 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20395 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20396 property).
20397 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20398 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20399
20400 2008-01-19 Robert Millan <rmh@aybabtu.com>
20401
20402 Get rid of confusing function (superseded by
20403 `grub_ieee1275_get_integer_property')
20404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20405 prototype.
20406 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20407 function.
20408 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20409 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20410 in native endianness from grub_ieee1275_get_integer_property().
20411
20412 2008-01-19 Robert Millan <rmh@aybabtu.com>
20413
20414 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20415 command after "shut-down", since implementations differ on which
20416 the command for halt is.
20417
20418 2008-01-19 Robert Millan <rmh@aybabtu.com>
20419
20420 * include/grub/i386/linuxbios/console.h: Add header protection.
20421 (grub_keyboard_controller_init): New function prototype.
20422 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20423 (KEYBOARD_COMMAND_READ): Likewise.
20424 (KEYBOARD_COMMAND_WRITE): Likewise.
20425 (KEYBOARD_SCANCODE_SET1): Likewise.
20426 (grub_keyboard_controller_write): New function.
20427 (grub_keyboard_controller_read): Likewise.
20428 (grub_keyboard_controller_init): Likewise.
20429
20430 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20431 (grub_console_init): On coreboot/LinuxBIOS, call
20432 grub_keyboard_controller_init().
20433
20434 2008-01-19 Robert Millan <rmh@aybabtu.com>
20435
20436 PowerPC changes provided by Pavel Roskin.
20437
20438 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20439 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20440 don't rely on cmain() doing it.
20441 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20442 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20443
20444 2008-01-16 Robert Millan <rmh@aybabtu.com>
20445
20446 * include/grub/i386/linuxbios/memory.h
20447 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20448 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20449 receive `table_header' as argument. Instead, probe for it in the
20450 known memory ranges where it can be present.
20451 (grub_available_iterate): Do not pass a fixed `table_header' address
20452 to grub_linuxbios_table_iterate().
20453
20454 2008-01-15 Robert Millan <rmh@aybabtu.com>
20455
20456 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20457 * conf/i386-ieee1275.rmk: New file.
20458 * include/grub/i386/ieee1275/console.h: Likewise.
20459 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20460 * include/grub/i386/ieee1275/kernel.h: Likewise.
20461 * include/grub/i386/ieee1275/time.h: Likewise.
20462 * kern/i386/ieee1275/init.c: Likewise.
20463 * kern/i386/ieee1275/startup.S: Likewise.
20464
20465 2008-01-15 Robert Millan <rmh@aybabtu.com>
20466
20467 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20468 when pointers are 32-bit (but still do set it to one when they are
20469 64-bit).
20470
20471 2008-01-15 Robert Millan <rmh@aybabtu.com>
20472
20473 * include/grub/ieee1275/ieee1275.h
20474 (grub_ieee1275_get_integer_property): New function prototype.
20475
20476 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20477 (grub_ieee1275_get_integer_property): New function. Wraps around
20478 grub_ieee1275_get_property() to handle endianness.
20479
20480 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20481 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20482 where appropriate.
20483 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20484 (grub_map): Likewise.
20485 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20486
20487 2008-01-15 Bean <bean123ch@gmail.com>
20488
20489 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20490 (grub_script_execute_cmdline): Reset grub_errno.
20491
20492 * normal/main.c (read_config_file): Reset grub_errno.
20493
20494 * normal/parse.y (script_init): New.
20495 (script): Move function and menuentry here.
20496 (delimiter): New.
20497 (command): Add delimiter at the end of command.
20498 (commands): Adjust to match the new command.
20499 (commandblock): Remove grub_script_lexer_record_start.
20500 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20501 (if): Use the new commands.
20502
20503 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20504
20505 2008-01-15 Robert Millan <rmh@aybabtu.com>
20506
20507 * normal/menu.c (run_menu): Move timeout message from here ...
20508 (print_timeout): ... to here.
20509 (run_menu): Use print_timeout() once during initial draw to print
20510 the whole message, and again in every clock tick to update only
20511 the number of seconds.
20512
20513 2008-01-15 Robert Millan <rmh@aybabtu.com>
20514
20515 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20516 actual size of `available' from grub_ieee1275_get_property(), and
20517 restrict parsing to that bound.
20518
20519 2008-01-15 Christian Franke <franke@computer.org>
20520
20521 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20522 (argp_program_version): Remove variable.
20523 (argp_program_bug_address): Likewise.
20524 (options): Convert from struct argp_option to struct option.
20525 (struct arguments): Remove.
20526 (parse_opt): Remove.
20527 (usage): New function.
20528 (main): Replace struct args members by simple variables.
20529 Replace argp_parse() by getopt_long().
20530 Add switch to evaluate options.
20531 Add missing "(...)" around root_dev in prefix string.
20532
20533 2008-01-14 Robert Millan <rmh@aybabtu.com>
20534
20535 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20536 for grub_ieee1275_exit(), in order to improve portability.
20537
20538 2008-01-14 Robert Millan <rmh@aybabtu.com>
20539
20540 * util/grub.d/10_linux.in (prefix): Define.
20541 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20542
20543 2008-01-13 Pavel Roskin <proski@gnu.org>
20544
20545 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20546 grub_errno if no errors have been detected.
20547
20548 2008-01-12 Robert Millan <rmh@aybabtu.com>
20549
20550 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20551 (grub_util_get_dev_abstraction): New function prototype.
20552
20553 * util/getroot.c: Include `<grub/util/getroot.h>'
20554 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20555 (grub_util_get_dev_abstraction): ... here (new function).
20556
20557 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20558 `PRINT_ABSTRACTION'.
20559 (probe): Probe for abstraction type when requested.
20560 (main): Understand `--target=abstraction'.
20561
20562 * util/i386/efi/grub-install.in: Add abstraction module to core
20563 image when it is found to be necessary.
20564 * util/i386/pc/grub-install.in: Likewise.
20565 * util/powerpc/ieee1275/grub-install.in: Likewise.
20566
20567 * util/update-grub_lib.in (font_path): Return system path without
20568 converting to GRUB path.
20569 * util/update-grub.in: Convert system path returned by font_path()
20570 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20571 abstraction module is needed for loading fonts (if any). Export
20572 that as `GRUB_PRELOAD_MODULES'.
20573 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20574 insmod commands).
20575
20576 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20577
20578 Remove some unused code from reiserfs.
20579
20580 * fs/reiserfs.c (struct grub_reiserfs_key)
20581 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20582 (struct grub_reiserfs_node_body): Removed.
20583 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20584 Likewise.
20585 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20586 Likewise.
20587 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20588 Likewise.
20589 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20590 Likewise.
20591 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20592 Likewise.
20593 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20594 Likewise.
20595 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20596 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20597 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20598
20599 2008-01-10 Robert Millan <rmh@aybabtu.com>
20600
20601 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20602 Determines if a file is garbage left by packaging systems, etc.
20603 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20604 for processing /etc/grub.d scripts.
20605 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20606 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20607 as a condition for processing Linux images.
20608
20609 2008-01-10 Pavel Roskin <proski@gnu.org>
20610
20611 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20612 to compile reiserfs.c on PowerPC.
20613
20614 2008-01-10 Robert Millan <rmh@aybabtu.com>
20615
20616 * kern/device.c (grub_device_iterate): Do not abort device iteration
20617 when one of the devices cannot be opened.
20618 * kern/disk.c (grub_disk_open): Do not account previous failures of
20619 unrelated functions when grub_errno is checked for.
20620
20621 2008-01-08 Robert Millan <rmh@aybabtu.com>
20622
20623 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20624 `! grub_linux_is_bzimage', change order of address comparison to make
20625 it more intuitive, and improve "too big zImage" error message.
20626
20627 2008-01-08 Robert Millan <rmh@aybabtu.com>
20628
20629 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20630 `$(update-grub_DATA)'.
20631 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20632 targets.
20633
20634 2008-01-07 Robert Millan <rmh@aybabtu.com>
20635
20636 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20637 which instruction is modified by grub-setup during installation
20638 (since it wasn't obvious by only looking at this file).
20639
20640 2008-01-07 Robert Millan <rmh@aybabtu.com>
20641
20642 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20643 listing actual TODO items.
20644
20645 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20646
20647 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20648 correctly.
20649 (grub_reiserfs_get_key_offset): Likewise.
20650 (grub_reiserfs_set_key_offset): Likewise.
20651 (grub_reiserfs_set_key_type): Likewise.
20652 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20653
20654 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20655 better to remove the bitfield version completely.
20656
20657 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20658
20659 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20660 allocated from the heap, due to the fshelp implementation.
20661 (grub_reiserfs_dir): Free NODE, due to the same reason.
20662
20663 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20664
20665 Mostly from Vincent Pelletier:
20666
20667 * fs/reiserfs.c: New file.
20668
20669 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20670 (reiserfs_mod_SOURCES): New variable.
20671 (reiserfs_mod_CFLAGS): Likewise.
20672 (reiserfs_mod_LDFLAGS): Likewise.
20673
20674 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20675 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20676 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20677 normal/color.c.
20678
20679 2008-01-06 Robert Millan <rmh@aybabtu.com>
20680
20681 * normal/color.c: Remove `<grub/env.h>'.
20682
20683 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20684
20685 * include/grub/normal.h: Include <grub/env.h>.
20686
20687 2008-01-05 Robert Millan <rmh@aybabtu.com>
20688
20689 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20690 usage example with `(hd0,1)'.
20691 Reported by Samuel Thibault.
20692
20693 2008-01-05 Robert Millan <rmh@aybabtu.com>
20694
20695 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20696 (grub_linux_boot_zimage): Rename to ...
20697 (grub_linux_boot): ... this.
20698 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20699 (grub_linux_boot_zimage): Conditionalize zImage copy.
20700
20701 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20702 (grub_linux_boot_bzimage): Remove prototype.
20703 (grub_linux_boot_zimage): Rename to ...
20704 (grub_linux_boot): ... this.
20705
20706 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20707 (grub_linux_boot): Remove function.
20708
20709 2008-01-05 Robert Millan <rmh@aybabtu.com>
20710
20711 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20712 (grub_env_write_color_highlight): Likewise.
20713 (grub_wait_after_message): Likewise.
20714
20715 * normal/color.c: New file.
20716
20717 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20718 (normal_mod_DEPENDENCIES): Likewise.
20719
20720 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20721 (normal_mod_DEPENDENCIES): Likewise.
20722
20723 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20724 (normal_mod_DEPENDENCIES): Likewise.
20725
20726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20727 (normal_mod_DEPENDENCIES): Likewise.
20728
20729 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20730 for waiting after a message is printed.
20731 * normal/main.c (read_config_file): Likewise.
20732 (grub_normal_init): Register grub_env_write_color_normal() and
20733 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20734 `color_highlight' variables as global.
20735
20736 * normal/menu.c (grub_wait_after_message): New function.
20737 (grub_color_menu_normal): New variable. Replaces ...
20738 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20739 (grub_color_menu_highlight): New variable. Replaces ...
20740 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20741 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20742 `GRUB_TERM_COLOR_STANDARD'.
20743 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20744 `normal_code' and `highlight_code' to `old_color_normal' and
20745 `old_color_highlight', respectively.
20746 (grub_menu_init_page): Update colors when drawing the menu, based on
20747 `menu_color_normal' and `menu_color_highlight' variables.
20748 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20749 a message is printed.
20750
20751 2008-01-05 Robert Millan <rmh@aybabtu.com>
20752
20753 * kern/env.c (grub_env_context_open): Propagate hooks for global
20754 variables to new context.
20755
20756 * kern/main.c (grub_set_root_dev): Export `root' variable.
20757
20758 2008-01-05 Robert Millan <rmh@aybabtu.com>
20759
20760 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20761 discs unconditionally, since udev and others have options to provide
20762 them.
20763
20764 2008-01-05 Robert Millan <rmh@aybabtu.com>
20765
20766 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20767
20768 2008-01-04 Christian Franke <franke@computer.org>
20769
20770 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20771 of eisa_mmap.
20772
20773 2008-01-03 Pavel Roskin <proski@gnu.org>
20774
20775 * kern/i386/linuxbios/init.c: Put "void" to all function
20776 declarations with no arguments.
20777 * kern/powerpc/ieee1275/init.c: Likewise.
20778 * term/i386/pc/at_keyboard.c: Likewise.
20779 * term/i386/pc/vga_text.c: Likewise.
20780 * util/grub-mkdevicemap.c: Likewise.
20781
20782 2008-01-02 Robert Millan <rmh@aybabtu.com>
20783
20784 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20785 message when loaded image is out of bounds.
20786 (grub_multiboot_load_elf64): Likewise.
20787
20788 2008-01-02 Pavel Roskin <proski@gnu.org>
20789
20790 * util/grub.d/10_linux.in: Try version without ".old" when
20791 looking for initrd. It's better to use initrd from the newer
20792 kernel of the same version than no initrd at all.
20793
20794 2008-01-01 Robert Millan <rmh@aybabtu.com>
20795
20796 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20797
20798 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20799
20800 * include/grub/video.h: Added grub_video_unmap_color and
20801 grub_video_get_active_render_target.
20802 (grub_video_adapter): Added unmap_color and get_active_render_target.
20803
20804 * video/video.c: Added grub_video_unmap_color and
20805 grub_video_get_active_render_target.
20806 (grub_video_get_info): Changed method to accept NULL pointer as an
20807 argument to allow detection of active video adapter.
20808
20809 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20810 grub_video_vbe_unmap_color_int.
20811 Added grub_video_vbe_unmap_color and
20812 grub_video_vbe_get_active_render_target.
20813 (grub_video_vbe_adapter): Added unmap_color and
20814 get_active_render_target.
20815
20816 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20817 with grub_video_vbe_unmap_color_int.
20818
20819 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20820 (DEFAULT_NORMAL_COLOR): Likewise.
20821 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20822 (DEFAULT_FG_COLOR): Removed.
20823 (DEFAULT_BG_COLOR): Likewise.
20824 (DEFAULT_CURSOR_COLOR): Changed value.
20825 (grub_virtual_screen): Added standard_color_setting,
20826 normal_color_setting, highlight_color_setting and term_color.
20827 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20828 (bitmap_width): Added.
20829 (bitmap_height): Likewise.
20830 (bitmap): Likewise.
20831 (set_term_color): Likewise.
20832 (grub_virtual_screen_setup): Changed to use new terminal coloring
20833 settings.
20834 (grub_gfxterm_init): Added init for bitmap.
20835 (grub_gfxterm_fini): Added destroy for bitmap.
20836 (redraw_screen_rect): Updated to use background bitmap and new
20837 terminal coloring.
20838 (scroll_up): Added optimization for case when there is no bitmap.
20839 (grub_gfxterm_cls): Fixed to use correct background color.
20840 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20841 coloring.
20842 (grub_virtual_screen_setcolor): Likewise.
20843 (grub_virtual_screen_getcolor): Added.
20844 (grub_gfxterm_background_image_cmd): Likewise.
20845 (grub_video_term): Added setcolor and getcolor.
20846 (MOD_INIT): Added registration of background_image command.
20847 (MOD_TERM): Added unregistration for background_image command.
20848
20849 2007-12-30 Pavel Roskin <proski@gnu.org>
20850
20851 * loader/multiboot_loader.c: Fix multiboot command
20852 unregistration. Fix all typos in the word "multiboot".
20853
20854 2007-12-29 Pavel Roskin <proski@gnu.org>
20855
20856 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20857 support for initrd names used in Fedora.
20858
20859 2007-12-26 Bean <bean123ch@gmail.com>
20860
20861 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20862 (cpio_mod_SOURCES): New variable.
20863 (cpio_mod_CFLAGS): Likewise.
20864 (cpio_mod_LDFLAGS): Likewise.
20865
20866 * fs/cpio.c: New file.
20867
20868 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20869
20870 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20871
20872 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20873
20874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20875
20876 2007-12-25 Robert Millan <rmh@aybabtu.com>
20877
20878 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20879 (grub_getcolor): New function.
20880
20881 * kern/term.c (grub_getcolor): New function.
20882 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20883 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20884 (print_entry): Set normal and highlight colors to
20885 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20886 respectively, before printing and restore them to old
20887 values afterwards.
20888 (grub_menu_init_page): Likewise. Fill an additional colored space
20889 that would otherwise be left blank.
20890
20891 * term/efi/console.c (grub_console_getcolor): New function.
20892 (struct grub_console_term.getcolor): New variable.
20893 * term/i386/pc/console.c (grub_console_getcolor): New function.
20894 (struct grub_console_term.getcolor): New variable.
20895 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20896 (struct grub_console_term.getcolor): New variable.
20897
20898 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20899 (struct grub_console_term.setcolor): Remove variable.
20900 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20901 (struct grub_console_term.setcolor): Remove variable.
20902 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20903 (struct grub_console_term.setcolor): Remove variable.
20904 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20905 (struct grub_console_term.setcolor): Remove variable.
20906
20907 2007-12-25 Robert Millan <rmh@aybabtu.com>
20908
20909 * configure.ac: Search for possible unifont.hex locations, and
20910 define UNIFONT_HEX if found.
20911
20912 * Makefile.in (UNIFONT_HEX): Define variable.
20913 (DATA): Rename to ...
20914 (PKGLIB): ... this. Update all users.
20915 (PKGDATA): New variable.
20916 (pkgdata_IMAGES): Rename to ...
20917 (pkglib_IMAGES): ... this. Update all users.
20918 (pkgdata_MODULES): Rename to ...
20919 (pkglib_MODULES): ... this. Update all users.
20920 (pkgdata_PROGRAMS): Rename to ...
20921 (pkglib_PROGRAMS): ... this. Update all users.
20922 (pkgdata_DATA): Rename to ...
20923 (pkglib_DATA): ... this. Update all users.
20924 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20925 (unicode.pff, ascii.pff): New rules.
20926 (all-local): Add `$(PKGDATA)' dependency.
20927 (install-local): Process `$(PKGDATA)'.
20928
20929 * util/update-grub_lib.in (font_path): Search for *.pff files in
20930 a few more locations, including `${pkgdata}'.
20931
20932 2007-12-23 Robert Millan <rmh@aybabtu.com>
20933
20934 Patch from Bean <bean123ch@gmail.com>:
20935 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20936 `size'.
20937
20938 2007-12-21 Bean <bean123ch@gmail.com>
20939
20940 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20941 (ntfscomp_mod_SOURCES): New variable.
20942 (ntfscomp_mod_CFLAGS): Likewise.
20943 (ntfscomp_mod_LDFLAGS): Likewise.
20944
20945 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20946 (grub_probe_SOURCES): Likewise.
20947 (grub_emu_SOURCES): Likewise.
20948
20949 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20950 (grub_emu_SOURCES): Likewise.
20951
20952 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20953 (grub_emu_SOURCES): Likewise.
20954
20955 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20956 (grub_emu_SOURCES): Likewise.
20957
20958 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20959 (read_run_list): Renamed to grub_ntfs_read_run_list.
20960 (decomp_nextvcn): Moved to ntfscomp.c.
20961 (decomp_getch): Likewise.
20962 (decomp_get16): Likewise.
20963 (decomp_block): Likewise.
20964 (read_block): Likewise.
20965 (read_data): Partially moved to ntfscomp.c.
20966 (fixup): Change unsigned to grub_uint16_t.
20967 (read_mft): Change unsigned long to grub_uint32_t.
20968 (read_attr): Likewise.
20969 (read_data): Likewise.
20970 (read_run_data): Likewise.
20971 (read_run_list): Likewise.
20972 (read_mft): Likewise.
20973
20974 * fs/ntfscomp.c: New file.
20975
20976 * include/grub/ntfs.h: New file.
20977
20978 2007-12-16 Robert Millan <rmh@aybabtu.com>
20979
20980 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20981 IDE disk check, since Linux is known to support 20 IDE disks.
20982 Reported by Colin Watson.
20983
20984 2007-12-15 Bean <bean123ch@gmail.com>
20985
20986 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20987 (lnxboot_img_SOURCES): New variable.
20988 (lnxboot_img_ASFLAGS): Likewise.
20989 (lnxboot_img_LDFLAGS): Likewise.
20990
20991 * boot/i386/pc/lnxboot.S: New file.
20992
20993 2007-11-24 Pavel Roskin <proski@gnu.org>
20994
20995 * configure.ac: Test if '--build-id=none' is supported by the
20996 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20997 objcopy to generate incorrect binary files (binutils
20998 2.17.50.0.18-1 as shipped by Fedora 8).
20999 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21000 linking, so that build ID doesn't break the test.
21001
21002 2007-11-24 Pavel Roskin <proski@gnu.org>
21003
21004 * include/grub/i386/time.h: use "void" in the argument list
21005 of grub_cpu_idle().
21006 * include/grub/powerpc/time.h: Likewise.
21007 * include/grub/sparc64/time.h: Likewise.
21008
21009 2007-11-18 Christian Franke <franke@computer.org>
21010
21011 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21012 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21013 This fixes the problem that function keys did not work in grub-emu.
21014
21015 2007-11-18 Christian Franke <franke@computer.org>
21016
21017 * disk/host.c (grub_host_open): Remove attribute unused from
21018 name parameter. Add check for "host". This fixes the problem
21019 that grub-emu does not find partitions.
21020
21021 2007-11-18 Christian Franke <franke@computer.org>
21022
21023 * util/hostfs.c (is_dir): New function.
21024 (grub_hostfs_dir): Handle missing dirent.d_type case.
21025 (grub_hostfs_read): Add missing fseek().
21026 (grub_hostfs_label): Clear label pointer. This fixes a crash
21027 of grub-emu on "ls (host)".
21028
21029 2007-11-18 Christian Franke <franke@computer.org>
21030
21031 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21032 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21033 to 64 bit boundary by default.
21034
21035 2007-11-18 Bean <bean123ch@gmail.com>
21036
21037 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21038 (hexdump_mod_SOURCES): New variable.
21039 (hexdump_mod_CFLAGS): Likewise.
21040 (hexdump_mod_LDFLAGS): Likewise.
21041
21042 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21043
21044 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21045
21046 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21047
21048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21049
21050 * include/grub/hexdump.h: New file.
21051
21052 * commands/hexdump.c: New file.
21053
21054 2007-11-10 Robert Millan <rmh@aybabtu.com>
21055
21056 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21057 in grub_outb() calls.
21058 (beep_on): Likewise.
21059
21060 2007-11-10 Christian Franke <franke@computer.org>
21061
21062 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21063 (grub_menu_run): Likewise.
21064
21065 2007-11-10 Robert Millan <rmh@aybabtu.com>
21066
21067 * include/grub/i386/efi/machine.h: New file.
21068 * include/grub/i386/linuxbios/machine.h: Likewise.
21069 * include/grub/i386/pc/machine.h: Likewise.
21070 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21071 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21072
21073 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21074 (serial_hw_io_addr): New variable.
21075 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21076 instead of `(unsigned short *) 0x400'.
21077
21078 2007-11-10 Bean <bean123ch@gmail.com>
21079
21080 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21081
21082 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21083
21084 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21085 (vga_mod_SOURCES): Added.
21086 (vga_mod_CFLAGS): Likewise.
21087 (vga_mod_LDFLAGS): Likewise.
21088
21089 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21090 grub_outb() calls.
21091 (set_map_mask): Likewise.
21092 (set_read_map): Likewise.
21093 (set_read_address): Likewise.
21094 (vga_font): Removed variable.
21095 (get_vga_glyph): Removed function.
21096 (invalidate_char): Likewise.
21097 (write_char): Changed to use grub_font_get_glyph() for font
21098 information.
21099 (grub_vga_putchar): Likewise.
21100 (grub_vga_getcharwidth): Likewise.
21101
21102 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21103
21104 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21105 flags.
21106 (pxeboot_img_LDFLAGS): Likewise.
21107 (diskboot_img_LDFLAGS): Likewise.
21108 (kernel_img_LDFLAGS): Likewise.
21109
21110 2007-11-06 Robert Millan <rmh@aybabtu.com>
21111
21112 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21113 in grub_outb() calls.
21114 (serial_hw_init): Likewise.
21115
21116 2007-11-05 Robert Millan <rmh@aybabtu.com>
21117
21118 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21119 spaces. Skip non-regular files.
21120
21121 2007-11-05 Robert Millan <rmh@aybabtu.com>
21122
21123 * kern/disk.c (grub_disk_firmware_fini)
21124 (grub_disk_firmware_is_tainted): New variables.
21125
21126 * include/grub/disk.h (grub_disk_firmware_fini)
21127 (grub_disk_firmware_is_tainted): Likewise.
21128
21129 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21130 (grub_disk_biosdisk_fini): ... to here.
21131 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21132 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21133 is set. Register grub_disk_biosdisk_fini() in
21134 `grub_disk_firmware_fini'.
21135
21136 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21137 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21138 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21139 to finish existing firmware disk interface.
21140
21141 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21142 (ata_mod_SOURCES): New variable.
21143 (ata_mod_CFLAGS): Likewise.
21144 (ata_mod_LDFLAGS): Likewise.
21145
21146 2007-11-05 Robert Millan <rmh@aybabtu.com>
21147
21148 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21149 (grub_ata_wait): Reimplement using grub_millisleep().
21150
21151 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21152 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21153
21154 2007-11-03 Marco Gerards <marco@gnu.org>
21155
21156 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21157 (CRTC_ADDR_PORT): New macro.
21158 (CRTC_DATA_PORT): Likewise.
21159 (CRTC_CURSOR): Likewise.
21160 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21161 (CRTC_CURSOR_ADDR_LOW): Likewise.
21162 (update_cursor): New function.
21163 (grub_console_real_putchar): Call `update_cursor'.
21164 (grub_console_gotoxy): Likewise.
21165 (grub_console_cls): Set the default color when clearing the
21166 screen.
21167 (grub_console_setcursor): Implemented.
21168
21169 2007-11-03 Marco Gerards <marco@gnu.org>
21170
21171 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21172 become activate.
21173 (grub_ata_pio_write): Likewise.
21174
21175 (grub_atapi_identify): Wait after issuing an ATA command.
21176 (grub_atapi_packet): Likewise.
21177 (grub_ata_identify): Likewise.
21178 (grub_ata_readwrite): Likewise.
21179
21180 2007-11-03 Marco Gerards <marco@gnu.org>
21181
21182 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21183 (grub_ata_pio_write): Likewise.
21184 (grub_ata_readwrite): Use `grub_error', instead of
21185 returning `grub_errno'.
21186
21187 2007-11-03 Marco Gerards <marco@gnu.org>
21188
21189 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21190 grub_ata_pio_write once for every single sector, instead of for
21191 multiple sectors.
21192
21193 2007-10-31 Robert Millan <rmh@aybabtu.com>
21194
21195 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21196
21197 * conf/i386-linuxbios.rmk: New file.
21198
21199 * kern/i386/pc/hardware.c: Likewise.
21200 * term/i386/pc/at_keyboard.c: Likewise.
21201 * term/i386/pc/vga_text.c: Likewise.
21202
21203 * include/grub/i386/linuxbios/boot.h: Likewise.
21204 * include/grub/i386/linuxbios/console.h: Likewise.
21205 * include/grub/i386/linuxbios/init.h: Likewise.
21206 * include/grub/i386/linuxbios/kernel.h: Likewise.
21207 * include/grub/i386/linuxbios/loader.h: Likewise.
21208 * include/grub/i386/linuxbios/memory.h: Likewise.
21209 * include/grub/i386/linuxbios/serial.h: Likewise.
21210 * include/grub/i386/linuxbios/time.h: Likewise.
21211
21212 * kern/i386/linuxbios/init.c: Likewise.
21213 * kern/i386/linuxbios/startup.S: Likewise.
21214 * kern/i386/linuxbios/table.c: Likewise.
21215
21216 2007-10-31 Marco Gerards <marco@gnu.org>
21217
21218 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21219 (ata_mod_SOURCES): New variable.
21220 (ata_mod_CFLAGS): Likewise.
21221 (ata_mod_LDFLAGS): Likewise.
21222
21223 * disk/ata.c: New file.
21224
21225 * include/grub/disk.h (grub_disk_dev_id): Add
21226 `GRUB_DISK_DEV_ATA_ID'.
21227
21228 2007-10-31 Robert Millan <rmh@aybabtu.com>
21229
21230 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21231 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21232
21233 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21234 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21235
21236 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21237 `<grub/types.h>'.
21238
21239 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21240
21241 2007-10-27 Robert Millan <rmh@aybabtu.com>
21242
21243 * include/grub/types.h (ULONG_MAX): Define macro.
21244
21245 2007-10-22 Robert Millan <rmh@aybabtu.com>
21246
21247 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21248 `"../realmode.S"'.
21249 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21250
21251 2007-10-22 Robert Millan <rmh@aybabtu.com>
21252
21253 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21254 (pkgdata_MODULES): Add `biosdisk.mod'.
21255 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21256 variables.
21257
21258 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21259 (grub_biosdisk_init): Replace with ...
21260 (GRUB_MOD_INIT(biosdisk)): ... this.
21261 (grub_biosdisk_fini): Replace with ...
21262 (GRUB_MOD_FINI(biosdisk)): ... this.
21263
21264 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21265 (grub_machine_init): Remove call to grub_biosdisk_init().
21266 (grub_machine_fini): Remove call to grub_machine_fini().
21267
21268 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21269
21270 2007-10-22 Robert Millan <rmh@aybabtu.com>
21271
21272 * include/grub/time.h: New file.
21273 * include/grub/i386/time.h: Likewise.
21274 * include/grub/powerpc/time.h: Likewise.
21275 * include/grub/sparc64/time.h: Likewise.
21276
21277 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21278 instances to ...
21279 (KERNEL_MACHINE_TIME_HEADER): ... this.
21280 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21281 instances to ...
21282 (KERNEL_MACHINE_TIME_HEADER): ... this.
21283 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21284 instances to ...
21285 (KERNEL_MACHINE_TIME_HEADER): ... this.
21286
21287 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21288 (grub_millisleep): New function.
21289 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21290 (grub_millisleep): New function.
21291 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21292 Remove `grub/machine/time.h' include.
21293 (grub_millisleep): New function.
21294 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21295 Remove `grub/machine/time.h' include.
21296 (grub_millisleep): New function.
21297
21298 * include/grub/misc.h (grub_div_roundup): New function.
21299
21300 * kern/misc.c: Include `<grub/time.h>'.
21301 (grub_millisleep_generic): New function.
21302
21303 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21304 Add `time.h'.
21305 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21306 Add `time.h'.
21307 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21308 `machine/time.h'. Add `time.h'.
21309 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21310
21311 2007-10-21 Robert Millan <rmh@aybabtu.com>
21312
21313 * include/grub/misc.h (grub_max): New function.
21314
21315 2007-10-21 Robert Millan <rmh@aybabtu.com>
21316
21317 * util/misc.c (grub_util_info): Call fflush() before returning.
21318
21319 2007-10-20 Robert Millan <rmh@aybabtu.com>
21320
21321 * genmk.rb (Image): Copy `extra_flags' from here ...
21322 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21323
21324 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21325 to `argc' and `args' arguments.
21326
21327 2007-10-17 Robert Millan <rmh@aybabtu.com>
21328
21329 * kern/i386/loader.S: New file.
21330
21331 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21332 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21333 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21334 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21335 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21336 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21337 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21338 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21339 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21340 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21341 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21342 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21343 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21344 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21345
21346 * kern/i386/realmode.S: New file.
21347
21348 * kern/i386/pc/startup.S (protstack): Moved from here ...
21349 * kern/i386/realmode.S (protstack)... to here.
21350 * kern/i386/pc/startup.S (gdt): Moved from here ...
21351 * kern/i386/realmode.S (gdt)... to here.
21352 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21353 * kern/i386/realmode.S (prot_to_real)... to here.
21354
21355 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21356 `kern/i386/realmode.S'.
21357
21358 2007-10-17 Robert Millan <rmh@aybabtu.com>
21359
21360 * include/grub/i386/loader.h: New file.
21361
21362 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21363 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21364 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21365 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21366 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21367 * include/grub/i386/loader.h (grub_linux_prot_size)
21368 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21369 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21370 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21371 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21372
21373 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21374
21375 2007-10-15 Robert Millan <rmh@aybabtu.com>
21376
21377 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21378 filesystem when dev->disk is unset.
21379 Do probe for filesystem even when dev->disk->has_partitions is set.
21380 In case a filesystem is found, always report it.
21381 In case it isn't, if dev->disk->has_partitions is set, report that
21382 a partition table was found instead of reporting that no filesystem
21383 could be identified.
21384
21385 2007-10-12 Robert Millan <rmh@aybabtu.com>
21386
21387 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21388 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21389
21390 * include/grub/types.h (grub_host_to_target16): New macro.
21391 (grub_host_to_target32): Likewise.
21392 (grub_host_to_target64): Likewise.
21393 (grub_target_to_host16): Likewise.
21394 (grub_target_to_host32): Likewise.
21395 (grub_target_to_host64): Likewise.
21396
21397 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21398 Renamed from to ...
21399 (GRUB_MOD_ALIGN): ...this. Update all users.
21400
21401 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21402 grub_host_to_target32.
21403 Replace grub_be_to_cpu32 with grub_target_to_host32.
21404 (load_modules): Likewise.
21405 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21406 Replace grub_be_to_cpu32 with grub_target_to_host32.
21407 Replace grub_cpu_to_be16 with grub_host_to_target16.
21408 Replace grub_cpu_to_be32 grub_host_to_target32.
21409
21410 2007-10-12 Robert Millan <rmh@aybabtu.com>
21411
21412 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21413 * util/elf/grub-mkimage.c: ... here.
21414
21415 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21416 `util/powerpc/ieee1275/grub-mkimage.c'.
21417
21418 2007-10-07 Robert Millan <rmh@aybabtu.com>
21419
21420 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21421 and make it easier to figure out.
21422 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21423 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21424 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21425 leave us with less than HEAP_MIN_SIZE total heap.
21426 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21427
21428 2007-10-03 Robert Millan <rmh@aybabtu.com>
21429
21430 * include/grub/i386/io.h: New file.
21431 * commands/i386/pc/play.c (inb): Removed.
21432 (outb): Removed.
21433 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21434 with grub_outb().
21435 * term/i386/pc/serial.c (inb): Removed.
21436 (outb): Removed.
21437 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21438 with grub_outb().
21439 * term/i386/pc/vga.c (inb): Removed.
21440 (outb): Removed.
21441 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21442 with grub_outb().
21443
21444 2007-10-02 Robert Millan <rmh@aybabtu.com>
21445
21446 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21448 Reported by Marcin Kurek.
21449
21450 2007-09-07 Robert Millan <rmh@aybabtu.com>
21451
21452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21453 SmartFirmware version updates (as released by Sven Luther), and avoid
21454 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21455 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21456 known broken.
21457
21458 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21459
21460 From Hitoshi Ozeki:
21461 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21462 when merging two regions.
21463
21464 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21465
21466 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21467 * normal/completion.c (grub_normal_do_completion): Likewise.
21468 Reported by Hitoshi Ozeki.
21469
21470 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21471
21472 Do not use devices at boot in chainloading.
21473
21474 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21475 (boot_part_addr): Likewise.
21476 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21477 with BOOT_DRIVE and BOOT_PART_ADDR.
21478 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21479 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21480
21481 2007-08-29 Robert Millan <rmh@aybabtu.com>
21482
21483 Patch from Simon Peter <dn.tlp@gmx.net>:
21484 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21485 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21486 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21487 util/i386/pc/grub-setup.c_DEPENDENCIES.
21488 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21489 util/grub-probe.c_DEPENDENCIES.
21490 * conf/powerpc-ieee1275.rmk: Likewise.
21491
21492 2007-08-28 Robert Millan <rmh@aybabtu.com>
21493
21494 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21495 to tell grub-mkdevicemap how to name devices.
21496 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21497 feature).
21498
21499 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21500 util/i386/get_disk_name.c.
21501 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21502 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21503 util/ieee1275/get_disk_name.c.
21504
21505 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21506
21507 * DISTLIST: Add util/i386/get_disk_name.c and
21508 util/ieee1275/get_disk_name.c.
21509
21510 * util/grub-mkdevicemap.c: Replace device naming logic with
21511 grub_util_get_disk_name() calls.
21512
21513 2007-08-20 Robert Millan <rmh@aybabtu.com>
21514
21515 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21516 (so that it works for both plural and singular quantities).
21517
21518 2007-08-05 Robert Millan <rmh@aybabtu.com>
21519
21520 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21521 so that [xz] isn't taken into account when determining order.
21522
21523 2007-08-02 Marco Gerards <marco@gnu.org>
21524
21525 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21526 `include/multiboot2.h', `include/grub/elfload.h',
21527 `include/multiboot.h', `include/grub/multiboot.h',
21528 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21529 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21530 `kern/elf.c', `loader/multiboot_loader.c',
21531 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21532 `loader/i386/pc/multiboot2.c',
21533 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21534 `util/i386/pc/grub-mkrescue.in'. Remove
21535 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21536 `include/grub/i386/pc/util/biosdisk.h' and
21537 `include/grub/powerpc/ieee1275/multiboot.h'.
21538
21539 2007-08-02 Bean <bean123ch@gmail.com>
21540
21541 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21542 (ntfs_mod_SOURCES): New variable.
21543 (ntfs_mod_CFLAGS): Likewise.
21544 (ntfs_mod_LDFLAGS): Likewise.
21545
21546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21547 (grub_probe_SOURCES): Likewise.
21548 (grub_emu_SOURCES): Likewise.
21549
21550 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21551 (grub_emu_SOURCES): Likewise.
21552
21553 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21554 (grub_emu_SOURCES): Likewise.
21555
21556 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21557
21558 * fs/ntfs.c: New file.
21559
21560 2007-08-02 Bean <bean123ch@gmail.com>
21561
21562 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21563
21564 * file.h (grub_file): Likewise.
21565
21566 * fshelp.h (grub_fshelp_read_file): Likewise.
21567
21568 * util/i386/pc/grub-setup.c (setup): Likewise.
21569 (save_first_sector): Likewise.
21570 (save_blocklists): Likewise.
21571
21572 * fs/affs.c (grub_affs_read_file): Likewise.
21573
21574 * fs/ext2.c (grub_ext2_read_file): Likewise.
21575
21576 * fs/fat.c (grub_fat_read_data): Likewise.
21577
21578 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21579
21580 * fs/hfs.c (grub_hfs_read_file): Likewise.
21581
21582 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21583
21584 * fs/jfs.c (grub_jfs_read_file): Likewise.
21585
21586 * fs/minix.c (grub_minix_read_file): Likewise.
21587
21588 * fs/sfs.c (grub_sfs_read_file): Likewise.
21589
21590 * fs/ufs.c (grub_ufs_read_file): Likewise.
21591
21592 * fs/xfs.c (grub_xfs_read_file): Likewise.
21593
21594 * command/blocklist.c (read_blocklist): Likewise.
21595 (print_blocklist): Likewise.
21596
21597 2007-08-02 Marco Gerards <marco@gnu.org>
21598
21599 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21600 `util/hostfs.c'.
21601
21602 * disk/host.c: New file.
21603
21604 * util/hostfs.c: Likewise.
21605
21606 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21607 return `GRUB_ERR_BAD_FS'.
21608 * fs/sfs.c (grub_sfs_mount): Likewise.
21609 * fs/xfs.c (grub_xfs_mount): Likewise.
21610
21611 * include/grub/disk.h (enum grub_disk_dev_id): Add
21612 `GRUB_DISK_DEVICE_HOST_ID'.
21613
21614 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21615
21616 2007-07-24 Jerone Young <jerone@gmail.com>
21617
21618 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21619 modules for compilation.
21620 * conf/powerpc-ieee1275.rmk: Likewise.
21621
21622 * include/multiboot.h: Move multiboot definitions to one file. Rename
21623 many definitions to not get grub specific.
21624 * include/multiboot2.h: Create header with multiboot 2 definitions.
21625 * include/grub/multiboot.h: Header for grub specific function
21626 prototypes and definitions.
21627 * include/grub/multiboot2.h: Likewise.
21628 * include/grub/multiboot_loader.h: Likewise.
21629 * include/grub/i386/pc/multiboot.h: Removed.
21630 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21631
21632 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21633 and 2 to allow for one multiboot and module commands.
21634 * loader/multiboot2.c: Add multiboot2 functionality.
21635 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21636 and definition names.
21637 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21638 2 functions.
21639 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21640 ieee1275 specific multiboot2 code.
21641
21642 * kern/i386/pc/startup.S: Change headers and definition names for
21643 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21644
21645 2007-07-22 Robert Millan <rmh@aybabtu.com>
21646
21647 * geninitheader.sh: Process file specified in first parameter rather
21648 than hardcoding grub_modules_init.lst.
21649 * geninit.sh: Likewise. Also, construct header name dynamically rather
21650 than hardcoding grub_modules_init.h.
21651
21652 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21653 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21654 grub_probe_init.[ch] and grub_setup_init.[ch].
21655
21656 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21657 grub_modules_init.h with grub_emu_init.h.
21658 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21659 grub_probe_init.[ch] files.
21660 * conf/i386-efi.rmk: Likewise.
21661 * conf/i386-pc.rmk: Likewise.
21662 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21663 grub_setup_init.[ch] files.
21664
21665 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21666 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21667 to initialize modules rather than a list of hardcoded functions.
21668 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21669 grub_init_all() to initialize modules rather than a list of hardcoded
21670 functions.
21671
21672 2007-07-22 Robert Millan <rmh@aybabtu.com>
21673
21674 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21675 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21676
21677 2007-07-22 Robert Millan <rmh@aybabtu.com>
21678
21679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21680 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21681 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21682 flag when running on SmartFirmware.
21683 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21684 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21685 was set.
21686
21687 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21688 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21689 rather than decreasing it.
21690
21691 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21692 there's not enough space to do it, fail in the same way as when it
21693 can't be done because there are no partitions.
21694
21695 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21696 when nvsetenv failed.
21697
21698 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21699
21700 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21701 because this rule is automatically generated.
21702 (grub-mkrescue): Removed for the same reason as above.
21703
21704 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21705
21706 Migrate to GNU General Public License Version 3.
21707
21708 * COPYING: Replaced with the plain text version of GPLv3.
21709
21710 * config.guess: Updated from gnulib.
21711 * config.sub: Likewise.
21712
21713 * geninit.sh: Output a GPLv3 copyright notice.
21714 * geninitheader.sh: Likewise.
21715 * genmodsrc.sh: Likewise.
21716 * gensymlist.sh.in: Likewise.
21717
21718 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21719 * boot/i386/pc/diskboot.S: Likewise.
21720 * boot/i386/pc/pxeboot.S: Likewise.
21721 * commands/blocklist.c: Likewise.
21722 * commands/boot.c: Likewise.
21723 * commands/cat.c: Likewise.
21724 * commands/cmp.c: Likewise.
21725 * commands/configfile.c: Likewise.
21726 * commands/echo.c: Likewise.
21727 * commands/help.c: Likewise.
21728 * commands/ls.c: Likewise.
21729 * commands/search.c: Likewise.
21730 * commands/terminal.c: Likewise.
21731 * commands/test.c: Likewise.
21732 * commands/videotest.c: Likewise.
21733 * commands/i386/cpuid.c: Likewise.
21734 * commands/i386/pc/halt.c: Likewise.
21735 * commands/i386/pc/play.c: Likewise.
21736 * commands/i386/pc/reboot.c: Likewise.
21737 * commands/i386/pc/vbeinfo.c: Likewise.
21738 * commands/i386/pc/vbetest.c: Likewise.
21739 * commands/ieee1275/halt.c: Likewise.
21740 * commands/ieee1275/reboot.c: Likewise.
21741 * commands/ieee1275/suspend.c: Likewise.
21742 * disk/loopback.c: Likewise.
21743 * disk/lvm.c: Likewise.
21744 * disk/raid.c: Likewise.
21745 * disk/efi/efidisk.c: Likewise.
21746 * disk/i386/pc/biosdisk.c: Likewise.
21747 * disk/ieee1275/ofdisk.c: Likewise.
21748 * font/manager.c: Likewise.
21749 * fs/affs.c: Likewise.
21750 * fs/ext2.c: Likewise.
21751 * fs/fat.c: Likewise.
21752 * fs/fshelp.c: Likewise.
21753 * fs/hfs.c: Likewise.
21754 * fs/hfsplus.c: Likewise.
21755 * fs/iso9660.c: Likewise.
21756 * fs/jfs.c: Likewise.
21757 * fs/minix.c: Likewise.
21758 * fs/sfs.c: Likewise.
21759 * fs/ufs.c: Likewise.
21760 * fs/xfs.c: Likewise.
21761 * hello/hello.c: Likewise.
21762 * include/grub/acorn_filecore.h: Likewise.
21763 * include/grub/arg.h: Likewise.
21764 * include/grub/bitmap.h: Likewise.
21765 * include/grub/boot.h: Likewise.
21766 * include/grub/cache.h: Likewise.
21767 * include/grub/device.h: Likewise.
21768 * include/grub/disk.h: Likewise.
21769 * include/grub/dl.h: Likewise.
21770 * include/grub/elfload.h: Likewise.
21771 * include/grub/env.h: Likewise.
21772 * include/grub/err.h: Likewise.
21773 * include/grub/file.h: Likewise.
21774 * include/grub/font.h: Likewise.
21775 * include/grub/fs.h: Likewise.
21776 * include/grub/fshelp.h: Likewise.
21777 * include/grub/gzio.h: Likewise.
21778 * include/grub/hfs.h: Likewise.
21779 * include/grub/kernel.h: Likewise.
21780 * include/grub/loader.h: Likewise.
21781 * include/grub/lvm.h: Likewise.
21782 * include/grub/misc.h: Likewise.
21783 * include/grub/mm.h: Likewise.
21784 * include/grub/net.h: Likewise.
21785 * include/grub/normal.h: Likewise.
21786 * include/grub/parser.h: Likewise.
21787 * include/grub/partition.h: Likewise.
21788 * include/grub/pc_partition.h: Likewise.
21789 * include/grub/raid.h: Likewise.
21790 * include/grub/rescue.h: Likewise.
21791 * include/grub/script.h: Likewise.
21792 * include/grub/setjmp.h: Likewise.
21793 * include/grub/symbol.h: Likewise.
21794 * include/grub/term.h: Likewise.
21795 * include/grub/terminfo.h: Likewise.
21796 * include/grub/tparm.h: Likewise.
21797 * include/grub/types.h: Likewise.
21798 * include/grub/video.h: Likewise.
21799 * include/grub/efi/api.h: Likewise.
21800 * include/grub/efi/chainloader.h: Likewise.
21801 * include/grub/efi/console.h: Likewise.
21802 * include/grub/efi/console_control.h: Likewise.
21803 * include/grub/efi/disk.h: Likewise.
21804 * include/grub/efi/efi.h: Likewise.
21805 * include/grub/efi/pe32.h: Likewise.
21806 * include/grub/efi/time.h: Likewise.
21807 * include/grub/i386/linux.h: Likewise.
21808 * include/grub/i386/setjmp.h: Likewise.
21809 * include/grub/i386/types.h: Likewise.
21810 * include/grub/i386/efi/kernel.h: Likewise.
21811 * include/grub/i386/efi/loader.h: Likewise.
21812 * include/grub/i386/efi/time.h: Likewise.
21813 * include/grub/i386/pc/biosdisk.h: Likewise.
21814 * include/grub/i386/pc/boot.h: Likewise.
21815 * include/grub/i386/pc/chainloader.h: Likewise.
21816 * include/grub/i386/pc/console.h: Likewise.
21817 * include/grub/i386/pc/init.h: Likewise.
21818 * include/grub/i386/pc/kernel.h: Likewise.
21819 * include/grub/i386/pc/loader.h: Likewise.
21820 * include/grub/i386/pc/memory.h: Likewise.
21821 * include/grub/i386/pc/multiboot.h: Likewise.
21822 * include/grub/i386/pc/serial.h: Likewise.
21823 * include/grub/i386/pc/time.h: Likewise.
21824 * include/grub/i386/pc/vbe.h: Likewise.
21825 * include/grub/i386/pc/vbeblit.h: Likewise.
21826 * include/grub/i386/pc/vbefill.h: Likewise.
21827 * include/grub/i386/pc/vbeutil.h: Likewise.
21828 * include/grub/i386/pc/vga.h: Likewise.
21829 * include/grub/ieee1275/ieee1275.h: Likewise.
21830 * include/grub/ieee1275/ofdisk.h: Likewise.
21831 * include/grub/powerpc/libgcc.h: Likewise.
21832 * include/grub/powerpc/setjmp.h: Likewise.
21833 * include/grub/powerpc/types.h: Likewise.
21834 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21835 * include/grub/powerpc/ieee1275/console.h: Likewise.
21836 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21837 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21838 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21839 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21840 * include/grub/powerpc/ieee1275/time.h: Likewise.
21841 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21842 * include/grub/sparc64/libgcc.h: Likewise.
21843 * include/grub/sparc64/setjmp.h: Likewise.
21844 * include/grub/sparc64/types.h: Likewise.
21845 * include/grub/sparc64/ieee1275/console.h: Likewise.
21846 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21847 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21848 * include/grub/sparc64/ieee1275/time.h: Likewise.
21849 * include/grub/util/biosdisk.h: Likewise.
21850 * include/grub/util/getroot.h: Likewise.
21851 * include/grub/util/lvm.h: Likewise.
21852 * include/grub/util/misc.h: Likewise.
21853 * include/grub/util/raid.h: Likewise.
21854 * include/grub/util/resolve.h: Likewise.
21855 * io/gzio.c: Likewise.
21856 * kern/device.c: Likewise.
21857 * kern/disk.c: Likewise.
21858 * kern/dl.c: Likewise.
21859 * kern/elf.c: Likewise.
21860 * kern/env.c: Likewise.
21861 * kern/err.c: Likewise.
21862 * kern/file.c: Likewise.
21863 * kern/fs.c: Likewise.
21864 * kern/loader.c: Likewise.
21865 * kern/main.c: Likewise.
21866 * kern/misc.c: Likewise.
21867 * kern/mm.c: Likewise.
21868 * kern/parser.c: Likewise.
21869 * kern/partition.c: Likewise.
21870 * kern/rescue.c: Likewise.
21871 * kern/term.c: Likewise.
21872 * kern/efi/efi.c: Likewise.
21873 * kern/efi/init.c: Likewise.
21874 * kern/efi/mm.c: Likewise.
21875 * kern/i386/dl.c: Likewise.
21876 * kern/i386/efi/init.c: Likewise.
21877 * kern/i386/efi/startup.S: Likewise.
21878 * kern/i386/pc/init.c: Likewise.
21879 * kern/i386/pc/lzo1x.S: Likewise.
21880 * kern/i386/pc/startup.S: Likewise.
21881 * kern/ieee1275/ieee1275.c: Likewise.
21882 * kern/powerpc/cache.S: Likewise.
21883 * kern/powerpc/dl.c: Likewise.
21884 * kern/powerpc/ieee1275/cmain.c: Likewise.
21885 * kern/powerpc/ieee1275/crt0.S: Likewise.
21886 * kern/powerpc/ieee1275/init.c: Likewise.
21887 * kern/powerpc/ieee1275/openfw.c: Likewise.
21888 * kern/sparc64/cache.S: Likewise.
21889 * kern/sparc64/dl.c: Likewise.
21890 * kern/sparc64/ieee1275/init.c: Likewise.
21891 * kern/sparc64/ieee1275/openfw.c: Likewise.
21892 * loader/efi/chainloader.c: Likewise.
21893 * loader/efi/chainloader_normal.c: Likewise.
21894 * loader/i386/efi/linux.c: Likewise.
21895 * loader/i386/efi/linux_normal.c: Likewise.
21896 * loader/i386/pc/chainloader.c: Likewise.
21897 * loader/i386/pc/chainloader_normal.c: Likewise.
21898 * loader/i386/pc/linux.c: Likewise.
21899 * loader/i386/pc/linux_normal.c: Likewise.
21900 * loader/i386/pc/multiboot.c: Likewise.
21901 * loader/i386/pc/multiboot_normal.c: Likewise.
21902 * loader/powerpc/ieee1275/linux.c: Likewise.
21903 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21904 * normal/arg.c: Likewise.
21905 * normal/cmdline.c: Likewise.
21906 * normal/command.c: Likewise.
21907 * normal/completion.c: Likewise.
21908 * normal/execute.c: Likewise.
21909 * normal/function.c: Likewise.
21910 * normal/lexer.c: Likewise.
21911 * normal/main.c: Likewise.
21912 * normal/menu.c: Likewise.
21913 * normal/menu_entry.c: Likewise.
21914 * normal/misc.c: Likewise.
21915 * normal/parser.y: Likewise.
21916 * normal/script.c: Likewise.
21917 * normal/i386/setjmp.S: Likewise.
21918 * normal/powerpc/setjmp.S: Likewise.
21919 * normal/sparc64/setjmp.S: Likewise.
21920 * partmap/acorn.c: Likewise.
21921 * partmap/amiga.c: Likewise.
21922 * partmap/apple.c: Likewise.
21923 * partmap/gpt.c: Likewise.
21924 * partmap/pc.c: Likewise.
21925 * partmap/sun.c: Likewise.
21926 * term/gfxterm.c: Likewise.
21927 * term/terminfo.c: Likewise.
21928 * term/efi/console.c: Likewise.
21929 * term/i386/pc/console.c: Likewise.
21930 * term/i386/pc/serial.c: Likewise.
21931 * term/i386/pc/vesafb.c: Likewise.
21932 * term/i386/pc/vga.c: Likewise.
21933 * term/ieee1275/ofconsole.c: Likewise.
21934 * util/biosdisk.c: Likewise.
21935 * util/console.c: Likewise.
21936 * util/genmoddep.c: Likewise.
21937 * util/getroot.c: Likewise.
21938 * util/grub-emu.c: Likewise.
21939 * util/grub-mkdevicemap.c: Likewise.
21940 * util/grub-probe.c: Likewise.
21941 * util/lvm.c: Likewise.
21942 * util/misc.c: Likewise.
21943 * util/raid.c: Likewise.
21944 * util/resolve.c: Likewise.
21945 * util/update-grub.in: Likewise.
21946 * util/update-grub_lib.in: Likewise.
21947 * util/grub.d/00_header.in: Likewise.
21948 * util/grub.d/10_hurd.in: Likewise.
21949 * util/grub.d/10_linux.in: Likewise.
21950 * util/i386/efi/grub-install.in: Likewise.
21951 * util/i386/efi/grub-mkimage.c: Likewise.
21952 * util/i386/pc/grub-install.in: Likewise.
21953 * util/i386/pc/grub-mkimage.c: Likewise.
21954 * util/i386/pc/grub-mkrescue.in: Likewise.
21955 * util/i386/pc/grub-setup.c: Likewise.
21956 * util/i386/pc/misc.c: Likewise.
21957 * util/powerpc/ieee1275/grub-install.in: Likewise.
21958 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21959 * util/powerpc/ieee1275/misc.c: Likewise.
21960 * video/bitmap.c: Likewise.
21961 * video/video.c: Likewise.
21962 * video/i386/pc/vbe.c: Likewise.
21963 * video/i386/pc/vbeblit.c: Likewise.
21964 * video/i386/pc/vbefill.c: Likewise.
21965 * video/i386/pc/vbeutil.c: Likewise.
21966 * video/readers/tga.c: Likewise.
21967
21968 2007-07-02 Robert Millan <rmh@aybabtu.com>
21969
21970 * conf/i386-efi.rmk: Replace obsolete reference to
21971 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21972 with util/getroot.c.
21973 * conf/powerpc-ieee1275.rmk: Likewise.
21974 * conf/sparc64-ieee1275.rmk: Likewise.
21975
21976 * util/grub-emu.c (main): Fix unchecked pointer handling.
21977
21978 2007-07-02 Robert Millan <rmh@aybabtu.com>
21979
21980 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21981 invocation to fail, in order to support partition-less media.
21982
21983 * util/i386/pc/grub-install.in: Likewise.
21984
21985 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21986 which fs or partmap modules are needed (akin to its sister scripts).
21987
21988 Also use grub-probe to get rid of unportable /proc/mounts check.
21989
21990 Print the same informational message that the other scripts do, before
21991 exiting.
21992
21993 2007-06-23 Robert Millan <rmh@aybabtu.com>
21994
21995 * util/update-grub_lib.in (font_path): New function. Determine whether
21996 a font file can be found and, if so, echo the GRUB path to it.
21997
21998 * util/update-grub.in: Handle multiple terminals depending on user
21999 input, platform availability and font file presence. Propagate
22000 variables of our findings to /etc/grub.d/ children.
22001
22002 * util/grub.d/00_header.in: Handle multiple terminals, based on
22003 environment setup by update-grub.
22004
22005 2007-06-23 Robert Millan <rmh@aybabtu.com>
22006
22007 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
22008
22009 2007-06-21 Robert Millan <rmh@aybabtu.com>
22010
22011 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22012 indicate end of data section in kernel image.
22013 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22014 GRUB_KERNEL_MACHINE_DATA_END.
22015
22016 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22017 space for it.
22018 * kern/i386/efi/startup.S: Likewise.
22019
22020 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22021 during image generation. Implement --prefix option to override this
22022 patch.
22023 * util/i386/efi/grub-mkimage.c: Likewise.
22024
22025 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22026 code to make path relative to its root into a separate function.
22027
22028 * util/i386/pc/grub-install.in: Use newly provided
22029 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22030 pass the result to grub-install --prefix.
22031
22032 2007-06-13 Robert Millan <rmh@aybabtu.com>
22033
22034 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22035 DEFAULT_DEVICE_MAP.
22036 * util/grub-emu.c: Use above definitions from misc.h instead of
22037 defining them.
22038 * util/grub-mkdevicemap.c: Likewise.
22039 * util/i386/pc/grub-setup.c: Likewise.
22040 * util/grub-probe.c: Likewise.
22041 (probe): Abort with grub_util_error() when either
22042 grub_guess_root_device or grub_util_get_grub_dev fails.
22043
22044 2007-06-12 Robert Millan <rmh@aybabtu.com>
22045
22046 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22047 "pager" assignment.
22048 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22049 "pcdata".
22050 * util/grub-probe.c (probe): Likewise for "drive_name".
22051
22052 2007-06-11 Robert Millan <rmh@aybabtu.com>
22053
22054 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22055 not just the cdrom one.
22056
22057 2007-06-11 Robert Millan <rmh@aybabtu.com>
22058
22059 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22060 Add --pkglibdir=DIR option to override pkglibdir.
22061 Mention --image-type=TYPE in help output.
22062 Fix --grub-mkimage (it was a no-op).
22063 Abort gracefully when no parameter is given.
22064
22065 2007-06-11 Robert Millan <rmh@aybabtu.com>
22066
22067 * util/i386/pc/grub-mkrescue.in: New file.
22068 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22069 * Makefile.in: Handle bin_SCRIPTS.
22070
22071 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22072
22073 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22074 list of video modes.
22075
22076 2007-06-06 Robert Millan <rmh@aybabtu.com>
22077
22078 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22079 file doesn't exist, or if it is in a filesystem grub can't read.
22080
22081 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22082 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22083 header comment to fit in 80 columns when the variables are resolved.
22084
22085 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22086 could be identified by update-grub. Remove redundant check for
22087 unifont.pff existence (since convert_system_path_to_grub_path now
22088 handles that).
22089
22090 2007-06-04 Robert Millan <rmh@aybabtu.com>
22091
22092 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22093
22094 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22095
22096 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22097
22098 2007-06-04 Robert Millan <rmh@aybabtu.com>
22099
22100 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22101
22102 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22103 grub_apple_partition_map_fini.
22104
22105 * util/biosdisk.c
22106 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22107 to access >2 TiB disks).
22108
22109 Print disk->total_sectors with %llu instead of %lu, since this
22110 variable is always 64-bit (prevents wrong disk size from being displayed
22111 on either >2 TiB disk or big-endian CPU).
22112
22113 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22114 into a generic case that supports all (sane) partition maps.
22115
22116 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22117 breaks big-endian.
22118
22119 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22120 and grub_apple_partition_map_fini() after that.
22121
22122 2007-06-01 Robert Millan <rmh@aybabtu.com>
22123
22124 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22125
22126 * util/grub.d/00_header.in: Only enable gfxterm when
22127 convert_system_path_to_grub_path() succeeds.
22128
22129 2007-05-20 Robert Millan <rmh@aybabtu.com>
22130
22131 * util/update-grub_lib.in: New file.
22132 * DISTLIST: Add update-grub_lib.in.
22133 * conf/common.rmk: Generate update-grub_lib and install it in
22134 $(lib_DATA).
22135 * Makefile.in: Add install routine for $(lib_DATA).
22136
22137 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22138 function provided by update-grub_lib to support arbitrary paths of
22139 unifont.pff.
22140 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22141 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22142
22143 2007-05-19 Robert Millan <rmh@aybabtu.com>
22144
22145 * commands/i386/cpuid.c: New module.
22146 * DISTLIST: Add it.
22147 * conf/i386-efi.rmk: Enable cpuid.mod.
22148 * conf/i386-pc.rmk: Likewise.
22149
22150 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22151
22152 * kern/disk.c (grub_disk_read): Check return value of
22153 grub_realloc().
22154
22155 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22156
22157 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22158 arrays.
22159 * disk/raid.c (grub_raid_open): Likewise.
22160
22161 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22162
22163 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22164 stack instead of on the heap.
22165
22166 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22167 before doing a read on it.
22168
22169 * configure.ac: Only use -fno-stack-protector for the target
22170 environment.
22171
22172 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22173
22174 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22175 __attribute_ ((unused)) to mode_type argument.
22176
22177 * util/getroot.c (grub_guess_root_device): Fix #endif.
22178
22179 * kern/misc.c (memcmp): Fix prototype.
22180
22181 * include/grub/partition.h [GRUB_UTIL]
22182 (grub_gpt_partition_map_init): Add prototype.
22183 (grub_gpt_partition_map_fini): Likewise.
22184
22185 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22186 at the right place.
22187
22188 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22189 (grub_fat_read_data): Likewise.
22190 (grub_fat_find_dir): Likewise.
22191
22192 * font/manager.c (find_glyph): Make table a const.
22193 (grub_font_get_glyph): Remove bitmap from if statement.
22194
22195 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22196
22197 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22198 code, first search for device in /dev/mapper, then in /dev.
22199 (grub_util_get_grub_dev): New function.
22200 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22201 prototype.
22202 * util/grub-probe.c (probe): Remove check for RAID, call
22203 grub_util_get_grub_dev() instead of
22204 grub_util_biosdisk_get_grub_dev().
22205 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22206 grub_util_biosdisk_get_grub_dev().
22207 * util/i386/pc/grub-setup.c (main): Likewise.
22208
22209 2007-05-16 Robert Millan <rmh@aybabtu.com>
22210
22211 * DISTLIST: Update for the latest changes.
22212 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22213 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22214 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22215 grub/util/biosdisk.h.
22216 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22217 grub/util/biosdisk.h.
22218
22219 2007-05-16 Robert Millan <rmh@aybabtu.com>
22220
22221 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22222
22223 2007-05-16 Robert Millan <rmh@aybabtu.com>
22224
22225 * util/i386/efi/grub-install.in: New.
22226 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22227 newly added grub-install.
22228 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22229 include.
22230 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22231 grub/util/biosdisk.h.
22232 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22233 grub/util/biosdisk.h.
22234
22235 2007-05-16 Robert Millan <rmh@aybabtu.com>
22236
22237 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22238 * include/grub/util/biosdisk.h: ... here.
22239 * util/i386/pc/biosdisk.c: Moved to ...
22240 * util/biosdisk.c: ... here.
22241 * util/i386/pc/getroot.c: Moved to ...
22242 * util/getroot.c: ... here.
22243 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22244 * util/grub-mkdevicemap.c: ... here.
22245 * util/i386/pc/grub-probe.c: Moved to ...
22246 * util/grub-probe.c: ... here.
22247
22248 2007-05-15 Robert Millan <rmh@aybabtu.com>
22249
22250 * util/update-grub.in: Remove duplicated line in grub.cfg header
22251 message.
22252
22253 2007-05-13 Robert Millan <rmh@aybabtu.com>
22254
22255 * util/update-grub.in: Fix a few assumptions about the devices holding
22256 /, /boot and /boot/grub being the same.
22257 * util/grub.d/00_header.in: Likewise.
22258 * util/grub.d/10_hurd.in: Likewise.
22259 * util/grub.d/10_linux.in: Likewise.
22260
22261 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22262 patterns. Use that to define the `.old' suffix as older than `'.
22263
22264 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22265
22266 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22267 the grub.cfg header message.
22268
22269 2007-05-11 Robert Millan <rmh@aybabtu.com>
22270
22271 * util/update-grub.in: Create device.map if it doesn't already exist,
22272 before attempting to run grub-probe.
22273 Check for grub-probe and grub-mkdevicemap with the same code
22274 grub-install is using.
22275 Remove test mode.
22276
22277 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22278
22279 * Makefile.in: Add the datarootdir autoconf variable.
22280
22281 2007-05-09 Robert Millan <rmh@aybabtu.com>
22282
22283 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22284 fail gracefully if dev->disk->partition == NULL.
22285
22286 2007-05-07 Robert Millan <rmh@aybabtu.com>
22287
22288 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22289 determine partition map module.
22290 * util/i386/pc/grub-install.in: Use this feature to decide which
22291 partition module to load, instead of hardcoding pc and gpt.
22292
22293 2007-05-07 Robert Millan <rmh@aybabtu.com>
22294
22295 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22296 source directory differs from build directory.
22297
22298 2007-05-05 Robert Millan <rmh@aybabtu.com>
22299
22300 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22301 initialisation.
22302
22303 2007-05-05 Robert Millan <rmh@aybabtu.com>
22304
22305 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22306
22307 2007-05-05 Robert Millan <rmh@aybabtu.com>
22308
22309 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22310 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22311
22312 2007-05-05 Robert Millan <rmh@aybabtu.com>
22313
22314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22315 (grub_probe_SOURCES): Likewise.
22316 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22317 GPT and initialize dos_part and bsd_part accordingly.
22318 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22319 install_bsd_part.
22320 (main): Activate gpt module for use during partition identification,
22321 and deactivate it afterwards.
22322 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22323 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22324 partition identification, and deactivate it afterwards.
22325
22326 2007-05-05 Robert Millan <rmh@aybabtu.com>
22327
22328 * term/i386/pc/console.c (grub_console_fini): Call
22329 grub_term_set_current() before grub_term_unregister().
22330
22331 2007-05-04 Robert Millan <rmh@aybabtu.com>
22332
22333 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22334 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22335 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22336 and update-grub_DATA.
22337 * conf/common.rmk: Build and install update-grub components.
22338 * conf/common.mk: Regenerate.
22339 * util/update-grub.in: New. Core of update-grub.
22340 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22341 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22342 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22343 * util/grub.d/README: New. Document grub.d directory layout.
22344
22345 2007-05-01 Robert Millan <rmh@aybabtu.com>
22346
22347 * util/grub-emu.c: Move initialization functions
22348 grub_util_biosdisk_init() and grub_init_all() before
22349 grub_util_biosdisk_get_grub_dev(), which relies on them.
22350
22351 2007-04-19 Robert Millan <rmh@aybabtu.com>
22352
22353 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22354 it is used later.
22355
22356 2007-04-18 Jerone Young <jerone@gmail.com>
22357
22358 * kernel/elf.c: Add missing parenthesis for conditional statement
22359 stanza.
22360
22361 2007-04-10 Jerone Young <jerone@gmail.com>
22362
22363 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22364 continue on and look for device node with real device name.
22365
22366 2007-04-10 Jerone Young <jerone@gmail.com>
22367
22368 * configure.ac: Add argument for autoconf to use transformation
22369 ability.
22370 * Makefile.in: Add autoconf package transformation code.
22371 * util/i386/pc/grub-install.in: Likewise.
22372 * util/powerpc/ieee1275/grub-install.in: Likewise.
22373
22374 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22375
22376 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22377 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22378 (EXT2_REVISION): Likewise.
22379 (EXT2_INODE_SIZE): Likewise.
22380 (struct grub_ext2_block_group): Added a missing member
22381 "used_dirs".
22382 (grub_ext2_read_inode): Divide by the inode size in a superblock
22383 instead of 128 to obtain INODES_PER_BLOCK.
22384 Use the macro EXT2_INODE_SIZE instead of directly using
22385 SBLOCK->INODE_SIZE.
22386
22387 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22388
22389 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22390 superblock instead of the structure size to compute an
22391 offset. This fixes the problem that GRUB could not read a
22392 filesystem when inode size is different from 128-byte.
22393
22394 2007-03-05 Marco Gerards <marco@gnu.org>
22395
22396 * normal/main.c (read_config_file): When "menu" is not set, create
22397 an initial context.
22398
22399 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22400
22401 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22402 (HEAP_LIMIT): New macro.
22403 (grub_claim_heap): Claim memory up to `heaplimit'.
22404
22405 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22406
22407 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22408 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22409 (_start): Likewise.
22410 (grub_arch_modules_addr): Return address after `_end'.
22411 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22412 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22413 (add_segments): Calculate `_end' from phdr size and location.
22414 (ALIGN_UP): Moved to ...
22415 * include/grub/misc.h: here.
22416 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22417 New macro.
22418 (GRUB_IEEE1275_MODULE_BASE): Removed.
22419
22420 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22421
22422 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22423 loop boundary.
22424
22425 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22426
22427 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22428 All users updated.
22429 (grub_elf64_load_hook_t): Likewise.
22430 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22431 debug output.
22432
22433 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22434
22435 * kern/mm.c: Update copyright.
22436 (grub_mm_debug): Correct syntax error.
22437 (grub_mm_dump_free): New function.
22438 (grub_debug_free): Call `grub_free'.
22439 * include/grub/mm.h: Update copyright.
22440 (grub_mm_dump_free): Add declaration.
22441
22442 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22443
22444 * include/grub/ieee1275/ieee1275.h: Update copyright.
22445 * kern/powerpc/ieee1275/init.c: Likewise.
22446 * kern/powerpc/ieee1275/openfw.c: Likewise.
22447
22448 * loader/powerpc/ieee1275/linux.c: Likewise.
22449 * include/grub/elfload.h: Likewise.
22450 * kern/elf.c: Likewise.
22451 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22452 callers.
22453 (grub_elf64_load): Likewise.
22454 (grub_elf32_load_segment): Move to a nested function.
22455 (grub_elf64_load_segment): Likewise.
22456
22457 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22458
22459 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22460 prototype.
22461 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22462 (grub_heap_len): Likewise.
22463 (HEAP_SIZE): New macro.
22464 (grub_claim_heap): New function.
22465 (grub_machine_init): Don't claim heap directly. Call
22466 `grub_claim_heap'.
22467 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22468 (grub_available_iterate): New function.
22469
22470 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22471
22472 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22473 * configure.ac: Use it for testing the HOST and TARGET compilers.
22474
22475 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22476
22477 * Makefile.in (enable_grub_emu): New variable.
22478 * configure.ac (--enable-grub-emu): New option.
22479 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22480 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22481 * conf/i386-pc.rmk: Likewise.
22482 * conf/powerpc-ieee1275.rmk: Likewise.
22483 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22484
22485 2006-12-12 Marco Gerards <marco@gnu.org>
22486
22487 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22488
22489 * kern/env.c (grub_env_unset): Don't free the member `value' when
22490 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22491 pointer.
22492
22493 * normal/main.c (current_menu): Removed.
22494 (free_menu): Unset the `menu' environment variable.
22495 (grub_normal_menu_addentry): Make use of the environment variable
22496 `menu', instead of using the global `current_menu'. Allocate
22497 memory for the sourcecode of this entry.
22498 (read_config_file): New argument `nested', changed all callers.
22499 Only in the case of a new context, initialize a new menu. Set the
22500 `menu' environment variable.
22501 (grub_normal_execute): Don't set and unset the environment
22502 variable `menu' here anymore. Only free the menu when leaving the
22503 context.
22504
22505 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22506 leak.
22507
22508 2006-12-11 Marco Gerards <marco@gnu.org>
22509
22510 * normal/menu_entry.c (run): Fix off by one bug so the last line
22511 is executed. Move the loader check to outside the loop.
22512
22513 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22514
22515 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22516
22517 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22518
22519 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22520 the number of sectors. Reported by Andrey Shuvikov
22521 <mr_hyro@yahoo.com>.
22522
22523 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22524
22525 * kern/disk.c (grub_disk_read): When there is a read error, always
22526 try to read only the necessary data.
22527
22528 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22529 disk/raid.c.
22530 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22531 prototype.
22532 [GRUB_UTIL] (grub_raid_fini): Likewise.
22533 [GRUB_UTIL] (grub_lvm_init): Likewise.
22534 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22535 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22536 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22537 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22538 and grub_raid_fini().
22539
22540 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22541
22542 * include/grub/types.h (__unused): Rename to UNUSED.
22543 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22544 (grub_elf64_size): Likewise.
22545
22546 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22547
22548 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22549 grub_error_push and grub_error_pop in the error-handling path.
22550 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22551 length.
22552
22553 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22554
22555 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22556 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22558 (kernel_elf_SOURCES): Likewise.
22559 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22560 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22561 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22562 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22563 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22564 (elf_mod_SOURCES): New variable.
22565 (elf_mod_CFLAGS): Likewise.
22566 (elf_mod_LDFLAGS): Likewise.
22567 * include/grub/types.h (__unused): New macro.
22568 * include/grub/elfload.h: New file.
22569 * kern/elf.c: Likewise.
22570 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22571 (ELF32_LOADMASK): New macro.
22572 (ELF64_LOADMASK): Likewise.
22573 (vmlinux): Removed.
22574 (grub_linux_load32): New function.
22575 (grub_linux_load64): Likewise.
22576 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22577 Use grub_elf_t instead of grub_file_t.
22578
22579 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22580
22581 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22582 `catch_result' to struct set_color_args.
22583
22584 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22585
22586 * normal/menu.c: Include grub/script.h.
22587 * normal/menu_entry.c: Likewise.
22588 * include/grub/normal.h: Do not include grub/script.h.
22589
22590 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22591
22592 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22593
22594 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22595
22596 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22597 disk.
22598 (grub_disk_close): Print debug messages when closing a disk.
22599 (grub_disk_read): Print debug messages when disk read fails.
22600 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22601 filesystem type.
22602 * kern/partition.c: Include misc.h.
22603 (grub_partition_iterate): Print debug messages when detecting
22604 partition type.
22605
22606 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22607
22608 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22609 is negative.
22610 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22611
22612 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22613
22614 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22615 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22616
22617 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22618
22619 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22620 instead of sizeof(lv). Patch by Michael Guntsche.
22621
22622 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22623
22624 * disk/lvm.c: Rename VGS to VG_LIST.
22625 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22626 (grub_lvm_open): Likewise.
22627 Thanks to Michael Guntsche for finding this bug.
22628
22629 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22630
22631 * configure.ac (AC_INIT): Bumped to 1.95.
22632
22633 2006-10-14 Robert Millan <rmh@aybabtu.com>
22634
22635 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22636 with "/dev/.static/dev/md".
22637
22638 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22639
22640 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22641 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22642 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22643 DRIVE_NAME are always freed.
22644
22645 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22646 DOS_PART, as a DOS partition is counted from one instead of zero
22647 now. Reported by Robert Millan.
22648
22649 2006-10-14 Robert Millan <rmh@aybabtu.com>
22650
22651 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22652 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22653 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22654 string returned by grub_guess_root_device.
22655 * util/i386/pc/grub-setup.c: Likewise.
22656 * util/i386/pc/grub-probefs.c: Likewise.
22657
22658 * util/i386/pc/grub-probefs.c: Rename to ...
22659 * util/i386/pc/grub-probe.c: ... this.
22660 * DISTLIST: Remove grub-probefs, add grub-probe.
22661 * conf/i386-efi.rmk: Likewise.
22662 * conf/i386-pc.rmk: Likewise.
22663 * util/i386/pc/grub-install.in: Likewise.
22664
22665 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22666 choose which information we want to print.
22667
22668 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22669
22670 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22671 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22672 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22673 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22674 video/readers/tga.c and video/i386/pc/vbeutil.c.
22675
22676 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22677
22678 Added support for RAID and LVM.
22679
22680 * disk/lvm.c: New file.
22681 * disk/raid.c: Likewise.
22682 * include/grub/lvm.h: Likewise.
22683 * include/grub/raid.h: Likewise.
22684 * include/grub/util/lvm.h: Likewise.
22685 * include/grub/util/raid.h: Likewise.
22686 * util/lvm.c: Likewise.
22687 * util/raid.c: Likewise.
22688
22689 * include/grub/disk.h (grub_disk_dev_id): Add
22690 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22691 (grub_disk_get_size): New prototype.
22692 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22693 returns a partition.
22694 (grub_disk_get_size): New function.
22695
22696 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22697 verbatim if grub_install_dos_part is -2.
22698
22699 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22700 and LVM devices.
22701
22702 * util/i386/pc/grub-setup.c (setup): New argument
22703 MUST_EMBED. Force embedding of GRUB when the argument is
22704 true. Close FILE before returning.
22705 (main): Add support for RAID and LVM.
22706
22707 * conf/common.rmk: Add RAID and LVM modules.
22708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22709 util/lvm.c.
22710 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22711
22712 * kern/misc.c (grub_strstr): New function.
22713 * include/grub/misc.h (grub_strstr): New prototype.
22714
22715 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22716
22717 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22718
22719 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22720
22721 * kern/misc.c (grub_strtoull): Guess the base only if not
22722 specified.
22723
22724 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22725
22726 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22727 PowerMac support.
22728
22729 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22730
22731 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22732
22733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22734 Remove `flags' argument. All callers changed.
22735 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22736 (IEEE1275_IHANDLE_INVALID): New variable.
22737 (IEEE1275_CELL_INVALID): New variable.
22738 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22739 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22740 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22741 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22742 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22743 codes from Open Firmware. All callers updated.
22744 (grub_ieee1275_next_property): Directly return Open Firmware return
22745 code.
22746 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22747 Standardize error checking from `grub_ieee1275_get_property'.
22748 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22749 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22750
22751 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22752
22753 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22754 `instance_to_package_args' to `instance_to_path_args'.
22755
22756 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22757 `grub_ieee1275_chosen'.
22758
22759 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22760 `grub_ieee1275_interpret'.
22761
22762 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22763
22764 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22765
22766 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22767
22768 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22769 (__cmpdi): Likewise.
22770
22771 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22772 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22773 `grub_ssize_t'.
22774
22775 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22776
22777 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22778 to type `grub_ssize_t'.
22779 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22780
22781 2006-09-22 Marco Gerards <marco@gnu.org>
22782
22783 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22784 newlines.
22785
22786 2006-09-22 Marco Gerards <marco@gnu.org>
22787
22788 * commands/echo.c: New file.
22789
22790 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22791
22792 * conf/common.rmk (echo_mod_SOURCES): New variable.
22793 (echo_mod_CFLAGS): Likewise.
22794 (echo_mod_LDFLAGS): Likewise.
22795
22796 2006-09-22 Marco Gerards <marco@gnu.org>
22797
22798 * normal/main.c (get_line): Malloc memory instead of using
22799 preallocated memory. Removed the arguments `cmdline' and
22800 `max_len'. Updated all callers.
22801
22802 2006-09-22 Marco Gerards <marco@gnu.org>
22803
22804 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22805 (normal_mod_DEPENDENCIES): Likewise.
22806
22807 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22808 (normal_mod_DEPENDENCIES): Likewise.
22809
22810 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22811
22812 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22813
22814 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22815 programs.
22816 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22817 (normal_mod_DEPENDENCIES): Likewise.
22818 * conf/i386-pc.mk: Regenerate.
22819 * conf/i386-efi.mk: Likewise
22820 * conf/common.mk: Likewise.
22821 * conf/powerpc-ieee1275.mk: Likewise.
22822 * conf/sparc64-ieee1275.mk: Likewise.
22823
22824 2006-09-22 Robert Millan <rmh@aybabtu.com>
22825
22826 Sync with i386 version.
22827 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22828 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22829
22830 2006-09-21 Robert Millan <rmh@aybabtu.com>
22831
22832 Import from GRUB Legacy (lib/device.c):
22833 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22834 (init_device_map) [__linux__]: Add support for I2O devices.
22835
22836 2006-09-14 Marco Gerards <marco@gnu.org>
22837
22838 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22839 `-melf_i386'.
22840
22841 2006-09-14 Robert Millan <rmh@aybabtu.com>
22842
22843 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22844 /boot/grub/*.lst.
22845
22846 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22847
22848 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22849 before adding it to device.map.
22850
22851 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22852
22853 * genmk.rb: Let GCC generate dependencies the first time it
22854 compiles a file; using the -MD option.
22855 * conf/common.mk: Regenerate.
22856 * conf/i386-pc.mk: Likewise.
22857 * conf/i386-efi.mk: Likewise.
22858 * conf/powerpc-ieee1275.mk: Likewise.
22859 * conf/sparc64-ieee1275.mk: Likewise.
22860
22861 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22862
22863 Move the prototypes of grub_setjmp and grub_longjmp to
22864 cpu/setjmp.h, so that each architecture may specify different
22865 attributes.
22866
22867 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22868 (grub_longjmp): Likewise.
22869 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22870 (grub_longjmp): Likewise.
22871 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22872 (grub_longjmp): Likewise.
22873
22874 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22875 [!GRUB_UTIL] (grub_longjmp): Removed.
22876
22877 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22878
22879 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22880 "color!" method does not return any value.
22881
22882 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22883
22884 * include/grub/bitmap.h: New file.
22885
22886 * include/grub/i386/pc/vbeutil.h: Likewise.
22887
22888 * video/bitmap.c: Likewise.
22889
22890 * video/readers/tga.c: Likewise.
22891
22892 * video/i386/pc/vbeutil.c: Likewise.
22893
22894 * commands/videotest.c: Code cleanup and updated to reflect to new
22895 video API.
22896
22897 * term/gfxterm.c: Likewise.
22898
22899 * video/video.c: Likewise.
22900
22901 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22902 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22903 (bitmap_mod_SOURCES): New entry.
22904 (bitmap_mod_CFLAGS): Likewise.
22905 (bitmap_mod_LDFLAGS): Likewise.
22906 (tga_mod_SOURCES): Likewise.
22907 (tga_mod_CFLAGS): Likewise.
22908 (tga_mod_LDFLAGS): Likewise.
22909
22910 * include/grub/video.h (grub_video_blit_operators): New enum type.
22911 (grub_video_render_target): Changed as forward declaration and moved
22912 actual definition to be video driver specific.
22913 (grub_video_adapter.blit_bitmap): Added blitting operator.
22914 (grub_video_adapter.blit_render_target): Likewise.
22915 (grub_video_blit_bitmap): Likewise.
22916 (grub_video_blit_render_target): Likewise.
22917
22918 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22919 driver specific render target definition.
22920 (grub_video_vbe_map_rgba): Added driver internal helper.
22921 (grub_video_vbe_unmap_color): Updated to use
22922 grub_video_i386_vbeblit_info.
22923 (grub_video_vbe_get_video_ptr): Likewise.
22924
22925 * include/grub/i386/pc/vbeblit.h
22926 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22927 grub_video_i386_vbeblit_info.
22928 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22929 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22930 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22931 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22932 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22933 (grub_video_i386_vbeblit_index_index): Likewise.
22934 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22935 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22936 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22937 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22938 operator.
22939 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22940 operator.
22941
22942 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22943 include/grub/i386/pc/vbeblit.h.
22944
22945 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22946 Updated to use grub_video_i386_vbeblit_info.
22947 (grub_video_i386_vbefill_R8G8B8): Likewise.
22948 (grub_video_i386_vbefill_index): Likewise.
22949 (grub_video_i386_vbefill): Added generic filler.
22950
22951 * video/i386/pc/vbefill.c: Updated to reflect changes on
22952 include/grub/i386/pc/vbefill.h.
22953
22954 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22955 grub_video_i386_vbeblit_info.
22956 (grub_video_vbe_unmap_color): Likewise.
22957 (grub_video_vbe_blit_glyph): Likewise.
22958 (grub_video_vbe_scroll): Likewise.
22959 (grub_video_vbe_draw_pixel): Removed function.
22960 (grub_video_vbe_get_pixel): Likewise.
22961 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22962 updated code to use it.
22963 (common_blitter): Added common blitter for render target and bitmap.
22964 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22965 (grub_video_vbe_blit_render_target): Likewise.
22966
22967 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22968
22969 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22970 is in text mode if there is no console control protocol instance
22971 available.
22972
22973 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22974
22975 * include/grub/video.h: Code cleanup.
22976
22977 * include/grub/i386/pc/vbe.h: Likewise.
22978
22979 * video/i386/pc/vbe.c: Likewise.
22980
22981 * video/i386/pc/vbeblit.c: Likewise.
22982
22983 * video/i386/pc/vbefill.c: Likewise.
22984
22985 * video/video.c: Likewise. Also added more comments.
22986
22987 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22988
22989 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22990 (struct grub_biosdisk_dap): Likewise.
22991
22992 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22993 linkage settings for all functions.
22994
22995 2006-07-12 Marco Gerards <marco@gnu.org>
22996
22997 * configure.ac (--enable-mm-debug): Fix typo.
22998
22999 * genkernsyms.sh.in: Use proper quoting for `CC'.
23000
23001 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23002
23003 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23004 (normal_mod_ASFLAGS): Remove "-m32".
23005
23006 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23007
23008 * util/misc.c: Include config.h.
23009 [!HAVE_MEMALIGN]: Do not include malloc.h.
23010 (grub_memalign): Use posix_memalign, if present. Then, use
23011 memalign, if present. Otherwise, emit an error.
23012
23013 * util/grub-emu.c: Do not include malloc.h.
23014
23015 * include/grub/util/misc.h: Include unistd.h. This is required for
23016 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23017 D. Eades III <hde@foobar-qux.org>.
23018
23019 * configure.ac (AC_GNU_SOURCE): Added.
23020 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23021 type.
23022
23023 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23024
23025 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23026 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23027
23028 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23029
23030 * include/grub/types.h (grub_host_addr_t): Rename to
23031 grub_target_addr_t.
23032 (grub_host_off_t): Rename to grub_target_off_t.
23033 (grub_host_size_t): Rename to grub_target_size_t.
23034 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23035 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23036
23037 * include/grub/kernel.h (struct grub_module_header): Change type
23038 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23039 (grub_module_info): Likewise.
23040
23041 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23042
23043 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23044 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23045 Velazquez <jesus.velazquez@gmail.com>.
23046
23047 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23048
23049 Count partitions from 1 instead of 0 in the string representation
23050 of partitions. Still use 0-based internally.
23051
23052 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23053 (sun_partition_map_iterate): Use grub_partition_t instead of
23054 struct grub_partition *. Cast DESC->START_CYLINDER to
23055 grub_uint64_t after converting the endian.
23056 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23057 (sun_partition_map_get_name): Add 1 to P->INDEX.
23058
23059 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23060 PCDATA->DOS_PART.
23061 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23062
23063 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23064 zero instead of one.
23065 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23066 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23067
23068 * partmap/apple.c (apple_partition_map_iterate): Change the type
23069 of POS to unsigned.
23070 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23071 (apple_partition_map_get_name): Add 1 into P->INDEX.
23072
23073 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23074 of POS to unsigned.
23075 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23076 calculate the offset of a partition.
23077 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23078 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23079
23080 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23081 SECTOR to grub_disk_addr_t.
23082 (acorn_partition_map_iterate): Likewise.
23083 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23084 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23085 top.
23086 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23087
23088 * kern/i386/pc/init.c (make_install_device): Add 1 into
23089 GRUB_INSTALL_DOS_PART.
23090
23091 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23092 conditional.
23093
23094 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23095
23096 Clean up the code to support 64-bit addressing in disks and
23097 files. This change is not enough for filesystems yet.
23098
23099 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23100 type of "start" to grub_uint64_t.
23101 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23102 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23103 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23104 convert addresses.
23105
23106 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23107 to grub_disk_addr_t.
23108
23109 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23110 string.
23111
23112 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23113
23114 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23115 to char *.
23116
23117 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23118
23119 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23120
23121 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23122
23123 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23124 to grub_off_t, to detect an error from grub_file_seek.
23125 (grub_multiboot_load_elf32): Likewise.
23126
23127 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23128 maximum unsigned long value when an overflow is detected.
23129 (grub_strtoull): New function.
23130 (grub_divmod64): Likewise.
23131 (grub_lltoa): use grub_divmod64.
23132
23133 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23134 grub_disk_addr_t.
23135 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23136 the pointer to next character. Use grub_strtoull instead of
23137 grub_strtoul.
23138 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23139 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23140 respectively.
23141
23142 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
23143 return value is signed.
23144 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23145 test if OFFSET is less than zero, as OFFSET is unsigned now.
23146
23147 * kern/disk.c (struct grub_disk_cache): Change the type of
23148 "sector" to grub_disk_addr_t.
23149 (grub_disk_cache_get_index): Change the type of SECTOR to
23150 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23151 unsigned after shifting.
23152 (grub_disk_cache_invalidate): Change the type of SECTOR to
23153 grub_disk_addr_t.
23154 (grub_disk_cache_unlock): Likewise.
23155 (grub_disk_cache_store): Likewise.
23156 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23157 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23158 grub_disk_addr_t and grub_uint64_t, respectively.
23159 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23160 body, as the value of OFFSET is tweaked by
23161 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23162 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23163 respectively.
23164 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23165 body, as the value of OFFSET is tweaked by
23166 grub_disk_check_range. Change the types of LEN and N to
23167 grub_size_t.
23168
23169 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23170 and "saved_offset" to grub_off_t.
23171 (test_header): Cast BUF to char *.
23172 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23173 to char *.
23174 (grub_gzio_read): Change the types of OFFSET and SIZE to
23175 grub_off_t and grub_size_t, respectively.
23176
23177 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23178 Removed.
23179 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23180 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23181 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23182 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23183 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23184
23185 * include/grub/types.h (grub_off_t): Unconditionally set to
23186 grub_uint64_t.
23187 (grub_disk_addr_t): Changed to grub_uint64_t.
23188
23189 * include/grub/partition.h (struct grub_partition): Change the
23190 types of "start", "len" and "offset" to grub_disk_addr_t,
23191 grub_uint64_t and grub_disk_addr_t, respectively.
23192 (grub_partition_get_start): Return grub_disk_addr_t.
23193 (grub_partition_get_len): Return grub_uint64_t.
23194
23195 * include/grub/misc.h (grub_strtoull): New prototype.
23196 (grub_divmod64): Likewise.
23197
23198 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23199 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23200 grub_off_t, respectively.
23201 All callers and references changed.
23202
23203 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23204 grub_size_t in "read".
23205 All callers and references changed.
23206
23207 * include/grub/file.h (struct grub_file): Change the types of
23208 "offset" and "size" to grub_off_t and grub_off_t,
23209 respectively. Change the type of SECTOR to grub_disk_addr_t in
23210 "read_hook".
23211 (grub_file_read): Change the type of LEN to grub_size_t.
23212 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23213 grub_off_t.
23214 (grub_file_size): Return grub_off_t.
23215 (grub_file_tell): Likewise.
23216 All callers and references changed.
23217
23218 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23219 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23220 "write".
23221 (struct grub_disk): Change the type of "total_sectors" to
23222 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
23223 "read_hook".
23224 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23225 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23226 (grub_disk_write): Likewise.
23227 All callers and references changed.
23228
23229 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23230 char * for grub_strncmp to silence gcc.
23231 (grub_iso9660_mount): Likewise.
23232 (grub_iso9660_mount): Likewise.
23233 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23234 return statement.
23235 (grub_iso9660_iterate_dir): Likewise.
23236 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23237
23238 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23239 LEN to grub_disk_addr_t and grub_size_t, respectively.
23240
23241 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23242
23243 * fs/jfs.c (grub_jfs_read_file): Likewise.
23244
23245 * fs/minix.c (grub_jfs_read_file): Likewise.
23246
23247 * fs/sfs.c (grub_jfs_read_file): Likewise.
23248
23249 * fs/ufs.c (grub_jfs_read_file): Likewise.
23250
23251 * fs/xfs.c (grub_jfs_read_file): Likewise.
23252
23253 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23254 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23255 respectively.
23256
23257 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23258 BLKNR to -1 instead of returning GRUB_ERRNO.
23259 (grub_ext2_read_file): Change the types of SECTOR and
23260 LEN to grub_disk_addr_t and grub_size_t, respectively.
23261
23262 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23263 LEN to grub_disk_addr_t and grub_size_t, respectively.
23264
23265 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23266 grub_file_read.
23267
23268 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23269 string. Do not cast SECTOR explicitly.
23270
23271 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23272 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23273 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23274 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23275 over 2TB and LBA mode is not supported, raise an error.
23276 (get_safe_sectors): New function.
23277 (grub_biosdisk_read): Use get_safe_sectors.
23278 (grub_biosdisk_write): Likewise.
23279
23280 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23281 (grub_efidisk_write): Likewise.
23282
23283 * disk/loopback.c (delete_loopback): Cosmetic changes.
23284 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23285 correctly.
23286 (grub_loopback_open): Likewise.
23287 (grub_loopback_read): Likewise. Also, change the type of POS to
23288 grub_off_t, and fix the usage of grub_memset.
23289
23290 * commands/i386/pc/play.c: Include grub/machine/time.h.
23291
23292 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23293 print FILE->SIZE.
23294
23295 * commands/configfile.c: Include grub/env.h.
23296
23297 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23298 GRUB_ERRNO directly instead. Change the type of POS to
23299 grub_off_t. Follow the coding standard.
23300
23301 * commands/blocklist.c: Include grub/partition.h.
23302 (grub_cmd_blocklist): Return an error if the underlying device is
23303 not a disk. Take the starting sector of a partition into account,
23304 if a partition is used.
23305
23306 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23307 a length field.
23308 (lba_mode): Support 64-bit addresses.
23309 (chs_mode): Likewise.
23310 (copy_buffer): Adapted to the new offsets of a length field and a
23311 segment field.
23312 (blocklist_default_start): Allocate 64-bit space.
23313
23314 * boot/i386/pc/boot.S (force_lba): Removed.
23315 (boot_drive): Moved to under KERNEL_SECTOR.
23316 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23317 space.
23318 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23319 is useless.
23320 (lba_mode): Refactored to support a 64-bit address. More size
23321 optimization.
23322 (setup_sectors): Likewise.
23323
23324 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23325
23326 * DISTLIST: Added include/grub/i386/linux.h. Removed
23327 include/grub/i386/pc/linux.h
23328
23329 * configure.ac (AC_INIT): Bumped to 1.94.
23330
23331 * config.guess: Updated from gnulib.
23332 * config.sub: Likewise.
23333 * install-sh: Likewise.
23334 * mkinstalldirs: Likewise.
23335
23336 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23337
23338 * conf/common.rmk (grub_modules_init.lst): Depended on
23339 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23340 MODSRCFILES.
23341
23342 * genmk.rb (PModule::rule): Reverted the previous change.
23343
23344 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23345
23346 * conf/common.rmk (grub_modules_init.lst): Depends on
23347 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23348 that the target does not exist before producing.
23349 (grub_modules_init.h): Remove the target before generating.
23350 (grub_emu_init.c): Likewise.
23351
23352 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23353
23354 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23355
23356 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23357 for the target-specific tests. Make sure that we also have the
23358 up-to-date target variables for those tests.
23359
23360 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23361
23362 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23363 (PModule::rule): Likewise.
23364
23365 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23366
23367 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23368 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23369 target-specific flags should be prefixed.
23370 (PModule::rule): Likewise.
23371
23372 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23373
23374 * configure.ac (CMP): Check if cmp is available explicitly.
23375
23376 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23377
23378 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23379 (target_cpu): New variable.
23380 (pkglibdir): Use target_cpu instead of host_cpu.
23381
23382 * util/i386/pc/grub-install.in (host_cpu): Removed.
23383 (target_cpu): New variable.
23384 (pkglibdir): Use target_cpu instead of host_cpu.
23385
23386 * util/genmoddep.c: Removed.
23387
23388 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23389 instead of GRUB_HOST_SIZEOF_VOID_P.
23390 * kern/dl.c: Likewise.
23391
23392 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23393 ...
23394 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23395 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23396 (GRUB_TARGET_SIZEOF_LONG): ... this.
23397 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23398 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23399 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23400 to ...
23401 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23402 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23403 (GRUB_TARGET_SIZEOF_LONG): ... this.
23404 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23405 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23406 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23407 to ...
23408 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23409 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23410 (GRUB_TARGET_SIZEOF_LONG): ... this.
23411 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23412 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23413
23414 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23415 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23416 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23417 instead of GRUB_HOST_SIZEOF_LONG.
23418 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23419 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23420 GRUB_CPU_WORDS_BIGENDIAN.
23421 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23422 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23423 grub_host_ssize_t.
23424
23425 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23426 (genmoddep_SOURCES): Likewise.
23427 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23428 (genmoddep_SOURCES): Likewise.
23429 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23430 (genmoddep_SOURCES): Likewise.
23431 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23432 Likewise.
23433 (genmoddep_SOURCES): Likewise.
23434
23435 * genmoddep.awk: New file.
23436
23437 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23438 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23439 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23440 (PModule::rule): Likewise.
23441 (Program::rule): Likewise.
23442 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23443 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23444 respectively.
23445
23446 * configure.ac: Rewritten intensively to use host and target
23447 instead of build and host, respectively.
23448
23449 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23450 (host_cpu): Removed.
23451 (target_cpu): New variable.
23452 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23453 (BUILD_CC): Removed.
23454 (BUILD_CFLAGS): Likewise.
23455 (BUILD_CPPFLAGS): Likewise.
23456 (TARGET_CC): New variable.
23457 (TARGET_CFLAGS): Likewise.
23458 (TARGET_CPPFLAGS): Likewise.
23459 (TARGET_LDFLAGS): Likewise.
23460 (AWK): Likewise.
23461 (include): Use target_cpu instead of host_cpu.
23462 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23463
23464 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23465
23466 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23467
23468 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23469 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23470 field 'false' to 'exec_on_false'.
23471 (grub_script_create_cmdif): Renamed argument names to reflect above
23472 changes.
23473
23474 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23475
23476 * normal/script.c (grub_script_create_cmdif): Likewise.
23477
23478 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23479
23480 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23481 top.
23482 (grub_hfsplus_btree_recptr): Likewise.
23483 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23484 FILEBLOCK both to pass a block number and store next block
23485 number.
23486 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23487 overflow file correctly. Specify errors appropriately, because
23488 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23489 grub_hfsplus_btree_recptr to get the pointer to a found key.
23490 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23491 is found.
23492
23493 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23494 linux.mod.
23495 (_linux_mod_SOURCES): New variable.
23496 (_linux_mod_CFLAGS): Likewise.
23497 (_linux_mod_LDFLAGS): Likewise.
23498 (linux_mod_SOURCES): Likewise.
23499 (linux_mod_CFLAGS): Likewise.
23500 (linux_mod_LDFLAGS): Likewise.
23501
23502 * DISTLIST: Added loader/i386/efi/linux.c,
23503 loader/i386/efi/linux_normal.c and
23504 include/grub/i386/efi/loader.h.
23505
23506 * loader/i386/efi/linux.c: New file.
23507 * loader/i386/efi/linux_normal.c: Likewise.
23508 * include/grub/i386/efi/loader.h: Likewise.
23509
23510 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23511
23512 * commands/blocklist.c: New file.
23513
23514 * DISTLIST: Added commands/blocklist.c.
23515
23516 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23517 color for the background, and a darker color for the foreground.
23518 (grub_console_checkkey): Return READ_KEY.
23519 (grub_console_cls): Set the background to
23520 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23521
23522 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23523
23524 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23525 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23526
23527 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23528 prototype.
23529
23530 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23531 BG. The spec is wrong again.
23532
23533 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23534 prototype.
23535 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23536
23537 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23538 commands/blocklist.c.
23539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23540
23541 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23542 (blocklist_mod_SOURCES): New variable.
23543 (blocklist_mod_CFLAGS): Likewise.
23544 (blocklist_mod_LDFLAGS): Likewise.
23545
23546 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23547
23548 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23549 duplication.
23550 (lba_mode): Use %eax more intensively to reduce the code size.
23551
23552 2006-05-20 Marco Gerards <marco@gnu.org>
23553
23554 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23555
23556 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23557 for `menuentry'.
23558 (script): Accept leading newlines.
23559 (newlines): New rule to describe 0 or more newlines.
23560 (commands): Accept `command' with trailing newline. Fixed the
23561 order in which arguments were passed to `grub_script_add_cmd'.
23562 Accept commands separated by newlines.
23563 (function): Changed to accept newlines.
23564 (menuentry) Rewritten.
23565
23566 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23567 front of the list, instead of to the end.
23568
23569 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23570
23571 * util/i386/pc/grub-install.in (bindir): New variable.
23572 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23573 Shaver <lbgwjl@gmail.com>.
23574
23575 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23576
23577 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23578 grub/machine/linux.h
23579 * loader/i386/pc/linux.c: Likewise.
23580
23581 * include/grub/i386/pc/linux.h: Moved to ...
23582 * include/grub/i386/linux.h: ... here.
23583
23584 * include/grub/i386/linux.h (struct linux_kernel_params): New
23585 struct.
23586
23587 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23588
23589 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23590 checking.
23591 (grub_video_vbe_blit_glyph): Likewise.
23592 (grub_video_vbe_blit_bitmap): Likewise.
23593 (grub_video_vbe_blit_render_target): Likewise.
23594
23595 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23596
23597 * configure.ac (--with-platform): Properly quote the square
23598 brackets.
23599
23600 2006-05-08 Marco Gerards <marco@gnu.org>
23601
23602 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23603 this...
23604 (kernel_elf_HEADERS): ...to this. Updated all users.
23605 (grubof_symlist.c): Renamed from this...
23606 (kernel_elf_symlist.c): ...to this. Updated all users.
23607 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23608 (grubof_SOURCES): Renamed from this...
23609 (kernel_elf_SOURCES): ...to this.
23610 (grubof_HEADERS): Renamed from this...
23611 (kernel_elf_HEADERS): ...to this.
23612 (grubof_CFLAGS): Renamed from this...
23613 (kernel_elf_CFLAGS): ...to this.
23614 (grubof_ASFLAGS): Renamed from this...
23615 (kernel_elf_ASFLAGS): ...to this.
23616 (grubof_LDFLAGS): Renamed from this...
23617 (kernel_elf_LDFLAGS): ...to this.
23618
23619 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23620 this...
23621 (kernel_elf_HEADERS): ...to this. Updated all users.
23622 (grubof_symlist.c): Renamed from this...
23623 (kernel_elf_symlist.c): ...to this. Updated all users.
23624 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23625 (grubof_SOURCES): Renamed from this...
23626 (kernel_elf_SOURCES): ...to this.
23627 (grubof_HEADERS): Renamed from this...
23628 (kernel_elf_HEADERS): ...to this.
23629 (grubof_CFLAGS): Renamed from this...
23630 (kernel_elf_CFLAGS): ...to this.
23631 (grubof_ASFLAGS): Renamed from this...
23632 (kernel_elf_ASFLAGS): ...to this.
23633 (grubof_LDFLAGS): Renamed from this...
23634 (kernel_elf_LDFLAGS): ...to this.
23635
23636 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23637 `kernel.elf' instead of `grubof'.
23638
23639 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23640
23641 Add --with-platform to configure. Use pkglibdir instead of
23642 pkgdatadir. This is reported by Roger Leigh.
23643
23644 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23645 (host_vendor): Likewise.
23646 (host_os): Likewise.
23647 (pkgdatadir): Likewise.
23648 (platform): New variable.
23649 (pkglibdir): Likewise.
23650 Use PKGLIBDIR instead of PKGDATADIR.
23651
23652 * util/i386/pc/grub-install.in (datadir): Removed.
23653 (host_vendor): Likewise.
23654 (host_os): Likewise.
23655 (pkgdatadir): Likewise.
23656 (platform): New variable.
23657 (pkglibdir): Likewise.
23658 Use PKGLIBDIR instead of PKGDATADIR.
23659
23660 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23661 instead of GRUB_DATADIR.
23662 (main): Likewise.
23663 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23664 (main): Likewise.
23665 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23666 (main): Likewise.
23667
23668 * configure.ac (--with-platform): New option.
23669 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23670
23671 * Makefile.in: Include a makefile based on PLATFORM instead of
23672 HOST_VENDOR.
23673 (pkgdatadir): Not appended by the machine type.
23674 (pkglibdir): Appended by the machine type.
23675 (host_vendor): Removed.
23676 (platform): New variable.
23677 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23678 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23679 (uninstall): Likewise.
23680
23681 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23682
23683 Use the environment context in the menu. Remove the commands
23684 "default" and "timeout", and use variables instead.
23685
23686 * normal/menu.c: Include grub/env.h.
23687 (print_entry): Cast TITLE to silence gcc.
23688 (get_timeout): New function.
23689 (set_timeout): Likewise.
23690 (get_entry_number): Likewise.
23691 (run_menu): Use a default entry, a fallback entry and a timeout
23692 in the environment variables "default", "fallback" and
23693 "timeout". Also, tweak the default entry if it is not within the
23694 current menu entries.
23695 (grub_menu_run): Use a fallback entry in the environment variable
23696 "fallback".
23697
23698 * normal/main.c (read_config_file): Do not initialize
23699 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23700 NEWMENU->TIMEOUT.
23701 (grub_normal_execute): Use a data slot to store the menu.
23702
23703 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23704 fallback_entry and timeout.
23705 (struct grub_menu_list): Removed.
23706 (grub_menu_list_t): Likewise.
23707 (struct grub_context): Likewise.
23708 (grub_context_t): Likewise.
23709 (grub_context_get): Likewise.
23710 (grub_context_get_current_menu): Likewise.
23711 (grub_context_push_menu): Likewise.
23712 (grub_context_pop_menu): Likewise.
23713 (grub_default_init): Likewise.
23714 (grub_default_fini): Likewise.
23715 (grub_timeout_init): Likewise.
23716 (grub_timeout_fini): Likewise.
23717
23718 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23719 and timeout.mod.
23720 (normal_mod_SOURCES): Removed normal/context.c.
23721
23722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23723 commands/default.c, commands/timeout.c and normal/context.c.
23724 (normal_mod_SOURCES): Removed normal/context.c.
23725
23726 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23727 commands/timeout.c and normal/context.c.
23728 (normal_mod_SOURCES): Removed normal/context.c.
23729
23730 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23731 commands/default.c, commands/timeout.c and normal/context.c.
23732 (normal_mod_SOURCES): Removed normal/context.c.
23733
23734 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23735 timeout.mod.
23736 (default_mod_SOURCES): Removed.
23737 (default_mod_CFLAGS): Likewise.
23738 (default_mod_LDFLAGS): Likewise.
23739 (timeout_mod_SOURCES): Removed.
23740 (timeout_mod_CFLAGS): Likewise.
23741 (timeout_mod_LDFLAGS): Likewise.
23742
23743 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23744 normal/context.c.
23745
23746 * commands/default.c: Removed.
23747 * commands/timeout.c: Likewise.
23748 * normal/context.c: Likewise.
23749
23750 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23751
23752 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23753
23754 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23755
23756 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23757 "next" to "prev" for readability.
23758 (struct grub_env_sorted_var): New struct.
23759 (grub_env_context): Renamed to ...
23760 (initial_context): ... this.
23761 (grub_env_var_context): Renamed to ...
23762 (current_context): ... this.
23763 (grub_env_find): Look only at CURRENT_CONTEXT.
23764 (grub_env_context_open): Rewritten to copy exported variables from
23765 previous context.
23766 (grub_env_context_close): Rewritten according to the new
23767 scheme. Also, add an assertion to prevent the initial context from
23768 removed.
23769 (grub_env_insert): Removed the code for the sorted list.
23770 (grub_env_remove): Likewise.
23771 (grub_env_export): Simply mark the variable with
23772 GRUB_ENV_VAR_GLOBAL.
23773 (grub_env_set): A cosmetic change for naming consistency.
23774 (grub_env_get): Likewise.
23775 (grub_env_unset): Likewise.
23776 (grub_env_iterate): Rewritten to sort variables within this
23777 function.
23778 (grub_register_variable_hook): Fixed for naming consistency. Call
23779 grub_env_find again, only if NAME is not found at the first time.
23780 (mangle_data_slot_name): New function.
23781 (grub_env_set_data_slot): Likewise.
23782 (grub_env_get_data_slot): Likewise.
23783 (grub_env_unset_data_slot): Likewise.
23784
23785 * include/grub/env.h (grub_env_var_type): New enum.
23786 (GRUB_ENV_VAR_LOCAL): New constant.
23787 (GRUB_ENV_VAR_GLOBAL): Likewise.
23788 (GRUB_ENV_VAR_DATA): Likewise.
23789 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23790 "type".
23791 (grub_env_set): Replace VAR with NAME for consistency.
23792 (grub_register_variable_hook): Likewise.
23793 (grub_env_export): Specify the name of the argument.
23794 (grub_env_set_data_slot): New prototype.
23795 (grub_env_get_data_slot): Likewise.
23796 (grub_env_unset_data_slot): Likewise.
23797
23798 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23799
23800 Extend the loader so that GRUB can accept a loader which comes
23801 back to GRUB when a loaded image exits. Also, this change adds
23802 support for a chainloader on EFI.
23803
23804 * term/efi/console.c: Include grub/misc.h.
23805 (grub_console_checkkey): Display a scan code on the top for
23806 debugging. This will be removed once the EFI port gets stable.
23807 Correct the scan code mapping.
23808
23809 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23810 allocate memory from larger regions, in order to reduce the number
23811 of allocated regions. Otherwise, the MacOSX loader panics.
23812 (filter_memory_map): Avoid less than 1MB for compatibility with
23813 other loaders.
23814 (add_memory_regions): Allocate from the tail of a region, if
23815 possible, to avoid allocating a region near to 1MB, for the MacOSX
23816 loader.
23817
23818 * kern/efi/init.c (grub_efi_set_prefix): Specify
23819 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23820
23821 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23822 argument IMAGE_HANDLE and specify it to get a loaded image.
23823 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23824 grub_efi_get_loaded_image.
23825 (grub_efi_get_filename): Divide the length by the size of
23826 grub_efi_char16_t.
23827 (grub_efi_get_device_path): New function.
23828 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23829 the length by the size of grub_efi_char16_t for a file path device
23830 path node.
23831
23832 * kern/loader.c (grub_loader_noreturn): New variable.
23833 (grub_loader_set): Accept a new argument NORETURN. Set
23834 GRUB_LOADER_NORETURN to NORETURN.
23835 All callers changed.
23836 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23837 grub_machine_fini.
23838
23839 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23840 prototype.
23841 (grub_efi_get_loaded_image): Take an argument to specify an image
23842 handle.
23843
23844 * include/grub/loader.h (grub_loader_set): Added one more argument
23845 NORETURN.
23846
23847 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23848 instead of grub_efi_open_protocol.
23849 (grub_efidisk_get_device_name): Likewise.
23850 (grub_efidisk_close): Print a newline.
23851 (grub_efidisk_get_device_handle): Fixed to use
23852 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23853 GRUB_EFI_DEVICE_PATH_TYPE.
23854
23855 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23856 * kern/efi/efi.c (device_path_guid): ... here.
23857
23858 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23859 chain.mod.
23860 (kernel_mod_HEADERS): Added efi/disk.h.
23861 (_chain_mod_SOURCES): New variable.
23862 (_chain_mod_CFLAGS): Likewise.
23863 (_chain_mod_LDFLAGS): Likewise.
23864 (chain_mod_SOURCES): Likewise.
23865 (chain_mod_CFLAGS): Likewise.
23866 (chain_mod_LDFLAGS): Likewise.
23867
23868 * DISTLIST: Added include/grub/efi/chainloader.h,
23869 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23870
23871 * include/grub/efi/chainloader.h: New file.
23872 * loader/efi/chainloader.c: Likewise.
23873 * loader/efi/chainloader_normal.c: Likewise.
23874
23875 2006-04-30 Marco Gerards <marco@gnu.org>
23876
23877 * commands/configfile.c (grub_cmd_source): New function.
23878 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23879 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23880
23881 2006-04-30 Marco Gerards <marco@gnu.org>
23882
23883 * normal/execute.c (grub_script_execute_cmd): Change the return
23884 type to `grub_err_t'. Correctly return the error.
23885 (grub_script_execute_cmdline): In case a command line is not a
23886 command or a function, try to interpret it as an assignment.
23887
23888 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23889
23890 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23891 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23892 skip a node whose name is obviously invalid as UTF-16,
23893 i.e. contains a NUL character. Stop the iteration when the last
23894 directory entry is found. Instead of using the return value of
23895 grub_hfsplus_btree_iterate_node, store the value in RET and use
23896 it, because the iterator can be stopped by the last directory
23897 entry.
23898
23899 2006-04-30 Marco Gerards <marco@gnu.org>
23900
23901 * include/grub/env.h (grub_env_export): New prototype. Reported
23902 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23903
23904 2006-04-30 Marco Gerards <marco@gnu.org>
23905
23906 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23907 size of the extents in a catalog file record.
23908
23909 2006-04-29 Marco Gerards <marco@gnu.org>
23910
23911 * commands/configfile.c (grub_cmd_configfile): Execute the
23912 configfile within its own context.
23913
23914 * include/grub/env.h (grub_env_context_open): New prototype.
23915 (grub_env_context_close): Likewise.
23916
23917 * kern/env.c (grub_env): Removed.
23918 (grub_env_sorted): Likewise.
23919 (grub_env_context): New variable.
23920 (grub_env_var_context): Likewise.
23921 (grub_env_find): Search both the active context and the global
23922 context.
23923 (grub_env_context_open): New function.
23924 (grub_env_context_close): Likewise.
23925 (grub_env_insert): Likewise.
23926 (grub_env_remove): Likewise.
23927 (grub_env_export): Likewise.
23928 (grub_env_set): Changed to use helper functions to avoid code
23929 duplication.
23930 (grub_env_iterate): Rewritten so both the current context and the
23931 global context are being used.
23932
23933 * normal/command.c (export_command): New function.
23934 (grub_command_init): Register the `export' function.
23935
23936 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23937
23938 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23939 explicitly to suppress gcc's warnings.
23940 * fs/fat.c (grub_fat_find_dir): Likewise.
23941 (grub_fat_label): Likewise.
23942 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23943 (grub_xfs_mount): Likewise.
23944 (grub_xfs_label): Likewise.
23945 * fs/affs.c (grub_affs_mount): Likewise.
23946 (grub_affs_label): Likewise.
23947 (grub_affs_iterate_dir): Likewise.
23948 * fs/sfs.c (grub_sfs_mount): Likewise.
23949 (grub_sfs_iterate_dir): Likewise.
23950 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23951 * fs/hfs.c (grub_hfs_mount): Likewise.
23952 (grub_hfs_cmp_catkeys): Likewise.
23953 (grub_hfs_find_dir): Likewise.
23954 (grub_hfs_dir): Likewise.
23955 (grub_hfs_label): Likewise.
23956 * fs/jfs.c (grub_jfs_mount): Likewise.
23957 (grub_jfs_opendir): Likewise.
23958 (grub_jfs_getent): Likewise.
23959 (grub_jfs_lookup_symlink): Likewise.
23960 (grub_jfs_label): Likewise.
23961 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23962 (grub_hfsplus_iterate_dir): Likewise.
23963 (grub_hfsplus_btree_iterate_node): Made static.
23964
23965 * util/grub-emu.c (prefix): New variable.
23966 (grub_machine_set_prefix): New function.
23967 (main): Do not set the environment variable "prefix" here. Only
23968 set PREFIX, which is used later by grub_machine_set_prefix.
23969
23970 * include/grub/video.h: Do not include grub/symbol.h.
23971 (grub_video_register): Not exported. This symbol is not defined in
23972 the kernel.
23973 (grub_video_unregister): Likewise.
23974 (grub_video_iterate): Likewise.
23975 (grub_video_setup): Likewise.
23976 (grub_video_restore): Likewise.
23977 (grub_video_get_info): Likewise.
23978 (grub_video_get_blit_format): Likewise.
23979 (grub_video_set_palette): Likewise.
23980 (grub_video_get_palette): Likewise.
23981 (grub_video_set_viewport): Likewise.
23982 (grub_video_get_viewport): Likewise.
23983 (grub_video_map_color): Likewise.
23984 (grub_video_map_rgb): Likewise.
23985 (grub_video_map_rgba): Likewise.
23986 (grub_video_fill_rect): Likewise.
23987 (grub_video_blit_glyph): Likewise.
23988 (grub_video_blit_bitmap): Likewise.
23989 (grub_video_blit_render_target): Likewise.
23990 (grub_video_scroll): Likewise.
23991 (grub_video_swap_buffers): Likewise.
23992 (grub_video_create_render_target): Likewise.
23993 (grub_video_delete_render_target): Likewise.
23994 (grub_video_set_active_render_target): Likewise.
23995
23996 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23997 Undefined.
23998 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23999
24000 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24001 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24002 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24003 instead of $(srcdir)/genkernsyms.sh.
24004
24005 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24006 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24007 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24008 instead of $(srcdir)/genkernsyms.sh.
24009
24010 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24011 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24012 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24013 instead of $(srcdir)/genkernsyms.sh.
24014
24015 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24016 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24017 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24018 instead of $(srcdir)/genkernsyms.sh.
24019
24020 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24021 genkernsyms.sh.
24022
24023 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24024 genkernsyms.sh.
24025 (gensymlist.sh): New target.
24026 (genkernsyms.sh): Likewise.
24027
24028 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24029 genkernsyms.sh.in and gensymlist.sh.in.
24030
24031 * genkernsyms.sh: Removed.
24032 * gensymlist.sh: Likewise.
24033
24034 * genkernsyms.sh.in: New file.
24035 * gensymlist.sh.in: Likewise.
24036
24037 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24038
24039 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24040 clobber "prefix", since we may have already set it manually.
24041
24042 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24043
24044 * kern/misc.c (abort): New alias for grub_abort.
24045
24046 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24047
24048 A new machine-specific function "grub_machine_set_prefix" is
24049 defined. This is called after loading modules, so that a prefix
24050 initialization can use modules. Also, this change adds an
24051 intensive debugging feature for the memory manager via the
24052 configure option "--enable-mm-debug".
24053
24054 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24055 PART.LEN.
24056
24057 * kern/sparc64/ieee1275/init.c (abort): Removed.
24058 (grub_stop): Likewise.
24059 (grub_exit): New function.
24060 (grub_set_prefix): Renamed to ...
24061 (grub_machine_set_prefix): ... this.
24062 (grub_machine_init): Do not call grub_set_prefix.
24063
24064 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24065 (grub_machine_set_prefix): ... this.
24066 (grub_machine_init): Do not call grub_set_prefix.
24067
24068 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24069 (grub_machine_init): Do not set the prefix here.
24070
24071 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24072
24073 * kern/efi/init.c: Include grub/mm.h.
24074 (grub_efi_set_prefix): New function.
24075
24076 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24077 (grub_efi_get_filename): New function.
24078 (grub_print_device_path): Renamed to ...
24079 (grub_efi_print_device_path): ... this.
24080
24081 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24082 [MM_DEBUG] (grub_realloc): Likewise.
24083 [MM_DEBUG] (grub_free): Likewise.
24084 [MM_DEBUG] (grub_memalign): Likewise.
24085 [MM_DEBUG] (grub_mm_debug): New variable.
24086 [MM_DEBUG] (grub_debug_malloc): New function.
24087 [MM_DEBUG] (grub_debug_free): New function.
24088 [MM_DEBUG] (grub_debug_realloc): New function.
24089 [MM_DEBUG] (grub_debug_memalign): New function.
24090
24091 * kern/misc.c (grub_abort): Print a newline to distinguish
24092 the message.
24093
24094 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24095 grub_set_root_dev after loading modules. This is necessary when
24096 setting a prefix depends on modules.
24097
24098 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24099 (grub_efi_print_device_path): ... this.
24100 (grub_efi_get_filename): New prototype.
24101 (grub_efi_set_prefix): Likewise.
24102
24103 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24104 and grub/disk.h.
24105 (grub_efidisk_get_device_handle): New prototype.
24106 (grub_efidisk_get_device_name): Likewise.
24107
24108 * include/grub/mm.h: Include config.h.
24109 (MM_DEBUG): Removed.
24110 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24111 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24112 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24113 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24114 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24115 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24116 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24117 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24118 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24119
24120 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24121
24122 * disk/efi/efidisk.c: Include grub/partition.h.
24123 (iterate_child_devices): New function.
24124 (add_device): First, compare only last device path nodes, so that
24125 devices are sorted by the types.
24126 (grub_efidisk_get_device_handle): New function.
24127 (grub_efidisk_get_device_name): Likewise.
24128
24129 * configure.ac (--enable-mm-debug): New option to enable the
24130 memory manager debugging feature. This makes the binary much
24131 bigger, so is disabled by default.
24132
24133 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24134
24135 Use grub_abort instead of grub_stop, and grub_exit must be
24136 define in each architecture now. Also, this change adds support
24137 for EFI disks.
24138
24139 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24140 (grub_getkey): New function.
24141 (grub_term_get_current): Likewise.
24142
24143 * util/i386/pc/grub-setup.c: Include grub/term.h.
24144 (grub_getkey): New function.
24145 (grub_term_get_current): Likewise.
24146
24147 * util/misc.c (grub_stop): Renamed to ...
24148 (grub_exit): ... this.
24149
24150 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24151 (grub_exit): ... this.
24152 (grub_machine_init): Use grub_abort instead of abort.
24153 (grub_stop): Removed.
24154
24155 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24156 abort.
24157
24158 * kern/i386/pc/startup.S (grub_exit): New function.
24159 (cold_reboot): New label.
24160
24161 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24162 (grub_efi_init): Call grub_efidisk_init.
24163 (grub_efi_fini): Call grub_efidisk_fini.
24164
24165 * kern/efi/efi.c: Include grub/mm.h.
24166 (grub_efi_console_control_guid): Renamed to ...
24167 (console_control_guid): ... this.
24168 (grub_efi_loaded_image_guid): Renamed to ...
24169 (loaded_image_guid): ... this.
24170 (grub_efi_locate_handle): New function.
24171 (grub_efi_open_protocol): Likewise.
24172 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24173 GRUB_EFI_CONSOLE_CONTROL_GUID.
24174 (grub_efi_exit): Removed.
24175 (grub_stop): Likewise.
24176 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24177 (grub_exit): New function.
24178 (grub_print_device_path): Likewise.
24179
24180 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24181 (grub_enter_rescue_mode): Register "exit".
24182
24183 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24184 (grub_abort): New function.
24185
24186 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24187
24188 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24189
24190 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24191
24192 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24193 (grub_print_device_path): New prototype.
24194 (grub_efi_locate_handle): Likewise.
24195 (grub_efi_open_protocol): Likewise.
24196
24197 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24198 * disk/efi/efidisk.c: Likewise.
24199
24200 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24201
24202 * include/grub/efi/console_control.h
24203 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24204
24205 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24206 last 8 bytes as an array.
24207 (GRUB_EFI_DISK_IO_GUID): New macro.
24208 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24209 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24210 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24211 grub_uint8_t.
24212 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24213 (struct grub_efi_device_path): Rename the member "sub_type" to
24214 "subtype".
24215 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24216 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24217 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24218 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24219 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24220 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24221 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24222 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24223 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24224 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24225 (struct grub_efi_pci_device_path): New structure.
24226 (grub_efi_pci_device_path_t): New type.
24227 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24228 (struct grub_efi_pccard_device_path): New structure.
24229 (grub_efi_pccard_device_path_t): New type.
24230 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24231 (struct grub_efi_memory_mapped_device_path): New structure.
24232 (grub_efi_memory_mapped_device_path_t): New type.
24233 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24234 (struct grub_efi_vendor_device_path): New structure.
24235 (grub_efi_vendor_device_path_t): New type.
24236 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24237 (struct grub_efi_controller_device_path): New structure.
24238 (grub_efi_controller_device_path_t): New type.
24239 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24240 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24241 (struct grub_efi_acpi_device_path): New structure.
24242 (grub_efi_acpi_device_path_t): New type.
24243 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24244 (struct grub_efi_expanded_acpi_device_path): New structure.
24245 (grub_efi_expanded_acpi_device_path_t): New type.
24246 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24247 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24248 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24249 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24250 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24251 (struct grub_efi_atapi_device_path): New structure.
24252 (grub_efi_atapi_device_path_t): New type.
24253 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24254 (struct grub_efi_fibre_channel_device_path): New structure.
24255 (grub_efi_fibre_channel_device_path_t): New type.
24256 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24257 (struct grub_efi_1394_device_path): New structure.
24258 (grub_efi_1394_device_path_t): New type.
24259 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24260 (struct grub_efi_usb_device_path): New structure.
24261 (grub_efi_usb_device_path_t): New type.
24262 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24263 (struct grub_efi_usb_class_device_path): New structure.
24264 (grub_efi_usb_class_device_path_t): New type.
24265 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24266 (struct grub_efi_i2o_device_path): New structure.
24267 (grub_efi_i2o_device_path_t): New type.
24268 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24269 (struct grub_efi_mac_address_device_path): New structure.
24270 (grub_efi_mac_address_device_path_t): New type.
24271 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24272 (struct grub_efi_ipv4_device_path): New structure.
24273 (grub_efi_ipv4_device_path_t): New type.
24274 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24275 (struct grub_efi_ipv6_device_path): New structure.
24276 (grub_efi_ipv6_device_path_t): New type.
24277 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24278 (struct grub_efi_infiniband_device_path): New structure.
24279 (grub_efi_infiniband_device_path_t): New type.
24280 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24281 (struct grub_efi_uart_device_path): New structure.
24282 (grub_efi_uart_device_path_t): New type.
24283 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24284 (struct grub_efi_vendor_messaging_device_path): New structure.
24285 (grub_efi_vendor_messaging_device_path_t): New type.
24286 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24287 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24288 (struct grub_efi_hard_drive_device_path): New structure.
24289 (grub_efi_hard_drive_device_path_t): New type.
24290 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24291 (struct grub_efi_cdrom_device_path): New structure.
24292 (grub_efi_cdrom_device_path_t): New type.
24293 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24294 (struct grub_efi_vendor_media_device_path): New structure.
24295 (grub_efi_vendor_media_device_path_t): New type.
24296 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24297 (struct grub_efi_file_path_device_path): New structure.
24298 (grub_efi_file_path_device_path_t): New type.
24299 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24300 (struct grub_efi_protocol_device_path): New structure.
24301 (grub_efi_protocol_device_path_t): New type.
24302 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24303 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24304 (struct grub_efi_bios_device_path): New structure.
24305 (grub_efi_bios_device_path_t): New type.
24306 (struct grub_efi_disk_io): New structure.
24307 (grub_efi_disk_io_t): New type.
24308 (struct grub_efi_block_io_media): New structure.
24309 (grub_efi_block_io_media_t): New type.
24310 (struct grub_efi_block_io): New structure.
24311 (grub_efi_block_io_t): New type.
24312
24313 * include/grub/misc.h (grub_stop): Removed.
24314 (grub_exit): New prototype.
24315 (grub_abort): Likewise.
24316
24317 * include/grub/disk.h (enum grub_disk_dev_id): Added
24318 GRUB_DISK_DEVICE_EFIDISK_ID.
24319
24320 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24321 disk/efi/efidisk.c.
24322 (kernel_syms.lst): Remove the target if an error occurs.
24323
24324 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24325
24326 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24327 as it was simply too buggy.
24328
24329 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24330
24331 * kern/misc.c (grub_lltoa): New function.
24332 (grub_vsprintf): Added support for the long long suffix,
24333 i.e. "ll".
24334
24335 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24336
24337 * Makefile.in (LDFLAGS): Add variable.
24338 (LD): Remove variable.
24339 * configure.ac: Add -m32 to LDFLAGS.
24340 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24341 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24342 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24343 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24344 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24345 variables.
24346 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24347 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24348 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24349
24350 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24351
24352 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24353 length for unknown glyph.
24354
24355 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24356
24357 Add support for pre-loaded modules into the EFI port.
24358
24359 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24360 completely. Accept one more argument DIR. The caller has changed.
24361
24362 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24363
24364 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24365 (grub_efi_loaded_image_guid): New variable.
24366 (grub_efi_get_loaded_image): New function.
24367 (grub_arch_modules_addr): Likewise.
24368
24369 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24370 prototype.
24371
24372 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24373 (struct grub_efi_loaded_image): New structure.
24374 (grub_efi_loaded_image_t): New type.
24375
24376 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24377
24378 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24379 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24380 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24381
24382 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24383
24384 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24385
24386 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24387
24388 * DISTLIST: Added include/grub/efi/console.h,
24389 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24390 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24391
24392 * include/grub/efi/console.h: New file.
24393 * include/grub/efi/time.h: Likewise.
24394 * include/grub/i386/efi/kernel.h: Likewise.
24395 * kern/efi/init.c: Likewise.
24396 * kern/efi/mm.c: Likewise.
24397 * term/efi/console.c: Likewise.
24398
24399 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24400 (grub_stop): Removed.
24401 (grub_get_rtc): Likewise.
24402 (grub_machine_init): Simply call grub_efi_init.
24403 (grub_machine_fini): Call grub_efi_fini.
24404
24405 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24406 (grub_efi_output_string): Removed.
24407 (grub_efi_stall): New function.
24408 (grub_stop): Likewise.
24409 (grub_get_rtc): Likewise.
24410
24411 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24412 (grub_efi_stall): New prototype.
24413 (grub_efi_allocate_pages): Likewise.
24414 (grub_efi_free_pages): Likewise.
24415 (grub_efi_get_memory_map): Likewise.
24416 (grub_efi_mm_init): Likewise.
24417 (grub_efi_mm_fini): Likewise.
24418 (grub_efi_init): Likewise.
24419 (grub_efi_fini): Likewise.
24420
24421 * include/grub/i386/efi/time.h: Do not include
24422 grub/symbol.h. Include grub/efi/time.h.
24423 (GRUB_TICKS_PER_SECOND): Removed.
24424 (grub_get_rtc): Likewise.
24425
24426 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24427 Added padding. The EFI spec is buggy.
24428 (GRUB_EFI_BLACK): New macro.
24429 (GRUB_EFI_BLUE): Likewise.
24430 (GRUB_EFI_GREEN): Likewise.
24431 (GRUB_EFI_CYAN): Likewise.
24432 (GRUB_EFI_RED): Likewise.
24433 (GRUB_EFI_MAGENTA): Likewise.
24434 (GRUB_EFI_BROWN): Likewise.
24435 (GRUB_EFI_LIGHTGRAY): Likewise.
24436 (GRUB_EFI_BRIGHT): Likewise.
24437 (GRUB_EFI_DARKGRAY): Likewise.
24438 (GRUB_EFI_LIGHTBLUE): Likewise.
24439 (GRUB_EFI_LIGHTGREEN): Likewise.
24440 (GRUB_EFI_LIGHTCYAN): Likewise.
24441 (GRUB_EFI_LIGHTRED): Likewise.
24442 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24443 (GRUB_EFI_YELLOW): Likewise.
24444 (GRUB_EFI_WHITE): Likewise.
24445 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24446 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24447 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24448 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24449 (GRUB_EFI_BACKGROUND_RED): Likewise.
24450 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24451 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24452 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24453 (GRUB_EFI_TEXT_ATTR): Likewise.
24454
24455 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24456 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24457 (kernel_mod_HEADERS): Added efi/time.h.
24458
24459 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24460
24461 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24462 include/grub/efi/api.h, include/grub/efi/console_control.h,
24463 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24464 include/grub/i386/efi/time.h, kern/efi/efi.c,
24465 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24466 and util/i386/efi/grub-mkimage.c.
24467
24468 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24469
24470 * genmk.rb (PModule#rule): Do not export symbols if
24471 #{prefix}_EXPORTS is set to "no".
24472
24473 * conf/i386-efi.mk: New file.
24474 * conf/i386-efi.rmk: Likewise.
24475 * include/grub/efi/api.h: Likewise.
24476 * include/grub/efi/console_control.h: Likewise.
24477 * include/grub/efi/efi.h: Likewise.
24478 * include/grub/efi/pe32.h: Likewise.
24479 * include/grub/i386/efi/time.h: Likewise.
24480 * kern/efi/efi.c: Likewise.
24481 * kern/i386/efi/init.c: Likewise.
24482 * kern/i386/efi/startup.S: Likewise.
24483 * util/i386/efi/grub-mkimage.c: Likewise.
24484
24485 2006-04-17 Marco Gerards <marco@gnu.org>
24486
24487 * include/grub/script.h: Include <grub/parser.h> and
24488 "grub_script.tab.h".
24489 (struct grub_lexer_param): New struct.
24490 (struct grub_parser_param): Likewise.
24491 (grub_script_create_arglist): Pass the state in an argument.
24492 (grub_script_add_arglist): Likewise.
24493 (grub_script_create_cmdline): Likewise.
24494 (grub_script_create_cmdblock): Likewise.
24495 (grub_script_create_cmdif): Likewise.
24496 (grub_script_create_cmdmenu): Likewise.
24497 (grub_script_add_cmd): Likewise.
24498 (grub_script_arg_add): Likewise.
24499 (grub_script_lexer_ref): Likewise.
24500 (grub_script_lexer_deref): Likewise.
24501 (grub_script_lexer_record_start): Likewise.
24502 (grub_script_lexer_record_stop): Likewise.
24503 (grub_script_mem_record): Likewise.
24504 (grub_script_mem_record_stop): Likewise.
24505 (grub_script_malloc): Likewise.
24506 (grub_script_yylex): Likewise.
24507 (grub_script_yyparse): Likewise.
24508 (grub_script_yyerror): Likewise.
24509 (grub_script_yylex): Likewise.
24510 (grub_script_lexer_init): Return the state.
24511
24512 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24513 (grub_script_lexer_done): Likewise.
24514 (grub_script_lexer_getline): Likewise.
24515 (grub_script_lexer_refs): Likewise.
24516 (script): Likewise.
24517 (newscript): Likewise.
24518 (record): Likewise.
24519 (recording): Likewise.
24520 (recordpos): Likewise.
24521 (recordlen): Likewise.
24522 (grub_script_lexer_init): Return the state instead of setting
24523 global variables.
24524 (grub_script_lexer_ref): Use the newly added argument for state
24525 instead of globals.
24526 (grub_script_lexer_deref): Likewise.
24527 (grub_script_lexer_record_start): Likewise.
24528 (grub_script_lexer_record_stop): Likewise.
24529 (recordchar): Likewise.
24530 (nextchar): Likewise.
24531 (grub_script_yylex2): Likewise.
24532 (grub_script_yylex): Likewise.
24533 (grub_script_yyerror): Likewise.
24534
24535 * normal/parser.y (func_mem): Removed variable.
24536 (menu_entry): Likewise.
24537 (err): Likewise.
24538 (%lex-param): New parser option.
24539 (%parse-param): Likewise.
24540 (script): Always return the AST.
24541 (argument): Pass the state around.
24542 (arguments): Likewise.
24543 (grubcmd): Likewise.
24544 (commands): Likewise.
24545 (function): Likewise.
24546 (menuentry): Likewise.
24547 (if_statement): Likewise.
24548 (if): Likewise.
24549
24550 * normal/script.c (grub_script_memused): Removed variable.
24551 (grub_script_parsed): Likewise.
24552 (grub_script_malloc): Added a state argument. Use that instead of
24553 global variables.
24554 (grub_script_mem_record): Likewise.
24555 (grub_script_mem_record_stop): Likewise.
24556 (grub_script_arg_add): Likewise.
24557 (grub_script_add_arglist): Likewise.
24558 (grub_script_create_cmdline): Likewise.
24559 (grub_script_create_cmdif): Likewise.
24560 (grub_script_create_cmdmenu): Likewise.
24561 (grub_script_add_cmd): Likewise.
24562 (grub_script_parse): Setup the state before calling the parser.
24563
24564 2006-04-16 Marco Gerards <marco@gnu.org>
24565
24566 * normal/command.c (grub_command_init): Remove the title command.
24567
24568 * normal/lexer.c (grub_script_yylex): Renamed from this...
24569 (grub_script_yylex2): ... to this.
24570 (grub_script_yylex): New function. Temporary
24571 introduced to filter some tokens.
24572 (grub_script_yyerror): Print a newline.
24573
24574 * normal/main.c (read_config_file): Output information about the
24575 lines that contain errors. Wait for a key after all lines have
24576 been processed. Don't return an empty menu.
24577
24578 * normal/parser.y (func_mem): Don't initialize.
24579 (menu_entry): Likewise.
24580 (err): New variable.
24581 (script): Don't return anything when an error was encountered.
24582 (ws, returns): Removed rules.
24583 (argument): Disabled concatenated variable support.
24584 (arguments): Remove explicit separators.
24585 (grubcmd): Likewise.
24586 (function): Likewise.
24587 (menuentry): Likewise.
24588 (if): Likewise.
24589 (commands): Likewise. Add error handling.
24590
24591 * normal/script.c (grub_script_create_cmdline): If
24592 `grub_script_parsed' is 0, assume the parser encountered an error.
24593
24594 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24595
24596 * configure.ac: Add support for EFI. Fix the typo
24597 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24598
24599 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24600
24601 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24602 foreign multibyte characters should be shown correctly.
24603
24604 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24605
24606 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24607 calculation.
24608 (read_config_file): Made it to close file before returning.
24609
24610 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24611
24612 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24613 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24614 video/i386/pc/vbefill.c.
24615
24616 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24617 video/i386/pc/vbefill.c.
24618
24619 * include/grub/video.h (grub_video_blit_format): New enum.
24620 (grub_video_mode_info): Added new member blit_format.
24621 (grub_video_get_blit_format): New function prototype.
24622
24623 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24624 function prototype.
24625 (grub_video_vbe_map_rgb): Likewise.
24626 (grub_video_vbe_unmap_color): Likewise.
24627
24628 * include/grub/i386/pc/vbeblit.h: New file.
24629
24630 * include/grub/i386/pc/vbefill.h: New file.
24631
24632 * video/video.c (grub_video_get_blit_format): New function.
24633 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24634 (grub_video_vbe_map_rgb): Likewise.
24635 (grub_video_vbe_unmap_color): Likewise.
24636
24637 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24638 optimized fills.
24639 (grub_video_vbe_blit_render_target): Changed to use more optimized
24640 blits.
24641 (grub_video_vbe_setup): Added detection for optimized settings.
24642 (grub_video_vbe_create_render_target): Likewise.
24643
24644 * video/i386/pc/vbeblit.c: New file.
24645
24646 * video/i386/pc/vbefill.c: New file.
24647
24648 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24649
24650 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24651 here...
24652
24653 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24654 parsing to support both hex and dec ranges. If filename was missing
24655 show usage information.
24656
24657 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24658
24659 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24660 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24661
24662 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24663 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24664 (video_mod_SOURCES): Added.
24665 (video_mod_CFLAGS): Likewise.
24666 (video_mod_LDFLAGS): Likewise.
24667 (gfxterm_mod_SOURCES): Likewise.
24668 (gfxterm_mod_CFLAGS): Likewise.
24669 (gfxterm_mod_LDFLAGS): Likewise.
24670 (videotest_mod_SOURCES): Likewise.
24671 (videotest_mod_CFLAGS): Likewise.
24672 (videotest_mod_LDFLAGS): Likewise.
24673 (vesafb_mod_SOURCES): Removed.
24674 (vesafb_mod_CFLAGS): Likewise.
24675 (vesafb_mod_LDFLAGS): Likewise.
24676 (vga_mod_SOURCES): Likewise.
24677 (vga_mod_CFLAGS): Likewise.
24678 (vga_mod_LDFLAGS): Likewise.
24679
24680 * commands/videotest.c: New file.
24681
24682 * font/manager.c (fill_with_default_glyph): Modified to use
24683 grub_font_glyph.
24684 (grub_font_get_glyph): Likewise.
24685 (fontmanager): Renamed from this...
24686 (font_manager): ... to this.
24687
24688 * include/grub/font.h (grub_font_glyph): Added new structure.
24689 (grub_font_get_glyph): Modified to use grub_font_glyph.
24690
24691 * include/grub/misc.h (grub_abs): Added as inline function.
24692
24693 * include/grub/video.h: New file.
24694
24695 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24696 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24697 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24698 (grub_vbe_get_controller_info): Renamed from this...
24699 (grub_vbe_bios_get_controller_info): ... to this.
24700 (grub_vbe_get_mode_info): Renamed from this...
24701 (grub_vbe_bios_get_mode_info): ... to this.
24702 (grub_vbe_set_mode): Renamed from this...
24703 (grub_vbe_bios_set_mode): ... to this.
24704 (grub_vbe_get_mode): Renamed from this...
24705 (grub_vbe_bios_get_mode): ... to this.
24706 (grub_vbe_set_memory_window): Renamed from this...
24707 (grub_vbe_bios_set_memory_window): ... to this.
24708 (grub_vbe_get_memory_window): Renamed from this...
24709 (grub_vbe_bios_get_memory_window): ... to this.
24710 (grub_vbe_set_scanline_length): Renamed from this...
24711 (grub_vbe_set_scanline_length): ... to this.
24712 (grub_vbe_get_scanline_length): Renamed from this...
24713 (grub_vbe_bios_get_scanline_length): ... to this.
24714 (grub_vbe_set_display_start): Renamed from this...
24715 (grub_vbe_bios_set_display_start): ... to this.
24716 (grub_vbe_get_display_start): Renamed from this...
24717 (grub_vbe_bios_get_display_start): ... to this.
24718 (grub_vbe_set_palette_data): Renamed from this...
24719 (grub_vbe_bios_set_palette_data): ... to this.
24720 (grub_vbe_set_pixel_rgb): Removed.
24721 (grub_vbe_set_pixel_index): Likewise.
24722
24723 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24724 from this...
24725 (grub_vbe_bios_get_controller_info): ... to this.
24726 (grub_vbe_get_mode_info): Renamed from this...
24727 (grub_vbe_bios_get_mode_info): ... to this.
24728 (grub_vbe_set_mode): Renamed from this...
24729 (grub_vbe_bios_set_mode): ... to this.
24730 (grub_vbe_get_mode): Renamed from this...
24731 (grub_vbe_bios_get_mode): ... to this.
24732 (grub_vbe_set_memory_window): Renamed from this...
24733 (grub_vbe_bios_set_memory_window): ... to this.
24734 (grub_vbe_get_memory_window): Renamed from this...
24735 (grub_vbe_bios_get_memory_window): ... to this.
24736 (grub_vbe_set_scanline_length): Renamed from this...
24737 (grub_vbe_set_scanline_length): ... to this.
24738 (grub_vbe_get_scanline_length): Renamed from this...
24739 (grub_vbe_bios_get_scanline_length): ... to this.
24740 (grub_vbe_set_display_start): Renamed from this...
24741 (grub_vbe_bios_set_display_start): ... to this.
24742 (grub_vbe_get_display_start): Renamed from this...
24743 (grub_vbe_bios_get_display_start): ... to this.
24744 (grub_vbe_set_palette_data): Renamed from this...
24745 (grub_vbe_bios_set_palette_data): ... to this.
24746 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24747 getting corrupted after calling it. Added more pushes and pops.
24748 (grub_vbe_bios_set_mode): Likewise.
24749 (grub_vbe_bios_get_mode): Likewise.
24750 (grub_vbe_bios_get_memory_window): Likewise.
24751 (grub_vbe_bios_set_scanline_length): Likewise.
24752 (grub_vbe_bios_get_scanline_length): Likewise.
24753 (grub_vbe_bios_get_display_start): Likewise.
24754 (grub_vbe_bios_set_palette_data): Likewise.
24755
24756 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24757 (cl_insert): Likewise.
24758 (cl_delete): Likewise.
24759
24760 * term/gfxterm.c: New file.
24761
24762 * term/i386/pc/vesafb.c: Removed file.
24763
24764 * video/video.c: New file.
24765
24766 * video/i386/pc/vbe.c (real2pm): Added new function.
24767 (grub_video_vbe_draw_pixel): Likewise.
24768 (grub_video_vbe_get_video_ptr): Likewise.
24769 (grub_video_vbe_get_pixel): Likewise
24770 (grub_video_vbe_init): Likewise.
24771 (grub_video_vbe_fini): Likewise.
24772 (grub_video_vbe_setup): Likewise.
24773 (grub_video_vbe_get_info): Likewise.
24774 (grub_video_vbe_set_palette): Likewise.
24775 (grub_video_vbe_get_palette): Likewise.
24776 (grub_video_vbe_set_viewport): Likewise.
24777 (grub_video_vbe_get_viewport): Likewise.
24778 (grub_video_vbe_map_color): Likewise.
24779 (grub_video_vbe_map_rgb): Likewise.
24780 (grub_video_vbe_map_rgba): Likewise.
24781 (grub_video_vbe_unmap_color): Likewise.
24782 (grub_video_vbe_fill_rect): Likewise.
24783 (grub_video_vbe_blit_glyph): Likewise.
24784 (grub_video_vbe_blit_bitmap): Likewise.
24785 (grub_video_vbe_blit_render_target): Likewise.
24786 (grub_video_vbe_scroll): Likewise.
24787 (grub_video_vbe_swap_buffers): Likewise.
24788 (grub_video_vbe_create_render_target): Likewise.
24789 (grub_video_vbe_delete_render_target): Likewise.
24790 (grub_video_vbe_set_active_render_target): Likewise.
24791 (grub_vbe_set_pixel_rgb): Remove function.
24792 (grub_vbe_set_pixel_index): Likewise.
24793 (index_color_mode): Remove static variable.
24794 (active_mode): Likewise.
24795 (framebuffer): Likewise.
24796 (bytes_per_scan_line): Likewise.
24797 (grub_video_vbe_adapter): Added new static variable.
24798 (framebuffer): Likewise.
24799 (render_target): Likewise.
24800 (initial_mode): Likewise.
24801 (mode_in_use): Likewise.
24802 (mode_list): Likewise.
24803
24804 2006-03-10 Marco Gerards <marco@gnu.org>
24805
24806 * configure.ac (AC_INIT): Bumped to 1.93.
24807
24808 * DISTLIST: Added `include/grub/hfs.h'.
24809
24810 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24811
24812 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24813 18H, which might help the BIOS falling back to next boot media.
24814
24815 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24816
24817 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24818 Poe Chen <poe.poechen@gmail.com>.
24819
24820 2006-01-17 Marco Gerards <marco@gnu.org>
24821
24822 * include/grub/normal.h: Include <grub/script.h>.
24823 (grub_command_list): Removed struct.
24824 (grub_command_list_t): Removed type.
24825 (grub_menu_entry): Remove members `num' and `command_list'. Add
24826 members `commands' and `sourcecode'.
24827 * include/grub/script.h: Add inclusion guards.
24828 (grub_script_cmd_menuentry): New struct.
24829 (grub_script_execute_menuentry): New prototype.
24830 (grub_script_lexer_record_start): Likewise.
24831 (grub_script_lexer_record_stop): Likewise.
24832 * normal/execute.c (grub_script_execute_menuentry): New function.
24833 * normal/lexer.c (record, recording, recordpos, recordlen): New
24834 variables.
24835 (grub_script_lexer_record_start): New function.
24836 (grub_script_lexer_record_stop): Likewise.
24837 (recordchar): Likewise.
24838 (nextchar): Likewise.
24839 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24840 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24841 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24842 (current_menu): New variable.
24843 (free_menu): Mainly rewritten.
24844 (grub_normal_menu_addentry): New function.
24845 (read_config_file): Rewritten.
24846 * normal/menu.c (run_menu_entry): Mainly rewritten.
24847 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24848 the menu entry.
24849 (run): Mainly rewritten.
24850 * normal/parser.y (menu_entry): New variable.
24851 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24852 (menuentry): New rule.
24853 (command): Add `menuentry'.
24854 (if_statement): Allow additional returns before `fi'.
24855 * normal/script.c (grub_script_create_cmdmenu): New function.
24856
24857 2006-01-03 Marco Gerards <marco@gnu.org>
24858
24859 * INSTALL: GNU Bison is required.
24860 * configure.ac: Rewritten the test to detect Bison.
24861 * Makefile.in (YACC): New variable. Reported by Xun Sun
24862 <xun.sun.cn@gmail.com>.
24863
24864 2006-01-03 Marco Gerards <marco@gnu.org>
24865
24866 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24867 the HFS+ filesystem to filesystem blocks.
24868 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24869 GCC warning is silenced.
24870
24871 2006-01-03 Marco Gerards <marco@gnu.org>
24872
24873 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24874 read from disk from big endian to host byte order.
24875
24876 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24877
24878 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24879 documentation.
24880 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24881 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24882 embedded HFS+ filesystem.
24883 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24884 (grub_hfs_sblock): Move from here...
24885 * include/grub/hfs.h: To here... New file.
24886 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24887 documentation.
24888 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24889 New macros.
24890 (grub_hfsplus_volheader): Change type of member `magic' to
24891 `grub_uint16_t'.
24892 (grub_hfsplus_data): Add new member `embedded_offset'.
24893 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24894 returned block.
24895 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24896 Calculate the offset.
24897
24898 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24899
24900 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24901 Removed.
24902 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24903
24904 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24905
24906 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24907 ENV->NAME is NULL after allocating ENV->VALUE.
24908
24909 2005-12-25 Marco Gerards <marco@gnu.org>
24910
24911 * kern/env.c (grub_env_set): Rewritten the error handling code.
24912
24913 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24914
24915 * geninit.sh: Made more robust, and more portable.
24916
24917 2005-12-25 Marco Gerards <marco@gnu.org>
24918
24919 Add support for Apple HFS+ filesystems.
24920
24921 * fs/hfsplus.c: New file.
24922
24923 * DISTLIST: Added `fs/hfsplus.c'.
24924
24925 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24926 (hfsplus_mod_SOURCES): New variable.
24927 (hfsplus_mod_CFLAGS): Likewise.
24928 (hfsplus_mod_LDFLAGS): Likewise.
24929 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24930 (grub_setup_SOURCES): Likewise.
24931 (grub_mkdevicemap_SOURCES): Likewise.
24932 (grub_emu_SOURCES): Likewise.
24933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24934
24935 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24936
24937 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24938
24939 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24940
24941 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24942 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24943 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24944 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24945 normal/lexer.c, normal/parser.y, normal/script.c, and
24946 partmap/gpt.c.
24947 Removed kern/sparc64/cache.c.
24948
24949 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24950 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24951 grub_emu_init.c.
24952
24953 * configure.ac (AC_INIT): Bumped to 1.92.
24954
24955 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24956
24957 * kern/err.c (grub_error_push): Added new function to support error
24958 stacks.
24959 (grub_error_pop): Likewise.
24960 (grub_error_stack_items): New local variable to support error stacks.
24961 (grub_error_stack_pos): Likewise.
24962 (grub_error_stack_assert): Likewise.
24963 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24964 stack depth.
24965 (grub_print_error): Added support to print errors from error stack.
24966
24967 * include/grub/err.h (grub_error_push): Added function prototype.
24968 (grub_error_pop): Likewise.
24969
24970 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24971
24972 * configure.ac: Accept `powerpc64' as host_cpu.
24973 (amd64): Rename to `biarch32'.
24974
24975 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24976 non-cacheline-aligned addresses.
24977
24978 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24979 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24980 if `size' is non-zero.
24981
24982 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24983
24984 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24985 and `cd' to make sure the filename is not prefixed with a
24986 directory name.
24987 (pkgdata_MODULES): Add `gpt.mod'.
24988 (gpt_mod_SOURCES): New variable.
24989 (gpt_mod_CFLAGS): Likewise.
24990 (gpt_mod_LDFLAGS): Likewise.
24991
24992 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24993
24994 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24995 New macro.
24996
24997 * partmap/gpt.c: New file.
24998
24999 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25000 GPT partition map is detected.
25001
25002 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25003
25004 * commands/i386/pc/play.c: New file.
25005 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25006 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25007 macros.
25008
25009 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
25010
25011 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25012 ((unused))' to silence gcc warning.
25013
25014 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25015
25016 * configure.ac: Correct `AC_PROG_YACC' test.
25017
25018 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25019
25020 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25021 check before installing files.
25022
25023 2005-11-22 Mike Small <smallm@panix.com>
25024
25025 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25026 number regex so multidigit numbers are recognized correctly.
25027
25028 2005-11-22 Mike Small <smallm@panix.com>
25029
25030 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25031 debugging message before attempting to claim memory.
25032 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25033 multiple addresses in case of failure.
25034
25035 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25036
25037 * term/tparm.c (get_space): Remove empty `if' statement.
25038
25039 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25040
25041 * kern/parser.c (check_varstate): Rename `state' to 's'.
25042
25043 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25044
25045 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25046 variable definitions to the beginning of each function. Sort stack
25047 variables by size.
25048 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25049 `buf' argument to `char *'.
25050
25051 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25052
25053 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25054 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25055 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25056 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25057 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25058 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25059 configfile.mod, search.mod, gzio.mod and test.mod.
25060 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25061 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25062 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25063 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25064 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25065 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25066 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25067 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25068 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25069 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25070 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25071 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25072 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25073 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25074 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25075 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25076 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25077 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25078 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25079 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25080 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25081 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25082 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25083
25084 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25085 `grep --include'.
25086 (pkgdata_MODULES): Add test.mod.
25087
25088 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25089
25090 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25091 appending to variables with "+=".
25092 (PModule): Use full pathname to generate *.lst filenames.
25093
25094 * Makefile.in: Fixed list rules moved from genmk.rb.
25095 (.DELETE_ON_ERROR): New special target.
25096 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25097
25098 * conf/i386-pc.rmk: Include conf/common.mk.
25099 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25100 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25101 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25102 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25103 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25104 configfile.mod, search.mod, gzio.mod and test.mod.
25105 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25106 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25107 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25108 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25109 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25110 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25111 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25112 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25113 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25114 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25115 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25116 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25117 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25118 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25119 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25120 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25121 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25122 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25123 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25124 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25125 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25126 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25127 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25128 here...
25129 * conf/common.rmk: ... to here. New file.
25130
25131 * conf/common.mk: New file.
25132
25133 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25134
25135 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25136 (grub_script.tab.c): ... here.
25137
25138 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25139 (grub_script.tab.c): ... here.
25140
25141 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25142 (grub_script.tab.c): ... here.
25143
25144 * normal/command.c (grub_command_find): Fixed a memory leak of
25145 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25146
25147 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25148
25149 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25150 "@" which marks the start of a comment on ARM.
25151 (VARIABLE): Likewise.
25152
25153 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25154
25155 Add support for Linux/ADFS partition tables.
25156
25157 * partmap/acorn.c: New file.
25158
25159 * include/grub/acorn_filecore.h: Likewise.
25160
25161 * DISTLIST: Added `partmap/acorn.c' and
25162 `include/grub/acorn_filecore.h'.
25163
25164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25165 `partmap/acorn.c'.
25166 (pkgdata_MODULES): Add `acorn.mod'.
25167 (acorn_mod_SOURCES): New variable.
25168 (acorn_mod_CFLAGS): Likewise.
25169
25170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25171 `partmap/acorn.c'.
25172 (pkgdata_MODULES): Add `acorn.mod'.
25173 (acorn_mod_SOURCES): New variable.
25174 (acorn_mod_CFLAGS): Likewise.
25175
25176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25177 (pkgdata_MODULES): Add `acorn.mod'.
25178 (acorn_mod_SOURCES): New variable.
25179 (acorn_mod_CFLAGS): Likewise.
25180 (acorn_mod_LDFLAGS): Likewise.
25181
25182 * include/types.h (grub_disk_addr_t): New typedef.
25183
25184 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
25185
25186 * geninit.sh: New file.
25187
25188 * geninitheader.sh: Likewise.
25189
25190 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25191 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25192 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25193 * commands/configfile.c (grub_configfile_init)
25194 (grub_configfile_fini): Likewise.
25195 * commands/default.c (grub_default_init, grub_default_fini):
25196 Likewise.
25197 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25198 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25199 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25200 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25201 Likewise.
25202 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25203 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25204 Likewise.
25205 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
25206 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
25207 Likewise.
25208 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25209 Likewise.
25210 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
25211 Likewise.
25212 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25213 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25214 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25215 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25216 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25217 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25218 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25219 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25220 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25221 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25222 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25223 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25224 * partmap/amiga.c (grub_amiga_partition_map_init)
25225 (grub_amiga_partition_map_fini): Likewise.
25226 * partmap/apple.c (grub_apple_partition_map_init)
25227 (grub_apple_partition_map_fini): Likewise.
25228 * partmap/pc.c (grub_pc_partition_map_init)
25229 (grub_pc_partition_map_fini): Likewise.
25230 * partmap/sun.c (grub_sun_partition_map_init,
25231 grub_sun_partition_map_fini): Likewise.
25232 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25233 Likewise.
25234
25235 * util/grub-emu.c: Include <grub_modules_init.h>.
25236 (main): Don't initialize and de-initialize any modules directly,
25237 use `grub_init_all' and `grub_fini_all' instead.
25238
25239 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25240 `grub_vesafb_mod_init'.
25241 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25242 all users.
25243 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25244 `grub_vga_mod_init'. Updated all users.
25245 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25246
25247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25248 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25249 rules.
25250
25251 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25252 Generate a function to initialize the module in utilities.
25253 Updated all callers.
25254 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25255 initialize the module in utilities. Updated all callers.
25256
25257 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25258
25259 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25260 escape sequence and a literal ^L to clear the screen.
25261
25262 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25263 when returning from Open Firmware.
25264
25265 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25266
25267 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25268 (grub_ofconsole_height): Likewise.
25269 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25270 manually insert a '\n'.
25271 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25272 `grub_ofconsole_height'. Return early if these are already set.
25273
25274 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25275
25276 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25277 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25278 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25279 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25280 and `normal/script.c'.
25281 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25282 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25283 (test_mod_SOURCES): New variable.
25284 (test_mod_CFLAGS): Likewise.
25285 (test_mod_LDFLAGS): Likewise.
25286 (pkgdata_MODULES): Add `test.mod'.
25287 (grub_script.tab.c): New rule.
25288 (grub_script.tab.h): Likewise.
25289
25290 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25291
25292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25293 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25294 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25295 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25296 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25297 (test_mod_SOURCES): New variable.
25298 (test_mod_CFLAGS): Likewise.
25299 (pkgdata_MODULES): Add `test.mod'.
25300 (grub_script.tab.c): New rule.
25301 (grub_script.tab.h): Likewise.
25302
25303 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25304
25305 Add initial scripting support.
25306
25307 * commands/test.c: New file.
25308 * include/grub/script.h: Likewise.
25309 * normal/execute.c: Likewise.
25310 * normal/function.c: Likewise.
25311 * normal/lexer.c: Likewise.
25312 * normal/parser.y: Likewise.
25313 * normal/script.c: Likewise.
25314
25315 * configure.ac: Add `AC_PROG_YACC' test.
25316
25317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25318 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25319 `normal/function.c' and `normal/script.c'.
25320 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25321 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25322 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25323 variables.
25324 (pkgdata_MODULES): Add `test.mod'.
25325 (grub_script.tab.c): New rule.
25326 (grub_script.tab.h): Likewise.
25327
25328 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25329
25330 * include/grub/normal.h (grub_test_init): New prototype.
25331 (grub_test_fini): Likewise.
25332
25333 * normal/command.c: Include <grub/script.h>.
25334 (grub_command_execute): Rewritten.
25335
25336 * util/grub-emu.c (main): Call `grub_test_init' and
25337 `grub_test_fini'.
25338
25339 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25340
25341 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25342 to 0.
25343 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25344 there are no pending characters.
25345
25346 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25347
25348 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25349 `grub_strndup' to drop device arguments. Replace unnecessary
25350 `grub_strndup' with `grub_strdup'.
25351
25352 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25353
25354 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25355 `debug' environment variable has been set.
25356
25357 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25358
25359 * Makefile.in (install-local): Use $(DATA).
25360 (uninstall): Likewise.
25361 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25362 (sbin_UTILITIES): ... to here.
25363 (sbin_SCRIPTS): New variable.
25364 (grub_install_SOURCES): New variable.
25365 * util/powerpc/ieee1275/grub-install.in: New file.
25366 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25367 variable.
25368 (add_segments): Call `grub_util_get_path'.
25369
25370 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25371
25372 From Timothy Baldwin:
25373 * commands/ls.c (grub_ls_list_files): Close FILE with
25374 grub_file_close.
25375 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25376
25377 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25378
25379 * include/grub/parser.h: New file.
25380
25381 * kern/parser.c: Likewise.
25382
25383 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25384 (grub_setup_SOURCES): Likewise.
25385 (grub_probefs_SOURCES): Likewise.
25386 (grub_emu_SOURCES): Likewise.
25387 (kernel_img_HEADERS): Add `parser.h'.
25388
25389 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25390 (grub_emu_SOURCES): Add `kern/parser.c'.
25391 (grubof_SOURCES): Likewise.
25392
25393 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25394 (grubof_SOURCES): Add `kern/parser.c'.
25395
25396 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25397
25398 * kern/misc.c (grub_split_cmdline): Removed function.
25399
25400 * kern/rescue.c: Include <grub/parser.h>.
25401 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25402 of `grub_split_cmdline'.
25403
25404 * normal/command.c: Include <grub/parser.h>.
25405 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25406 of `grub_split_cmdline'.
25407
25408 * normal/completion.c: Include <grub/parser.h>.
25409 (cmdline_state): New variable.
25410 (iterate_dir): End the filename with a quote depending on the
25411 command line state.
25412 (get_state): new function.
25413 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25414 split the arguments and determine the current argument. When the
25415 argument string is not quoted, escape all spaces.
25416
25417 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25418
25419 * normal/sparc64/setjmp.S: New file.
25420
25421 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25422
25423 * include/grub/sparc64/libgcc.h: New file.
25424 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25425 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25426 normal/sparc64/setjmp.c.
25427
25428 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25429
25430 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25431 * kern/sparc64/cache.S: New file.
25432 * kern/sparc64/cache.c: Removed.
25433 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25434 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25435 -mtune=ultrasparc.
25436 (COMMON_LDFLAGS): Add -melf64_sparc.
25437 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25438 (grubof_SOURCES): Use cache.S instead of cache.c.
25439 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25440 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25441 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25442 commented though.
25443 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25444 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25445 (linux_mod_CFLAGS): Commented out.
25446 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25447 out because module isn't built.
25448 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25449 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25450 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25451 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25452 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25453 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25454 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25455 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25456 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25457 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25458 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25459 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25460 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25461 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25462
25463 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25464
25465 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25466 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25467 longer, because HFS should not be used on PC.
25468
25469 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25470
25471 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25472 consistently within the loop.
25473
25474 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25475
25476 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25477 directory can not be read.
25478
25479 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25480
25481 * configure.ac (AC_INIT): Increase the version number to 1.91.
25482
25483 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25484 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25485 term/i386/pc/serial.c.
25486
25487 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25488
25489 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25490 file size must be permitted.
25491
25492 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25493 between %ah and %al.
25494
25495 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25496
25497 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25498 grub_uint64_t.
25499 Call the hook with a NUL-terminated filename.
25500 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25501 grub_cpu_to_be32.
25502
25503 * kern/term.c (cursor_state): New variable.
25504 (grub_term_set_current): Reset the cursor state on a new
25505 terminal.
25506 (grub_setcursor): Rewritten to use CURSOR_STATE.
25507 (grub_getcursor): New function.
25508
25509 * include/grub/term.h (grub_getcursor): New prototype.
25510
25511 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25512 integers on ARM. Reported by Timothy Baldwin
25513 <T.E.Baldwin99@members.leeds.ac.uk>.
25514
25515 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25516
25517 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25518 allocated.
25519 (grub_sfs_dir): Likewise.
25520
25521 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25522
25523 Add support for the SFS filesystem.
25524
25525 * fs/sfs.c: New file.
25526
25527 * DISTLIST: Added `fs/sfs.c'.
25528
25529 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25530 (grub_probefs_SOURCES): Likewise.
25531 (grub_emu_SOURCES): Likewise.
25532 (pkgdata_MODULES): Add `sfs.mod'.
25533 (sfs_mod_SOURCES): New variable.
25534 (sfs_mod_CFLAGS): Likewise.
25535 (sfs_mod_LDFLAGS): Likewise.
25536
25537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25538 (pkgdata_MODULES): Add `sfs.mod'.
25539 (sfs_mod_SOURCES): New variable.
25540 (sfs_mod_CFLAGS): Likewise.
25541
25542 * util/grub-emu.c (main): Call `grub_sfs_init' and
25543 `grub_sfs_fini'.
25544
25545 * include/grub/fs.h (grub_sfs_init): New prototype.
25546 (grub_sfs_fini): Likewise.
25547
25548 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25549
25550 Add support for the AFFS filesystem.
25551
25552 * fs/affs.c: New file.
25553
25554 * DISTLIST: Added `fs/affs.c'.
25555
25556 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25557 (grub_probefs_SOURCES): Likewise.
25558 (grub_emu_SOURCES): Likewise.
25559 (pkgdata_MODULES): Add `affs.mod'.
25560 (affs_mod_SOURCES): New variable.
25561 (affs_mod_CFLAGS): Likewise.
25562 (affs_mod_LDFLAGS): Likewise.
25563
25564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25565 (pkgdata_MODULES): Add `affs.mod'.
25566 (affs_mod_SOURCES): New variable.
25567 (affs_mod_CFLAGS): Likewise.
25568
25569 * util/grub-emu.c (main): Call `grub_affs_init' and
25570 `grub_affs_fini'.
25571
25572 * include/grub/fs.h (grub_affs_init): New prototype.
25573 (grub_affs_fini): Likewise.
25574
25575 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25576
25577 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25578
25579 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25580
25581 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25582 `-m32' to CFLAGS.
25583
25584 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25585 linking.
25586
25587 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25588 (COMMON_LDFLAGS): New variable.
25589 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25590 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25591 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25592 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25593 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25594 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25595 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25596 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25597 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25598 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25599 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25600 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25601 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25602 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25603 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25604 variables.
25605 (normal_mod_ASFLAGS): Add `-m32'.
25606
25607 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25608 (grub_host_size_t, grub_host_ssize_t): New types.
25609 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25610 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25611 `GRUB_HOST_SIZEOF_VOID_P'.
25612
25613 * include/grub/kernel.h (struct grub_module_header): Type of
25614 member offset changed to `grub_host_off_t'. Type of member size
25615 changed to `grub_host_size_t'.
25616 (struct grub_module_info): Type of member offset changed to
25617 `grub_host_off_t'. Type of member size changed to
25618 `grub_host_size_t'.
25619
25620 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25621
25622 Make GRUB's kernel compliant to Multiboot Specification.
25623
25624 * kern/i386/pc/startup.S (multiboot_header): New label.
25625 (multiboot_entry): Likewise.
25626 (multiboot_trampoline): Likewise.
25627
25628 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25629 Increased to 0x4A0.
25630
25631 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25632 put parentheses after a question mark.
25633 [!GRUB_UTIL] (my_mod): New variable.
25634
25635 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25636
25637 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25638
25639 Adds support for the XFS filesystem. Btrees are not supported
25640 yet.
25641
25642 * fs/xfs.c: New file.
25643
25644 * DISTLIST: Added `fs/xfs.c'.
25645
25646 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25647 (grub_probefs_SOURCES): Likewise.
25648 (grub_emu_SOURCES): Likewise.
25649 (pkgdata_MODULES): Add `xfs.mod'.
25650 (xfs_mod_SOURCES): New variable.
25651 (xfs_mod_CFLAGS): Likewise.
25652
25653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25654 (pkgdata_MODULES): Add `xfs.mod'.
25655 (xfs_mod_SOURCES): New variable.
25656 (xfs_mod_CFLAGS): Likewise.
25657
25658 * util/grub-emu.c (main): Call `grub_xfs_init' and
25659 `grub_xfs_fini'.
25660
25661 * include/grub/fs.h (grub_xfs_init): New prototype.
25662 (grub_xfs_fini): Likewise.
25663
25664
25665 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25666
25667 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25668 color modes, allow greater than 16 colors to be configured as
25669 a default palette.
25670
25671 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25672
25673 * normal/completion.c (complete_arguments): Add the qualifier
25674 const into OPTIONS.
25675
25676 From Omniflux <omniflux+lists@omniflux.com>:
25677 * include/grub/terminfo.h: New file.
25678 * include/grub/tparm.h: Likewise.
25679 * include/grub/i386/pc/serial.h: Likewise.
25680 * term/terminfo.c: Likewise.
25681 * term/tparm.c: Likewise.
25682 * term/i386/pc/serial.c: Likewise.
25683 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25684 serial.mod.
25685 (terminfo_mod_SOURCES): New variable.
25686 (terminfo_mod_CFLAGS): Likewise.
25687 (serial_mod_SOURCES): Likewise.
25688 (serial_mod_CFLAGS): Likewise.
25689
25690 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25691
25692 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25693 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25694 and kern/powerpc/ieee1275/cmain.c, respectively.
25695
25696 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25697 * kern/powerpc/ieee1275/crt0.S: ... here.
25698
25699 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25700 * kern/powerpc/ieee1275/cmain.c: ... here.
25701
25702 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25703 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25704 instead of boot/powerpc/ieee1275/crt0.S and
25705 boot/powerpc/ieee1275/cmain.c, respectively.
25706
25707 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25708 sectors. It was not used anyway.
25709
25710 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25711
25712 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25713 `unused parameter' warning.
25714
25715 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25716
25717 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25718 function.
25719 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25720 getcharwidth.
25721
25722 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25723
25724 * include/grub/normal.h (enum grub_completion_type): Added
25725 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25726
25727 * normal/cmdline.c (print_completion): Handle
25728 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25729 * normal/menu_entry.c (store_completion): Likewise.
25730
25731 * normal/completion.c (complete_arguments): New function.
25732 (grub_normal_do_completion): Call `complete_arguments' when the
25733 current words start with a dash.
25734
25735 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25736
25737 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25738 `gzio.mod' instead of `io.mod').
25739
25740 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25741
25742 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25743 (DISTDIRS): Added io and video.
25744 Rewrite the search routine to make an output consistently.
25745
25746 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25747 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25748 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25749 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25750 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25751 util/powerpc/ieee1275/misc.c.
25752
25753 * include/grub/gzio.h: New file.
25754 * io/gzio.c: Likewise.
25755
25756 * kern/file.c (grub_file_close): Call grub_device_close only if
25757 FILE->DEVICE is not NULL.
25758
25759 * include/grub/mm.h [!NULL] (NULL): New macro.
25760
25761 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25762
25763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25764 (pkgdata_MODULES): Added gzio.mod.
25765 (gzio_mod_SOURCES): New variable.
25766 (gzio_mod_CFLAGS): Likewise.
25767
25768 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25769 (pkgdata_MODULES): Added gzio.mod.
25770 (gzio_mod_SOURCES): New variable.
25771 (gzio_mod_CFLAGS): Likewise.
25772
25773 * commands/cat.c: Include grub/gzio.h.
25774 (grub_cmd_cat): Use grub_gzfile_open instead of
25775 grub_file_open.
25776
25777 * commands/cmp.c: Include grub/gzio.h.
25778 (grub_cmd_cmp): Use grub_gzfile_open instead of
25779 grub_file_open.
25780
25781 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25782 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25783 grub_file_open.
25784 (grub_rescue_cmd_module): Likewise.
25785
25786 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25787
25788 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25789 kern/sparc64/ieee1275/init.c because it contains _start.
25790 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25791
25792 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25793
25794 * configure.ac: Add support for sparc64 host with ieee1275
25795 firmware.
25796 * configure: Generated from configure.ac.
25797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25798 instead of int.
25799 (grub_ofdisk_read): Likewise.
25800 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25801 pointers as (void *) to remove a warning.
25802 (grub_ofdisk_close): Likewise.
25803 (grub_ofdisk_read): Likewise.
25804 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25805 returns, so make it return void to remove a warning.
25806 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25807 Corresponding prototype change.
25808 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25809 values, and cast the pointers as (void *) to remove a warning.
25810 (grub_mm_dump): Likewise.
25811 * conf/sparc64-ieee1275.mk: New file.
25812 * conf/sparc64-ieee1275.rmk: Likewise.
25813 * include/grub/sparc64/setjmp.h: Likewise.
25814 * include/grub/sparc64/types.h: Likewise.
25815 * include/grub/sparc64/ieee1275/console.h: Likewise.
25816 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25817 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25818 * include/grub/sparc64/ieee1275/time.h: Likewise.
25819 * kern/sparc64/cache.c: Likewise.
25820 * kern/sparc64/dl.c: Likewise.
25821 * kern/sparc64/ieee1275/init.c: Likewise.
25822 * kern/sparc64/ieee1275/openfw.c: Likewise.
25823
25824 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25825
25826 * util/console.c (grub_ncurses_putchar): If C is greater than
25827 0x7f, set C to a question mark.
25828 (grub_ncurses_getcharwidth): New function.
25829 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25830 getcharwidth.
25831
25832 * normal/menu.c (print_entry): Made aware of Unicode. First,
25833 convert TITLE to UCS-4, and predict the cursor position by
25834 grub_getcharwidth.
25835
25836 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25837 const to SRC.
25838 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25839
25840 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25841
25842 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25843 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25844 grub_strcat.
25845
25846 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25847 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25848 grub_strcpy and grub_strlen. Take it into account that a space
25849 character is inserted as a delimiter.
25850
25851 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25852
25853 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25854 invalid magic in the error.
25855
25856 * commands/search.c: New file.
25857
25858 * util/grub-emu.c (main): Call grub_search_init and
25859 grub_search_fini.
25860
25861 * kern/rescue.c (grub_rescue_print_disks): Removed.
25862 (grub_rescue_print_devices): New function.
25863 (grub_rescue_cmd_ls): Use grub_device_iterate with
25864 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25865 grub_rescue_print_disks.
25866
25867 * kern/partition.c (grub_partition_iterate): Return the result of
25868 PARTMAP->ITERATE instead of GRUB_ERRNO.
25869
25870 * kern/device.c: Include grub/partition.h.
25871 (grub_device_iterate): New function.
25872
25873 * include/grub/partition.h (grub_partition_iterate): Return int
25874 instead of grub_err_t.
25875
25876 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25877 prototype.
25878 [GRUB_UTIL] (grub_search_fini): Likewise.
25879
25880 * include/grub/device.h (grub_device_iterate): New prototype.
25881
25882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25883 commands/search.c.
25884 (pkgdata_MODULES): Added search.mod.
25885 (search_mod_SOURCES): New variable.
25886 (search_mod_CFLAGS): Likewise.
25887
25888 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25889 (pkgdata_MODULES): Added search.mod.
25890 (search_mod_SOURCES): New variable.
25891 (search_mod_CFLAGS): Likewise.
25892
25893 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25894 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25895 All callers changed.
25896
25897 * DISTLIST: Added commands/search.c.
25898
25899 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25900
25901 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25902 conversion.
25903 (grub_getcharwidth): New function.
25904
25905 * kern/misc.c (grub_utf8_to_ucs4): New function.
25906
25907 * include/grub/term.h (struct grub_term): Added a new member
25908 "getcharwidth".
25909 (grub_getcharwidth): New prototype.
25910
25911 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25912
25913 * term/i386/pc/console.c (map_char): New function. Segregated from
25914 grub_console_putchar.
25915 (grub_console_putchar): Use map_char.
25916 (grub_console_getcharwidth): New function.
25917 (grub_console_term): Specified grub_console_getcharwidth as
25918 getcharwidth.
25919
25920 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25921 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25922
25923 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25924 GRUB_ERRNO.
25925 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25926 on grub_strtoul completely.
25927 (write_char): Declare local variables in the beginning of the
25928 function.
25929 (grub_vesafb_getcharwidth): New function.
25930 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25931 getcharwidth.
25932
25933 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25934
25935 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25936 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25937 commands/i386/pc/vbetest.c.
25938
25939 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25940 call grub_vbe_get_controller_info again, because the returned
25941 information is volatile.
25942 (grub_vbe_set_video_mode): Mostly rewritten.
25943 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25944 grub_vbe_status_t correctly.
25945 (grub_vbe_get_video_mode_info): Likewise.
25946 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25947 several if statements.
25948
25949 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25950 * commands/i386/pc/vbeinfo.c: ... this.
25951
25952 * commands/i386/pc/vbe_test.c: Renamed to ...
25953 * commands/i386/pc/vbetest.c: ... this.
25954
25955 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25956 ...
25957 (grub_cmd_vbeinfo): ... this. Save video modes before
25958 iterating. Skip a video mode, if it is not available, not enough
25959 information is given or it is monochrome. Show the memory
25960 model. Leave the interpretation of MODEVAR to grub_strtoul
25961 completely.
25962 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25963 (GRUB_MOD_FINI): Likewise.
25964
25965 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25966 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25967 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25968 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25969 grub_strtoul completely.
25970 (real2pm): Removed.
25971 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25972 (GRUB_MOD_FINI): Likewise.
25973
25974 * normal/misc.c: Include grub/mm.h.
25975
25976 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25977 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25978 (vbe_list_modes_mod_SOURCES): Removed.
25979 (vbe_list_modes_mod_CFLAGS): Likewise.
25980 (vbe_test_mod_SOURCES): Likewise.
25981 (vbe_test_mod_CFLAGS): Likewise.
25982 (vbeinfo_mod_SOURCES): New variable.
25983 (vbeinfo_mod_CFLAGS): Likewise.
25984 (vbetest_mod_SOURCES): Likewise.
25985 (vbetest_mod_CFLAGS): Likewise.
25986
25987 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25988
25989 * normal/misc.c: New file.
25990
25991 * DISTLIST: Added normal/misc.c.
25992
25993 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25994 DISK to HOOK. Call HOOK with DISK.
25995 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25996 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25997 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25998
25999 * normal/menu_entry.c (struct screen): Added a new member
26000 "completion_shown".
26001 (completion_buffer): New global variable.
26002 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26003 (store_completion): New function.
26004 (complete): Likewise.
26005 (clear_completions): Likewise.
26006 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26007 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26008 a tab, call complete.
26009
26010 * normal/completion.c (disk_dev): Removed.
26011 (print_simple_completion): Likewise.
26012 (print_partition_completion): Likewise.
26013 (print_func): New global variable.
26014 (add_completion): Do not take the arguments WHAT or PRINT any
26015 longer. Added a new argument TYPE. Instead of printing directly,
26016 call PRINT_FUNC if not NULL.
26017 All callers changed.
26018 (complete_device): Use a local variable DEV instead of
26019 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26020 (grub_normal_do_completion): Take a new argument HOOK. Do not
26021 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26022 empty string, return NULL instead.
26023 All callers changed.
26024
26025 * normal/cmdline.c (print_completion): New function.
26026
26027 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26028 to HOOK.
26029 All callers changed.
26030
26031 * kern/disk.c (grub_print_partinfo): Removed.
26032
26033 * include/grub/partition.h (struct grub_partition_map): Add a new
26034 argument DISK into HOOK of ITERATE.
26035 (grub_partition_iterate): Add a new argument DISK to HOOK.
26036
26037 * include/grub/normal.h (enum grub_completion_type): New enum.
26038 (grub_completion_type_t): New type.
26039 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26040 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26041 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26042 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26043 (grub_normal_do_completion): Added a new argument HOOK.
26044 (grub_normal_print_device_info): New prototype.
26045
26046 * include/grub/disk.h (grub_print_partinfo): Removed.
26047
26048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26049 (normal_mod_SOURCES): Likewise.
26050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26051 (normal_mod_SOURCES): Likewise.
26052
26053 * commands/ls.c (grub_ls_list_disks): Use
26054 grub_normal_print_device_info instead of grub_print_partinfo. Free
26055 PNAME.
26056 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26057 duplicating the code.
26058
26059 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26060
26061 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
26062 follow GCS more precisely.
26063 * commands/i386/pc/vbe_test.c: Likewise.
26064 * include/grub/i386/pc/vbe.h: Likewise.
26065 * term/i386/pc/vesafb.c: Likewise.
26066 * video/i386/pc/vbe.c: Likewise.
26067
26068 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26069
26070 * DISTLIST: Added term/i386/pc/vesafb.c
26071 DISTLIST: Added video/i386/pc/vbe.c
26072 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26073 DISTLIST: Added commands/i386/pc/vbe_test.c.
26074 * commands/i386/pc/vbe_list_modes.c: New file.
26075 * commands/i386/pc/vbe_test.c: Likewise.
26076 * term/i386/pc/vesafb.c: Likewise.
26077 * video/i386/pc/vbe.c: Likewise.
26078 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26079 (grub_vbe_probe) Added prototype.
26080 (grub_vbe_set_video_mode) Likewise.
26081 (grub_vbe_get_video_mode) Likewise.
26082 (grub_vbe_get_video_mode_info) Likewise.
26083 (grub_vbe_set_pixel_rgb) Likewise.
26084 (grub_vbe_set_pixel_index) Likewise.
26085 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26086 (pkgdata_MODULES): Added vesafb.mod.
26087 (pkgdata_MODULES): Added vbe_list_modes.mod.
26088 (pkgdata_MODULES): Added vbe_test.mod.
26089 (vbe_mod_SOURCES): Added.
26090 (vbe_mod_CFLAGS): Likewise.
26091 (vesafb_mod_SOURCES): Likewise.
26092 (vesafb_mod_CFLAGS): Likewise.
26093 (vbe_list_modes_mod_SOURCES): Likewise.
26094 (vbe_list_modes_mod_CFLAGS): Likewise.
26095 (vbe_test_mod_SOURCES): Likewise.
26096 (vbe_test_mod_CFLAGS): Likewise.
26097
26098 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26099
26100 * normal/command.c (grub_command_execute): If INTERACTIVE is
26101 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26102 CMDLINE. Disable the pager if INTERACTIVE is true.
26103 All callers are changed.
26104
26105 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26106 before reading a config file.
26107 * normal/main.c (read_config_file): Even if a command is not
26108 found, register it if it is within an entry.
26109
26110 * util/grub-emu.c: Include sys/types.h and unistd.h.
26111 (options): Added --hold.
26112 (struct arguments): Added a new member "hold".
26113 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26114 missing.
26115 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26116 cleared by a debugger, if it is not zero.
26117
26118 * include/grub/normal.h (grub_command_execute): Add an argument
26119 INTERACTIVE.
26120
26121 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26122
26123 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26124
26125 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26126
26127 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26128 program with another one, because the old one didn't detect a bug
26129 in gcc-3.4. Always use regparm 2, because the new test is still
26130 not enough for gcc-4.0. Someone must investigate a simple test
26131 case which detects a bug in gcc-4.0.
26132
26133 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26134
26135 * DISTLIST: Added normal/completion.c.
26136
26137 * normal/completion.c: New file.
26138
26139 * term/i386/pc/console.c (grub_console_getwh): New function.
26140 (grub_console_term): Assign grub_console_getwh to getwh.
26141
26142 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26143 function is defined in normal/completion.c as
26144 grub_normal_do_completion.
26145 (grub_cmdline_get): Use grub_normal_do_completion instead of
26146 grub_tab_complete.
26147
26148 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26149 returns non-zero, otherwise return 0.
26150 (grub_partition_iterate): First, probe the partition map. Then,
26151 call ITERATE only for this partition map.
26152
26153 * kern/misc.c (grub_strncmp): Rewritten.
26154
26155 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26156 returns non-zero. Otherwise return 0.
26157
26158 * include/grub/partition.h (grub_partition_map_iterate): Return
26159 int instead of void.
26160
26161 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26162
26163 * include/grub/misc.h (grub_strncmp): Change the type of N to
26164 grub_size_t.
26165
26166 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26167 of void.
26168
26169 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
26170 unsigned explicitly before comparing it with I.
26171
26172 * kern/main.c (grub_env_write_root): Add the attribute unused into
26173 VAR.
26174
26175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26176 normal/completion.c.
26177 (normal_mod_SOURCES): Likewise.
26178 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26179 (normal_mod_SOURCES): Likewise.
26180
26181 * normal/command.c (grub_iterate_commands): If ITERATE returns
26182 non-zero, return one immediately.
26183
26184 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26185
26186 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26187 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26188 descriptions.
26189 (grub_vbe_get_controller_info): New function.
26190 (grub_vbe_get_mode_info): Likewise.
26191 (grub_vbe_set_mode): Likewise.
26192 (grub_vbe_get_mode): Likewise.
26193 (grub_vbe_set_memory_window): Likewise.
26194 (grub_vbe_get_memory_window): Likewise.
26195 (grub_vbe_set_scanline_length): Likewise.
26196 (grub_vbe_get_scanline_length): Likewise.
26197 (grub_vbe_set_display_start): Likewise.
26198 (grub_vbe_get_display_start): Likewise.
26199 (grub_vbe_set_palette_data): Likewise.
26200 * include/grub/i386/pc/vbe.h: New file.
26201
26202 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26203
26204 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26205 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26206 * DISTLIST: Likewise.
26207 * kern/ieee1275/of.c: Moved to ...
26208 * kern/ieee1275/ieee1275.c: ... here.
26209
26210 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26211
26212 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26213 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26214 Pass 0 as `end' parameter to grub_strtoul().
26215
26216 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26217
26218 * include/grub/powerpc/ieee1275/console.h: Do not include
26219 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26220 ifdef.
26221 (grub_console_cur_color): Remove i386-specific prototype.
26222 (grub_console_real_putchar): Likewise.
26223 (grub_console_checkkey): Likewise.
26224 (grub_console_getkey): Likewise.
26225 (grub_console_getxy): Likewise.
26226 (grub_console_gotoxy): Likewise.
26227 (grub_console_cls): Likewise.
26228 (grub_console_setcursor): Likewise.
26229 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26230 Include <grub/machine/console.h>.
26231 * term/ieee1275/ofconsole.c: Likewise.
26232
26233 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26234
26235 * Makefile.in (LIBLZO): New variable.
26236
26237 * configure.ac: Check for LZO version 2.
26238
26239 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26240 lzo/lzo1x.h instead of lzo1x.h.
26241
26242 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26243 of -llzo.
26244
26245 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26246 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26247
26248 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26249 copying the data from PARTITION to P.
26250
26251 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26252
26253 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26254 negative, unload the module.
26255
26256 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26257 map is "pc_partition_map" but not "pc".
26258 (usage): Fix the description. The options are --boot-image and
26259 --core-image but not --boot-file or --core-file.
26260 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26261 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26262 DEFAULT_DIRECTORY.
26263
26264 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26265 --core-file. Specify INSTALL_DEVICE as an argument.
26266
26267 * util/console.c: Include config.h.
26268 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26269 [HAVE_NCURSES_H]: Include ncurses.h.
26270 [HAVE_CURSES_H]: Include curses.h.
26271 [!A_NORMAL] (A_NORMAL): Defined as zero.
26272 [!A_STANDOUT] (A_STANDOUT): Likewise.
26273
26274 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26275 -lncurses.
26276 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26277
26278 * configure.ac: Check for curses libraries and headers.
26279
26280 * Makefile.in (LIBCURSES): New variable.
26281
26282 * genmk.rb (Script::rule): Set the executable bits.
26283
26284 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26285 name of the PC partition map is "pc_partition_map" but not "pc".
26286
26287 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26288
26289 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26290 (modules): Likewise.
26291 (usage): Added descriptions for --modules and --grub-probefs.
26292 Handle --modules and --grub-probefs. Save the arguments in MODULES
26293 and GRUB_PROBEFS, respectively.
26294 Auto-detect a filesystem module against GRUBDIR. If the result is
26295 empty and modules are not specified explicitly, abort the
26296 installation. Add the result to MODULES.
26297
26298 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26299 disk/powerpc/ieee1275/ofdisk.c,
26300 include/grub/powerpc/ieee1275/init.h and
26301 term/powerpc/ieee1275/ofconsole.c.
26302 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26303 term/ieee1275/ofconsole.c.
26304
26305 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26306
26307 * COPYING: Upgraded to the latest version. Only the address of the
26308 FSF office has changed.
26309
26310 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26311
26312 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26313 kern/ieee1275.c with kern/ieee1275/of.c.
26314
26315 * kern/ieee1275.c: Moved to ...
26316 * kern/ieee1275/of.c: ... here.
26317
26318 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26319
26320 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26321 readability.
26322
26323 * config.guess: Updated to the latest version from gnulib.
26324 * config.sub: Likewise.
26325 * install.sh: Likewise.
26326 * mkinstalldirs: Likewise.
26327
26328 * include/grub/console.h: Removed. This file is arch-specific. Do
26329 not put this in include/grub.
26330
26331 * include/grub/i386/pc/console.h: Resurrected.
26332
26333 * util/console.c: Include grub/machine/console.h instead of
26334 grub/console.h.
26335 * util/grub-emu.c: Likewise.
26336
26337 2005-08-04 Marco Gerards <metgerards@student.han.nl>
26338
26339 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26340 hardcoded value.
26341
26342 From Vincent Pelletier <subdino2004@yahoo.fr>
26343 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26344 Redefined to use grub_getwh.
26345 (grub_term): New member named getwh.
26346 (grub_getwh): New prototype.
26347 * kern/term.c (grub_getwh): New function.
26348 * term/i386/pc/console.c (grub_console_getwh): New function.
26349 (grub_console_term): New member `getwh'.
26350 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26351 (grub_vga_term): New member `getwh'.
26352 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
26353 grub_ssize_t.
26354 (grub_ofconsole_getw): New function.
26355 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26356 (grub_ofconsole_term): New field named getwh and new initial
26357 value.
26358
26359 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26360
26361 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26362 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26363 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26364 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26365 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26366 of <grub/machine/ieee1275.h>.
26367 * commands/ieee1275/reboot.c: Likewise.
26368 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26369 * kern/ieee1275.c: ... to here. All users updated. Change all
26370 parameter structs to use new type `grub_ieee1275_cell_t'.
26371 * term/powerpc/ieee1275/ofconsole.c: Move ...
26372 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26373 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26374 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26375 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26376 to return int.
26377 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26378 Remove unused prototypes. All users updated.
26379 * include/grub/powerpc/ieee1275/console.h: Removed.
26380 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26381 `grub_ieee1275_cell_t'.
26382 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26383 Cast comparisons with -1 to the correct type.
26384 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26385 type to match `grub_ieee1275_entry_fn'.
26386
26387 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26388
26389 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26390
26391 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26392 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26393 partmap/sun.c.
26394 (grub_probefs_SOURCES): New variable.
26395
26396 * util/i386/pc/grub-probefs.c: New file.
26397
26398 * util/i386/pc/grub-setup.c (main): Call
26399 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26400 grub_hfs_init and grub_jfs_init to initialize the system. Call
26401 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26402 grub_pc_partition_map_fini to finish the system.
26403
26404 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26405
26406 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26407 function.
26408 (grub_multiboot_load_elf32): Likewise.
26409 (grub_multiboot_is_elf64): Likewise.
26410 (grub_multiboot_load_elf64): Likewise.
26411 (grub_multiboot_load_elf): Likewise.
26412 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26413 an ELF32 or ELF64 file.
26414 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26415
26416 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26417 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26418 NULL before calling FS->LABEL.
26419 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26420 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26421 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26422 before calling FS->LABEL.
26423
26424 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26425
26426 * util/i386/pc/grub-install.in (datadir): New variable.
26427 (libdir): Removed.
26428 (pkgdatadir): New variable.
26429 (pkglibdir): Removed.
26430
26431 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26432
26433 * DISTLIST: Added util/i386/pc/grub-install.in.
26434
26435 * util/i386/pc/grub-install.in: New file.
26436
26437 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26438 (grub_install_SOURCES): Likewise.
26439
26440 * genmk.rb: Added support for scripts.
26441 (Script): New class.
26442 (scripts): New variable.
26443
26444 * Makefile.in (install-local): Install sbin_SCRIPTS by
26445 INSTALL_SCRIPT.
26446 (uninstall): Remove sbin_SCRIPTS.
26447
26448 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26449 device, try to get a GRUB device by
26450 grub_util_biosdisk_get_grub_dev.
26451 Free DEST_DEV.
26452
26453 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26454 description for --device-map.
26455
26456 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26457
26458 Change the semantics of variable hooks. They now return strings
26459 instead of error values.
26460
26461 * util/i386/pc/grub-setup.c: Include grub/env.h.
26462 (setup): Use grub_device_set_root instead of grub_env_set.
26463
26464 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26465 grub_env_get instead of grub_device_set_root and
26466 grub_device_get_root, respectively.
26467
26468 * kern/main.c (grub_env_write_root): New function.
26469 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26470 grub_env_set instead of grub_device_set_root.
26471
26472 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26473 many variables.
26474 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26475 rather than calling ENV->WRITE_HOOK afterwards.
26476 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26477 passing a pointer of a pointer.
26478 (grub_register_variable_hook): Change the types of "read_hook" and
26479 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26480 respectively.
26481 Allocate the default empty string on the heap, because this string
26482 may be freed later.
26483
26484 * kern/device.c: Include grub/env.h.
26485 (grub_device_set_root): Removed.
26486 (grub_device_get_root): Likewise.
26487 (grub_device_open): Use grub_env_get instead of
26488 grub_device_get_root.
26489
26490 * include/grub/env.h (grub_env_read_hook_t): New type.
26491 (grub_env_write_hook_t): Likewise.
26492 (grub_env_var): Change the types of "read_hook" and "write_hook"
26493 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26494 (grub_register_variable_hook): Likewise.
26495
26496 * include/grub/device.h (grub_device_set_root): Removed.
26497 (grub_device_set_root): Likewise.
26498
26499 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26500 make sure that DIRNAME terminates with '/', so that
26501 grub_fat_find_dir will fail if PATH is not a directory.
26502
26503 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26504 from DIRNAME.
26505 Use the qualifier auto for print_files and print_files_long.
26506 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26507 as a regular file.
26508 Put a newline only if there is no error.
26509 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26510 used.
26511
26512 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26513
26514 * kern/partition.c (grub_partition_probe): Initialize PART to
26515 NULL. Otherwise, when no partition map is registered, this returns
26516 a garbage.
26517
26518 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26519
26520 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26521 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26522 valid.
26523
26524 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26525
26526 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26527 information on each device, if it does not have partitions. Print
26528 "Device" instead of "Disk", because this function is not specific
26529 to disk devices.
26530
26531 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26532 static to ensure that it is put on the memory rather than a
26533 register.
26534
26535 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26536
26537 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26538 (grub_cat_init): Likewise.
26539 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26540 (options): Likewise.
26541 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26542 (grub_configfile_init): Likewise.
26543 * font/manager.c (GRUB_MOD_INIT): Likewise.
26544 * commands/help.c (GRUB_MOD_INIT): Likewise.
26545 (grub_help_init): Likewise.
26546 * normal/command.c (grub_command_init): Likewise.
26547 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26548 * disk/loopback.c (grub_loop_init): Likewise.
26549 (GRUB_MOD_INIT): Likewise.
26550 * commands/ls.c (grub_ls_init): Likewise.
26551 (GRUB_MOD_INIT): Likewise.
26552 (options): Likewise.
26553 * commands/boot.c (grub_boot_init): Likewise.
26554 (GRUB_MOD_INIT): Likewise.
26555 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26556 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26557 (GRUB_MOD_INIT): Likewise.
26558 * commands/cmp.c (grub_cmp_init): Likewise.
26559 (GRUB_MOD_INIT): Likewise.
26560
26561 * normal/arg.c: Use <> instead of "" to include header files.
26562 (SHORT_ARG_HELP): New macro.
26563 (SHORT_ARG_USAGE): Likewise.
26564 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26565 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26566 descriptions.
26567 (find_short): Check if C is 'h' or 'u' explicitly.
26568 (grub_arg_show_help): Use space characters instead of tabs. Treat
26569 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26570 are shown with --help and --usage only if they are not used for
26571 the command itself.
26572 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26573 'h' and 'u'.
26574
26575 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26576 const into "longarg". Change the type of "shortarg" to int.
26577
26578 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26579
26580 * boot/i386/pc/boot.S (boot_drive_check): New label.
26581
26582 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26583 macro.
26584
26585 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26586 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26587
26588 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26589
26590 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26591 When turning off Gate A20, skip the check and return immediately,
26592 because this is not fatal usually.
26593
26594 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26595
26596 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26597 be 0x7C00 instead of 0x8000.
26598
26599 * boot/i386/pc/pxeboot.S: Rewritten.
26600
26601 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26602 EXT_C.
26603 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26604 result.
26605
26606 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26607
26608 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26609 robustness. This routine now supports a BIOS call and System
26610 Control Port A to modify the gate A20.
26611
26612 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26613 Increased to 0x440.
26614
26615 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26616
26617 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26618 device path and resulting ihandle.
26619 (grub_ofdisk_close): dprintf the ihandle being closed.
26620 (grub_ofdisk_read): dprintf function parameters.
26621 * kern/mm.c (grub_mm_init_region): Likewise.
26622 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26623 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26624 size, and boot arguments.
26625 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26626 before loading into memory.
26627 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26628 before loading into memory.
26629
26630 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26631
26632 * kern/mm.c: Added much documentation.
26633 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26634 8, set to 5 instead of 8.
26635
26636 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26637
26638 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26639
26640 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26641 (grub_mkdevicemap_SOURCES): New variable.
26642
26643 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26644 lib/device.c of GRUB Legacy.
26645
26646 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26647
26648 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26649 instead of PATH is NULL.
26650
26651 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26652
26653 * commands/cmp.c (BUFFER_SIZE): New macro.
26654 (grub_cmd_cmp): Close the right file at the right time. Compare
26655 only data just read. Don't report files of different size as
26656 identical. Dynamically allocate buffers. Move variable
26657 declarations at the beginning of function.
26658
26659 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26660
26661 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26662 reverse.
26663
26664 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26665
26666 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26667 when backspace is pressed at beginning of line.
26668
26669 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26670
26671 * DISTLIST: Added genfslist.sh.
26672
26673 * normal/main.c (fs_module_list): New variable.
26674 (autoload_fs_module): New function.
26675 (read_fs_list): Likewise.
26676 (grub_normal_execute): Call read_fs_list.
26677
26678 * kern/fs.c (grub_fs_autoload_hook): New variable.
26679 (grub_fs_probe): Added support for auto-loading.
26680
26681 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26682 (grub_fs_module_list_t): New type.
26683
26684 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26685 (grub_fs_autoload_hook): New prototype.
26686
26687 * genfslist.sh: New file.
26688
26689 * genmk.rb: Added a rule to generate a filesystem list.
26690
26691 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26692
26693 * configure.ac: Fix the test for cross-compiling.
26694
26695 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26696 define GRUB_UTIL anymore.
26697
26698 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26699 so this function works on other systems than just big endian.
26700 (load_modules): Likewise.
26701 (add_segments): Likewise.
26702
26703 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26704
26705 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26706 contains `l' modifier, get a long from va_arg().
26707
26708 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26709
26710 * kern/mm.c (grub_free): If the next free block which is being
26711 merged is the first free block, set the first block to the block
26712 being freed.
26713 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26714
26715 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26716
26717 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26718 `grub_ieee1275_chosen'.
26719
26720 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26721
26722 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26723 (grub_ieee1275_chosen): New variable.
26724 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26725 `chosen'.
26726 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26727 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26728 Rename first argument to `phandle' for consistency.
26729 (grub_ieee1275_get_property_length): Likewise.
26730 (grub_ieee1275_next_property): Likewise. Change type of first argument
26731 to grub_ieee1275_phandle_t.
26732 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26733 Move export next to declaration.
26734 (grub_ieee1275_chosen): New variable.
26735 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26736 Correct cosmetic typo.
26737 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26738 `grub_ieee1275_chosen'.
26739 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26740 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26741 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26742 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26743 `grub_ieee1275_chosen'.
26744
26745 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26746
26747 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26748 /chosen/bootargs.
26749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26750 /chosen/bootargs as "variable=value" pairs.
26751
26752 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26753
26754 * include/grub/misc.h (grub_dprintf): New macro.
26755 (grub_real_dprintf): New prototype.
26756 (grub_strword): Likewise.
26757 (grub_iswordseparator): Likewise.
26758 * kern/misc.c (grub_real_dprintf): New function.
26759 (grub_strword): Likewise.
26760 (grub_iswordseparator): Likewise.
26761
26762 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26763
26764 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26765 (roundup): Remove macro.
26766 (grub_ieee1275_flags): Make static.
26767 (grub_ieee1275_realmode): Remove.
26768 (grub_ieee1275_test_flag): New function.
26769 (grub_ieee1275_set_flag): Likewise.
26770 (find_options): Rename to `grub_ieee1275_find_options'; update
26771 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26772 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26773 (cmain): New prototype.
26774 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26775 `grub_ieee1275_flags' directly.
26776 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26777 machine/biosdisk.h.
26778 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26779 Don't include grub/machine/init.h.
26780 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26781 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26782 Remove prototype.
26783 (grub_ieee1275_realmode): Likewise.
26784 (grub_ieee1275_flag): New enum.
26785 (grub_ieee1275_test_flag): New prototype.
26786 (grub_ieee1275_set_flag): New prototype.
26787 * include/grub/powerpc/ieee1275/init.h: Remove file.
26788 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26789 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26790 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26791 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26792 comment.
26793 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26794 `grub_ieee1275_test_flag'.
26795 (grub_ieee1275_encode_devname): Likewise.
26796
26797 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26798
26799 * include/grub/powerpc/ieee1275/ieee1275.h
26800 (grub_ieee1275_encode_devname): New prototype.
26801 (grub_ieee1275_get_filename): Likewise.
26802 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26803 function.
26804 (grub_set_prefix): Likewise.
26805 (grub_machine_init): Call grub_set_prefix.
26806 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26807 (grub_parse_type): New enum.
26808 (grub_ieee1275_get_devargs): New function.
26809 (grub_ieee1275_get_devname): Likewise.
26810 (grub_ieee1275_parse_args): Likewise.
26811 (grub_ieee1275_get_filename): Likewise.
26812 (grub_ieee1275_encode_devname): Likewise.
26813
26814 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26815
26816 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26817 `grub_loader_unset'.
26818
26819 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26820
26821 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26822 instead of grub_ieee1275_interpret.
26823 (grub_halt_init): New function.
26824 (grub_halt_fini): Likewise.
26825 (GRUB_MOD_INIT): Correct message grammar.
26826 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26827 instead of grub_ieee1275_interpret.
26828 (grub_reboot_init): New function.
26829 (grub_reboot_fini): Likewise.
26830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26831 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26832 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26833 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26834 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26835 function.
26836 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26837 Add prototype.
26838 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26839 prototype.
26840 (grub_halt): Likewise.
26841 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26842 (cmain): Remove __attribute__((unused)).
26843 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26844 (grub_heap_len): Likewise.
26845 (grub_machine_fini): New function.
26846 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26847 (grub_halt): Likewise.
26848 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26849 function.
26850 * util/powerpc/ieee1275/misc.c: New file.
26851
26852 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26853
26854 * DISTLIST: New file.
26855 * gendistlist.sh: Likewise.
26856
26857 * Makefile.in (COMMON_DISTFILES): Removed.
26858 (BOOT_DISTFILES): Likewise.
26859 (CONF_DISTFILES): Likewise.
26860 (DISK_DISTFILES): Likewise.
26861 (FS_DISTFILES): Likewise.
26862 (INCLUDE_DISTFILES): Likewise.
26863 (KERN_DISTFILES): Likewise.
26864 (LOADER_DISTFILES): Likewise.
26865 (TERM_DISTFILES): Likewise.
26866 (UTIL_DISTFILES): Likewise.
26867 (DISTFILES): Likewise.
26868 (uninstall): Uninstall files in $(pkgdata_DATA).
26869 (DISTLIST): New target.
26870 (distdir): Use the contents of the file DISTLIST to get a list of
26871 distributed files.
26872
26873 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26874
26875 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26876 descriptor. This is ported from GRUB Legacy.
26877
26878 * gencmdlist.sh: Added an extra semicolon to make it work with
26879 old sed versions. Reported by Robert Bihlmeyer
26880 <robbe@orcus.priv.at>.
26881
26882 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26883
26884 Automatic loading of commands is supported.
26885
26886 * normal/main.c (read_command_list): New function.
26887 (grub_normal_execute): Call read_command_list.
26888
26889 * normal/command.c (grub_register_command): Return zero or CMD.
26890 Allocate CMD->NAME from the heap.
26891 Initialize CMD->MODULE_NAME to zero.
26892 Find the same name as well. If the same command is found and it is
26893 a dummy command, overwrite members. If it is not a dummy command,
26894 return zero.
26895 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26896 (grub_command_find): If a dummy command is found, load a module
26897 and retry to find a command only once.
26898
26899 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26900 make sure that each command is loaded.
26901
26902 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26903 macro.
26904 (struct grub_command): Remove const from the member `name'.
26905 Add a new member `module_name'.
26906 (grub_register_command): Return grub_command_t.
26907
26908 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26909 sure that each command is loaded.
26910
26911 * genmk.rb (PModule::rule): Specify a module name without the
26912 suffix ".mod" to gencmdlist.sh.
26913
26914 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26915
26916 * gencmdlist.sh: New file.
26917
26918 * genmk.rb (PModule::rule): Generate a rule for a command list.
26919 Clean command.lst.
26920 Generate command.lst from $(COMMANDFILES).
26921
26922 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26923 (DATA): Added $(pkgdata_DATA).
26924 (install-local): Install files in $(pkgdata_DATA).
26925
26926 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26927
26928 * term/i386/pc/vga.c (debug_command): Removed.
26929 (GRUB_MOD_INIT): Do not register the command "debug".
26930
26931 From Hollis Blanchard:
26932 * commands/configfile.c: New file.
26933 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26934 commands/configfile.c.
26935 (pkgdata_MODULES): Added configfile.mod.
26936 (configfile_mod_SOURCES): New variable.
26937 (configfile_mod_CFLAGS): Likewise.
26938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26939 commands/configfile.c.
26940 (pkgdata_MODULES): Added configfile.mod.
26941 (configfile_mod_SOURCES): New variable.
26942 (configfile_mod_CFLAGS): Likewise.
26943 * util/grub-emu.c (main): Call grub_configfile_init and
26944 grub_configfile_fini.
26945 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26946 prototype.
26947 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26948
26949 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26950
26951 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26952 address.
26953
26954 * commands/help.c (grub_cmd_help): Do not print newlines after
26955 the last command in print_command_help.
26956
26957 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26958
26959 * commands/default.h: New file.
26960 * commands/timeout.h: Likewise.
26961 * normal/context.c: Likewise.
26962
26963 * util/misc.c: Do not include sys/times.h.
26964 Include sys/time.h and grub/machine/time.h.
26965 (grub_get_rtc): Rewritten with gettimeofday.
26966
26967 * util/grub-emu.c (main): Call grub_default_init and
26968 grub_timeout_init before grub_normal_init, and call
26969 grub_timeout_fini and grub_default_fini after grub_main.
26970
26971 * util/console.c (grub_ncurses_checkkey): Return the read
26972 character or -1.
26973
26974 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26975 timeouts.
26976
26977 * normal/main.c (read_config_file): Push MENU. If this fails,
26978 print an error and wait for a user input.
26979 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26980 If a menu is empty or an error occurs, pop MENU.
26981 (grub_normal_execute): Pop and free MENU after grub_menu_run
26982 returns.
26983
26984 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26985
26986 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26987 include time.h.
26988 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26989 without GRUB_UTIL.
26990 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26991 time.h.
26992 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26993 without GRUB_UTIL.
26994
26995 * include/grub/normal.h (struct grub_menu_list): New struct.
26996 (grub_menu_list_t): New type.
26997 (struct grub_context): New struct.
26998 (grub_context_t): New type.
26999 (grub_register_command): Got rid of EXPORT_FUNC.
27000 (grub_unregister_command): Likewise.
27001 (grub_context_get): New prototype.
27002 (grub_context_get_current_menu): Likewise.
27003 (grub_context_push_menu): Likewise.
27004 (grub_context_pop_menu): Likewise.
27005 [GRUB_UTIL] (grub_default_init): Likewise.
27006 [GRUB_UTIL] (grub_default_fini): Likewise.
27007 [GRUB_UTIL] (grub_timeout_init): Likewise.
27008 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27009
27010 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27011 commands/timeout.c and normal/context.c.
27012 (pkgdata_MODULES): Added default.mod and timeout.mod.
27013 (normal_mod_SOURCES): Added normal/context.c.
27014 (default_mod_SOURCES): New variable.
27015 (default_mod_CFLAGS): Likewise.
27016 (timeout_mod_SOURCES): Likewise.
27017 (timeout_mod_CFLAGS): Likewise.
27018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27019 conf/i386-pc.rmk.
27020 (pkgdata_MODULES): Added default.mod and timeout.mod.
27021 (normal_mod_SOURCES): Added normal/context.c.
27022 (default_mod_SOURCES): New variable.
27023 (default_mod_CFLAGS): Likewise.
27024 (timeout_mod_SOURCES): Likewise.
27025 (timeout_mod_CFLAGS): Likewise.
27026
27027 * Makefile.in (all-local): Added $(MKFILES).
27028
27029 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27030
27031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27032 (grub_emu_SOURCES): Likewise.
27033 (pkgdata_MODULES): Add `sun.mod'.
27034 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27036 `partmap/sun.c'.
27037 (pkgdata_MODULES): Add `sun.mod'.
27038 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27039 * include/grub/partition.h (grub_sun_partition_map_init): New
27040 prototype.
27041 (grub_sun_partition_map_fini): Likewise.
27042 * partmap/sun.c: New file.
27043 * util/grub-emu.c (main): Initialize and de-initialize the sun
27044 partitionmap support.
27045
27046 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27047
27048 This implements an Emacs-like menu entry editor.
27049
27050 * normal/menu_entry.c: New file.
27051
27052 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27053 characters to ASCII.
27054 (saved_char): New variable.
27055 (grub_ncurses_checkkey): Rewritten completely.
27056 (grub_ncurses_getkey): Likewise.
27057 (grub_ncurses_init): Call raw instead of cbreak.
27058
27059 * normal/menu.c (print_entry): Do not put a space.
27060 (init_page): Renamed to ...
27061 (grub_menu_init_page): ... this. All callers changed.
27062 (edit_menu_entry): Removed.
27063 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27064
27065 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27066
27067 * kern/misc.c (grub_vprintf): Call grub_refresh.
27068
27069 * normal/menu.c (DISP_LEFT): Renamed to ...
27070 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27071 * normal/menu.c (DISP_UP): Renamed to ...
27072 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27073 * normal/menu.c (DISP_RIGHT): Renamed to ...
27074 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27075 * normal/menu.c (DISP_DOWN): Renamed to ...
27076 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27077 * normal/menu.c (DISP_HLINE): Renamed to ...
27078 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27079 * normal/menu.c (DISP_VLINE): Renamed to ...
27080 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27081 * normal/menu.c (DISP_UL): Renamed to ...
27082 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27083 * normal/menu.c (DISP_UR): Renamed to ...
27084 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27085 * normal/menu.c (DISP_LL): Renamed to ...
27086 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27087 * normal/menu.c (DISP_LR): Renamed to ...
27088 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27089 * normal/menu.c (TERM_WIDTH): Renamed to ...
27090 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27091 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27092 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27093 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27094 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27095 * normal/menu.c (TERM_MARGIN): Renamed to ...
27096 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27097 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27098 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27099 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27100 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27101 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27102 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27103 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27104 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27105 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27106 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27107 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27108 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27109 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27110 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27111 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27112 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27113 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27114 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27115 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27116 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27117 All callers changed.
27118
27119 * include/grub/normal.h: New prototype.
27120
27121 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27122 normal/menu_entry.c.
27123 (normal_mod_SOURCES): Likewise.
27124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27125 (normal_mod_SOURCES): Likewise.
27126
27127 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27128
27129 * include/grub/normal.h (grub_halt_init): New prototype.
27130 (grub_halt_fini): Likewise.
27131 (grub_reboot_init): Likewise.
27132 (grub_reboot_fini): Likewise.
27133
27134 * util/grub-emu.c: Include signal.h.
27135 (main_env): New global variable.
27136 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27137 catch C-c.
27138 (grub_machine_fini): New function.
27139 (main): Call grub_halt_init and grub_reboot_init before
27140 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27141 Call setjmp with MAIN_ENV to go back afterwards.
27142 Call grub_machine_fini right before return.
27143
27144 * include/grub/util/misc.h: Include setjmp.h.
27145 (main_env): New prototype.
27146
27147 * include/grub/kernel.h (grub_machine_fini): New prototype.
27148 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27149 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27150
27151 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27152 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27153 * term/i386/pc/console.c (grub_console_fini): Likewise.
27154
27155 * util/i386/pc/misc.c: New file.
27156
27157 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27158 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27159 commands/i386/pc/reboot.c.
27160
27161 2005-02-14 Guillem Jover <guillem@hadrons.org>
27162
27163 * include/grub/dl.h (grub_dl_check_header): New prototype.
27164 (grub_arch_dl_check_header): Change return type to grub_err_t,
27165 remove size parameter and export function. Update all callers.
27166 * kern/dl.c (grub_dl_check_header): New function.
27167 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27168 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27169 are inside the core.
27170 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27171 independent ELF header checks.
27172 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27173 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27174 `grub_dl_check_header' instead of explicit checks. Check for the
27175 ELF type.
27176 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27177 `grub_dl_check_header' instead of explicit checks. Remove arch
27178 specific ELF header checks.
27179
27180 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27181 argument SIZE.
27182
27183 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27184
27185 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27186 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27187
27188 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27189
27190 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
27191 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
27192 (part_map_iterate): Clear `grub_errno' and return 0 if
27193 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
27194 * partmap/amiga.c (amiga_partition_map_iterate): Return
27195 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27196 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27197
27198 2005-02-01 Guillem Jover <guillem@hadrons.org>
27199
27200 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27201 help info.
27202
27203 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27204
27205 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27206 Removed prototype.
27207 (grub_rescue_cmd_linux): New prototype.
27208 (grub_rescue_cmd_initrd): Likewise.
27209 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27210 `bi_rec'.
27211 (grub_linux_release_mem): Release the memory for the initrd.
27212 (grub_load_linux): Renamed from this...
27213 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27214 Changed `entry' not to be static. Loop over memory regions to
27215 find another one when the default fails.
27216 (grub_rescue_cmd_initrd): New function.
27217 (grub_linux_init): Remove function.
27218 (grub_linux_fini): Likewise.
27219 (GRUB_MOD_INIT): Register `initrd'.
27220 (GRUB_MOD_FINI): Unregister `initrd'.
27221 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27222 Function removed.
27223 (grub_linux_normal_fini): Likewise.
27224 (GRUB_MOD_INIT): Register `initrd'.
27225 (GRUB_MOD_FINI): Unregister `initrd'.
27226
27227 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27228
27229 * commands/help.c: New file.
27230 * normal/arg.c (show_help): Renamed to...
27231 (grub_arg_show_help): ... this.
27232 * commands/i386/pc/halt.c: New file.
27233 * commands/i386/pc/reboot.c: Likewise.
27234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27235 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27236 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27237 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27238 variables.
27239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27240 `commands/help.c'.
27241 (pkgdata_MODULES): Add `help.mod'.
27242 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27243 * grub/i386/pc/init.h (grub_reboot): New prototype.
27244 (grub_halt): Likewise.
27245 * include/grub/normal.h (grub_arg_show_help): New prototype.
27246 (grub_help_init): Likewise.
27247 (grub_help_fini): Likewise.
27248 * util/grub-emu.c (main): Initialize and deinitialize the help
27249 command.
27250
27251 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27252
27253 * normal/command.c (grub_command_init): Fixed the description of
27254 the `set' and `unset' commands.
27255
27256 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27257
27258 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27259 function.
27260 * commands/ieee1275/halt.c: New file.
27261 * commands/ieee1275/reboot.c: Likewise.
27262 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27263 `__attribute__ ((unused))'. Some GCS related fixed.
27264 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27265 (grub_suspend_fini): Likewise.
27266 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27267 and `halt.mod'.
27268 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27269 (halt_mod_CFLAGS): New variables.
27270 * include/grub/powerpc/ieee1275/ieee1275.h
27271 (grub_ieee1275_interpret): New prototype.
27272
27273 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27274
27275 * include/grub/misc.h (memmove): New prototype.
27276 (memcpy): Likewise.
27277
27278 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27279
27280 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27281 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27282
27283 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27284
27285 * kern/misc.c (grub_strndup): Function rewritten.
27286
27287 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27288
27289 * normal/menu.c (TERM_WIDTH): Macro redefined.
27290 (TERM_TOP_BORDER_Y): Likewise.
27291 (draw_border): Replaced while-loop by a for-loop. Make the number
27292 of lines consistent with the number of lines displayed in
27293 print_entries. Added a margin below the rectangle.
27294 (print_entry): Make the entry fit in the rectangle.
27295 (print_entries): Display the scroll arrows next to the right
27296 border.
27297
27298 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27299
27300 * fs/minix.c (grub_minix_find_file): Reserve more space for
27301 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27302 `grub_strncpy' to copy `path' into it.
27303
27304 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27305
27306 Add the loopback device, a device via which files can be accessed
27307 as devices.
27308
27309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27310 (pkgdata_MODULES): Add loopback.mod.
27311 (loopback_mod_SOURCES): New variable.
27312 (loopback_mod_CFLAGS): Likewise.
27313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27314 `disk/loopback.c'.
27315 (pkgdata_MODULES): Add loopback.mod.
27316 (loopback_mod_SOURCES): New variable.
27317 (loopback_mod_CFLAGS): Likewise.
27318 * disk/loopback.c: new file.
27319 * include/grub/normal.h (grub_loop_init): New prototype.
27320 (grub_loop_fini): New prototype.
27321 * util/grub-emu.c (main): Initialize and de-initialize loopback
27322 support.
27323 * include/grub/disk.h (grub_disk_dev_id): Add
27324 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27325
27326 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27327
27328 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27329 function.
27330 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27331 (suspend_mod_SOURCES): New variable.
27332 (suspend_mod_CFLAGS): Likewise.
27333 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27334 New prototype.
27335 * commands/ieee1275/suspend.c: New file.
27336
27337 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27338
27339 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
27340 ((unused))' to `__attribute__ ((used))'.
27341 (GRUB_MOD_FINI): Likewise.
27342 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27343 * genmk.rb (PModule): Assign space to common symbols when linking
27344 modules.
27345
27346 2005-01-20 Marco Gerards <metgerards@student.han.nl>
27347
27348 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27349 `unsigned' arguments to `grub_size_t'.
27350 (grub_malloc): Likewise.
27351 (grub_realloc): Likewise.
27352 (grub_memalign): Likewise.
27353 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27354 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27355 * util/misc.c (grub_malloc): Likewise.
27356 (grub_realloc): Likewise.
27357 * kern/mm.c (get_header_from_pointer): Change the casts to
27358 `unsigned' into a cast to `grub_size_t'.
27359
27360 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27361 point to `currnode' when `currnode' is changed.
27362
27363 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27364 Schottelius <nico-linux@schottelius.org>.
27365
27366 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27367
27368 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27369 (note_path): Remove variable.
27370 (GRUB_IEEE1275_NOTE_NAME): New macro.
27371 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27372 (grub_ieee1275_note_hdr): New structure.
27373 (grub_ieee1275_note_desc): Likewise.
27374 (grub_ieee1275_note): Likewise.
27375 (load_note): Remove `dir' argument. All callers updated. Remove
27376 `note_img' and `path'. Do not load a file from `note_path'.
27377 Initialize a struct grub_ieee1275_note and write that to `out'.
27378 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27379
27380 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27381
27382 * util/misc.c (grub_util_read_image): Revert last change. It
27383 called `grub_util_read_at', which seeks from the beginning of the
27384 file.
27385
27386 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27387
27388 * TODO: Add note about endianness in grub-mkimage.
27389 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27390 section.
27391 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27392 (grub_mkimage_SOURCES): New target.
27393 * include/grub/kernel.h (grub_start_addr): Remove variable.
27394 (grub_end_addr): Likewise.
27395 (grub_total_module_size): Likewise.
27396 (grub_kernel_image_size): Likewise.
27397 (GRUB_MODULE_MAGIC): New constant.
27398 (grub_module_info): New structure.
27399 (grub_arch_modules_addr): New prototype.
27400 (grub_get_end_addr): Remove prototype.
27401 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27402 * include/grub/powerpc/ieee1275/kernel.h: New file.
27403 * include/grub/util/misc.h (grub_util_get_fp_size): New
27404 prototype.
27405 (grub_util_read_at): Likewise.
27406 (grub_util_write_image_at): Likewise.
27407 * kern/main.c (grub_get_end_addr): Remove function.
27408 (grub_load_modules): Call grub_arch_modules_addr instead of using
27409 grub_end_addr. Look for a grub_module_info struct in memory. Use
27410 the grub_module_info fields instead of calling grub_get_end_addr
27411 as loop conditions. Move grub_add_unused_region code here.
27412 (grub_add_unused_region): Remove function.
27413 * kern/i386/pc/init.c: Include grub/cache.h.
27414 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27415 one call to add_mem_region.
27416 (grub_arch_modules_addr): New function.
27417 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27418 (grub_total_module_size): Likewise.
27419 Include grub/machine/kernel.h.
27420 (grub_arch_modules_addr): New function.
27421 * util/grub-emu.c (grub_end_addr): Remove variable.
27422 (grub_total_module_size): Likewise.
27423 (grub_arch_modules_addr): New function.
27424 * util/misc.c: Include unistd.h.
27425 (grub_util_get_fp_size): New function.
27426 (grub_util_read_at): Likewise.
27427 (grub_util_write_image_at): Likewise.
27428 (grub_util_read_image): Call grub_util_read_at.
27429 (grub_util_write_image): Call grub_util_write_image_at.
27430 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27431 additional memory in kernel_img for a struct grub_module_info.
27432 Fill in that grub_module_info.
27433 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27434
27435 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27436
27437 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27438 New function.
27439 * include/grub/powerpc/ieee1275/ieee1275.h
27440 (grub_ieee1275_milliseconds): New prototype.
27441 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27442 Change to 1000.
27443 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27444 grub_ieee1275_milliseconds.
27445
27446 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27447
27448 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27449 variable.
27450 (find_options): New function.
27451 (cmain): Call find_options.
27452 * include/grub/powerpc/ieee1275/ieee1275.h
27453 (grub_ieee1275_realmode): New extern variable.
27454 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27455 grub_map if grub_ieee1275_realmode is false.
27456
27457 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27458
27459 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27460 lines are inserted and make it work like readline. Reported by
27461 Vincent Pelletier <subdino2004@yahoo.fr>.
27462
27463 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27464
27465 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27466
27467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27468 `kern/powerpc/cache.S'.
27469
27470 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27471
27472 * genmk.rb: Handle the `Program' class in the main loop. Written
27473 by Johan Rydberg <jrydberg@gnu.org>.
27474 (Program): New class.
27475 (programs): New variable.
27476 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27477 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27478 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27479 (help_arch): Function removed.
27480 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27481 `powerpc/libgcc.h' and `loader.h'.
27482 (pkgdata_PROGRAMS): New variable.
27483 (sbin_UTILITIES): Variable removed.
27484 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27485 (grubof_SOURCES): Variable re-defined so it only includes the
27486 core functionality.
27487 (grubof_CFLAGS): Remove `-DGRUBOF'.
27488 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27489 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27490 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27491 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27492 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27493 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27494 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27495 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27496 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27497 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27498 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27499 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27500 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27501 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27502 (pc_mod_CFLAGS): New variables.
27503 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27504 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27505 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27506 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27507 Moved from here...
27508 * include/grub/i386/pc/init.h (grub_os_area_addr)
27509 (rub_os_area_size): ... to here.
27510 * include/grub/powerpc/ieee1275/ieee1275.h
27511 (grub_ieee1275_entry_fn): Export symbol.
27512 * include/grub/powerpc/ieee1275/init.h: New file.
27513 * include/grub/powerpc/libgcc.h: Likewise.
27514 * include/grub/cache.h: Likewise.
27515 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27516 <hollis@penguinppc.org>.
27517 * kern/dl.c: Include <grub/cache.h>.
27518 (grub_dl_flush_cache): New function.
27519 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27520 for this module.
27521 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27522 (grub_console_init): Removed prototypes.
27523 (grub_machine_init): Don't initialize the modules anymore.
27524 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27525 static.
27526 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27527 Macro undef removed.
27528 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27529 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27530 relocation `R_PPC_REL32'. Return an error when the relocation is
27531 unknown.
27532 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27533 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27534 * util/misc.c (grub_arch_sync_caches): Likewise.
27535
27536 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27537
27538 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27539 `symlist.c', add `grubof_symlist.c'.
27540 (symlist.c): Variable removed.
27541 (grubof_HEADERS): Variable added.
27542 (grubof_symlist.c): New target.
27543 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27544 `kernel_img_HEADERS'.
27545 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27546 * kern/powerpc/dl.c: New file.
27547 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27548 Function removed.
27549 (grub_arch_dl_relocate_symbols): Likewise.
27550 (grub_register_exported_symbols): Likewise.
27551
27552 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27553
27554 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27555 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27556 to fail instead. Reported by Vincent Pelletier
27557 <subdino2004@yahoo.fr>.
27558
27559 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27560 it is not allocated. Reported by Vincent Pelletier
27561 <subdino2004@yahoo.fr>.
27562
27563 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27564 output so the output looks better.
27565
27566 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27567
27568 Modulize the partition map support and add support for the amiga
27569 partition map.
27570
27571 * commands/ls.c: Include <grub/partition.h> instead of
27572 <grub/machine/partition.h>.
27573 * kern/disk.c: Likewise.
27574 * kern/rescue.c: Likewise.
27575 * loader/i386/pc/chainloader.c: Likewise.
27576 * normal/cmdline.c: Likewise.
27577 * kern/powerpc/ieee1275/init.c: Likewise.
27578 (grub_machine_init): Call `grub_pc_partition_map_init',
27579 `grub_amiga_partition_map_init' and
27580 `grub_apple_partition_map_init'.
27581 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27582 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27583 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27584 `partition.h' and `pc_partition.h'.
27585 (grub_setup_SOURCES): Remove
27586 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27587 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27588 (grub_emu_SOURCES): Likewise.
27589 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27590 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27591 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27593 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27594 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27595 (grubof_SOURCES): Likewise.
27596 * disk/i386/pc/partition.c: File removed.
27597 * disk/powerpc/ieee1275/partition.c: Likewise.
27598 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27599 * include/grub/i386/pc/partition.h: Likewise.
27600 * kern/partition.c: New file.
27601 * partmap/amiga.c: Likewise.
27602 * partmap/apple.c: Likewise.
27603 * partmap/pc.c: Likewise.
27604 * include/grub/partition.h: Likewise..
27605 * include/grub/pc_partition.h: Likewise.
27606 * util/grub-emu.c: Include <grub/partition.h> instead of
27607 <grub/machine/partition.h>.
27608 (main): Call `grub_pc_partition_map_init',
27609 `grub_amiga_partition_map_init' and
27610 `grub_apple_partition_map_init' and deinitialize afterwards.
27611 * util/i386/pc/biosdisk.c: Include `#include
27612 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27613 `<grub/machine/partition.h>'.
27614 * util/i386/pc/grub-setup.c: Likewise.
27615 * util/i386/pc/biosdisk.c: Likewise.
27616 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27617 partition information in case of a PC partition.
27618 * util/i386/pc/grub-setup.c: Include `#include
27619 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27620 `<grub/machine/partition.h>'.
27621 (setup): Only access the PC specific partition information in case
27622 of a PC partition.
27623
27624 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27625
27626 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27627 (grub_longjmp): Likewise.
27628 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27629 20.
27630 * normal/powerpc/setjmp.S: New file.
27631 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27632 `normal/powerpc/setjmp.S'.
27633 (grubof_CFLAGS): Add `-DGRUBOF'.
27634 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27635 [GRUB_UTIL && !GRUBOF].
27636
27637 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27638
27639 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27640 property named `name'. Correctly handle the error returned by
27641 `grub_ieee1275_finddevice' if a device can not be opened.
27642
27643 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27644
27645 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27646 `actual' for negativity.
27647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27648 kern/fshelp.c.
27649
27650 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27651
27652 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27653 (PAGE_OFFSET): New macro.
27654 (CRTC_ADDR_PORT): Likewise.
27655 (CRTC_DATA_PORT): Likewise.
27656 (START_ADDR_HIGH_REGISTER): Likewise.
27657 (START_ADDR_LOW_REGISTER): Likewise.
27658 (GRAPHICS_ADDR_PORT): Likewise.
27659 (GRAPHICS_DATA_PORT): Likewise.
27660 (READ_MAP_REGISTER): Likewise.
27661 (INPUT_STATUS1_REGISTER): Likewise.
27662 (INPUT_STATUS1_VERTR_BIT): Likewise.
27663 (page): New variable.
27664 (wait_vretrace): New function.
27665 (set_read_map): Likewise.
27666 (set_start_address): Likewise.
27667 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27668 the right page.
27669 (check_vga_mem): Take the page into account.
27670 (write_char): Likewise.
27671 (write_cursor): Likewise.
27672 (scroll_up): Likewise. Copy the page to the page that is not
27673 shown and switch between both pages.
27674 (grub_vga_putchar): Fix off by one error.
27675 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27676 account.
27677
27678 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27679
27680 Add support for iso9660 (including rockridge).
27681
27682 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27683 (iso9660_mod_SOURCES): New variable.
27684 (iso9660_mod_CFLAGS): Likewise.
27685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27686 * include/grub/fs.h (grub_iso9660_init): New prototype.
27687 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27688 * fs/iso9660.c: New file.
27689
27690 * include/grub/misc.h (grub_strncat): New prototype.
27691 * kern/misc.c (grub_strncat): New function.
27692
27693 * fs/hfs.c (grub_hfs_mount): Translate the error
27694 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27695 * fs/jfs.c (grub_jfs_mount): Likewise.
27696 * fs/ufs.c (grub_ufs_mount): Likewise.
27697
27698 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27699
27700 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27701 which initialized BAT registers.
27702 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27703 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27704 Move from here...
27705 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27706 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27707 ... to here.
27708 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27709 (grub_mapclaim): Likewise.
27710 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27711 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27712 hand.
27713
27714 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27715
27716 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27717 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27718 -ffreestanding and -msoft-float.
27719
27720 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27721
27722 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27723 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27724 set in grub_ieee1275_flags.
27725
27726 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27727
27728 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27729 prototype.
27730 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27731 grub_console_init first.
27732 Change the memory range used for grub_ieee1275_claim and
27733 grub_mm_init_region.
27734 Print an error message if the claim fails.
27735 Include <grub/misc.h>.
27736
27737 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27738
27739 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27740 Call grub_children_iterate for device nodes of type `scsi',
27741 `ide', or `ata'.
27742 (grub_ofdisk_open): Remove manual device alias resolution.
27743 Fix memory leak when device cannot be opened.
27744 * include/grub/powerpc/ieee1275/ieee1275.h
27745 (grub_children_iterate): New prototype.
27746 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27747 New function.
27748 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27749 Return -1 if args.size was -1.
27750
27751 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27752
27753 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27754 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27755 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27756 Open Firmware's memory for it; claim memory from _start to _end.
27757 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27758 (_end): New extern.
27759 (_start): Zero BSS from __bss_start to _end.
27760 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27761 New extern.
27762 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27763
27764 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27765
27766 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27767 -1 if args.base was -1.
27768
27769 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27770
27771 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27772 escape sequence instead of a literal ^L. Also call
27773 grub_ofconsole_gotoxy.
27774
27775 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27776
27777 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27778 void * arguments to grub_addr_t. All callers updated. Also make
27779 the `result' argument optional.
27780 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27781 All callers updated.
27782
27783 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27784
27785 * commands/ls.c (grub_ls_list_files): Use the string following the
27786 initial ')', if present, as the filesystem path.
27787 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27788
27789 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27790
27791 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27792
27793 Make the source code of the menu interface more readable.
27794
27795 * normal/menu.c: Include grub/mm.h.
27796 (TERM_WIDTH): New macro.
27797 (TERM_HEIGHT): Likewise.
27798 (TERM_INFO_HEIGHT): Likewise.
27799 (TERM_MARGIN): Likewise.
27800 (TERM_SCROLL_WIDTH): Likewise.
27801 (TERM_TOP_BORDER_Y): Likewise.
27802 (TERM_LEFT_BORDER_X): Likewise.
27803 (TERM_BORDER_WIDTH): Likewise.
27804 (TERM_MESSAGE_HEIGHT): Likewise.
27805 (TERM_BORDER_HEIGHT): Likewise.
27806 (TERM_NUM_ENTRIES): Likewise.
27807 (TERM_FIRST_ENTRY_Y): Likewise.
27808 (TERM_ENTRY_WIDTH): Likewise.
27809 (TERM_CURSOR_X): Likewise.
27810 (draw_border): Use macros instead of magic numbers.
27811 (print_entry): Likewise.
27812 (print_entries): Likewise.
27813 (run_menu): Likewise. Also, handle the key 'e'.
27814 (run_menu_entry): Ignore empty command lines.
27815 (print_message): Added a new argument EDIT. If EDIT is true,
27816 print a different message.
27817 (init_page): Likewise.
27818 (edit_menu_entry): New function. Not implemented yet.
27819
27820 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27821
27822 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27823 can be loaded from normal mode.
27824
27825 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27826 `multiboot.mod'.
27827 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27828 (multiboot_mod_CFLAGS): New variables.
27829 * loader/i386/pc/linux_normal.c: New file.
27830 * loader/i386/pc/multiboot_normal.c: Likewise.
27831
27832 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27833 attribute `unused'.
27834
27835 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27836 `fdiro' to read the mode information from instead of `diro'.
27837
27838 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27839 looking up a symlink.
27840
27841 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27842 macro.
27843 * normal/command.c (grub_command_execute): Don't parse the
27844 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27845 flags of the command.
27846
27847 * normal/menu.c (grub_menu_run): Fix typo.
27848
27849 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27850
27851 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27852
27853 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27854 `y + 1' instead of `y - 1'.
27855
27856 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27857
27858 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27859
27860 From Hollis Blanchard <hollis@penguinppc.org>:
27861 * kern/misc.c (memmove): New alias for grub_memmove.
27862 (memcmp): New alias for grub_memcmp.
27863 (memset): New alias for grub_memset.
27864 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27865 Change "int handle" to "grub_ieee1275_phandle_t handle".
27866 * include/grub/powerpc/ieee1275/ieee1275.h
27867 (grub_ieee1275_get_property): Likewise.
27868
27869 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27870
27871 Added normal mode command `chainloader' as module chain.mod, which
27872 depends on normal.mod and _chain.mod.
27873
27874 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27875 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27876 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27877 Deleted prototype.
27878 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27879 but arguments parsing moved to ...
27880 (grub_chainloader_cmd): ... here. New function.
27881 * include/grub/i386/pc/chainloader.h: New file.
27882 * loader/i386/pc/chainloader_normal.c: Likewise.
27883
27884 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27885
27886 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27887 (grub_mkimage_LDFLAGS): Likewise.
27888 (grub_emu_SOURCES): Likewise.
27889 (kernel_img_HEADERS): Added fshelp.h.
27890 * fs/ext2.c: Include <grub/fshelp.h>.
27891 (FILETYPE_REG): New macro.
27892 (FILETYPE_INO_REG): Likewise.
27893 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27894 Changed all users.
27895 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27896 all users.
27897 (grub_fshelp_node): New struct.
27898 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27899 to a pointer.
27900 (grub_ext2_get_file_block): Removed function.
27901 (grub_ext2_read_block): New function.
27902 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27903 This function was written.
27904 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27905 (grub_ext2_find_file): Removed function.
27906 (grub_ext2_read_symlink): New function.
27907 (grub_ext2_iterate_dir): Likewise.
27908 (grub_ext2_open): Rewritten.
27909 (grub_ext2_dir): Rewritten.
27910 * include/grub/fshelp.h: New file.
27911 * fs/fshelp.c: Likewise.
27912
27913 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27914
27915 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27916 (print_message): Add a missing newline.
27917 (run_menu): Added timeout support.
27918 (run_menu_entry): New local function.
27919 (grub_menu_run): Added support for booting.
27920
27921 * kern/loader.c (grub_loader_is_loaded): New function.
27922
27923 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27924 (grub_get_rtc): Exported.
27925
27926 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27927 (grub_get_rtc): Exported.
27928
27929 * include/grub/normal.h (struct grub_command_list): Remove
27930 constant from the member `command'.
27931
27932 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27933
27934 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27935
27936 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27937
27938 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27939
27940 Add support for the JFS filesystem.
27941
27942 * fs/jfs.c: New file.
27943 * include/grub/fs.h (grub_jfs_init): New prototype.
27944 (grub_jfs_fini): New prototype.
27945 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27946 (grub_emu_SOURCES): Likewise.
27947 (pkgdata_MODULES): Add jfs.mod.
27948 (jfs_mod_SOURCES): New variable.
27949 (jfs_mod_CFLAGS): Likewise.
27950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27951 (grubof_SOURCES): Likewise.
27952 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27953
27954 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27955 endian to the host endian.
27956 (grub_fat_utf16_to_utf8): Move function from there...
27957 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27958 the endianness of the source string anymore.
27959 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27960
27961 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27962
27963 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27964 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27965 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27966 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27967
27968 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27969 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27970 for `node_found' and `it_dir'.
27971 (grub_hfs_dir): Add prototype for `dir_hook'.
27972
27973 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27974 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27975 and `indir32' to silence a gcc warning.
27976
27977 * include/grub/fs.h (grub_hfs_init): New prototype.
27978 (grub_hfs_fini): Likewise.
27979
27980
27981 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27982
27983 Each disk device has its own id now. This is useful to make use
27984 of multiple disk devices.
27985
27986 * include/grub/disk.h (grub_disk_dev_id): New enum.
27987 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27988 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27989
27990 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27991 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27992
27993 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27994 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27995
27996 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27997 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27998
27999 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28000 "id" which is used by the cache manager.
28001
28002 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28003 of just "GRUB".
28004
28005 2004-08-18 Marco Gerards <metgerards@student.han.nl>
28006
28007 * fs/hfs.c: New file.
28008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28009 (grub_emu_SOURCES): Likewise.
28010 (pkgdata_MODULES): Add hfs.mod.
28011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28012 (grubof_SOURCES): Likewise.
28013 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28014
28015 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28016 * kern/misc.c (grub_strncasecmp): Add function.
28017
28018 2004-08-14 Marco Gerards <metgerards@student.han.nl>
28019
28020 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28021 with parentheses.
28022
28023 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28024 (grub_ext2_dir): In case the directory entry type is unknown, read
28025 it from the inode.
28026
28027 2004-08-02 Peter Bruin <pjbruin@dds.nl>
28028
28029 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28030 grub_load_linux instead of grub_rescue_cmd_linux as second
28031 argument of grub_rescue_register_command.
28032
28033 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28034
28035 2004-07-27 Marco Gerards <metgerards@student.han.nl>
28036
28037 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28038 function.
28039 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28040 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28041 `loader/powerpc/ieee1275/linux.c',
28042 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28043 * include/grub/powerpc/ieee1275/ieee1275.h
28044 (grub_ieee1275_release): New prototype.
28045 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28046 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28047 normal, boot, linux and linux_normal.
28048 * loader/powerpc/ieee1275/linux.c: New file.
28049 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28050
28051 2004-07-12 Marco Gerards <metgerards@student.han.nl>
28052
28053 * normal/arg.c (grub_arg_parse): Correct error handling after
28054 reallocating the argumentlist (check if `argl' is not null instead
28055 of checking if `args' is not null).
28056 * kern/mm.c (grub_realloc): Return the same pointer when using the
28057 same region, instead of returning the header address.
28058
28059 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28060
28061 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28062 one block instead of two when looking for the initial partition.
28063 (grub_partition_probe): Initialize the local variable `p' with 0.
28064 Use base 10 for the grub_strtoul call.
28065 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28066 need for one local variable.
28067 (grub_strtoul): Don't add the new value to `num', instead of that
28068 just assign it.
28069
28070 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28071
28072 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28073 (pxeboot_img_SOURCES): New variable.
28074 (pxeboot_img_ASFLAGS): Likewise.
28075 (pxeboot_img_LDFLAGS): Likewise.
28076 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28077 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28078 <lode_leroy@hotmail.com>.
28079
28080 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28081
28082 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28083 there was no input.
28084
28085 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28086
28087 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28088 the history buffer logic.
28089
28090 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28091
28092 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28093 (FILETYPE_INO_SYMLINK): New macros.
28094 (grub_ext2_find_file): Check if the node is a directory using the
28095 inode stat information instead of using the filetype in the
28096 dirent. Exclude the first character of an absolute symlink.
28097 (grub_ext2_dir): Mask out the filetype part of the mode member of
28098 the inode.
28099
28100 2004-05-24 Marco Gerards <metgerards@student.han.nl>
28101
28102 Add support for UFS version 1 and 2. Add support for the minix
28103 filesystem version 1 and 2, both the variants with 14 and 30 long
28104 filenames.
28105
28106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28107 fs/minix.c.
28108 (grub_emu_SOURCES): Likewise.
28109 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28110 (ufs_mod_SOURCES): New variable.
28111 (ufs_mod_CFLAGS): Likewise.
28112 (minix_mod_SOURCES): Likewise.
28113 (minix_mod_CFLAGS): Likewise.
28114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28115 fs/minix.c.
28116 (grubof_SOURCES): Likewise.
28117 * fs/ufs.c: New file.
28118 * fs/minix.c: New file.
28119 * include/grub/fs.h (grub_ufs_init): New prototype.
28120 (grub_ufs_fini): Likewise.
28121 (grub_minix_init): Likewise.
28122 (grub_minix_fini): Likewise.
28123 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28124 minix fs.
28125
28126 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28127
28128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28129 commands/ls.c, commands/terminal.c, commands/boot.c,
28130 commands/cmp.c and commands/cat.c.
28131 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28132
28133 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28134 "env.h"
28135
28136 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28137
28138 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28139 and grub_, respectively. Because the conversion is trivial and
28140 mechanical, I omit the details here. Please refer to the CVS
28141 if you need more information.
28142
28143 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28144
28145 * include/pupa: Renamed to ...
28146 * include/grub: ... this.
28147 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28148 * util/i386/pc/grub-mkimage.c: ... this.
28149 * util/i386/pc/pupa-setup.c: Renamed to ...
28150 * util/i386/pc/grub-setup.c: ... this.
28151 * util/pupa-emu.c: Renamed to ...
28152 * util/grub-emu.c: ... this.
28153
28154 2004-03-29 Marco Gerards <metgerards@student.han.nl>
28155
28156 Add support for the newworld apple macintosh (PPC). This has been
28157 tested on the powerbook 2000 only. It only adds support for
28158 generic ieee1275 functions, console and disk support. This should
28159 be easy to port to other architectures with support for Open
28160 Firmware.
28161
28162 * configure.ac: Accept the powerpc as host_cpu. In the case of
28163 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28164 specific tests are only executed while building for the i386.
28165 Inverse test for crosscompile.
28166 * genmk.rb (Utility): Allow assembler files.
28167 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28168 * conf/powerpc-ieee1275.rmk: New file.
28169 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28170 * disk/powerpc/ieee1275/partition.c: Likewise.
28171 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28172 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28173 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28174 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28175 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28176 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28177 * include/pupa/powerpc/ieee1275/loader.h
28178 * include/pupa/powerpc/setjmp.h: Likewise.
28179 * include/pupa/powerpc/types.h: Likewise.
28180 * kern/powerpc/ieee1275/init.c: Likewise.
28181 * kern/powerpc/ieee1275/openfw.c: Likewise.
28182 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28183
28184 These files were written by Johan Rydberg
28185 (jrydberg@night.trouble.net) and I only modified them slightly.
28186
28187 * boot/powerpc/ieee1275/cmain.c: New file.
28188 * boot/powerpc/ieee1275/crt0.S: Likewise.
28189 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28190 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28191
28192 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28193
28194 * Makefile.in: Update copyright.
28195 * genmodsrc.sh: Likewise.
28196 * gensymlist.sh: Likewise.
28197 * term/i386/pc/vga.c: Indent correctly.
28198
28199 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28200 bugreporting address.
28201 * util/i386/pc/pupa-setup.c (usage): Likewise,
28202 (main): Call pupa_ext2_init and pupa_ext2_fini.
28203
28204 * fs/fat.c (log2): Renamed to ...
28205 (fat_log2): ... this.
28206 All callers changed.
28207 * kern/misc.c (memcpy): Alias to pupa_memmove.
28208 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28209 lvalue cast.
28210 * util/console.c (pupa_ncurses_fini): Return 0.
28211
28212 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28213 Move fail label here.
28214 [__GNU__]: Don't warn when using stat.
28215 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28216 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28217 long int. Use strtol instead of strtoul.
28218
28219 2004-03-14 Marco Gerards <metgerards@student.han.nl>
28220
28221 * commands/boot.c: New file.
28222 * commands/cat.c: Likewise.
28223 * commands/cmp.c: Likewise.
28224 * commands/ls.c: Likewise.
28225 * commands/terminal.c: Likewise.
28226 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28227 (pupa_register_command): Changed interface to match the new
28228 argument parser.
28229 (pupa_command_execute): Changed (almost rewritten) so it uses
28230 pupa_split_command. Added support for setting variables using the
28231 syntax `foo=bar'.
28232 (rescue_command): Changed to work with the new argument parser.
28233 (terminal_command): Moved from here to commands/terminal.c.
28234 (set_command): New function.
28235 (unset_command): New function.
28236 (insmod_command): New function.
28237 (rmmod_command): New function.
28238 (lsmod_command): New function.
28239 (pupa_command_init): Don't initialize the command terminal
28240 anymore. Initialize the commands set, unset, insmod, rmmod and
28241 lsmod.
28242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28243 (kernel_img_HEADERS): Add arg.h and env.h.
28244 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28245 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28246 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28247 normal/arg.c.
28248 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28249 terminal.mod.
28250 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28251 (boot_mod_SOURCES): New variable.
28252 (terminal_mod_SOURCES): Likewise.
28253 (ls_mod_SOURCES): Likewise.
28254 (cmp_mod_SOURCES): Likewise.
28255 (cat_mod_SOURCES): Likewise.
28256
28257 * normal/arg.c: New file.
28258 * kern/env.c: Likewise.
28259 * include/pupa/arg.h: Likewise.
28260 * include/pupa/env.h: Likewise.
28261 * font/manager.c (font_command): Changed to match argument parsing
28262 interface changes.
28263 (PUPA_MOD_INIT): Likewise.
28264 * hello/hello.c (pupa_cmd_hello): Likewise.
28265 (PUPA_MOD_INIT): Likewise.
28266 * include/pupa/disk.h: Include <pupa/device.h>.
28267 (pupa_print_partinfo): New prototype.
28268 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28269 (pupa_dl_get_prefix): Likewise.
28270 * include/pupa/misc.h: Include <pupa/err.h>.
28271 (pupa_isgraph): New prototype.
28272 (pupa_isdigit): Likewise.
28273 (pupa_split_cmdline): Likewise.
28274 * include/pupa/normal.h: Include <pupa/arg.h>.
28275 (pupa_command): Changed the prototype of the member `func' to
28276 match the argument parsing interface. Added member `options'.
28277 (pupa_register_command): Updated to match function.
28278 (pupa_arg_parse): New prototype.
28279 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28280 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28281 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28282 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28283 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28284 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28285 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28286 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28287 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28288 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28289 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28290 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28291 * kern/disk.c: Include <pupa/file.h>.
28292 (pupa_print_partinfo): New function.
28293 * kern/dl.c: Include <pupa/env.h>.
28294 (pupa_dl_dir): Variable removed.
28295 (pupa_dl_load): Use the environment variable `prefix' instead of
28296 the variable pupa_dl_dir.
28297 (pupa_dl_set_prefix): Function removed.
28298 (pupa_dl_get_prefix): Likewise.
28299 * kern/i386/pc/init.c: Include <pupa/env.h>.
28300 (pupa_machine_init): Use the environment variable `prefix' instead of
28301 using pupa_dl_set_prefix to set the prefix.
28302 * kern/main.c: Include <pupa/env.h>.
28303 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28304 using pupa_dl_get_prefix to get the prefix.
28305 * kern/misc.c: Include <pupa/env.h>.
28306 (pupa_isdigit): New function.
28307 (pupa_isgraph): Likewise.
28308 (pupa_ftoa): Likewise.
28309 (pupa_vsprintf): Added support for printing values of the type
28310 `double'. Make it possible to format variable output when using
28311 formatting like `%1.2%f'.
28312 (pupa_split_cmdline): New function.
28313 * kern/rescue.c: Include <pupa/env.h>.
28314 (next_word): Removed function.
28315 (pupa_rescue_cmd_prefix): Likewise.
28316 (pupa_rescue_cmd_set): New function.
28317 (pupa_rescue_cmd_unset): New function.
28318 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28319 split the command line instead of splitting it here. Added
28320 support for setting variables using the syntax `foo=bar'. Don't
28321 initialize the prefix command anymore. Initialized the set and
28322 unset commands.
28323 * normal/cmdline.c: Include <pupa/env.h>.
28324 (pupa_tab_complete): Added prototypes for print_simple_completion,
28325 print_partition_completion, add_completion, iterate_commands,
28326 iterate_dev, iterate_part and iterate_dir. Moved code to print
28327 partition information from here to kern/disk.c.
28328 (pupa_cmdline_run): Don't check if the function exists anymore.
28329 * normal/main.c: Include <pupa/env.h>.
28330 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28331 instead of using pupa_dl_get_prefix to get the prefix.
28332 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28333 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28334 warning.
28335 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28336 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28337 ((unused))' to silence a gcc warning.
28338 (pupa_vga_setcolor): Likewise.
28339 (debug_command): Changed to match argument parsing
28340 interface changes.
28341 * util/pupa-emu.c: Include <pupa/env.h>.
28342 (options): Added 0's for unused fields to silence a gcc warning.
28343 (argp): Likewise.
28344 (main): Use the environment variable `prefix' instead of using
28345 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28346 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28347 and terminal.
28348
28349 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28350 * util/misc.c: Include <malloc.h>.
28351 (pupa_malloc): Rewritten so errors are correctly reported.
28352 (pupa_realloc): Likewise.
28353 (pupa_memalign): Likewise.
28354 (pupa_mm_init_region): Declare unused variables with
28355 `__attribute__ ((unused))' to silence a gcc warning.
28356 * normal/i386/setjmp.S: Remove tab at the end of the file to
28357 silence a gcc warning.
28358 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28359 variables with `__attribute__ ((unused))' to silence a gcc
28360 warning.
28361 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28362 local variable i unsigned to silence a gcc warning.
28363
28364 * kern/term.c: Include <pupa/misc.h>.
28365 (pupa_more_lines): New variable.
28366 (pupa_more): Likewise.
28367 (pupa_putcode): When the pager is active pause at the end of every
28368 screen.
28369 (pupa_set_more): New function.
28370 * include/pupa/term.h (pupa_set_more): New prototype.
28371
28372
28373 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28374
28375 Now this project is GRUB 2 rather than PUPA. The location of
28376 the CVS repository was moved to GRUB's.
28377
28378 * configure.ac: Use bug-grub as the reporting address.
28379 Use GRUB instead of PUPA.
28380 Change the version number to 1.90.
28381
28382 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28383
28384 * genkernsyms.sh: Updated copyright information.
28385 * genmk.rb: Likewise.
28386 * genmodsrc.sh: Likewise.
28387 * gensymlist.sh: Likewise.
28388 * boot/i386/pc/boot.S: Likewise.
28389 * boot/i386/pc/diskboot.S: Likewise.
28390 * disk/i386/pc/biosdisk.c: Likewise.
28391 * disk/i386/pc/partition.c: Likewise.
28392 * font/manager.c: Likewise.
28393 * fs/ext2.c: Likewise.
28394 * fs/fat.c: Likewise.
28395 * include/pupa/boot.h: Likewise.
28396 * include/pupa/device.h: Likewise.
28397 * include/pupa/disk.h: Likewise.
28398 * include/pupa/dl.h: Likewise.
28399 * include/pupa/elf.h: Likewise.
28400 * include/pupa/err.h: Likewise.
28401 * include/pupa/file.h: Likewise.
28402 * include/pupa/font.h: Likewise.
28403 * include/pupa/fs.h: Likewise.
28404 * include/pupa/kernel.h: Likewise.
28405 * include/pupa/loader.h: Likewise.
28406 * include/pupa/misc.h: Likewise.
28407 * include/pupa/mm.h: Likewise.
28408 * include/pupa/net.h: Likewise.
28409 * include/pupa/normal.h: Likewise.
28410 * include/pupa/rescue.h: Likewise.
28411 * include/pupa/setjmp.h: Likewise.
28412 * include/pupa/symbol.h: Likewise.
28413 * include/pupa/term.h: Likewise.
28414 * include/pupa/types.h: Likewise.
28415 * include/pupa/i386/setjmp.h: Likewise.
28416 * include/pupa/i386/types.h: Likewise.
28417 * include/pupa/i386/pc/biosdisk.h: Likewise.
28418 * include/pupa/i386/pc/boot.h: Likewise.
28419 * include/pupa/i386/pc/console.h: Likewise.
28420 * include/pupa/i386/pc/init.h: Likewise.
28421 * include/pupa/i386/pc/kernel.h: Likewise.
28422 * include/pupa/i386/pc/linux.h: Likewise.
28423 * include/pupa/i386/pc/loader.h: Likewise.
28424 * include/pupa/i386/pc/memory.h: Likewise.
28425 * include/pupa/i386/pc/multiboot.h: Likewise.
28426 * include/pupa/i386/pc/partition.h: Likewise.
28427 * include/pupa/i386/pc/time.h: Likewise.
28428 * include/pupa/i386/pc/vga.h: Likewise.
28429 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28430 * include/pupa/util/getroot.h: Likewise.
28431 * include/pupa/util/misc.h: Likewise.
28432 * include/pupa/util/resolve.h: Likewise.
28433 * kern/device.c: Likewise.
28434 * kern/disk.c: Likewise.
28435 * kern/dl.c: Likewise.
28436 * kern/err.c: Likewise.
28437 * kern/file.c: Likewise.
28438 * kern/fs.c: Likewise.
28439 * kern/loader.c: Likewise.
28440 * kern/main.c: Likewise.
28441 * kern/misc.c: Likewise.
28442 * kern/mm.c: Likewise.
28443 * kern/rescue.c: Likewise.
28444 * kern/term.c: Likewise.
28445 * kern/i386/dl.c: Likewise.
28446 * kern/i386/pc/init.c: Likewise.
28447 * kern/i386/pc/lzo1x.S: Likewise.
28448 * kern/i386/pc/startup.S: Likewise.
28449 * loader/i386/pc/chainloader.c: Likewise.
28450 * loader/i386/pc/linux.c: Likewise.
28451 * loader/i386/pc/multiboot.c: Likewise.
28452 * normal/cmdline.c: Likewise.
28453 * normal/command.c: Likewise.
28454 * normal/main.c: Likewise.
28455 * normal/menu.c: Likewise.
28456 * normal/i386/setjmp.S: Likewise.
28457 * term/i386/pc/console.c: Likewise.
28458 * term/i386/pc/vga.c: Likewise.
28459 * util/console.c: Likewise.
28460 * util/genmoddep.c: Likewise.
28461 * util/misc.c: Likewise.
28462 * util/pupa-emu.c: Likewise.
28463 * util/resolve.c: Likewise.
28464 * util/unifont2pff.rb: Likewise.
28465 * util/i386/pc/biosdisk.c: Likewise.
28466 * util/i386/pc/getroot.c: Likewise.
28467 * util/i386/pc/pupa-mkimage.c: Likewise.
28468 * util/i386/pc/pupa-setup.c: Likewise.
28469
28470 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28471
28472 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28473 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28474 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28475 reading and reset it after reading.
28476 (pupa_ext2_close): Return PUPA_ERR_NONE.
28477
28478 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28479 Correct value.
28480 (struct linux_kernel_header): Add kernel_version and
28481 initrd_addr_max.
28482 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28483 pupa_file_read succeeds.
28484 (pupa_rescue_cmd_initrd): Implement.
28485
28486 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28487
28488 * fs/ext2.c (pupa_ext2_label): New function.
28489 (pupa_ext2_fs): Added label.
28490 * fs/fat.c (pupa_fat_label): New function.
28491 (pupa_fat_fs): Added label.
28492 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28493
28494 * kern/misc.c (pupa_strndup): New function.
28495 * include/pupa/misc.h (pupa_strndup): New prototype.
28496
28497 * include/pupa/normal.h: Include <pupa/err.h>.
28498 (pupa_set_history): New prototype.
28499 (pupa_iterate_commands): New prototype.
28500 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28501 <pupa/disk.h>, <pupa/file.h>.
28502 (hist_size): New variable.
28503 (hist_lines): Likewise.
28504 (hist_end): Likewise.
28505 (hist_used): Likewise.
28506 (pupa_set_history): New function.
28507 (pupa_history_get): Likewise.
28508 (pupa_history_add): Likewise.
28509 (pupa_history_replace): Likewise.
28510 (pupa_tab_complete): Likewise.
28511 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28512 completion shows partitionnames while completing partitions, this
28513 feature was suggested by Jeff Bailey.
28514 * normal/command.c (pupa_iterate_commands): New function.
28515 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28516 (pupa_normal_init): Initialize history buffer.
28517 (PUPA_MOD_INIT): Likewise.
28518 (pupa_normal_fini): Free the history buffer.
28519 (PUPA_MOD_FINI): Likewise.
28520
28521 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28522 key.
28523
28524 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28525 * configure.ac [i386]: Check for regparam bug.
28526 (NESTED_FUNC_ATTR) [! i386]: Defined.
28527
28528 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28529
28530 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28531 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28532 (pupa_emu_SOURCES): New variable.
28533 (pupa_emu_LDFLAGS): Likewise.
28534 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28535 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28536 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28537 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28538 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28539 (pupa_jmp_buf): New typedef.
28540 (pupa_setjmp) [PUPA_UTIL]: New macro.
28541 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28542 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28543 (pupa_refresh): New prototype.
28544 * include/pupa/util/getroot.h: New file.
28545 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28546 it.
28547 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28548 (pupa_rescue_cmd_cat): Likewise.
28549 (pupa_rescue_cmd_ls): Likewise.
28550 (pupa_rescue_cmd_testload): Likewise.
28551 (pupa_rescue_cmd_lsmod): Likewise.
28552 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28553 * normal/menu.c (run_menu): Likewise.
28554 * kern/term.c (pupa_cls): Likewise.
28555 (pupa_refresh): New function.
28556 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28557 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28558 * util/console.c: New file.
28559
28560 * util/i386/pc/getroot.c: New file.
28561 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28562 (pupa_putchar): New function.
28563 (pupa_refresh): Likewise.
28564 (xgetcwd): Function moved to ...
28565 (strip_extra_slashes): Likewise.
28566 (get_prefix): Likewise.
28567 * util/i386/pc/getroot.c: ... here.
28568 (find_root_device): Function moved and renamed to...
28569 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28570 Changed all callers.
28571 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28572 and renamed to...
28573 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28574 Changed all callers.
28575 * util/misc.c (pupa_memalign): New function.
28576 (pupa_mm_init_region): Likewise.
28577 (pupa_register_exported_symbols): Likewise.
28578 (pupa_putchar): Function removed.
28579 * util/pupa-emu.c: New file.
28580
28581 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28582
28583 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28584 (_multiboot_mod_SOURCES): New variable.
28585 (_multiboot_mod_CFLAGS): Likewise.
28586 * loader/i386/pc/multiboot.c: New file.
28587 * include/pupa/i386/pc/multiboot.h: Likewise.
28588 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28589 (pupa_multiboot_real_boot): New function.
28590 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28591 (pupa_multiboot_real_boot): New prototype.
28592 (pupa_rescue_cmd_multiboot): Likewise
28593 (pupa_rescue_cmd_module): Likewise.
28594
28595 * kern/loader.c (pupa_loader_set): Continue when
28596 pupa_loader_unload_func() fails.
28597 (pupa_loader_unset): New function.
28598 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28599
28600 * kern/misc.c (pupa_stpcpy): New function.
28601 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28602
28603 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28604
28605 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28606 for available extensions.
28607
28608 * include/pupa/i386/pc/time.h: New file.
28609 * kern/disk.c: Include <pupa/machine/time.h>.
28610 (PUPA_CACHE_TIMEOUT): New macro.
28611 (pupa_last_time): New variable.
28612 (pupa_disk_open): Flush the cache when there was a timeout.
28613 (pupa_disk_close): Reset the timer.
28614 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28615 pupa_currticks.
28616 * util/misc.c: Include <sys/times.h>
28617 (pupa_get_rtc): New function.
28618
28619 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28620
28621 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28622 as blocks.
28623 (pupa_ext2_get_file_block): Use blocks member.
28624
28625 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28626 first block. Return -1 instead of pupa_errno on error.
28627
28628 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28629
28630 * README: In the pupa-mkimage example use _chain instead of chain
28631 and ext2 instead of fat.
28632 * TODO: Replace ext2fs with jfs as an example. Add an item for
28633 adding journal playback for ext2fs.
28634 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28635 (pkgdata_MODULES): Added ext2.mod.
28636 (ext2_mod_SOURCES): New variable.
28637 (ext2_mod_CFLAGS): Likewise.
28638 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28639 * include/pupa/misc.h (pupa_strncpy): New prototype.
28640 (pupa_strcat): Likewise.
28641 (pupa_strncmp): Likewise.
28642 * kern/misc.c (pupa_strcat): Enable function.
28643 (pupa_strncpy): New function.
28644 (pupa_strncmp): Likewise.
28645 * fs/ext2.c: New file.
28646
28647 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28648 when the read failed before retrying.
28649 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28650 (_FILE_OFFSET_BITS): Likewise.
28651 * configure.ac: Added AC_SYS_LARGEFILE.
28652
28653 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28654
28655 * genmk.rb (PModule#rule): Make sure to get only symbol names
28656 from the output of nm.
28657 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28658
28659 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28660
28661 I forgot to check in these changes for a long time. This adds
28662 incomplete support for VGA console, and this is still very
28663 buggy. Also, a lot of consideration is required for I18N,
28664 UNICODE, and VGA font issues. Therefore, assume that this is
28665 such that "better than nothing".
28666
28667 * font/manager.c: New file.
28668 * include/pupa/font.h: Likewise.
28669 * include/pupa/i386/pc/vga.h: Likewise.
28670 * term/i386/pc/vga.c: Likewise.
28671 * util/unifont2pff.rb: Likewise.
28672
28673 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28674 (pkgdata_MODULES): Added vga.mod and font.mod.
28675 (vga_mod_SOURCES): New variables.
28676 (vga_mod_CFLAGS): Likewise.
28677 (font_mod_SOURCES): Likewise.
28678 (font_mod_CFLAGS): Likewise.
28679
28680 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28681
28682 * include/pupa/term.h: Include pupa/err.h.
28683 (struct pupa_term): Added init and fini.
28684 Changed the argument of putchar to pupa_uint32_t.
28685
28686 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28687 (pupa_console_real_putchar): New prototype.
28688 (pupa_console_putchar): Removed.
28689 (pupa_console_checkkey): Exported.
28690 (pupa_console_getkey): Likewise.
28691
28692 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28693 characters.
28694
28695 * kern/term.c (pupa_term_set_current): Rewritten.
28696 (pupa_putchar): Likewise.
28697 (pupa_putcode): New function.
28698
28699 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28700 (pupa_console_real_putchar): ... this.
28701 (pupa_vga_set_mode): New function.
28702 (pupa_vga_get_font): Likewise.
28703
28704 * normal/command.c: Include pupa/term.h.
28705 (terminal_command): New function.
28706 (pupa_command_init): Register the command "terminal".
28707
28708 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28709 (DISP_UP): Likewise.
28710 (DISP_RIGHT): Likewise.
28711 (DISP_DOWN): Likewise.
28712 (DISP_HLINE): Likewise.
28713 (DISP_VLINE): Likewise.
28714 (DISP_UL): Likewise.
28715 (DISP_UR): Likewise.
28716 (DISP_LL): Likewise.
28717 (DISP_LR): Likewise.
28718
28719 * term/i386/pc/console.c (pupa_console_putchar): New function.
28720
28721 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28722
28723 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28724 FIX. Reverse the path_list.
28725
28726 * include/pupa/normal.h: Export pupa_register_command and
28727 pupa_unregister_command.
28728
28729 * hello/hello.c (pupa_cmd_hello): New module.
28730 * conf/i386-pc.rmk: Added hello.mod.
28731
28732 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28733
28734 * kern/i386/pc/lzo1x.S: New file.
28735
28736 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28737 (compress_kernel): New variable.
28738 (generate_image): Heavily modified to support compressing a
28739 large part of the core image.
28740
28741 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28742 leak.
28743 (pupa_util_load_image): New function.
28744
28745 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28746 (pupa_compressed_size): New variable.
28747 (codestart): Enable Gate A20 here.
28748 Decompress the compressed part of the core image.
28749 Rearrange the code to put functions and variables which are
28750 required for initialization in the non-compressed part.
28751 Include lzo1x.S.
28752
28753 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28754 here.
28755
28756 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28757
28758 * include/pupa/i386/pc/kernel.h
28759 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28760 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28761 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28762 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28763 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28764
28765 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28766
28767 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28768 (Utility#rule): Likewise.
28769
28770 * configure.ac: Check if LZO is available.
28771
28772 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28773
28774 * include/pupa/normal.h: New file.
28775 * include/pupa/setjmp.h: Likewise.
28776 * include/pupa/i386/setjmp.h: Likewise.
28777 * normal/cmdline.c: Likewise.
28778 * normal/command.c: Likewise.
28779 * normal/main.c: Likewise.
28780 * normal/menu.c: Likewise.
28781 * normal/i386/setjmp.S: Likewise.
28782
28783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28784 (pupa_rescue_cmd_initrd): Likewise.
28785
28786 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28787 Likewise.
28788
28789 * kern/i386/pc/startup.S (translation_table): New variable.
28790 (translate_keycode): New function.
28791 (pupa_console_getkey): Call translate_keycode.
28792
28793 * kern/rescue.c (attempt_normal_mode): New function.
28794 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28795 it failed, print a message.
28796
28797 * kern/mm.c (pupa_real_malloc): Print more information when a
28798 free magic is broken.
28799 (pupa_free): If the first free header is not free actually, set
28800 it to P.
28801
28802 * kern/main.c (pupa_load_normal_mode): Just load the module
28803 "normal".
28804 (pupa_main): Don't print the message
28805 "Entering into rescue mode..." here.
28806
28807 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28808 Declared.
28809 (pupa_rescue_cmd_initrd): Likewise.
28810 (pupa_rescue_cmd_initrd): Likewise.
28811
28812 * include/pupa/symbol.h (FUNCTION): Specify the type.
28813 (VARIABLE): Likewise.
28814
28815 * include/pupa/err.h (pupa_err_t): Added
28816 PUPA_ERR_UNKNOWN_COMMAND.
28817
28818 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28819 (pupa_dl_get_prefix): Likewise.
28820
28821 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28822 Added _chain.mod and _linux.mod instead of chain.mod and
28823 linux.mod.
28824 (chain_mod_SOURCES): Renamed to ...
28825 (_chain_mod_SOURCES): ... this.
28826 (chain_mod_CFLAGS): Renamed to ...
28827 (_chain_mod_CFLAGS): ... this.
28828 (linux_mod_SOURCES): Renamed to ...
28829 (_linux_mod_SOURCES): ... this.
28830 (linux_mod_CFLAGS): Renamed to ...
28831 (_linux_mod_CFLAGS): ... this.
28832 (normal_mod_SOURCES): New variable.
28833 (normal_mod_CFLAGS): Likewise.
28834 (normal_mod_ASFLAGS): Likewise.
28835
28836 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28837
28838 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28839 possible.
28840
28841 * kern/dl.c (pupa_dl_ref): Refer depending modules
28842 recursively.
28843 (pupa_dl_unref): Unrefer depending modules recursively.
28844 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28845 a module is unloaded before one depending on that module is
28846 unloaded.
28847 (pupa_dl_unload): Unload depending modules explicitly,
28848 if possible.
28849
28850 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28851
28852 * include/pupa/i386/pc/linux.h: New file.
28853 * loader/i386/pc/linux.c: Likewise.
28854
28855 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28856 Removed.
28857 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28858 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28859 of PUPA_CHAINLOADER_BOOT_SECTOR.
28860
28861 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28862 (pupa_linux_prot_size): New variable.
28863 (pupa_linux_tmp_addr): Likewise.
28864 (pupa_linux_real_addr): Likewise.
28865 (pupa_linux_boot_zimage): New function.
28866 (pupa_linux_boot_bzimage): Likewise.
28867
28868 * kern/i386/pc/init.c (struct mem_region): New structure.
28869 (MAX_REGIONS): New macro.
28870 (mem_regions): New variable.
28871 (num_regions): Likewise.
28872 (pupa_os_area_addr): Likewise.
28873 (pupa_os_area_size): Likewise.
28874 (pupa_lower_mem): Likewise.
28875 (pupa_upper_mem): Likewise.
28876 (add_mem_region): New function.
28877 (compact_mem_regions): Likewise.
28878 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28879 the size of the conventional memory and that of so-called upper
28880 memory (before the first memory hole).
28881 Instead of adding each found region to free memory, use
28882 add_mem_region and add them after removing overlaps.
28883 Also, add only 1/4 of the upper memory to free memory. The rest
28884 is used for loading OS images. Maybe this is ad hoc, but this
28885 makes it much easier to relocate OS images when booting.
28886
28887 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28888 (pupa_enter_rescue_mode): Don't register initrd and module.
28889
28890 * kern/mm.c: Include pupa/dl.h.
28891
28892 * kern/main.c: Include pupa/file.h and pupa/device.h.
28893
28894 * kern/loader.c (pupa_loader_load_module_func): Removed.
28895 (pupa_loader_load_module): Likewise.
28896
28897 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28898 ``.o''.
28899
28900 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28901 (pupa_linux_tmp_addr): Likewise.
28902 (pupa_linux_real_addr): Likewise.
28903 (pupa_linux_boot_zimage): Likewise.
28904 (pupa_linux_boot_bzimage): Likewise.
28905
28906 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28907 (pupa_upper_mem): Likewise.
28908 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28909 module is too dangerous.
28910
28911 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28912 (pupa_os_area_size): Likewise.
28913 (pupa_loader_set): Remove the first argument. Loader doesn't
28914 manage modules or initrd any longer.
28915 (pupa_loader_load_module): Removed.
28916
28917 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28918 (linux_mod_SOURCES): New variable.
28919 (linux_mod_CFLAGS): Likewise.
28920
28921 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28922
28923 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28924 the length of a blocklist correctly.
28925
28926 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28927 Use ioctl only if the OS file is a block device.
28928 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28929 not very useful for normal files.
28930
28931 * kern/main.c (pupa_set_root_dev): New function.
28932 (pupa_load_normal_mode): Likewise.
28933 (pupa_main): Call those above.
28934
28935 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28936 pupa_uint16_t.
28937
28938 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28939
28940 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28941
28942 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28943 (setup): Configure the installed partition information and the
28944 dl prefix.
28945
28946 * loader/i386/pc/chainloader.c (my_mod): New variable.
28947 (pupa_chainloader_unload): New function.
28948 (pupa_rescue_cmd_chainloader): Refer itself.
28949 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28950
28951 * kern/i386/pc/startup.S (install_partition): Removed.
28952 (version_string): Likewise.
28953 (config_file): Likewise.
28954 (pupa_install_dos_part): New variable.
28955 (pupa_install_bsd_part): Likewise.
28956 (pupa_prefix): Likewise.
28957 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28958
28959 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28960 and pupa/misc.h.
28961 (make_install_device): New function.
28962 (pupa_machine_init): Set the dl prefix.
28963
28964 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28965 (buf): Renamed to ...
28966 (linebuf): ... this.
28967 (pupa_rescue_cmd_prefix): New function.
28968 (pupa_rescue_cmd_insmod): Likewise.
28969 (pupa_rescue_cmd_rmmod): Likewise.
28970 (pupa_rescue_cmd_lsmod): Likewise.
28971 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28972 rmmod and lsmod.
28973
28974 * kern/mm.c (pupa_memalign): If failed even after invalidating
28975 disk caches, unload unneeded modules and retry.
28976
28977 * kern/misc.c (pupa_memmove): New function.
28978 (pupa_memcpy): Removed.
28979 (pupa_strcpy): New function.
28980 (pupa_itoa): Made static.
28981
28982 * kern/dl.c (pupa_dl_iterate): New function.
28983 (pupa_dl_ref): Likewise.
28984 (pupa_dl_unref): Likewise.
28985 (pupa_dl_unload): Return if succeeded or not.
28986 (pupa_dl_unload_unneeded): New function.
28987 (pupa_dl_unload_all): Likewise.
28988 (pupa_dl_init): Renamed to ...
28989 (pupa_dl_set_prefix): ... this.
28990 (pupa_dl_get_prefix): New function.
28991
28992 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28993 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28994 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28995 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28996 (pupa_install_dos_part): Declared.
28997 (pupa_install_bsd_part): Likewise.
28998 (pupa_prefix): Likewise.
28999 (pupa_boot_drive): Likewise.
29000
29001 * include/pupa/types.h: Fix a typo.
29002
29003 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29004 pupa_memmove.
29005 (pupa_memmove): Declared.
29006 (pupa_strcpy): Likewise.
29007
29008 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29009 pupa_mod_init takes one argument, its own module.
29010 (pupa_dl_unload_unneeded): Declared.
29011 (pupa_dl_unload_all): Likewise.
29012 (pupa_dl_ref): Likewise.
29013 (pupa_dl_unref): Likewise.
29014 (pupa_dl_iterate): Likewise.
29015 (pupa_dl_init): Renamed to ...
29016 (pupa_dl_set_prefix): ... this.
29017 (pupa_dl_get_prefix): Declared.
29018
29019 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
29020 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
29021 unloaded.
29022 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29023 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29024
29025 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29026 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29027
29028 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29029
29030 * util/i386/pc/pupa-setup.c (setup): Define the internal
29031 function find_first_partition_start at the top level, because GCC
29032 3.0.x cannot compile internal functions in deeper scopes
29033 correctly.
29034 (find_root_device): Use lstat instead of stat.
29035 Don't follow symbolic links.
29036 Fix the path-constructing code.
29037
29038 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29039 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29040 by a BLKGETSIZE ioctl first, because block devices don't fill
29041 the member st_mode of the structure stat on Linux.
29042 [__linux__] (linux_find_partition): Use a temporary buffer
29043 REAL_DEV for the working space. Copy it to DEV before returning.
29044 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29045 buffer cache consistent.
29046 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29047 strncmp. The previous value was merely wrong.
29048 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29049
29050 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29051 FAT size is 12. The previous value was merely wrong.
29052
29053 * kern/main.c (pupa_main): Don't split the starting message from
29054 newlines.
29055
29056 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29057 LF, because BIOS goes crazy about character attributes in this
29058 case.
29059
29060 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29061
29062 * include/i386/pc/util/biosdisk.h: New file.
29063 * util/i386/pc/biosdisk.c: Likewise.
29064 * util/i386/pc/pupa-setup.c: Likewise.
29065
29066 * Makefile.in (INCLUDE_DISTFILES): Added
29067 include/pupa/i386/pc/util/biosdisk.h.
29068 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29069 directory util/i386/pc.
29070 (install-local): Added a rule for sbin_UTILITIES.
29071 (uninstall): Likewise.
29072
29073 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29074
29075 * util/misc.c (xrealloc): New function.
29076 (pupa_malloc): Likewise.
29077 (pupa_free): Likewise.
29078 (pupa_realloc): Likewise.
29079 (pupa_stop): Likewise.
29080 (pupa_putchar): Likewise.
29081
29082 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29083
29084 * include/pupa/util/misc.h (xrealloc): Declared.
29085
29086 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29087 macro.
29088 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29089 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29090
29091 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29092 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29093
29094 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29095 way should be implemented.
29096 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29097
29098 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29099 the size of NAME for safety.
29100 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29101 0x88.
29102
29103 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29104 (pupa_setup_SOURCES): Likewise.
29105
29106 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29107
29108 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29109
29110 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29111 bunch of pushl's from pusha, because this destroys the return
29112 value.
29113
29114 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29115
29116 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29117 This means that any missing prototypes could be fatal. Also, you
29118 must take care when writing assembly code. See the comments at
29119 the beginning of startup.S, for more details.
29120
29121 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29122 compilation mechanism.
29123 (pupa_chainloader_real_boot): Likewise.
29124 (pupa_biosdisk_rw_int13_extensions): Likewise.
29125 (pupa_biosdisk_rw_standard): Likewise.
29126 (pupa_biosdisk_check_int13_extensions): Likewise.
29127 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29128 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29129 (pupa_get_memsize): Likewise.
29130 (pupa_get_mmap_entry): Likewise.
29131 (pupa_console_putchar): Likewise.
29132 (pupa_console_setcursor): Likewise.
29133 (pupa_getrtsecs): Use pushl instead of push.
29134
29135 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29136 memory instead of the stack for a mmap entry, because some
29137 BIOSes may ignore the maximum size and overflow.
29138
29139 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29140
29141 * genmk.rb (PModule#rule): Compile automatically generated
29142 sources with module-specific CFLAGS as well as other sources.
29143
29144 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29145
29146 * configure.ac: Check ld.
29147 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29148 respectively, before checking endianness and sizes.
29149
29150 * Makefile.in (LD): New variable.
29151
29152 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29153
29154 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29155
29156 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29157
29158 * Changelog: New file.
29159