]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2010-08-01 Robert Millan <rmh@gnu.org>
[grub2.git] / ChangeLog
1 2010-08-01 Robert Millan <rmh@gnu.org>
2
3 Make it even harder to use uninitialized `libzfs_handle' (and
4 make the interface a bit simpler).
5
6 * include/grub/util/misc.h (grub_util_init_libzfs)
7 (libzfs_handle): Remove.
8 (grub_get_libzfs_handle): New prototype.
9
10 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11 attribute.
12 (grub_util_init_libzfs): Remove.
13 (grub_get_libzfs_handle): New function.
14
15 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17 accessing `libzfs_handle' directly.
18
19 2010-08-01 Robert Millan <rmh@gnu.org>
20
21 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22 (grub_find_zpool_from_mount_point): New function prototypes.
23
24 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26
27 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
28 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
29 `static' attribute.
30
31 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
32 finding zpool from mount point into ...
33 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
34
35 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
36 requested path is part of a ZFS pool, use
37 grub_find_zpool_from_mount_point() to detect its filesystem name,
38 and generate a path with `/fsname@path' syntax.
39
40 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
41
42 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
43 (void) rather than () so that this is a proper prototype.
44
45 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
48
49 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
52 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
53
54 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
55
56 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
57
58 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
59
60 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
61
62 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
63
64 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
65 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
66 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
67 disable gfxpayload.
68 (Shell-like scripting): Add real content.
69 (Serial terminal): Suggest `terminal_input serial; terminal_output
70 serial' rather than putting the two commands on separate lines,
71 since console input will be inoperative after the first command.
72 (menuentry): Document --class, --users, and --hotkey options.
73 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
74 Vladimir Serbinenko).
75
76 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
77 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
78
79 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
80
81 2010-08-01 Robert Millan <rmh@gnu.org>
82
83 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
84 (grub_find_zpool_from_mount_point): New function prototypes.
85
86 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
87 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
88
89 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
90 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
91 `static' attribute.
92
93 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
94 finding zpool from mount point into ...
95 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
96
97 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
98 requested path is part of a ZFS pool, use
99 grub_find_zpool_from_mount_point() to detect its filesystem name,
100 and generate a path with `/fsname@path' syntax.
101
102 2010-08-01 Robert Millan <rmh@gnu.org>
103
104 Prevent accidental use of uninitialized libzfs_handle.
105
106 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
107 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
108 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
109
110 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
111
112 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
113 util/grub.d/10_linux.in). Fixes Debian bug #591093.
114
115 2010-08-01 Robert Millan <rmh@gnu.org>
116
117 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
118
119 2010-07-31 Robert Millan <rmh@gnu.org>
120
121 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
122
123 2010-07-31 Robert Millan <rmh@gnu.org>
124
125 * kern/emu/misc.c: Add missing license header.
126
127 2010-07-31 Robert Millan <rmh@gnu.org>
128
129 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
130
131 * include/grub/util/libnvpair.h: Include `<config.h>'.
132 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
133 declaring libnvpair prototypes ourselves.
134 * include/grub/util/libzfs.h: Include `<config.h>'.
135 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
136 declaring libzfs prototypes ourselves.
137
138 (libzfs_handle): Moved to ...
139 * include/grub/util/misc.h (libzfs_handle): ... here.
140 Include `<grub/util/libzfs.h>'.
141
142 2010-07-30 Robert Millan <rmh@gnu.org>
143
144 * include/grub/emu/misc.h: Add missing license header.
145
146 2010-07-30 Robert Millan <rmh@gnu.org>
147
148 Enable `grub-probe -t device' resolution on ZFS.
149
150 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
151 * include/grub/util/libnvpair.h: New file.
152 * include/grub/util/libzfs.h: New file.
153
154 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
155 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
156 `<grub/util/libnvpair.h>'.
157 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
158
159 (find_mount_point_from_dir): New static function.
160 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
161 function.
162 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
163 find_root_device_from_libzfs() before ressorting to find_root_device().
164
165 * include/grub/util/misc.h (grub_util_init_libzfs): New function
166 prototype.
167 * util/misc.c: Include `<grub/util/libzfs.h>'.
168 (grub_util_init_libzfs): New function.
169 [HAVE_LIBZFS] (libzfs_handle): New global variable.
170 [HAVE_LIBZFS] (fini_libzfs): New static function.
171 (grub_util_init_libzfs): New function.
172 * util/grub-probe.c (main): Call grub_util_init_libzfs().
173
174 2010-07-30 Robert Millan <rmh@gnu.org>
175
176 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
177 (xmalloc, xrealloc, xstrdup, xasprintf): Add
178 `warn_unused_result' attribute.
179 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
180 (grub_xasprintf, grub_xvasprintf): Likewise.
181 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
182
183 2010-07-29 Robert Millan <rmh@gnu.org>
184
185 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
186 (probe): Handle `PRINT_FS_LABEL'.
187 (main): Handle `-t fs_label'.
188
189 2010-07-29 Robert Millan <rmh@gnu.org>
190
191 * configure.ac: Remove grub-mkisofs checks.
192
193 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * util/ieee1275/grub-install.in: Don't use empty grub_device.
196 Reported by: Lennart Sorensen.
197
198 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
201 prior to terminal_input/terminal_output separation. It's been over 1.5
202 years and those versions weren't widely deployed.
203
204 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
205
206 * disk/raid.c (insert_array): Don't count named arrays when looking
207 for unused array numbers.
208 Reported and tested by: Michael Guntsche.
209
210 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
211
212 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
213 implementation of this so that grub-emu links again, with a note
214 that this should support hotplugging in the future.
215
216 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
217
218 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
219
220 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
221
222 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
223 handle on failure.
224 (grub_loopback_close): Remove empty function.
225 (grub_loopback_dev): Remove close method.
226
227 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
228
229 Disable EFI cursor when the EFI console becomes inactive.
230
231 * term/efi/console.c (grub_efi_console_init): New function.
232 (grub_efi_console_fini): New function.
233 (grub_console_term_output): Register init and fini methods.
234
235 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * tests/util/grub-shell-tester.in: Remove bashism and declare as
238 sh script.
239
240 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * disk/loopback.c (grub_loopback): Replace filename with file.
243 (delete_loopback): Handle new semantics.
244 (grub_cmd_loopback): Likewise.
245 (grub_loopback_iterate): Likewise.
246 (grub_loopback_close): Likewise.
247
248 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
251 with -p "".
252 Reported by: Tito Keitel.
253
254 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * docs/grub.texi (Naming convention): Document new naming convention.
257
258 2010-07-20 Vadim Solomin <vadic052@gmail.com>
259 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
260
261 Generate device.map in something closer to the old ordering.
262
263 * util/deviceiter.c (struct device): New declaration.
264 (compare_file_names): Rename to ...
265 (compare_devices): ... this. Sort by kernel name in preference to
266 the stable by-id name, but keep the latter as a fallback comparison.
267 Update header comment.
268 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
269 of `struct device' rather than of plain file names.
270
271 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
272
273 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
274 on i386.
275
276 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * commands/acpi.c (setup_common_tables): Use sizeof instead of
279 hardcoding size.
280 (setv1table): Likewise.
281
282 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
283
284 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
285 removing the homehost if present.
286 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
287 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
288 removing the homehost if present.
289 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
290 if possible.
291 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
292
293 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
294 parameter. Set its pointer target to 0.
295 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
296 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
297 `data_offset' value from the superblock for 1.x metadata.
298 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
299 data on the device.
300 (insert_array): Record the start sector of data on the device.
301 (grub_raid_register): Pass start_sector parameters to
302 grub_raid_list->detect and insert_array.
303 * include/grub/raid.h (struct grub_raid_array): Add start_sector
304 member.
305 (struct grub_raid): Add start_sector parameter to `detect'.
306
307 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
308 __attribute__ ((packed)), leaving a comment.
309 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
310 (grub_mdraid_detect_09): ... here and ...
311 (grub_mdraid_detect_1x): ... here.
312
313 2010-07-20 Peter Henn <peter.henn@web.de>
314
315 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
316 chunk size and disk size, which are already given as sector counts
317 as distinct from the 0.90 units. Fetch the correct device number
318 from the role table instead of using the table index.
319
320 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
321
322 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
323 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
324 (WriteMostly1): New macro.
325 Set array->name to NULL for metadata format 0.90. Add support for
326 metadata 1.x. Fix some comments.
327 * disk/raid.c (): Add support for name based RAID arrays. Fix a
328 few comments.
329 * util/getroot.c (grub_util_get_grub_dev): Add support for
330 /dev/md/name style devices.
331
332 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
333
334 * .bzrignore: Ignore 20_linux_xen.
335
336 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
337
338 * util/import_unicode.py: Remove unnecessary imports.
339
340 2010-07-17 Aleš Nesrsta <starous@volny.cz>
341
342 Hotplugging and USB hub support.
343
344 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
345 (grub_ohci): Likewise.
346 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
347 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
348 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
349 (GRUB_OHCI_CTRL_EDS): Likewise.
350 (GRUB_OHCI_BULK_EDS): Likewise.
351 (GRUB_OHCI_TDS): Likewise.
352 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
353 (grub_ohci_ed_phys2virt): New function.
354 (grub_ohci_virt_to_phys): Likewise.
355 (grub_ohci_td_phys2virt): Likewise.
356 (grub_ohci_td_virt2phys): Likewise.
357 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
358 attachment.
359 (grub_ohci_find_ed): New function.
360 (grub_ohci_alloc_td): Likewise.
361 (grub_ohci_free_td): Likewise.
362 (grub_ohci_free_tds): Likewise.
363 (grub_ohci_transfer): Use previously allocated memory.
364 (grub_ohci_portstatus): Reset status changed bit.
365 (grub_ohci_detect_dev): Supply status changed.
366 (grub_ohci_fini_hw): Free memory.
367 (grub_ohci_restore_hw): Reallocate memory.
368 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
369 Reset status change.
370 (grub_uhci_detect_dev): Supply status_change.
371 * bus/usb/usb.c (attach_hooks): New var.
372 (grub_usb_device_attach): New function.
373 (grub_usb_register_attach_hook_class): Likewise.
374 (grub_usb_unregister_attach_hook_class): Likewise.
375 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
376 (grub_usb_add_hub): Reset connection changed bit.
377 (attach_root_port): New function.
378 (grub_usb_root_hub): Likewise.
379 (poll_nonroot_hub): Likewise.
380 (grub_usb_poll_devices): Likewise.
381 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
382 * disk/usbms.c (grub_usbms_open): Use device hooks.
383 (grub_usbms_iterate) :Poll devices.
384 (grub_usbms_finddevs): Split into ...
385 (grub_usbms_attach): ... this ...
386 (grub_usbms_attach): ... and this.
387 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
388 in detect_dev.
389 (grub_usb_interface): New fields attached and detach_hook.
390 (grub_usb_attach_hook_class): New type.
391 (grub_usb_attach_desc): New struct.
392 (grub_usb_register_attach_hook_class): New function.
393 (grub_usb_unregister_attach_hook_class): Likewise.
394 (grub_usb_poll_devices): Likewise.
395 (grub_usb_device_attach): Likewise.
396 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
397 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
398
399 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
402 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
403 delta determination style. Works with most NetBSD partitions too.
404
405 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
408 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
409
410 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
413
414 2010-07-14 Anton Blanchard <anton@samba.org>
415
416 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
417 ET_DYN files.
418
419 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
420
421 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
422
423 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
424
425 * kern/partition.c (grub_partition_check_containment): New function to
426 check that a partition is physically contained in a parent. Since
427 offsets are relative (and non-negative), this reduces to checking that
428 the partition ends before its parent.
429 (grub_partition_map_probe): Discard out-of-range sub-partitions.
430 (grub_partition_iterate): Likewise.
431 * include/grub/partition.h (grub_partition_map): Slightly more detailed
432 comments.
433 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
434 partitions that start before their parent, and add debug printfs.
435
436 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
437
438 * Makefile.in (.SUFFIX): Spell correctly, as ...
439 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
440 bare module name without `.mod', e.g. `test') tried to invoke a
441 Modula-2 compiler.
442
443 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
444
445 * README: Point to the Info manual.
446
447 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
448
449 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
450 2nd superblock position from partition size.
451
452 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
453
454 * Makefile.in (MAINTAINER_CLEANFILES): Remove
455 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
456 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
457 outputs.
458
459 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Restructure SCSI .id handling.
462 Reported and tested by: Aleš Nesrsta.
463
464 * disk/ata.c (grub_atapi_close): Removed. All users updated.
465 (grub_atapi_dev): Changed .name to "ata". New field .id.
466 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
467 (grub_usbms_dev): New field .id.
468 * disk/scsi.c (grub_scsi_iterate): Generate name.
469 (grub_scsi_open): Parse name.
470 * include/grub/scsi.h (grub_make_scsi_id): New function.
471 (grub_scsi_dev): Change iterate and open to number instead of naming
472 busses. All users updated.
473 (grub_scsi): Remove name. Add .bus.
474
475 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * commands/help.c (grub_cmd_help): Fix a typo.
478
479 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
482 Reported and tested by: Colin Watson.
483
484 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
487 in this context.
488
489 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
492
493 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
494
495 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
496 indentation.
497
498 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
499
500 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
501 and disk/raid6_recover.c.
502 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
503 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
504
505 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
506
507 * term/gfxterm.c (repaint_schedulded): Rename to ...
508 (repaint_scheduled): ... this. Update all callers.
509 (repaint_was_schedulded): Rename to ...
510 (repaint_was_scheduled): ... this. Update all callers.
511
512 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
513
514 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
515 which we expect to be handled by upper layers.
516
517 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
518
519 * bus/usb/usbhub.c: #include time.h header.
520
521 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
522
523 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
524 entry_name also for entries without stat blocks (e.g. ".."); fixes
525 corruption of the first entry in a directory.
526
527 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
528
529 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
530 after setting gfxterm as the active terminal. GRUB_BACKGROUND
531 doesn't work otherwise.
532
533 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
534
535 * docs/grub.texi (Features): Update list of supported file systems.
536 (GNU/Linux): Update for GRUB 2.
537 (Serial terminal): Remove mention of --disable-serial, which was a
538 GRUB Legacy configure option. Update instructions to use
539 `terminal_input' and `terminal_output' rather than `terminal'.
540 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
541 configuration' and `Installing GRUB using grub-install'.
542 (Menu entry editor): Update for GRUB 2.
543 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
544 Document new -a, -u, and -v options.
545 (initrd): New section.
546 (initrd16): New section.
547 (linux): New section.
548 (linux16): New section.
549 (search): The `var' argument to `--set' is optional.
550 (GRUB only offers a rescue shell): Go into a little more detail on
551 drive ordering.
552
553 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
554
555 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
556
557 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
558
559 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
560 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
561
562 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
563
564 * util/i386/pc/grub-setup.c (setup): Rename prefix to
565 install_prefix, in line with install_dos_part and install_bsd_part.
566 Add new prefix variable, which is copied to install_prefix after
567 comparing core.img in memory with the one read from disk in the
568 no-embedding case, and use that rather than overwriting
569 install_prefix immediately when installing to a partition.
570 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
571 Bicakci.
572
573 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
574
575 * configure.ac: Avoid == in test command, it's not portable.
576 * util/grub.d/30_os-prober.in: Likewise.
577
578 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
579
580 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
581
582 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
583
584 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
585 multiple (top-level) partmaps.
586
587 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * util/i386/efi/grub-install.in: Don't use empty grub_device.
590 Reported by: Tino Keitel.
591
592 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Bidi and diacritics support.
595
596 * Makefile.in (widthspec.bin): New target.
597 (widthspec.h): Likewise.
598 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
599 * autogen.sh: Generate unidata.c.
600 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
601 * commands/ls.c (grub_ls_list_devices): Likewise.
602 (grub_ls_list_files): Likewise.
603 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
604 (grub_mini_cmd_lsmod): Likewise.
605 * commands/read.c: Likewise.
606 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
607 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
608 * lib/arg.c (grub_arg_show_help): Likewise.
609 * lib/crypto.c (grub_password_get): Likewise.
610 * normal/auth.c (grub_username_get): Likewise.
611 * normal/misc.c (grub_normal_print_device_info): Likewise.
612 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
613 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
614 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
615 (normal/charset.c_DEPENDENCIES): New variable.
616 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
617 (pkglib_MODULES): Remove charset.mod.
618 (charset_mod_SOURCES): Removed.
619 (charset_mod_CFLAGS): Likewise.
620 (charset_mod_LDFLAGS): Likewise.
621 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
622 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
623 and term/tparm.c.
624 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
625 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
626 (kernel_img_HEADERS): Add terminfo.h.
627 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
628 Fill ->font. Reverse ascii bitmaps.
629 (grub_font_get_xheight): New function.
630 * font/font.c (grub_font_get_string_width): Moved from here ...
631 * gfxmenu/font.c (grub_font_get_string_width): ... here.
632 * font/font.c (grub_font_draw_string): Moved from here ...
633 * gfxmenu/font.c (grub_font_draw_string): ... here.
634 * font/font.c (grub_font_dup_glyph): New function.
635 (grub_font_blit_glyph): Likewise.
636 (grub_font_blit_glyph_mirror): Likewise.
637 (blit_comb): Likewise.
638 (grub_font_construct_dry_run): Likewise.
639 (grub_font_get_constructed_device_width): Likewise.
640 (grub_font_construct_glyph): Likewise.
641 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
642 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
643 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
644 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
645 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
646 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
647 (grub_font_get_xheight): New proto.
648 (grub_font_get_constructed_device_width): Likewise.
649 (grub_font_construct_glyph): Likewise.
650 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
651 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
652 * include/grub/font.h (grub_font_draw_string): Moved from here ...
653 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
654 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
655 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
656 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
657 (grub_console_getcharwidth): Likewise.
658 * include/grub/misc.h (grub_xputs): New proto.
659 (grub_puts): Inlined.
660 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
661 (grub_normal_get_line_counter): Removed.
662 (grub_install_newline_hook): Likewise.
663 (grub_normal_get_char_counter): New proto.
664 (grub_normal_reset_more): Likewise.
665 (grub_xputs_normal): Likewise.
666 * include/grub/powerpc/ieee1275/console.h: Removed.
667 * include/grub/sparc64/ieee1275/console.h: Likewise.
668 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
669 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
670 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
671 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
672 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
673 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
674 (grub_term_input): Pass reference to self. All users updated.
675 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
676 Pass reference to self. New fields normal_color, highlight_color and
677 data. All users updated.
678 (grub_putchar): Removed.
679 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
680 (grub_unicode_estimate_width): New function.
681 (grub_term_getcharwidth): Add defaults.
682 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
683 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
684 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
685 (grub_cls): Remove EXPORT_FUNC.
686 (grub_setcolorstate): Inline.
687 (grub_newline_hook): Removed.
688 * include/grub/terminfo.h: Rewritten. All users updated.
689 * include/grub/unicode.h: New file.
690 * include/grub/video.h (grub_video_signed_rect): New type.
691 * kern/emu/console.c (grub_console_highlight_color): Removed.
692 (grub_console_normal_color): Likewise.
693 (grub_console_standard_color): Made static.
694 (grub_ncurses_putchar): Remove mapping.
695 (grub_ncurses_getcharwidth): Removed.
696 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
697 (grub_ncurses_setcolor): Removed.
698 (grub_ncurses_getcolor): Likewise.
699 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
700 (grub_console_putchar): ... this.
701 (grub_console_putchar): Handle argument difference.
702 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
703 console_init_early and console_init_lately.
704 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
705 * kern/misc.c (grub_puts): Removed.
706 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
707 (grub_vsnprintf_real): Remove str = NULL support.
708 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
709 * normal/charset.c (grub_utf8_to_ucs4): ... here.
710 * kern/term.c (grub_putcode): Renamed to ...
711 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
712 (grub_putchar): Removed.
713 (grub_xputs_dumb): New function.
714 (grub_xputs): New variable.
715 * lib/charset.c: Move from here ...
716 * normal/charset.c: ... to here.
717 (grub_ucs4_to_utf8): New function.
718 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
719 (join_types): New variable.
720 (unpack_join): New function.
721 (bidi_types): New variable.
722 (unpack_bidi): New function.
723 (get_bidi_type): Likewise.
724 (get_join_type): Likewise.
725 (is_mirrored): Likewise.
726 (grub_unicode_get_comb_type): Likewise.
727 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
728 (is_type_after): Likewise.
729 (grub_unicode_aglomerate_comb): Likewise.
730 (bidi_line_wrap): Likewise.
731 (grub_bidi_line_logical_to_visual): Likewise.
732 (grub_bidi_logical_to_visual): Likewise.
733 (grub_unicode_mirror_code): Likewise.
734 (grub_unicode_shape_code): Likewise.
735 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
736 Don't use grub_putchar.
737 * normal/main.c (grub_normal_init_page): Use grub_putcode.
738 (grub_normal_reader_init): Likewise.
739 (grub_xputs_saved): New variable.
740 (GRUB_MOD_INIT): Set grub_xputs.
741 (GRUB_MOD_FINI): Restore grub_xputs.
742 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
743 (menu_init): Avoid printing gfxmenu error.
744 (show_menu): Use grub_normal_get_char_counter.
745 * normal/menu_entry.c (update_screen): Fix out-of-array.
746 (complete): Avoid NULL dereferencing.
747 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
748 * normal/menu_text.c (print_spaces): Removed.
749 (grub_print_ucs4): Likewise.
750 (grub_print_message_indented): Use grub_print_ucs4.
751 (print_message): Use grub_putcode.
752 (print_entry): Hanlde diacritics.
753 * normal/term.c (term_state): New type.
754 (grub_more_lines): Removed.
755 (term_states): New variable.
756 (grub_normal_line_counter): Renamed to ..
757 (grub_normal_char_counter): ...this. All users updated.
758 (grub_normal_get_line_counter): Renamed to ...
759 (grub_normal_get_char_counter): ... this.
760 (grub_normal_reset_more): New function.
761 (process_newline): Removed.
762 (print_more): New function.
763 (grub_install_newline_hook): Removed.
764 (map_code): New function.
765 (grub_puts_terminal): Use grub_print_ucs4.
766 (putglyph): New function.
767 (putcode_real): Likewise.
768 (grub_putcode): Use putcode_real.
769 (get_maxwidth): New function.
770 (get_startwidth): Likewise.
771 (print_ucs4_terminal): Likewise.
772 (find_term_state): Likewise.
773 (put_glyphs_terminal): Likewise.
774 (print_backlog): Likewise.
775 (print_ucs4_real): Likewise.
776 (grub_print_ucs4): Likewise.
777 (grub_xputs_normal): Likewise.
778 * term/efi/console.c (grub_console_putchar): Output diacritics.
779 (grub_console_getcharwidth): Removed.
780 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
781 * term/gfxterm.c (clear_char): Free chars.
782 (scroll_up): Avoid leaking memory.
783 (grub_gfxterm_putchar): Support diacritics.
784 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
785 * term/i386/pc/console.c (grub_console_term_output): Declare as
786 GRUB_TERM_CODE_TYPE_VGA.
787 * term/i386/pc/vga.c (grub_vga_term): Declare as
788 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
789 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
790 GRUB_TERM_CODE_TYPE_VGA.
791 * term/i386/vga_common.c (map_char): Removed.
792 (grub_console_putchar): Likewise.
793 (grub_console_getcharwidth): Likewise.
794 * term/ieee1275/ofconsole.c: Simplify using terminfo.
795 (colors): Reordered to match terminfo.
796 (grub_ofconsole_normal_color): Removed.
797 (grub_ofconsole_writeesc): Likewise.
798 (grub_ofconsole_highlight_color): Likewise.
799 (grub_ofconsole_getcharwidth): Likewise.
800 (grub_ofconsole_setcolorstate): Likewise.
801 (grub_ofconsole_setcolor): Likewise.
802 (grub_ofconsole_getcolor): Likewise.
803 (grub_ofconsole_readkey): Renamed to ...
804 (readkey): ... this. Remove escape sequence handling. Return -1 on no
805 key.
806 (grub_ofconsole_checkkey): Removed.
807 (grub_ofconsole_getkey): Likewise.
808 (grub_ofconsole_getxy): Likewise.
809 (grub_ofconsole_gotoxy): Likewise.
810 (grub_ofconsole_cls): Likewise.
811 (grub_ofconsole_refresh): Likewise.
812 (grub_ofconsole_terminfo_input): New struct.
813 (grub_ofconsole_terminfo_output): Likewise.
814 (grub_ofconsole_term_input): Use terminfo.
815 (grub_ofconsole_term_output): Likewise.
816 (grub_console_init): Split into ...
817 (grub_console_init_early): ...this and ...
818 (grub_console_init_lately): ...this. Use terminfo.
819 (grub_ofconsole_putchar): Renamed to ...
820 (put): ... this. Remove mapping.
821 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
822 * term/serial.c: Simplify using terminfo.
823 (xpos): Removed.
824 (ypos): Likewise.
825 (keep_track): Likewise.
826 (registered): Likewise.
827 (input_buf): Likewise.
828 (npending): Likewise.
829 (serial_translate_key_sequence): Likewise.
830 (fill_input_buf): Likewise.
831 (grub_serial_checkkey): Likewise.
832 (grub_serial_getkey): Likewise.
833 (grub_serial_getxy): Likewise.
834 (grub_serial_gotoxy): Likewise.
835 (grub_serial_putchar): Likewise.
836 (grub_serial_cls): Likewise.
837 (grub_serial_setcolorstate): Likewise.
838 (grub_serial_setcursor): Likewise.
839 (serial_hw_init): Use serial_hw_fetch.
840 (grub_serial_terminfo_input): New variable.
841 (grub_serial_terminfo_output): Likewise.
842 (grub_serial_term_input): Use terminfo.
843 (grub_serial_term_output): Likewise.
844 * term/terminfo.c (putstr): Use put.
845 (grub_terminfo_all_free): New function
846 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
847 (grub_terminfo_output_register): New function.
848 (grub_terminfo_output_unregister): Likewise.
849 (grub_terminfo_getxy): Likewise.
850 (grub_terminfo_readkey): Likewise.
851 (grub_terminfo_checkkey): Likewise.
852 (grub_terminfo_getkey): Likewise.
853 (grub_terminfo_input_init): Likewise.
854 (print_terminfo): Likewise.
855 (grub_cmd_terminfo): Handle encoding.
856 (grub_terminfo_gotoxy): Track position.
857 (grub_terminfo_cls): Likewise.
858 (grub_terminfo_putchar): Likewise.
859 (grub_terminfo_setcolorstate): Handle colors
860 (grub_terminfo_cursor_on): This ...
861 (grub_terminfo_cursor_off): ... and this merged into ...
862 (grub_terminfo_setcursor): ... this.
863 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
864 * unicode/ArabicShaping.txt: New file (imported from Unicode).
865 * unicode/BidiMirroring.txt: Likewise.
866 * unicode/UnicodeData.txt: Likewise.
867 * unicode/COPYING: Likewise.
868 * util/grub-editenv.c (grub_putchar): Removed.
869 (grub_xputs_real): New function.
870 (grub_xputs): New variable.
871 * util/grub-fstest.c (grub_putchar): Removed.
872 (grub_xputs_real): New function.
873 (grub_xputs): New variable.
874 * util/grub-mkdevicemap.c (grub_putchar): Removed.
875 (grub_xputs_real): New function.
876 (grub_xputs): New variable.
877 * util/grub-probe.c (grub_putchar): Removed.
878 (grub_xputs_real): New function.
879 (grub_xputs): New variable.
880 * util/grub-script-check.c (grub_putchar): Removed.
881 (grub_xputs_real): New function.
882 (grub_xputs): New variable.
883 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
884 (grub_xputs_real): New function.
885 (grub_xputs): New variable.
886 * util/import_unicode.py: New file.
887 * util/grub-mkfont.c (ft_errmsgs): New array.
888 (grub_glyph_info): Make bitmap a pointer.
889 (file_formats): New type WIDTH_SPEC.
890 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
891 (options): Add width-spec.
892 (help): Likewise.
893 (add_char): Renamed to ...
894 (add_glyph): ... this.
895 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
896 (glyph_replace): New type.
897 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
898 (add_char): New function.
899 (add_subst): Likewise.
900 (process_cursive): Likewise.
901 (add_font): Handle GSUB.
902 (write_font_width_spec): New function.
903 (main): Sort glyphs.
904 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
905 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
906 * kern/term.c (grub_cls): Moved from here...
907 * normal/term.c (grub_cls): ... here.
908
909 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
910
911 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
912 suitable for using within the format argument of printf when
913 converting grub_size_t.
914 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
915 "x" to convert grub_size_t arguments.
916
917 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
920 too long captions.
921 (list_get_minimal_size): Take selection box into account.
922
923 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
926 NULL font.
927
928 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
929
930 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
931 devices when iterating over /dev/disk/by-id; they will be handled
932 later if appropriate, which they aren't always (e.g. LVM).
933
934 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
935
936 * include/grub/misc.h (grub_reboot): Declare as noreturn.
937 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
938 fails.
939 (grub_halt): Likewise.
940 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
941 reset-all fails.
942 (grub_halt): Don't return, even if all of shut-down, power-off, and
943 poweroff fail.
944
945 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
946
947 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
948 arguments, not three.
949
950 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
951
952 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
953 * util/grub.d/10_linux.in: Use it to check for LVM, so that
954 LVM-on-RAID is handled correctly.
955
956 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
957
958 * docs/grub.texi (Changes from GRUB Legacy): New section.
959 (Future): Fix typo.
960
961 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
962
963 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
964 grub.d/README accidentally ends up executable for one reason or
965 another. Ignore it.
966
967 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
970 (gpt_partition_map_iterate): Support non-512B sectors.
971
972 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * kern/efi/init.c (grub_efi_init): Disable watchdog.
975 Tested by: Seth Goldberg.
976
977 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
980 Properly align mbi.
981 Reported by: Seth Goldberg.
982
983 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * util/grub-mkrescue.in: Avoid module duplication.
986
987 2010-07-01 Sean Finney <seanius@seanius.net>
988
989 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
990
991 2010-07-01 Sean Finney <seanius@seanius.net>
992
993 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
994
995 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * disk/lvm.c (grub_lvm_checkvalue): New function.
998 (grub_lvm_check_flag): Likewise.
999
1000 2010-07-01 Robert Millan <rmh@gnu.org>
1001
1002 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1003 Support 'p' as partition separator on kernel of FreeBSD (used
1004 with GPT labels).
1005 (grub_util_biosdisk_get_grub_dev): Likewise.
1006
1007 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Yeeloong firmware port.
1010
1011 * boot/mips/yeeloong/fwstart.S: New file.
1012 * bus/cs5536.c (gpiodump): New const.
1013 (set_io_space): New function.
1014 (set_iod): Likewise.
1015 (set_p2d): Likewise.
1016 (grub_cs5536_init_geode): Likewise.
1017 * commands/mips/yeeloong/lsspd.c: New file.
1018 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1019 (serial_mod_SOURCES): New variable.
1020 (serial_mod_CFLAGS): Likewise.
1021 (serial_mod_LDFLAGS): Likewise.
1022 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1023 term/terminfo.c and term/tparm.c.
1024 (pkglib_IMAGES): Add fwstart.img.
1025 (fwstart_img_SOURCES): New variable.
1026 (fwstart_img_CFLAGS): Likewise.
1027 (fwstart_img_ASFLAGS): Likewise.
1028 (fwstart_img_LDFLAGS): Likewise.
1029 (fwstart_img_FORMAT): Likewise.
1030 (pkglib_MODULES): Add lsspd.mod.
1031 (lsspd_mod_SOURCES): New variable.
1032 (lsspd_mod_CFLAGS): Likewise.
1033 (lsspd_mod_LDFLAGS): Likewise.
1034 (pkglib_MODULES): Add halt.mod.
1035 (halt_mod_SOURCES): New variable.
1036 (halt_mod_CFLAGS): Likewise.
1037 (halt_mod_LDFLAGS): Likewise.
1038 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1039 (serial_mod_SOURCES): Removed.
1040 (serial_mod_CFLAGS): Likewise.
1041 (serial_mod_LDFLAGS): Likewise.
1042 * disk/ata.c (check_device): New function.
1043 (grub_ata_device_initialize): Use check_device.
1044 (grub_ata_iterate): Recheck devices.
1045 (grub_ata_open): Likewise.
1046 (grub_atapi_iterate): Likewise.
1047 (grub_atapi_open): Likewise.
1048 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1049 (GRUB_ATA_CH1_PORT1): Likewise.
1050 (GRUB_ATA_CH0_PORT2): Likewise.
1051 (GRUB_ATA_CH1_PORT2): Likewise.
1052 * include/grub/mips/loongson.h: New file.
1053 * include/grub/mips/yeeloong/ec.h: Likewise.
1054 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1055 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1056 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1057 * include/grub/misc.h (grub_halt): Declare as noreturn.
1058 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1059 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1060 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1061 (UART_ENABLE_DTRRTS): Likewise.
1062 (UART_ENABLE_MODEM): Removed.
1063 (UART_ENABLE_OUT2): New const.
1064 * include/grub/term.h (grub_term_register_input_active): New function.
1065 (grub_term_register_output_active): Likewise.
1066 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1067 argument.
1068 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1069 (init_pci): New function.
1070 (grub_machine_init): Execute platform init when firmware. Init serial.
1071 (grub_halt): Implement.
1072 (grub_exit): Likewise.
1073 (grub_reboot): Likewise.
1074 * term/serial.c (serial_hw_init): Update macros.
1075 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1076 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1077 (image_targets): New target mipsel-yeeloong-flash.
1078 (generate_image): Support IMAGE_YEELOONG_FLASH.
1079 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1080 (grub_video_sm712_setup): Init card.
1081 (grub_video_sm712_set_palette): Removed.
1082 * video/sm712_init.c: New file.
1083
1084 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
1085
1086 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1087 PATH when running help2man and then run it on the unadorned
1088 executable names, rather than passing $(builddir)/* paths to
1089 help2man. This avoids the build directory ending up in generated
1090 manual pages.
1091
1092 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1093
1094 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1095 to avoid accidents when debugging with 'sh -x'.
1096 * util/grub-mkrescue.in: Likewise.
1097 * util/grub.d/00_header.in: Likewise.
1098 * util/grub.d/10_hurd.in: Likewise.
1099 * util/grub.d/10_kfreebsd.in: Likewise.
1100 * util/grub.d/10_linux.in: Likewise.
1101 * util/grub.d/10_netbsd.in: Likewise.
1102 * util/grub.d/10_windows.in: Likewise.
1103 * util/grub.d/20_linux_xen.in: Likewise.
1104 * util/grub.d/30_os-prober.in: Likewise.
1105 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1106
1107 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1108
1109 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1110 last character in the buffer.
1111 Reported by: Vladimir Serbinenko.
1112
1113 2010-06-29 Robert Millan <rmh@gnu.org>
1114
1115 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1116 (Command-line and menu entry commands): Document `badram' command.
1117
1118 2010-06-28 Robert Millan <rmh@gnu.org>
1119
1120 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1121 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1122 command using ${GRUB_BADRAM} as parameter.
1123
1124 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1125
1126 * docs/grub.texi (Device map): New section.
1127 (Themes): New section (stub).
1128 * Makefile.in (docs/grub.info): The info documentation now builds
1129 without errors. Make sure it stays that way.
1130
1131 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Use normal parser for menu entries.
1134 Reported by: Thomas Frauendorfer
1135
1136 * include/grub/parser.h (grub_parser_execute): Don't export.
1137 * normal/menu.c (grub_menu_execute_entry_real): New function.
1138 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1139
1140 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1141
1142 * docs/grub.texi (Embedded configuration): New section (replacing
1143 old "Preset Menu" stub).
1144 (Images): New section.
1145 (configfile): Note that any menu entries defined in `file' are shown
1146 immediately.
1147
1148 2010-06-28 Josh Triplett <josh@joshtriplett.org>
1149
1150 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1151
1152 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1153
1154 * util/grub-install.in: Add --debug-image= option.
1155
1156 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1157
1158 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1159 possible on Linux.
1160
1161 * util/deviceiter.c (check_device): Rename to ...
1162 (check_device_readable_unique): ... this. Update all callers.
1163 Maintain and check a list of which devices (by canonicalized name)
1164 have already been seen.
1165 (clear_seen_devices): New function.
1166 (compare_file_names) [__linux__]: New function.
1167 (grub_util_iterate_devices): Clear the list of seen devices on exit
1168 and (just in case) on entry.
1169 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1170 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1171 seen-devices list, superseded by general code in check_device.
1172
1173 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1174
1175 * commands/cat.c (options): New variable.
1176 (grub_cmd_cat): Parse options. If the --dos option is given, print
1177 DOS-style "\r\n" line endings as simple newlines (Debian bug
1178 #586358).
1179 (GRUB_MOD_INIT): Use extcmd.
1180 (GRUB_MOD_FINI): Likewise.
1181 * docs/grub.texi (cat): Document --dos.
1182
1183 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 XEN with Linux grub-mkconfig support.
1186
1187 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1188 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1189 GRUB_CMDLINE_XEN_DEFAULT.
1190 * util/grub.d/20_linux_xen.in: New file.
1191
1192 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Initialise VGA video on qemu ourselves.
1195
1196 * boot/i386/qemu/boot.S: Don't call 0xc000.
1197 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1198 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1199 (kernel_img_HEADERS): Add pci.h.
1200 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1201 * configure.ac: Force unifont on qemu and yeeloong.
1202 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1203 (grub_vga_palette_write): Use correct register.
1204 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1205 Call grub_qemu_init_cirrus.
1206 * kern/i386/qemu/init.c: New file.
1207 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1208
1209 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1210
1211 2010-06-26 Pavel Roskin <proski@gnu.org>
1212
1213 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1214 13.
1215
1216 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1217
1218 * docs/grub.texi (Simple configuration): Explain that
1219 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1220 set to `true' to disable their respective recovery entries, not
1221 merely set.
1222
1223 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1224
1225 Make the `source' command slightly faster.
1226
1227 * normal/main.c (grub_normal_execute): Don't re-read list files when
1228 nested.
1229
1230 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1231
1232 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1233 field position and mask size to red fields from mode_info, not
1234 green.
1235 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1236 Remove redundant tag->common.framebuffer_type assignment.
1237 Reported by: Seth Goldberg.
1238
1239 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1240
1241 Sync up other versions of the Linux loader with Robert Millan's
1242 change of 2010-01-09, "Make loader output a bit more user-friendly".
1243
1244 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1245 grub_dprintf().
1246 (grub_cmd_linux): Likewise.
1247 (grub_cmd_initrd): Likewise.
1248 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1249 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1250
1251 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1252
1253 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1254 larger than MEMORY_MAP_SIZE.
1255
1256 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1257
1258 Fix parallel build.
1259
1260 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1261 dependency.
1262 * script/parser.y: #include grub_script.tab.h header.
1263
1264 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Support >3GiB and <16MiB RAM in i386-qemu.
1267
1268 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1269 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1270 (grub_lower_mem): Removed.
1271 (grub_upper_mem): Likewise.
1272 (mem_size): Made static.
1273 (above_4g): New variable.
1274 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1275 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1276 support.
1277
1278 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Cirrus 5446 and Bochs video cards support.
1281
1282 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1283 video_bochs.mod
1284 (video_cirrus_mod_SOURCES): New variable.
1285 (video_cirrus_mod_CFLAGS): Likewise.
1286 (video_cirrus_mod_LDFLAGS): Likewise.
1287 (video_bochs_mod_SOURCES): Likewise.
1288 (video_bochs_mod_CFLAGS): Likewise.
1289 (video_bochs_mod_LDFLAGS): Likewise.
1290 * include/grub/vga.h: New file.
1291 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1292 (grub_video_fb_set_page_t): New type.
1293 (grub_video_fb_setup): New prototype.
1294 (grub_video_fb_swap_buffers): Likewise.
1295 (grub_video_fb_get_info_and_fini): Likewise.
1296 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1297 (CRTC_DATA_PORT): Likewise.
1298 (CRTC_CURSOR): Likewise.
1299 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1300 (CRTC_CURSOR_ADDR_LOW): Likewise.
1301 (CRTC_CURSOR_DISABLE): Likewise.
1302 (update_cursor): Use grub_vga_cr_write.
1303 (grub_vga_text_setcursor): Likewise.
1304 * video/bochs.c: New file.
1305 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1306 (palette): Likewise.
1307 (palette_size): Likewise.
1308 (framebuffer): New variable.
1309 (grub_video_fb_init): Use 'framebuffer'.
1310 (grub_video_fb_fini): Likewise.
1311 (grub_video_fb_get_info): Likewise.
1312 (grub_video_fb_get_palette): Likewise.
1313 (grub_video_fb_set_palette): Likewise.
1314 (grub_video_fb_set_viewport): Likewise.
1315 (grub_video_fb_get_viewport): Likewise.
1316 (grub_video_fb_map_color): Likewise.
1317 (grub_video_fb_map_rgb): Likewise.
1318 (grub_video_fb_map_rgba): Likewise.
1319 (grub_video_fb_unmap_color): Likewise.
1320 (grub_video_fb_unmap_color_int): Likewise.
1321 (grub_video_fb_fill_rect): Likewise.
1322 (grub_video_fb_blit_bitmap): Likewise.
1323 (grub_video_fb_blit_render_target): Likewise.
1324 (grub_video_fb_scroll): Likewise.
1325 (grub_video_fb_create_render_target): Likewise.
1326 (grub_video_fb_doublebuf_blit_init): Likewise.
1327 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1328 (doublebuf_pageflipping_update_screen): New function.
1329 (doublebuf_pageflipping_init): Likewise.
1330 (grub_video_fb_setup): Likewise.
1331 (grub_video_fb_swap_buffers): Likewise.
1332 (grub_video_fb_get_info_and_fini): Likewise.
1333 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1334 All users updated.
1335 (doublebuf_pageflipping_commit): Restructured into ...
1336 (doublebuf_pageflipping_set_page): ... this.
1337 (doublebuf_pageflipping_update_screen): Removed.
1338 (doublebuf_pageflipping_init): Likewise.
1339 (double_buffering_init): Likewise.
1340 (grub_video_vbe_setup): Use grub_video_fb_setup.
1341 (grub_video_vbe_swap_buffers): Removed.
1342 (grub_video_vbe_set_active_render_target): Likewise.
1343 (grub_video_vbe_get_active_render_target): Likewise.
1344 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1345 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1346 grub_video_fb_set_active_render_target and
1347 grub_video_fb_get_active_render_target.
1348 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1349 (SEQUENCER_DATA_PORT): Likewise.
1350 (MAP_MASK_REGISTER): Likewise.
1351 (CRTC_ADDR_PORT): Likewise.
1352 (CRTC_DATA_PORT): Likewise.
1353 (START_ADDR_HIGH_REGISTER): Likewise.
1354 (START_ADDR_LOW_REGISTER): Likewise.
1355 (GRAPHICS_ADDR_PORT): Likewise.
1356 (GRAPHICS_DATA_PORT): Likewise.
1357 (READ_MAP_REGISTER): Likewise.
1358 (INPUT_STATUS1_REGISTER): Likewise.
1359 (INPUT_STATUS1_VERTR_BIT): Likewise.
1360 (get_map_mask): Use grub_vga_sr_read.
1361 (set_map_mask): Use grub_vga_sr_write.
1362 (set_read_map): Use grub_vga_gr_write.
1363 (set_start_address): Use grub_vga_cr_write.
1364 * video/sm712.c (framebuffer): Remove leftover fields.
1365
1366 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1367
1368 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1369 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1370 instead. Replace the gfxterm backend check with a check that
1371 ${GRUB_PREFIX}/video.lst is non-empty.
1372 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1373 again.
1374 (load_video): New generated function. Call it before loading
1375 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1376 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1377 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1378 * docs/grub.texi (Simple configuration): Document
1379 GRUB_VIDEO_BACKEND.
1380
1381 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 Use video functions in linux and xnu loaders.
1384
1385 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1386 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1387 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1388 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1389 loader/i386/pc/linux.c.
1390 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1391 (find_line_len): Removed.
1392 (find_framebuf): Likewise.
1393 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1394 * loader/i386/efi/xnu.c: Removed.
1395 * loader/i386/pc/xnu.c: Moved from here...
1396 * loader/i386/xnu.c: ...here.
1397
1398 Enable priorities in video drivers.
1399
1400 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1401 (grub_video_adapter): New field prio.
1402 (grub_video_register): Respect prio when inserting.
1403 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1404 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1405 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1406 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1407 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1408 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1409 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1410
1411 Fix SDL driver ID.
1412
1413 * include/grub/video.h (grub_video_driver_id_t): New value
1414 GRUB_VIDEO_DRIVER_SDL.
1415 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1416
1417 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1418
1419 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1420 argument to printf.
1421 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1422
1423 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1426 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1427
1428 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1429
1430 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1431 directly, and recommend grub-install instead.
1432 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1433
1434 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1435
1436 Fix i386-pc prefix handling with nested partitions (Debian bug
1437 #585068). Note that the case where the core image is booted using
1438 multiboot and relocated from its original location still requires
1439 more work.
1440
1441 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1442 with "(,", fill the boot drive in between those two characters, but
1443 expect that a full partition specification including partition map
1444 names will follow.
1445 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1446 specified, write a prefix without the drive name but including a
1447 full partition specification.
1448
1449 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1450
1451 * util/grub-mkconfig.in: Ignore non-option arguments, for
1452 compatibility with older versions (before 2010-06-12) which did the
1453 same. In particular, this makes it easier to ship an update-grub
1454 wrapper which is compatible with that used with GRUB Legacy (Debian
1455 bug #586056).
1456
1457 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1458
1459 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1460 for manual page generation.
1461
1462 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1463
1464 * po/POTFILES: Remove leftover commands/handler.c.
1465
1466 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1467
1468 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1469 left this script non-functional.
1470
1471 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1472
1473 * docs/man/grub-emu.h2m: New file.
1474
1475 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * docs/grub.texi (Commands): Document reduced command set in rescue
1478 mode.
1479 (cpuid): New section.
1480
1481 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1482
1483 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1484 new partition naming style.
1485 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1486
1487 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1488
1489 Add "-o grub.iso" like cmdline options support.
1490
1491 * util/grub-install.in: Improve cmdline option parsing.
1492 * util/grub-mkconfig.in: Likewise.
1493 * util/grub-mkrescue.in: Likewise.
1494 * util/grub-reboot.in: Likewise.
1495 * util/grub-set-default.in: Likewise.
1496 * util/i386/efi/grub-install.in: Likewise.
1497 * util/ieee1275/grub-install.in: Likewise.
1498 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1499
1500 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1501
1502 * .bzrignore: Ignore 41_custom.
1503
1504 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1505
1506 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1507
1508 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1509
1510 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1511 prototype declarations.
1512
1513 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1514 generating fs, partmap, and video lists.
1515 * include/grub/fs.h (grub_fs_register): Omit prototype if
1516 GRUB_LST_GENERATOR is defined.
1517 * include/grub/partition.h (grub_partition_map_register): Likewise.
1518 * include/grub/video.h (grub_video_register): Likewise.
1519
1520 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1521
1522 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1523
1524 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1525
1526 * util/grub-mkrescue.in: Support --xorriso argument.
1527
1528 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1531 Suggested by: Thomas Schmitt.
1532
1533 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1536 Suggested by: Thomas Schmitt.
1537
1538 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 custom.cfg support.
1541
1542 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1543 * util/grub.d/41_custom.in: New file.
1544
1545 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1546
1547 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1548 been merged back into normal.
1549
1550 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1553 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1554
1555 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1556
1557 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1558 when generating manual pages.
1559 * docs/man/grub-bin2h.h2m: New file.
1560 * docs/man/grub-editenv.h2m: New file.
1561 * docs/man/grub-fstest.h2m: New file.
1562 * docs/man/grub-install.h2m: New file.
1563 * docs/man/grub-macho2img.h2m: New file.
1564 * docs/man/grub-mkconfig.h2m: New file.
1565 * docs/man/grub-mkdevicemap.h2m: New file.
1566 * docs/man/grub-mkfont.h2m: New file.
1567 * docs/man/grub-mkimage.h2m: New file.
1568 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1569 * docs/man/grub-mkrelpath.h2m: New file.
1570 * docs/man/grub-mkrescue.h2m: New file.
1571 * docs/man/grub-ofpathname.h2m: New file.
1572 * docs/man/grub-pe2elf.h2m: New file.
1573 * docs/man/grub-probe.h2m: New file.
1574 * docs/man/grub-reboot.h2m: New file.
1575 * docs/man/grub-script-check.h2m: New file.
1576 * docs/man/grub-set-default.h2m: New file.
1577 * docs/man/grub-setup.h2m: New file.
1578
1579 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Use FOR_* macros instead of *_iterate whenever possible.
1582
1583 * commands/handler.c: Removed.
1584 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1585 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1586 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1587 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1588 (grub_probe_SOURCES): Remove kern/parser.c.
1589 (util/grub-script-check.c_DEPENDENCIES): Removed.
1590 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1591 and grub_script_check_init.c.
1592 (grub_script_check_init.lst): Removed.
1593 (grub_script_check_init.h): Likewise.
1594 (grub_script_check_init.c): Likewise.
1595 (pkglib_MODULES): Remove handler.mod and sh.mod.
1596 (handler_mod_SOURCES): Removed.
1597 (handler_mod_CFLAGS): Likewise.
1598 (handler_mod_LDFLAGS): Likewise.
1599 (normal_mod_SOURCES): Remove normal/handler.c.
1600 Add script/main.c, script/script.c, script/execute.c,
1601 script/function.c, script/lexer.c, grub_script.tab.c
1602 and grub_script.yy.c.
1603 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1604 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1605 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1606 (grub_setup_SOURCES): Remove kern/parser.c.
1607 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1608 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1609 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1610 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1611 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1612 (grub_setup_SOURCES): Remove kern/parser.c.
1613 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1614 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1615 * include/grub/command.h (grub_command_iterate): Removed.
1616 (FOR_COMMANDS): New macro.
1617 * include/grub/dl.h (grub_dl): New member next.
1618 (grub_dl_iterate): Removed.
1619 (grub_dl_head): New variable declaration.
1620 (FOR_DL_MODULES): New macro.
1621 * include/grub/fs.h: Include list.h.
1622 (grub_fs): Make next first element.
1623 (grub_fs_list): New variable declaration.
1624 (grub_fs_register): Make inline.
1625 (grub_fs_unregister): Likewise.
1626 (grub_fs_iterate): Removed.
1627 (FOR_FILESYSTEMS): New macro.
1628 * include/grub/handler.h: Removed.
1629 * include/grub/list.h (grub_list_hook_t): Removed.
1630 (grub_list_test_t): Likewise.
1631 (grub_list_pop): Likewise.
1632 (grub_list_iterate): Likewise.
1633 (grub_list_insert): Likewise.
1634 (FOR_LIST_ELEMENTS): New macro.
1635 * include/grub/parser.h (grub_parser_class): Removed.
1636 (grub_parser_register): Likewise.
1637 (grub_parser_unregister): Likewise.
1638 (grub_parser_get_current): Likewise.
1639 (grub_parser_set_current): Likewise.
1640 (grub_register_rescue_parser): Likewise.
1641 (grub_rescue_parse_line): New function.
1642 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1643 * include/grub/script_sh.h (grub_script_function_list): New variable
1644 declaration.
1645 (FOR_SCRIPT_FUNCTIONS): New macro.
1646 (grub_script_function_iterate): Removed.
1647 (grub_normal_parse_line): New prototype.
1648 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1649 (FOR_DISABLED_TERM_INPUTS): Likewise.
1650 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1651 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1652 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1653 element.
1654 (grub_video_register): Inline.
1655 (grub_video_unregister): Likewise.
1656 (grub_video_adapter_list): New variable declaration.
1657 (grub_video_iterate): Removed.
1658 (FOR_VIDEO_ADAPTERS): New macro.
1659 * kern/dl.c (grub_dl_list): Removed. All users updated.
1660 (grub_dl_iterate): Removed.
1661 * kern/fs.c (grub_fs_list): Make global.
1662 (grub_fs_register): Removed.
1663 (grub_fs_unregister): Likewise.
1664 (grub_fs_iterate): Likewise.
1665 * kern/handler.c: Removed.
1666 * kern/list.c (grub_list_pop): Removed.
1667 (grub_list_iterate): Likewise.
1668 (grub_list_insert): Likewise.
1669 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1670 (grub_prio_list_insert): Don't use grub_list_insert.
1671 * kern/main.c (grub_register_rescue_parser): Don't call
1672 grub_register_rescue_parser.
1673 * kern/parser.c (grub_parser_class): Removed.
1674 (grub_parser_execute): Use grub_rescue_parse_line.
1675 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1676 (grub_rescue_parser): Removed.
1677 (grub_register_rescue_parser): Likewise.
1678 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1679 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1680 (grub_auth_check_authentication): Likewise.
1681 * normal/completion.c (iterate_command): Removed.
1682 (grub_normal_do_completion): Use FOR_COMMANDS.
1683 * normal/handler.c: Removed.
1684 * normal/main.c (read_config_file): Remove parser changing.
1685 (grub_normal_execute): Don't call read_handler_list.
1686 (grub_normal_read_line_real): Statically allocate prompt.
1687 (grub_cmdline_run): Use grub_normal_parse_line.
1688 (GRUB_MOD_FINI): Don't call free_handler_list.
1689 * normal/menu_entry.c (run): Likewise.
1690 * script/function.c (grub_script_function_list): Make global.
1691 (grub_script_function_iterate): Removed.
1692 * script/main.c (grub_normal_parse_line): Make global.
1693 (grub_sh_parser): Removed.
1694 (GRUB_MOD_INIT): Likewise.
1695 (GRUB_MOD_FINI): Likewise.
1696 * tests/lib/functional_test.c (grub_functional_test): Use
1697 FOR_LIST_ELEMENTS.
1698 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1699 (grub_test_run): Use FOR_LIST_ELEMENTS.
1700 * tests/lib/unit_test.c (main): Likewise.
1701 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1702 grub_list_pop.
1703 * util/grub-fstest.c (grub_term_input_class): Removed.
1704 (grub_term_output_class): Likewise.
1705 * util/grub-probe.c: Likewise.
1706 * util/i386/pc/grub-setup.c: Likewise.
1707 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1708 * util/grub-script-check.c (main): Don't call grub_init_all and
1709 grub_fini_all.
1710 * video/video.c (grub_video_adapter_list): Make global.
1711 (grub_video_register): Removed.
1712 (grub_video_unregister): Likewise.
1713 (grub_video_iterate): Likewise.
1714
1715 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1718 reported by Henrique Ferreiro.
1719
1720 2010-06-09 Robert Millan <rmh@gnu.org>
1721
1722 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1723 ones, when both are available.
1724
1725 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1726
1727 Make --version uniform and avoid hard-coded program name.
1728
1729 * util/grub-mkimage.c (main): Use `program_name' instead of
1730 hard-coded string.
1731 * util/i386/pc/grub-setup.c (main): Likewise.
1732 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1733 * util/grub-install.in: Save the basename of $0 in $self, and use the
1734 latter in informational messages. Use the same format for --version
1735 as the binary programs.
1736 * util/grub-mkconfig.in: Likewise.
1737 * util/grub-mkrescue.in: Likewise.
1738 * util/grub-reboot.in: Likewise.
1739 * util/grub-set-default.in: Likewise.
1740 * util/i386/efi/grub-install.in: Likewise.
1741 * util/ieee1275/grub-install.in: Likewise.
1742 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1743
1744 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1745
1746 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1747 embedding area. Use <= instead of == when checking for non-emptiness.
1748
1749 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1750
1751 * configure.ac: Add `.' to the directories searched for unifont.
1752
1753 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1754
1755 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1756 grub_script.yy.h.
1757
1758 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1759
1760 * docs/grub.texi (History): Expand to cover GRUB 2.
1761 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1762 commands, not `terminal'.
1763 (serial): Likewise.
1764 (terminal_input): New section.
1765 (terminal_output): New section.
1766 (uppermem): New section (stub).
1767 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1768
1769 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1770
1771 * docs/grub.texi (Security): Menu entries are unrestricted by
1772 default, not restricted to superusers as I had previously thought.
1773 Reword to account for this.
1774
1775 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1776
1777 * kern/emu/misc.c (device_mapper_null_log): New function.
1778 (grub_device_mapper_supported): New function.
1779 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1780 prototype.
1781 * kern/emu/hostdisk.c (find_partition_start): Check whether
1782 device-mapper is supported before trying to use it.
1783 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1784
1785 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1786
1787 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1788 (File name syntax): Likewise.
1789 (help): --all is no longer supported in GRUB 2. Be more precise
1790 about pattern matching.
1791
1792 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1793
1794 * normal/completion.c (grub_normal_do_completion): When completing
1795 arguments to "set" and the current word contains an equals sign,
1796 skip to after the equals sign before starting completion.
1797
1798 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1799
1800 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1801
1802 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1803
1804 * docs/grub.texi (Network): New section.
1805 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1806 `(nd)' as in GRUB Legacy.
1807 (pxe_unload): New section.
1808
1809 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1810
1811 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1812 in the rescue shell, so recommend using `set' instead. Thanks,
1813 Jordan Uggla.
1814
1815 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1816
1817 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1818 (password): New section.
1819 (password_pbkdf2): New section.
1820 (search): New section.
1821 (Security): New section.
1822 (Troubleshooting): New section, currently very incomplete.
1823 (Invoking grub-mkpasswd-pbkdf2): New section.
1824 (Internals): New section, currently very incomplete.
1825
1826 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1827
1828 * util/grub.d/00_header.in: Add some more quoting (of
1829 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1830 work again.
1831 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1832
1833 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1834
1835 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1836 to `count', fixing variable shadowing that broke the -c option.
1837
1838 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1839
1840 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1841 in case they contain spaces.
1842
1843 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1844
1845 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1846 "part_" to partmap module names, in line with grub-install.
1847 Reported by: Jindřich Makovička (Debian bug #584426).
1848
1849 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1850
1851 * util/grub-mkimage.c: Make target-related error messages slightly
1852 more helpful; -O talks about "format". Explicitly point to the use
1853 of -O if no target is specified.
1854 Reported by: Didier Raboud (Debian bug #584415).
1855
1856 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1857
1858 * INSTALL: Document several build requirements for optional features
1859 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1860
1861 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1862
1863 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1864 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1865 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1866
1867 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1868
1869 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1870 Thanks to Jordan Uggla for spotting this.
1871
1872 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1873
1874 Finally make USB usable.
1875
1876 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1877 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1878 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1879 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1880 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1881 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1882 (GRUB_OHCI_FSMPS): Likewise.
1883 (GRUB_OHCI_PERIODIC_START): Likewise.
1884 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1885 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1886 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1887 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1888 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1889 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1890 (grub_ohci_transaction): Likewise.
1891 (grub_ohci_transfer): Improve condition detection algorithms.
1892 Handle toggle property. Program the transactions correctly.
1893 Improve error handling. Various important fixups.
1894 (grub_ohci_portstatus): Put register writes in right order.
1895 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1896 (grub_uhci_transfer): Don't show "failed" message on success.
1897 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1898 array.
1899 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1900 determine its size.
1901 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1902 before initialization is completed. Use IN direction for empty
1903 transfers. Use last_trans and compute toggle.
1904 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1905 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1906 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1907 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1908 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1909 (grub_usb_device): Increase toggle to 256.
1910 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1911 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1912 GRUB_USBMS_SUBCLASS_SFF8070.
1913 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1914 (grub_scsi_inquiry): New member page and alloc_length.
1915 (grub_scsi_request_sense): New structure.
1916 (grub_scsi_request_sense_data): Likewise.
1917 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1918 control.
1919 * disk/scsi.c (grub_scsi_request_sense): New function.
1920 (grub_scsi_test_unit_ready): Likewise.
1921 (grub_scsi_inquiry): Fill new fields.
1922 (grub_scsi_read_capacity): Likewise.
1923 (grub_scsi_read10): Add request sense at the end.
1924 (grub_scsi_read12): Likewise.
1925 (grub_scsi_write10): Likewise.
1926 (grub_scsi_write12): Likewise.
1927 (grub_scsi_open): Add Test Unit Ready.
1928 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1929 Support additional subclasses. Con't clear halt yet. Activate the
1930 proper config. Calculate LUNs correctly.
1931 (grub_usbms_transfer): Various important fixups.
1932
1933 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1936 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1937 (grub_ohci_fini_hw): New function.
1938 (grub_ohci_restore_hw): Likewise.
1939 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1940 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1941 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1942
1943 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 Dedicated DMA allocations.
1946
1947 * bus/pci.c (grub_memalign_dma32): New function
1948 (grub_dma_free): Likewise.
1949 (grub_dma_get_virt): Likewise.
1950 (grub_dma_get_phys): Likewise.
1951 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1952 (grub_ohci_pci_iter): Use dma32_alloc.
1953 (grub_ohci_transfer): Likewise.
1954 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1955 (grub_usb_bulk_readwrite): Likewise.
1956 * include/grub/pci.h: Add declarations.
1957
1958 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 CS5536 support.
1961
1962 * bus/cs5536.c: New file.
1963 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1964 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1965 (cs5536_mod_SOURCES): New variable.
1966 (cs5536_mod_CFLAGS): Likewise.
1967 (cs5536_mod_LDFLAGS): Likewise.
1968 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1969 machine/pci.h.
1970 (kernel_img_SOURCES): Add bus/cs5536.c.
1971 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1972 usb_keyboard.mod.
1973 (usb_mod_SOURCES): New variable.
1974 (usb_mod_CFLAGS): New variable.
1975 (usb_mod_LDFLAGS): New variable.
1976 (usbtest_mod_SOURCES): New variable.
1977 (usbtest_mod_CFLAGS): New variable.
1978 (usbtest_mod_LDFLAGS): New variable.
1979 (ohci_mod_SOURCES): New variable.
1980 (ohci_mod_CFLAGS): New variable.
1981 (ohci_mod_LDFLAGS): New variable.
1982 (usbms_mod_SOURCES): New variable.
1983 (usbms_mod_CFLAGS): New variable.
1984 (usbms_mod_LDFLAGS): New variable.
1985 (usb_keyboard_mod_SOURCES): New variable.
1986 (usb_keyboard_mod_CFLAGS): New variable.
1987 (usb_keyboard_mod_LDFLAGS): New variable.
1988 * include/grub/smbus.h: New file.
1989 * include/grub/cs5536.h: New file.
1990
1991 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1992
1993 * util/grub.d/00_header.in: Add safety check to make sure that
1994 ${locale_dir} exists before trying to probe it.
1995
1996 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1997
1998 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1999 per the GNU Coding Standards; this is now too obscure to be worth
2000 documenting.
2001 (QNX): Likewise.
2002 (chainloader): Remove cross-reference to `SCO UnixWare'.
2003
2004 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2005
2006 * docs/grub.texi (Chain-loading): New section.
2007 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2008 adjusted for GRUB 2.
2009 (SCO UnixWare): Likewise.
2010 (QNX): Likewise.
2011 (chainloader): Add reference to `Block list syntax'.
2012 (drivemap): New section.
2013 (parttool): New section.
2014
2015 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2016
2017 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2018 the grub shell'.
2019 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2020 (Installing GRUB using grub-install): Remove reference to the grub
2021 shell; mention `grub-mkimage' and `grub-setup' instead.
2022 (Invoking grub-install): Likewise.
2023 (Interface): Add reference to `Menu entry editor'.
2024 (serial): Remove `--device' option.
2025
2026 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2027
2028 * docs/grub.texi (Configuration): New section, documenting
2029 configuration file generation using grub-mkconfig. I've left a slot
2030 for documenting the full shell scripting format but have not yet
2031 started on writing that up.
2032 (Invoking grub-mkconfig): New section.
2033
2034 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2035
2036 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2037 (GNU GRUB manual): Likewise.
2038 (General commands): Update description of `terminfo' for GRUB 2.
2039
2040 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2041
2042 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2043 (GRUB_MOD_INIT): Fix capitalisation.
2044 * docs/grub.texi (Command-line and menu entry commands): Document
2045 gettext and gptsync commands.
2046
2047 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2048
2049 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2050 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2051
2052 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
2053
2054 Add btrfs probing support, currently only in the single-device case.
2055
2056 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2057 function.
2058 (grub_guess_root_device): Call find_root_device_from_mountinfo
2059 before looking in /dev.
2060
2061 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2064 GRUB_DISK_SIZE_UNKNOWN.
2065 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2066
2067 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
2068
2069 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2070 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2071 corrupted or not synced properly.
2072
2073 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2076 Reported by: Seth Goldberg.
2077
2078 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2081 addition of dest.
2082 Reported by: Seth Goldberg.
2083
2084 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2087 Reported by: Seth Goldberg.
2088
2089 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2092 64-bit address as signed on MIPS.
2093
2094 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2095
2096 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2097 to the empty string.
2098
2099 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2100
2101 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2102
2103 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2104 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2105 * kern/misc.c (__enable_execute_stack): Disable on
2106 GRUB_MACHINE_EMU.
2107
2108 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2109
2110 Make grub-probe work with symbolic links under /dev/mapper as well
2111 as with real block devices. The Linux world seems to be (at best)
2112 in transition here, and GRUB shouldn't get caught in the middle.
2113
2114 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2115 /dev/mapper.
2116
2117 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2118
2119 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2120 input files (in which case exit zero).
2121
2122 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2123
2124 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2125 return NULL for various reasons even if it has a maximum-length
2126 buffer: for example, there might be a symlink loop, or the path
2127 might exceed PATH_MAX. If this happens, return NULL.
2128
2129 2010-05-27 Robert Millan <rmh@gnu.org>
2130
2131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2132 partmap module to handle cross-partmap setups.
2133 Reported by Orestes Mas. Gràcies!
2134
2135 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2136
2137 * util/grub-mkrescue.in: Initialise override_dir rather than
2138 assuming that it's unset or empty in the environment.
2139
2140 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2141
2142 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2143 variable index into p_index to suppress a warning with -Wshadow.
2144
2145 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2146
2147 * INSTALL: Added flex >= 2.5.35 requirement.
2148
2149 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2152
2153 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 cmostest support.
2156
2157 * commands/i386/cmostest.c: New file.
2158 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2159 (cmostest_mod_SOURCES): New variable.
2160 (cmostest_mod_CFLAGS): Likewise.
2161 (cmostest_mod_LDFLAGS): Likewise.
2162 * conf/i386-pc.rmk: Likewise.
2163 * docs/grub.texi (Vendor power-on keys): New section.
2164 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2165 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2166 and GRUB_BUTTON_CMOS_ADDRESS.
2167 * util/grub.d/00_header.in: Handle powering-on by separate button.
2168
2169 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2172 Removed drawing_scrollbar argument. All users updated
2173 Fixes #29792.
2174 Reported by Jo Shields
2175
2176 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2179 buffer since gfxterm handles double repaint.
2180
2181 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2184 * term/gfxterm.c (real_scroll): Likewise.
2185
2186 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2189 before calling BIOS.
2190
2191 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * include/grub/i18n.h: Always enable grub_gettext.
2194
2195 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2198 partition naming style.
2199
2200 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
2201
2202 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2203 not the first option.
2204
2205 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2206
2207 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2208
2209 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2210
2211 * util/misc.c: Move inclusion of <limits.h> to ...
2212 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2213
2214 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2215
2216 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2217 Fix merge error in NetBSD code.
2218 (find_partition_start) [__NetBSD__]: Likewise.
2219
2220 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2221
2222 Fix grub-mkrescue usage unit testing.
2223
2224 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2225
2226 2010-05-18 Christian Franke <franke@computer.org>
2227
2228 * util/grub.d/10_windows.in: Use path names instead of
2229 drive letters to prevent warning from Cygwin 1.7.
2230 Add drivemap command to menuentry if needed.
2231
2232 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2233
2234 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2235 gnumach and gnumach.gz.
2236
2237 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * include/grub/i18n.h (gettext): Inline instead of using #define.
2240 (grub_gettext): Likewise.
2241 (_): Likewise.
2242
2243 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2246 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2247 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2248 (main): Add a slash after pkglibdirroot.
2249
2250 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * util/grub-install.in: Add missing "in" keyword.
2253
2254 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2257 Reported by: Seth Goldberg.
2258
2259 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2262
2263 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2264
2265 * configure.ac: Check for Linux device-mapper support.
2266
2267 * util/hostdisk.c (device_is_mapped): New function.
2268 (find_partition_start): New function, partly broken out from
2269 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2270 device-mapper support added.
2271 (linux_find_partition): Use find_partition_start.
2272 (convert_system_partition_to_system_disk): Add `st' argument.
2273 Support Linux /dev/mapper/* devices if device-mapper support is
2274 available; only DM-RAID devices are understood at present.
2275 (find_system_device): Add `st' argument. Pass it to
2276 convert_system_partition_to_system_disk.
2277 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2278 find_system_device and convert_system_partition_to_system_disk. Use
2279 find_partition_start.
2280
2281 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2282 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2283 * util/deviceiter.c [__linux__]: Define MINOR.
2284 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2285 * util/mkdevicemap.c (grub_putchar): New function.
2286 (grub_getkey): New function.
2287 (grub_refresh): New function.
2288 (main): Set debug=all if -v -v is used.
2289
2290 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2291
2292 Fix build with non-GNU libcs.
2293
2294 * util/misc.c (canonicalize_file_name): Move to ...
2295 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2296 grub_make_system_path_relative_to_its_root.
2297
2298 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2299
2300 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2301 we handle finding grub-mkimage. Default to finding grub-mkimage in
2302 ${bindir} with program_transform_name applied, and provide a
2303 --grub-mkimage option to override this.
2304
2305 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Remove grub-mkisofs.
2308
2309 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2310 (grub_mkisofs_SOURCES): Removed.
2311 (grub_mkisofs_CFLAGS): Removed.
2312 * util/mkisofs/defaults.h: Removed.
2313 * util/mkisofs/eltorito.c: Likewise.
2314 * util/mkisofs/exclude.h: Likewise.
2315 * util/mkisofs/hash.c: Likewise.
2316 * util/mkisofs/include/: Likewise.
2317 * util/mkisofs/include/fctldefs.h: Likewise.
2318 * util/mkisofs/include/mconfig.h: Likewise.
2319 * util/mkisofs/include/prototyp.h: Likewise.
2320 * util/mkisofs/include/statdefs.h: Likewise.
2321 * util/mkisofs/iso9660.h: Likewise.
2322 * util/mkisofs/joliet.c: Likewise.
2323 * util/mkisofs/match.c: Likewise.
2324 * util/mkisofs/match.h: Likewise.
2325 * util/mkisofs/mkisofs.c: Likewise.
2326 * util/mkisofs/mkisofs.h: Likewise.
2327 * util/mkisofs/msdos_partition.h: Likewise.
2328 * util/mkisofs/multi.c: Likewise.
2329 * util/mkisofs/name.c: Likewise.
2330 * util/mkisofs/rock.c: Likewise.
2331 * util/mkisofs/tree.c: Likewise.
2332 * util/mkisofs/write.c: Likewise.
2333
2334 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Unify grub-mkimage accross platforms.
2337
2338 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2339 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2340 (grub_mkelfimage_SOURCES): Removed.
2341 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2342 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2343 (bin_UTILITIES): Add grub-mkimage.
2344 (grub_mkimage_SOURCES): New variable.
2345 (kernel_img_HEADERS): Remove machine/kernel.h.
2346 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2347 (pkglib_PROGRAMS): Add kernel.img.
2348 (kernel_img_HEADERS): Add machine/kernel.h.
2349 (kernel_img_FORMAT): Removed.
2350 (bin_UTILITIES): Remove grub-mkimage.
2351 (grub_mkimage_SOURCES): Removed.
2352 (grub_mkimage_CFLAGS): Likewise.
2353 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2354 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2355 (pkglib_PROGRAMS): Add kernel.img.
2356 (bin_UTILITIES): Remove grub-mkimage.
2357 (grub_mkimage_SOURCES): Removed.
2358 (grub_mkimage_CFLAGS): Likewise.
2359 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2360 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2361 (pkglib_PROGRAMS): Add kernel.img.
2362 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2363 (pkglib_PROGRAMS): Add kernel.img.
2364 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2365 (grub_mkimage_SOURCES): Removed.
2366 (grub_mkimage_CFLAGS): Likewise.
2367 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2368 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2369 (pkglib_PROGRAMS): Add kernel.img.
2370 (bin_UTILITIES): Remove grub-mkimage.
2371 (grub_mkimage_SOURCES): Removed.
2372 (grub_mkimage_CFLAGS): Likewise.
2373 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2374 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2375 (grub_mkimage_SOURCES): Removed.
2376 (grub_mkimage_CFLAGS): Likewise.
2377 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2378 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2379 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2380 (grub_pe32_optional_header): ... this.
2381 (grub_pe64_optional_header): ... and this. All users updated.
2382 (GRUB_PE32_PE32_MAGIC): Split into ..
2383 (GRUB_PE32_PE32_MAGIC): .. this.
2384 (GRUB_PE32_PE64_MAGIC): .. and this.
2385 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2386 * include/grub/elf.h (PT_GNU_STACK): New definition.
2387 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2388 * include/grub/i386/efi/kernel.h: Likewise.
2389 * include/grub/i386/kernel.h: Likewise.
2390 * include/grub/i386/pc/kernel.h: Likewise.
2391 * include/grub/i386/qemu/boot.h: Likewise.
2392 * include/grub/mips/kernel.h: Likewise.
2393 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2394 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2395 * include/grub/powerpc/kernel.h: Likewise.
2396 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2397 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2398 * include/grub/sparc64/kernel.h: Likewise.
2399 * include/grub/x86_64/efi/kernel.h: Likewise.
2400 * include/grub/x86_64/kernel.h: Likewise.
2401 * include/grub/offsets.h: New file.
2402 * include/grub/kernel.h (grub_module_info): Split into ...
2403 (grub_module_info32): ... this.
2404 (grub_module_info64): ... and this.
2405 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2406 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2407 (grub_boot_blocklist): Moved from here ...
2408 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2409 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2410 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2411 * include/grub/types.h (grub_target_to_host16): Removed.
2412 (grub_target_to_host32): Likewise.
2413 (grub_target_to_host64): Likewise.
2414 (grub_host_to_target16): Likewise.
2415 (grub_host_to_target32): Likewise.
2416 (grub_host_to_target64): Likewise.
2417 (grub_host_to_target_addr): Likewise.
2418
2419 Support grub-mkrescue for efi, coreboot and qemu.
2420
2421 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2422 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2423 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2424 * util/grub-mkrawimage.c: Moved from here ...
2425 * util/grub-mkimage.c: ... here. All users updated.
2426 (ALIGN_ADDR): Use image_target.
2427 (TARGET_NO_FIELD): New const.
2428 (image_target_desc): New type.
2429 (image_targets): New array.
2430 (grub_target_to_host64): Use image_target.
2431 (grub_target_to_host32): Likewise.
2432 (grub_target_to_host16): Likewise.
2433 (grub_host_to_target64): Likewise.
2434 (grub_host_to_target32): Likewise.
2435 (grub_host_to_target16): Likewise.
2436 (grub_host_to_target_addr): Likewise.
2437 (generate_image): Handle multiimage.
2438 (main): Require -O parameter. All users updated.
2439 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2440 util/efi/grub-mkimage.c
2441 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2442 New option --rom-directory.
2443 Use xorriso.
2444 * util/i386/efi/grub-mkimage.c: Removed.
2445 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2446 (grub_target_to_host32): Likewise.
2447 (grub_target_to_host64): Likewise.
2448 (grub_host_to_target16): Likewise.
2449 (grub_host_to_target32): Likewise.
2450 (grub_host_to_target64): Likewise.
2451 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2452 (grub_target_to_host32): Likewise.
2453 (grub_target_to_host64): Likewise.
2454 (grub_host_to_target16): Likewise.
2455 (grub_host_to_target32): Likewise.
2456 (grub_host_to_target64): Likewise.
2457
2458 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2459
2460 Source tree is reorganized for emu build.
2461
2462 * include/grub/util/console.h: Move from here...
2463 * include/grub/emu/console.h: ...to here.
2464 * include/grub/util/getroot.h: Move from here...
2465 * include/grub/emu/getroot.h: ...to here.
2466 * include/grub/util/hostdisk.h: Move from here...
2467 * include/grub/emu/hostdisk.h: ...to here.
2468 * util/console.c: Move from here...
2469 * kern/emu/console.c: ...to here.
2470 * util/getroot.c: Move from here...
2471 * kern/emu/getroot.c: ...to here.
2472 * util/grub-emu.c: Move from here...
2473 * kern/emu/main.c: ...to here.
2474 * util/hostdisk.c: Move from here...
2475 * kern/emu/hostdisk.c: ...to here.
2476 * util/hostfs.c: Move from here...
2477 * kern/emu/hostfs.c: ...to here.
2478 * util/mm.c: Move from here...
2479 * kern/emu/mm.c: ...to here.
2480 * util/pci.c: Move from here...
2481 * bus/emu/pci.c: ...to here.
2482 * util/sdl.c: Move from here...
2483 * video/emu/sdl.c: ...to here.
2484 * util/time.c: Move from here...
2485 * kern/emu/time.c: ...to here.
2486 * util/usb.c: Move from here...
2487 * bus/usb/emu/usb.c: ...to here.
2488
2489 * include/grub/emu/misc.h: New header for grub-emu functions.
2490 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2491
2492 * conf/any-emu.rmk: Rule updates for above renames.
2493 * conf/common.rmk: Likewise.
2494 * conf/i386-pc.rmk: Likewise.
2495 * conf/i386-qemu.rmk: Likewise.
2496 * conf/mips.rmk: Likewise.
2497 * conf/sparc64-ieee1275.rmk: Likewise.
2498 * conf/x86-efi.rmk: Likewise.
2499
2500 * disk/lvm.h: #include updates for above renames.
2501 * util/grub-mkrelpath.c: Likewise.
2502 * util/grub-probe.c: Likewise.
2503 * util/i386/pc/grub-setup.c: Likewise.
2504 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2505 * kern/emu/console.c: Likewise.
2506 * kern/emu/getroot.c: Likewise.
2507 * kern/emu/hostdisk.c: Likewise.
2508 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2509
2510 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2511 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2512 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2513 * util/misc.c: Remove grub-emu functions.
2514
2515 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Fix gfxmenu crash.
2518 Reported by: Thorsten Grützmacher.
2519
2520 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2521 timeout hook.
2522 (circprog_set_property): Register and unregister timeout hook.
2523 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2524 (label_destroy): Free template. and unregister hook.
2525 (label_set_state): New function.
2526 (label_set_property): Handle templates and hooks.
2527 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2528 timeout hook.
2529 (progress_bar_set_property): Register and unregister timeout hook.
2530 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2531 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2532 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2533 (update_timeout_visit): Removed.
2534 (update_timeouts): New function.
2535 (redraw_timeouts): Likewise.
2536 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2537 (grub_gfxmenu_clear_timeout): Likewise.
2538 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2539 (grub_gfxmenu_timeout_notify): Likewise.
2540 (grub_gfxmenu_timeout_notifications): New external variable.
2541 (grub_gfxmenu_timeout_register): New function.
2542 (grub_gfxmenu_timeout_unregister): Likewise.
2543
2544 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Transform (broken) vga terminal into (working) vga video driver.
2547
2548 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2549 video/i386/pc/vga.c.
2550 * include/grub/video.h (grub_video_driver_id):
2551 Add GRUB_VIDEO_DRIVER_VGA.
2552 * term/i386/pc/vga.c: Renamed to ...
2553 * video/i386/pc/vga.c: ...this
2554 (DEBUG_VGA): Removed.
2555 (CHAR_WIDTH): Likewise.
2556 (CHAR_HEIGHT): Likewise.
2557 (TEXT_WIDTH): Likewise.
2558 (TEXT_HEIGHT): Likewise.
2559 (DEFAULT_FG_COLOR): Likewise.
2560 (DEFAULT_BG_COLOR): Likewise.
2561 (colored_char): Likewise.
2562 (xpos): Likewise.
2563 (ypos): Likewise.
2564 (cursor_state): Likewise.
2565 (fg_color): Likewise.
2566 (bg_color): Likewise.
2567 (text_buf): Likewise.
2568 (page): Likewise.
2569 (font): Likewise.
2570 (framebuffer): New variable.
2571 (set_read_map): Disabled.
2572 (setup): New variable.
2573 (is_target): Likewise.
2574 (grub_vga_mod_init): Likewise.
2575 (grub_vga_mod_fini): Likewise.
2576 (check_vga_mem): Likewise.
2577 (write_char): Likewise.
2578 (write_cursor): Likewise.
2579 (scroll_up): Likewise.
2580 (grub_vga_putchar): Likewise.
2581 (grub_vga_getcharwidth): Likewise.
2582 (grub_vga_getwh): Likewise.
2583 (grub_vga_getxy): Likewise.
2584 (grub_vga_gotoxy): Likewise.
2585 (grub_vga_cls): Likewise.
2586 (grub_vga_setcolorstate): Likewise.
2587 (grub_vga_setcursor): Likewise.
2588 (grub_video_vga_init): New function.
2589 (grub_video_vga_setup): Likewise.
2590 (grub_video_vga_fini): Likewise.
2591 (update_target): Likewise.
2592 (grub_video_vga_blit_bitmap): Likewise.
2593 (grub_video_vga_blit_render_target): Likewise.
2594 (grub_video_vga_set_active_render_target): Likewise.
2595 (grub_video_vga_get_active_render_target): Likewise.
2596 (grub_video_vga_swap_buffers): Likewise.
2597 (grub_video_vga_set_palette): Likewise.
2598 (grub_video_vga_get_info_and_fini): Likewise.
2599 (grub_vga_term): Removed.
2600 (grub_video_vga_adapter): New variable.
2601 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2602 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2603
2604 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * video/readers/jpeg.c: Indented.
2607
2608 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Various jpeg cleanups.
2611
2612 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2613 (grub_jpeg_decode_quan_table): Use sizeof.
2614 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2615
2616 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2617
2618 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2619 tables. Ignore non-last ac bit.
2620 (grub_jpeg_decode_quan_table): Likewise.
2621
2622 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2625 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2626 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2627 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2628 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2629 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2630
2631 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2634 error.
2635
2636 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2639
2640 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2643 condition.
2644
2645 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2648 part.
2649
2650 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2653 pointers.
2654
2655 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2658
2659 2010-05-01 Christian Franke <franke@computer.org>
2660
2661 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2662 Remove broken Cygwin path conversion.
2663 * util/misc.c: [__CYGWIN__] Add include and define.
2664 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2665 for Cygwin 1.7.
2666 (make_system_path_relative_to_its_root): Simplify loop, replace early
2667 return by break.
2668 [__CYGWIN__] Add conversion to win32 path.
2669 Include "/" case in trailing slash removal.
2670
2671 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2674 Reported by: Seth Goldberg
2675
2676 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * commands/help.c (grub_cmd_help): Fix a typo.
2679 Reported by: Seth Goldberg
2680
2681 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2684 name and add N_.
2685 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2686 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2687 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2688 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2689 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2690 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2691 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2692 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2693 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2694 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2695 * normal/context.c (GRUB_MOD_INIT): Likewise.
2696 * normal/main.c (GRUB_MOD_INIT): Likewise.
2697 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2698 * term/serial.c (GRUB_MOD_INIT): Likewise.
2699 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2700
2701 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2704 extra == 0.
2705
2706 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * commands/iorw.c: New file.
2709 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2710 (iorw_mod_SOURCES): New variable.
2711 (iorw_mod_CFLAGS): Likewise.
2712 (iorw_mod_LDFLAGS): Likewise.
2713
2714 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Hotkey support
2717
2718 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2719 * normal/main.c (hotkey_aliases): New variable.
2720 (grub_normal_add_menu_entry): Parse "--hotkey".
2721 * normal/menu_text.c (run_menu): Handle hotkeys.
2722
2723 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * kern/i386/coreboot/init.c (grub_machine_init): Call
2726 grub_machine_mmap_init on qemu.
2727
2728 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * boot/i386/qemu/boot.S: Add a missing .code16.
2731
2732 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Use LBIO on coreboot.
2735
2736 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2737 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2738 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2739 New declaration.
2740 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2741 grub_machine_mmap_init on coreboot.
2742 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2743 GRUB_LINUXBIOS_MEMBER_LINK.
2744 (grub_machine_mmap_iterate): Fix declaration.
2745 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2746
2747 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 Split coreboot and multiboot ports.
2750
2751 * conf/i386-multiboot.rmk: New file.
2752 * configure.ac: Add multiboot port.
2753 * include/grub/i386/multiboot/boot.h: New file.
2754 * include/grub/i386/multiboot/console.h: Likewise.
2755 * include/grub/i386/multiboot/init.h: Likewise.
2756 * include/grub/i386/multiboot/kernel.h: Likewise.
2757 * include/grub/i386/multiboot/loader.h: Likewise.
2758 * include/grub/i386/multiboot/memory.h: Likewise.
2759 * include/grub/i386/multiboot/serial.h: Likewise.
2760 * include/grub/i386/multiboot/time.h: Likewise.
2761 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2762 * loader/multiboot.c: Likewise.
2763 * loader/multiboot_mbi2.c: Likewise.
2764 * util/grub-mkrescue.in: Generate multiboot rescue.
2765
2766 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2769
2770 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 Merge handling of input and output terminals. Fix a hang.
2773
2774 * commands/terminal.c (abstract_terminal): New struct.
2775 (handle_command): New function. Based on grub_cmd_terminal_input.
2776 (grub_cmd_terminal_input): Use handle_command.
2777 (grub_cmd_terminal_output): Use handle_command.
2778
2779 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2780
2781 Fix comment handling.
2782
2783 * tests/grub_script_comments.in: New testcase.
2784 * conf/tests.rmk: Rules for new testcase.
2785 * script/yylex.l: Updated flex rules.
2786
2787 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2788
2789 * docs/grub.texi (play): Document that zero pitches produce rests.
2790 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2791 if argc is 1.
2792
2793 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2796 autogen issues.
2797
2798 2010-04-26 Christian Franke <franke@computer.org>
2799
2800 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2801 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2802 (grub_get_prefix): Remove function.
2803 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2804 make_system_path_relative_to_its_root ().
2805 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2806
2807 2010-04-24 Christian Franke <franke@computer.org>
2808
2809 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2810 (kernel_img_LDFLAGS): Remove -static-libgcc.
2811
2812 2010-04-24 Christian Franke <franke@computer.org>
2813
2814 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2815 and CHECK_END_SYMBOL if grub-emu is built.
2816 Unset TARGET_OBJ2ELF if grub-emu is built
2817 without module support.
2818
2819 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2820
2821 Nilfs2 support.
2822
2823 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2824 (grub_fstest_SOURCES): Likewise.
2825 (pkglib_MODULES): Add nilfs2.mod.
2826 (nilfs2_mod_SOURCES): New variable.
2827 (nilfs2_mod_CFLAGS): Likewise.
2828 (nilfs2_mod_LDFLAGS): Likewise.
2829 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2830 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2831 * fs/nilfs2.c: New file.
2832
2833 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2836 is not supported.
2837
2838 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2839
2840 Add grub-mkconfig support for NetBSD.
2841
2842 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2843 * util/grub-mkconfig.in: export new NetBSD specific variables.
2844 * po/POTFILES-shell: added 10_netbsd.in.
2845 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2846
2847 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2848
2849 Fix emu build with grub-emu-pci and grub-emu-modules.
2850
2851 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2852 functions.
2853 * include/grub/libpciaccess.h: New file.
2854 * conf/any-emu.rmk: Update kernel headers for emu build.
2855
2856 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2859
2860 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2863
2864 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2867 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2868 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2869 util/ieee1275/ofpath.c.
2870 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2871 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2872 * include/grub/sparc64/ieee1275/boot.h
2873 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2874 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2875 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2876 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2877 const char *.
2878 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2879 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2880 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2881 install.
2882
2883 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2884
2885 * util/grub-mkconfig.in: Corrected two == equality tests.
2886 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2887 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2888 expect a number appended to it.
2889 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2890 expects a number appended to it.
2891
2892 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2895
2896 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * util/hostdisk.c (make_device_name): Change to new partition naming.
2899
2900 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2903
2904 2010-04-17 Christian Franke <franke@computer.org>
2905
2906 * Makefile.in: Add missing localedir setting.
2907
2908 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2909
2910 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2911 mistake in r2156. Noticed by Anthony Fok.
2912
2913 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2914 @localedir@.
2915 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2916
2917 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2918
2919 Fix a spurious, uninitialized variable warning.
2920
2921 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2922 Initialize variable, shdr.
2923 (grub_freebsd_load_elfmodule): Likewise.
2924 (grub_freebsd_load_elf_meta): Likewise.
2925
2926 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2927
2928 Fix for escaped dollar in double quoted strings.
2929
2930 * script/yylex.l: Updated flex rules.
2931 * conf/tests.rmk: Rule for new testcase.
2932 * tests/grub_script_dollar.in: New testcase.
2933
2934 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2935 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2936
2937 Enclose all translated strings in grub.cfg in single quotes, and
2938 escape them appropriately (Ubuntu bug #552921).
2939
2940 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2941 * util/grub.d/10_hurd.in: Use it.
2942 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2943 * util/grub.d/10_linux.in (linux_entry): Likewise.
2944
2945 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Fix cygwin compilation.
2948
2949 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2950 * include/grub/misc.h (__register_frame_info)
2951 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2952 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2953 * kern/misc.c (__register_frame_info)
2954 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2955 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2956
2957 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2960
2961 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 Unify libgcc processing.
2964
2965 * Makefile.in (kernel_img_LDFLAGS): New variable.
2966 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2967 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2968 overwriting.
2969 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2970 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2971 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2972 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2973 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2974 overwriting. Remove -lgcc and -static-libgcc
2975 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2976 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2977 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2978 (kernel_img_LDFLAGS): Append instead of overwriting.
2979 Remove -lgcc and -static-libgcc
2980 * conf/sparc64-ieee1275.rmk: Likewise.
2981 * include/grub/powerpc/libgcc.h: Move to ...
2982 * include/grub/libgcc.h: .. this.
2983 * include/grub/libgcc.h: Don't export most of the function on x86.
2984 (__bswapsi2): New export.
2985 (__bswapdi2): Likewise.
2986 * include/grub/mips/libgcc.h: Removed.
2987 * include/grub/sparc64/libgcc.h: Likewise.
2988
2989 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2992 disk_info_msg (conflicts with gettexting into languages with cases).
2993
2994 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2995
2996 Add grub-probe support for NetBSD.
2997
2998 * util/getroot.c (find_root_device): Convert block device to
2999 character device on NetBSD.
3000 * util/probe.c (probe): Require character device on NetBSD.
3001 * util/hostdisk.c: NetBSD specific headers.
3002 (configure_device_driver): new function to tune device driver
3003 parameters (currently only for NetBSD floppy driver).
3004 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3005 via disklabel ioctl).
3006 (open_device): call configure_device_driver on NetBSD.
3007 (convert_system_partition_to_system_disk): NetBSD specific code.
3008 (device_is_wholedisk): Likewise.
3009 (grub_util_biosdisk_get_grub_dev): Likewise.
3010 (make_device_name): Fixed a typo in bsd_part_str.
3011 * configure.ac: check for opendisk() and getrawpartition() on
3012 NetBSD and set LIBUTIL.
3013 * Makefile.in: add LIBUTIL to LIBS.
3014
3015 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3016
3017 Documentation fix.
3018
3019 * util/grub-script-check.c: Better help message.
3020
3021 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3022
3023 Fix FreeBSD build.
3024
3025 * configure.ac: Flex version check.
3026 * conf/common.rmk: Add -Wno-error to sh.mod.
3027 * script/yylex.l: Remove all #pragma.
3028
3029 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3032 prototype.
3033 Reported by: Seth Goldberg.
3034
3035 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3038 Rename "module" to "module2".
3039 Reported by: Seth Goldberg.
3040
3041 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3044 EXPORT_FUNC.
3045 Reported by: Seth Goldberg.
3046
3047 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * lib/posix_wrap/locale.h: Add missing file.
3050 Reported by: Seth Goldberg.
3051
3052 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 grub-emu module load support.
3055
3056 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3057 NO_DYNAMIC_MODULES switched to this.
3058 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3059 (CFLAGS): Likewise.
3060 * conf/any-emu.rmk: Generate symlist.
3061 (kernel_img_HEADERS): Add util/datetime.h.
3062 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3063 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3064 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3065 kern/$(target_cpu)/cache.S.
3066 * configure.ac (grub-emu-modules): New option.
3067 * genmk.rb: Handle multiple source lists.
3068 * include/grub/sdl.h: New file.
3069 * include/grub/libusb.h: Likewise.
3070 * util/grub-emu.c (main): Hanle (host) root.
3071 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3072 GRUB_ERR_UNKNOWN_DEVICE.
3073 * util/misc.c: Move mm functions to ...
3074 * util/mm.c: ... here. All users updated.
3075
3076 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3079 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3080 missing files.
3081 (maintainer-clean): Remove libgcrypt-grub.
3082
3083 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3086
3087 2010-04-09 EFI Coder <eficoder@hotmail.com>
3088
3089 * normal/menu_text.c (print_message): Clean up the message and show
3090 the Fn information when on EFI
3091 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3092
3093 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3096 All users updated.
3097 * normal/crypto.c (read_crypto_list): Likewise.
3098 * normal/dyncmd.c (read_command_list): Likewise.
3099 * normal/term.c (read_terminal_list): Likewise.
3100 * normal/main.c (read_lists): Use explicit prefix.
3101 (read_lists_hook): Use read_lists.
3102 (grub_normal_execute): Likewise.
3103
3104 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3107 Reported by: Thomas Schmitt.
3108 Add -no-emul-boot to grub-mkisofs parameters.
3109
3110 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * font/font.c: Indented.
3113
3114 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3115
3116 Elif support to GRUB script (by Deepak Vankadaru).
3117
3118 * tests/grub_script_if.in: New testcase.
3119 * conf/tests.rmk: Rule for new testcase.
3120 * script/parser.y: Grammar rules for elif.
3121
3122 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3123
3124 While and until loops support to GRUB script.
3125
3126 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3127 (grub_script_create_cmdwhile): New function prototype.
3128 (grub_script_execute_cmdwhile): New function prototype.
3129 * script/execute.c (grub_script_execute_cmdwhile): New function.
3130 * script/parser.y (command): New commands.
3131 (whilecmd): New grammar rule.
3132 (untilcmd): New grammar rule.
3133 * script/script.c (grub_script_create_cmdwhile): New function.
3134 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3135 function.
3136
3137 * tests/grub_script_while1.in: New testcase.
3138 * conf/tests.rmk: Rule for new testcase.
3139
3140 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3143 as *.jpg.
3144
3145 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
3146
3147 GRUB_BACKGROUND support.
3148
3149 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3150 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3151
3152 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Load fonts and modules for gfxmenu in grub-mkconfig.
3155 Idea by: Mario Vazquez
3156
3157 * util/grub.d/00_header.in: Load pf2 and image modules.
3158
3159 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 grub-mkconfig multiple terminal support.
3162
3163 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3164 * util/grub.d/00_header.in: Likewise.
3165
3166 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3169 we use cd $(srcdir).
3170
3171 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
3172
3173 * util/grub.d/10_linux.in: Only use the first word of
3174 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3175 spaces in GRUB_DISTRIBUTOR.
3176 * util/grub.d/10_kfreebsd.in: Likewise.
3177 * util/grub.d/10_hurd.in: Likewise.
3178
3179 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3180
3181 Fix unit testing framework for Qemu 0.12.
3182
3183 * tests/util/grub-shell.in: Remove -serial stdio option.
3184
3185 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 POSIX header file wrappers.
3188
3189 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3190 equivalents.
3191 * lib/posix_wrap/ctype.h: Likewise.
3192 * lib/posix_wrap/errno.h: Likewise.
3193 * lib/posix_wrap/langinfo.h: Likewise.
3194 * lib/posix_wrap/limits.h: Likewise.
3195 * lib/posix_wrap/localcharset.h: Likewise.
3196 * lib/posix_wrap/stdint.h: Likewise.
3197 * lib/posix_wrap/stdio.h: Likewise.
3198 * lib/posix_wrap/stdlib.h: Likewise.
3199 * lib/posix_wrap/string.h: Likewise.
3200 * lib/posix_wrap/sys/types.h: Likewise.
3201 * lib/posix_wrap/unistd.h: Likewise.
3202 * lib/posix_wrap/wchar.h: Likewise.
3203 * lib/posix_wrap/wctype.h: Likewise.
3204 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3205 (grub_script.yy.h): Likewise.
3206 * script/yylex.l: Remove POSIX emulation #defines.
3207 * Makefile.in (POSIX_CFLAGS): New variable.
3208 (GNULIB_UTIL_CFLAGS): Likewise.
3209
3210 Regexp support.
3211
3212 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3213 (regexp_mod_SOURCES): New variable.
3214 (regexp_mod_CFLAGS): Likewise.
3215 (regexp_mod_LDFLAGS): Likewise.
3216 * commands/regexp.c: New file.
3217 * gnulib/regcomp.c: New file. Imported from gnulib.
3218 * gnulib/regex.c: Likewise.
3219 * gnulib/regex_internal.c: Likewise.
3220 * gnulib/regex_internal.h: Likewise.
3221 * gnulib/regexec.c: Likewise.
3222 * gnulib/regex.h: Likewise.
3223
3224 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3227 unsupported video mode types.
3228
3229 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3232
3233 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3236 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3237
3238 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Remove unused grub_vga_get_font.
3241
3242 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3243 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3244
3245 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3246
3247 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3248 * include/grub/misc.h: Likewise.
3249
3250 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3251
3252 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3253 for which failure is fatal.
3254
3255 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3256
3257 * util/grub-install.in: Use mkdir -p to create grub directory.
3258 * util/i386/efi/grub-install.in: Likewise.
3259 * util/ieee1275/grub-install.in: Likewise.
3260
3261 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3262
3263 * Makefile.in (LEX): new variable.
3264
3265 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3266
3267 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3268 `=' and added double quotes on operands of this equality test.
3269
3270 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * Makefile.in (uninstall): Remove a leftover debug echo.
3273 Reported by: Grégoire Sutre
3274
3275 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 MIPS multiboot2 support.
3278
3279 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3280 (multiboot2_mod_SOURCES): New variable.
3281 (multiboot2_mod_CFLAGS): Likewise.
3282 (multiboot2_mod_LDFLAGS): Likewise.
3283 (multiboot2_mod_ASFLAGS): Likewise.
3284 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3285 definition.
3286 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3287 (MULTIBOOT_MBI_REGISTER): Likewise.
3288 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3289 (MULTIBOOT_ELF32_MACHINE): Likewise.
3290 (MULTIBOOT_ELF64_MACHINE): Likewise.
3291 * include/grub/mips/multiboot.h: New file.
3292 * include/grub/video.h (grub_video_driver_id): New type
3293 GRUB_VIDEO_DRIVER_SM712.
3294 (grub_video_get_info_and_fini): Export.
3295 (grub_video_get_palette): Likewise.
3296 (grub_video_get_driver_id): Likewise.
3297 * include/multiboot2.h: Resynced with spec.
3298 * loader/i386/multiboot.c: Moved from here ...
3299 * loader/multiboot.c: ... here. All users updated.
3300 (grub_multiboot_boot): Use platform-specific macros.
3301 * loader/i386/multiboot_elfxx.c: Moved from here ...
3302 * loader/multiboot_elfxx.c: ... here. All users updated.
3303 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3304 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3305 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3306
3307 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 Import gnulib argp module.
3310
3311 * gnulib/argp-ba.c: New file.
3312 * gnulib/argp-eexst.c: Likewise.
3313 * gnulib/argp-fmtstream.c: Likewise.
3314 * gnulib/argp-fmtstream.h: Likewise.
3315 * gnulib/argp-fs-xinl.c: Likewise.
3316 * gnulib/argp-help.c: Likewise.
3317 * gnulib/argp-namefrob.h: Likewise.
3318 * gnulib/argp-parse.c: Likewise.
3319 * gnulib/argp-pin.c: Likewise.
3320 * gnulib/argp-pv.c: Likewise.
3321 * gnulib/argp-pvh.c: Likewise.
3322 * gnulib/argp-version-etc.c: Likewise.
3323 * gnulib/argp-version-etc.h: Likewise.
3324 * gnulib/argp-xinl.c: Likewise.
3325 * gnulib/argp.h: Likewise.
3326
3327 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * kern/device.c (grub_device_iterate): Clear errors after failed
3330 opening device.
3331
3332 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3335 returned by firmware.
3336
3337 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3340 compilation on coreboot and qemu
3341
3342 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * include/multiboot2.h: Resync with spec.
3345
3346 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 Multiboot2 tag support
3349
3350 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3351 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3352 Remove loader/multiboot_loader.c.
3353 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3354 (grub_multiboot2_real_boot): Likewise.
3355 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3356 (grub_get_multiboot_mmap_count): New proto.
3357 (grub_fill_multiboot_mmap): Likewise.
3358 (grub_multiboot_set_video_mode): Likewise.
3359 (grub_multiboot_set_console): Likewise.
3360 (grub_multiboot_load): Likewise.
3361 (grub_multiboot_load_elf): Likewise.
3362 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3363 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3364 * include/multiboot.h: Resynced with specification.
3365 * include/multiboot2.h: Resynced with specification.
3366 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3367 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3368 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3369 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3370 users updated.
3371 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3372 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3373 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3374 Removed.
3375 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3376 Moved from here...
3377 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3378 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3379 Moved from here...
3380 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3381 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3382 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3383 All users updated.
3384 * loader/i386/multiboot_mbi2.c: New file.
3385
3386 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 Resync with gnulib.
3389
3390 * Makefile.in (GNULIB_CFLAGS): New variable.
3391 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3392 (grub_script_check_CFLAGS): New variable.
3393 * gnulib/alloca.h: Resync with gnulib.
3394 * gnulib/error.c: Likewise.
3395 * gnulib/error.h: Likewise.
3396 * gnulib/fnmatch.c: Likewise.
3397 * gnulib/fnmatch_loop.c: Likewise.
3398 * gnulib/getdelim.c: Likewise.
3399 * gnulib/getline.c: Likewise.
3400 * gnulib/getopt.c: Likewise.
3401 * gnulib/getopt1.c: Likewise.
3402 * gnulib/getopt_int.h: Likewise.
3403 * gnulib/gettext.h: Likewise.
3404 * gnulib/progname.c: Likewise.
3405 * gnulib/progname.h: Likewise.
3406
3407 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3408
3409 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3410 which is the case with --disabled-nls.
3411
3412 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3413 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3414 * util/misc.c: Likewise.
3415 * util/mkisofs/mkisofs.c: Likewise.
3416 * util/mkisofs/mkisofs.h: Likewise.
3417
3418 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 Simplify Apple CC support.
3421
3422 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3423 Add 0 byte at the end not to have a symbol with empty target.
3424 * mmap/i386/pc/mmap_helper.S: Likewise.
3425 * genmk.rb: Ignore errors 2030 and 2050.
3426 * kern/i386/pc/startup.S: Use LOCAL when possible.
3427
3428 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3429
3430 Testcase and the fix for final semicolon on cmdline.
3431
3432 * tests/grub_script_final_semicolon.in: New testcase.
3433 * conf/tests.rmk: Rules for the new testcase.
3434 * script/parser.y: Grammar fix.
3435
3436 2010-03-26 BVK Chaitanya <bvk@localhost>
3437
3438 Blank lines testcase for GRUB script.
3439
3440 * tests/grub_script_blanklines.in: New testcase.
3441 * conf/tests.rmk: Rules for the new testcase.
3442
3443 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Don't use __FILE__.
3446
3447 * genmk.rb: Add -DGRUB_FILE to all C targets.
3448 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3449 * include/grub/list.h: Likewise.
3450 * include/grub/misc.h: Likewise.
3451 * include/grub/mm.h: Likewise.
3452 * include/grub/test.h: Likewise.
3453 * kern/mm.c: Likewise.
3454 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3455
3456 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 Sunpc partitions support.
3459
3460 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3461 (grub_fstest_SOURCES): Likewise.
3462 (pkglib_MODULES): Add part_sunpc.mod.
3463 (part_sunpc_mod_SOURCES): New variable.
3464 (part_sunpc_mod_CFLAGS): Likewise.
3465 (part_sunpc_mod_LDFLAGS): Likewise.
3466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3467 * partmap/sunpc.c: New file.
3468
3469 2010-03-26 BVK Chaitanya <bvk@localhost>
3470
3471 For loop support to GRUB script.
3472
3473 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3474 (grub_script_create_cmdfor): New function prototype.
3475 (grub_script_execute_cmdfor): New function prototype.
3476 * script/execute.c (grub_script_execute_cmdfor): New function.
3477 * script/parser.y (command): New for command.
3478 (forcmd): New grammar rule.
3479 * script/script.c (grub_script_create_cmdfor): New function.
3480 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3481 function.
3482 * tests/grub_script_for1.in: New testcase.
3483 * conf/tests.rmk: Rules for new testcase.
3484
3485 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 Nested partitions
3488
3489 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3490 'partition' is NULL, grub_partition_get_start already does that.
3491 * commands/loadenv.c (check_blocklists): Likewise.
3492 (write_blocklists): Likewise.
3493 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3494 (grub_fstest_SOURCES): Likewise.
3495 (pkglib_MODULES): Add part_bsd.mod.
3496 (part_bsd_mod_SOURCES): New variable.
3497 (part_bsd_mod_CFLAGS): Likewise.
3498 (part_bsd_mod_LDFLAGS): Likewise.
3499 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3500 (grub_emu_SOURCES): Likewise.
3501 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3502 * include/grub/bsdlabel.h: New file.
3503 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3504 'get_name'.
3505 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3506 (grub_partition_map_list): New variable.
3507 (grub_partition_map_register): Inline.
3508 (grub_partition_map_unregister): Likewise.
3509 (FOR_PARTITION_MAPS): New macro.
3510 (grub_partition_map_iterate): Removed.
3511 (grub_partition_get_start): Handle nested partitions.
3512 * include/grub/msdos_partition.h: Remove bsd-related entries.
3513 (grub_pc_partition): Remove.
3514 * kern/disk.c (grub_disk_close): Free partition data.
3515 (grub_disk_adjust_range): Handle nested partitions.
3516 * kern/partition.c (grub_partition_map_probe): New function.
3517 (grub_partition_probe): Parse name to number, handle subpartitions.
3518 (get_partmap): New function.
3519 (grub_partition_iterate): Handle subpartitions.
3520 (grub_partition_get_name): Likewise.
3521 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3522 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3523 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3524 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3525 Set 'number'.
3526 (acorn_partition_map_probe): Remove.
3527 (acorn_partition_map_get_name): Likewise.
3528 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3529 Set 'number'.
3530 Set 'index' to 0 since there can be only one partition entry per sector.
3531 (amiga_partition_map_probe): Remove.
3532 (amiga_partition_map_get_name): Likewise.
3533 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3534 Set 'number'.
3535 Set 'offset' and 'index' to real positions of partitions.
3536 (apple_partition_map_probe): Remove.
3537 (apple_partition_map_get_name): Likewise.
3538 * partmap/bsdlabel.c: New file.
3539 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3540 Set 'number'.
3541 Allocate 'data' so it can be correctly freed.
3542 Set 'index' to offset inside sector.
3543 (gpt_partition_map_probe): Remove.
3544 (gpt_partition_map_get_name): Likewise.
3545 * partmap/msdos.c (grub_partition_parse): Remove.
3546 (pc_partition_map_iterate): Don't force raw access.
3547 Set 'number'.
3548 Make 'ext_offset' a local variable.
3549 (pc_partition_map_probe): Remove.
3550 (pc_partition_map_get_name): Remove.
3551 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3552 Set 'number'.
3553 (sun_partition_map_probe): Remove.
3554 (sun_partition_map_get_name): Likewise.
3555 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3556 (grub_pcpart_type): Likewise.
3557 * util/hostdisk.c (open_device): Handle new numbering scheme.
3558 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3559 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3560 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3561 * util/grub-install.in: Insert all subpartition modules.
3562 * util/ieee1275/grub-install.in: Likewise.
3563
3564 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3565
3566 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3567 grammar.
3568
3569 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3570
3571 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3572
3573 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3574
3575 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3576 match where 'make install' puts them.
3577 * util/i386/efi/grub-install.in: Likewise.
3578
3579 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3580
3581 * .bzrignore: Add gentrigtables, grub-script-check,
3582 grub_script_check_init.c, grub_script_check_init.h, and
3583 trigtables.c.
3584
3585 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * kern/parser.c: Indented.
3588
3589 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3592
3593 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3596 alpha_mask_size == 0 case.
3597
3598 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3599
3600 GRUB shell lexer and parser improvements.
3601
3602 * conf/any-emu.rmk: Build rule updates.
3603 * conf/common.rmk: Likewise.
3604 * conf/i386-coreboot.rmk: Likewise.
3605 * conf/i386-efi.rmk: Likewise.
3606 * conf/i386-ieee1275.rmk: Likewise.
3607 * conf/i386-pc.rmk: Likewise.
3608 * conf/powerpc-ieee1275.rmk: Likewise.
3609 * conf/x86_64-efi.rmk: Likewise.
3610
3611 * configure.ac: Configure check for flex.
3612
3613 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3614 types.
3615 (grub_lexer_param): Struct member updates.
3616 (grub_parser_param): Likewise.
3617 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3618 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3619 (grub_script_lexer_init): Prototype update.
3620 (grub_script_lexer_record_start): Likewise.
3621 (grub_script_lexer_record_stop): Likewise.
3622 (grub_script_lexer_yywrap): New function prototype.
3623 (grub_script_lexer_fini): Likewise.
3624 (grub_script_execute_argument_to_string): Removed by...
3625 (grub_script_execute_argument_to_argv): ...better version.
3626
3627 * script/execute.c (ROUND_UPTO): New macro.
3628 (grub_script_execute_cmdline): Out of memory fixes.
3629 (grub_script_execute_menuentry): Likewise.
3630 (grub_script_execute_argument_to_string): Removed. Update all
3631 users by...
3632 (grub_script_execute_argument_to_argv): ...better version.
3633 * script/function.c (grub_script_function_create): Use
3634 grub_script_execute_argument_to_argv instead of
3635 grub_script_execute_argument_to_string.
3636
3637 * script/lexer.c (check_varstate): Removed.
3638 (check_textstate): Removed.
3639 (grub_script_lexer_record_start): Likewise.
3640 (grub_script_lexer_record_stop): Likewise.
3641 (recordchar): Replaced with...
3642 (grub_script_lexer_record): ...new function.
3643 (nextchar): Removed.
3644 (grub_script_lexer_init): Rewritten.
3645 (grub_script_yylex): Rewritten.
3646 (append_newline): New function.
3647 (grub_script_lexer_yywrap): New function.
3648 (grub_script_lexer_fini): New function.
3649 (grub_script_yyerror): Sets error flag.
3650
3651 * script/yylex.l: New file.
3652 (grub_lexer_yyfree): Wrapper for flex yyffre.
3653 (grub_lexer_yyalloc): Likewise.
3654 (grub_lexer_yyrealloc): Likewise.
3655 * script/parser.y: Refactored.
3656
3657 * script/script.c (grub_script_arg_add): Out of memory fixes.
3658 (grub_script_add_arglist): Likewise.
3659 (grub_script_create_cmdline): Likewise.
3660 (grub_script_create_cmdmenu): Likewise.
3661 (grub_script_add_cmd): Likewise.
3662 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3663 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3664 unnecessary code.
3665
3666 * tests/grub_script_echo1.in: New testcase.
3667 * tests/grub_script_vars1.in: New testcase.
3668 * tests/grub_script_echo_keywords.in: New testcase.
3669
3670 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 Remove some redundancy in build system.
3673
3674 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3675 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3676 (TARGET_LDFLAGS): Add -nostdlib.
3677 (TARGET_IMG_LDFLAGS): Likewise.
3678 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3679 anything since mmap isn't available.
3680 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3681 Add util/time.c.
3682 (pkglib_MODULES): Remove reboot.mod.
3683 (reboot_mod_SOURCES): Removed.
3684 (reboot_mod_CFLAGS): Likewise.
3685 (reboot_mod_LDFLAGS): Likewise.
3686 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3687 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3688 (DEFSYMFILES): Add kernel_syms.lst.
3689 (kernel_img_HEADERS): Add common headers.
3690 (symlist.c): New target.
3691 (kernel_syms.lst): Likewise.
3692 (pkglib_MODULES): Add memdisk.mod.
3693 (memdisk_mod_SOURCES): New variable.
3694 (memdisk_mod_CFLAGS): Likewise.
3695 (memdisk_mod_LDFLAGS): Likewise.
3696 (pkglib_MODULES): Add reboot.mod.
3697 (reboot_mod_SOURCES): New variable.
3698 (reboot_mod_CFLAGS): Likewise.
3699 (reboot_mod_LDFLAGS): Likewise.
3700 (pkglib_MODULES): Add date.mod.
3701 (date_mod_SOURCES): New variable.
3702 (date_mod_CFLAGS): Likewise.
3703 (date_mod_LDFLAGS): Likewise.
3704 (pkglib_MODULES): Add datehook.mod.
3705 (datehook_mod_SOURCES): New variable.
3706 (datehook_mod_CFLAGS): Likewise.
3707 (datehook_mod_LDFLAGS): Likewise.
3708 (pkglib_MODULES): Add lsmmap.mod.
3709 (lsmmap_mod_SOURCES): New variable.
3710 (lsmmap_mod_CFLAGS): Likewise.
3711 (lsmmap_mod_LDFLAGS): Likewise.
3712 (pkglib_MODULES): Add boot.mod.
3713 (boot_mod_SOURCES): New variable.
3714 (boot_mod_CFLAGS): Likewise.
3715 (boot_mod_LDFLAGS): Likewise.
3716 * conf/i386-coreboot.rmk: Removed redundant parts.
3717 * conf/i386-ieee1275.rmk: Likewise.
3718 * conf/i386-pc.rmk: Likewise.
3719 * conf/mips-yeeloong.rmk: Likewise.
3720 * conf/mips.rmk: Likewise.
3721 * conf/powerpc-ieee1275.rmk: Likewise.
3722 * conf/sparc64-ieee1275.rmk: Likewise.
3723 * conf/x86_64-efi.rmk: Likewise.
3724 * conf/i386-coreboot.rmk: Moved qemu parts ..
3725 * conf/i386-qemu.rmk: ... here
3726 * conf/i386-efi.rmk: Moved common parts to...
3727 * conf/x86-efi.rmk: ... here.
3728 * conf/i386.rmk: Added modules common to all x86 variants.
3729 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3730 * disk/memdisk.c: Remove grub/machine/kernel.h.
3731 * gensymlist.sh.in: Include symbol.h.
3732 * hook/datehook.c: Correct module name.
3733 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3734 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3735 * include/grub/i386/efi/serial.h: New file.
3736 * include/grub/x86_64/efi/serial.h: Likewise.
3737 * util/time.c: Likewise.
3738 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3739
3740 2010-03-14 Colin King <colin.king@ubuntu.com>
3741 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3742
3743 Shrink the pre-partition-table part of boot.img by eight bytes.
3744
3745 * boot/i386/pc/boot.S (ERR): New macro.
3746 (chs_mode): Use ERR.
3747 (geometry_error): Likewise.
3748 (hd_probe_error): Remove. This is only used once, so we wrwite
3749 it inline instead.
3750 (read_error): Instead of printing read_error_string, just set up
3751 %si and fall through to ...
3752 (error_message): ... this new function, also used by ERR.
3753
3754 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3755
3756 Speed up consecutive hostdisk operations on the same device.
3757
3758 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3759 (grub_util_biosdisk_open): Initialise disk->data.
3760 (struct linux_partition_cache): New structure.
3761 (linux_find_partition): Cache partition start positions; these are
3762 expensive to compute on every read and write.
3763 (open_device): Cache open file descriptor in disk->data, so that we
3764 don't have to reopen it and flush the buffer cache for consecutive
3765 operations on the same device.
3766 (grub_util_biosdisk_close): New function.
3767 (grub_util_biosdisk_dev): Set `close' member.
3768
3769 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3770 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3771 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3772 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3773 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3774
3775 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Compile parts of grub-emu as modules.
3778
3779 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3780 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3781 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3782 (all-local): Add $(GRUB_EMU).
3783 (install-local): Install $(GRUB_EMU).
3784 (uninstall): Uninstall $(GRUB_EMU).
3785 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3786 * kern/dl.c: Likewise.
3787 * commands/sleep.c: Not include machine/time.h.
3788 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3789 (COMMON_CFLAGS): Likewise.
3790 (sbin_UTILITIES): Remove grub-emu.
3791 (grub_emu_SOURCES): Removed.
3792 (kernel_img_RELOCATABLE): New variable.
3793 (pkglib_PROGRAMS): Add kernel.img.
3794 (kernel_img_SOURCES): New variable
3795 (kernel_img_CFLAGS): Likewise.
3796 (kernel_img_LDFLAGS): Likewise.
3797 (TARGET_NO_STRIP): Likewise.
3798 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3799 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3800 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3801 (grub-emu): New target.
3802 (GRUB_EMU): New variable.
3803 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3804 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3805 * loader/xnu.c: Likewise.
3806 * include/grub/pci.h: Likewise.
3807 * genemuinit.sh: New file.
3808 * genemuinitheader.sh: Likewise.
3809 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3810 Support TARGET_NO_DYNAMIC_MODULES.
3811 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3812 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3813 * disk/loopback.c: Likewise.
3814 * font/font_cmd.c: Likewise.
3815 * partmap/acorn.c: Likewise.
3816 * partmap/amiga.c: Likewise.
3817 * partmap/apple.c: Likewise.
3818 * partmap/gpt.c: Likewise.
3819 * partmap/msdos.c: Likewise.
3820 * partmap/sun.c: Likewise.
3821 * parttool/msdospart.c: Likewise.
3822 * term/gfxterm.c: Likewise.
3823 * video/bitmap.c: Likewise.
3824 * video/readers/jpeg.c: Likewise.
3825 * video/readers/png.c: Likewise.
3826 * video/readers/tga.c: Likewise.
3827 * video/video.c: Likewise.
3828 * util/grub-emu.c (read_command_list): Removed.
3829 (main): Don't call util_init_nls.
3830 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3831 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3832
3833 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3836 date.mod, datehook.mod.
3837 (datetime_mod_SOURCES): New variable.
3838 (datetime_mod_CFLAGS): Likewise.
3839 (datetime_mod_LDFLAGS): Likewise.
3840 (date_mod_SOURCES): Likewise.
3841 (date_mod_CFLAGS): Likewise.
3842 (date_mod_LDFLAGS): Likewise.
3843 (datehook_mod_SOURCES): Likewise.
3844 (datehook_mod_CFLAGS): Likewise.
3845 (datehook_mod_LDFLAGS): Likewise.
3846 * conf/sparc64-ieee1275.rmk: Likewise.
3847 * lib/ieee1275/datetime.c: New file.
3848
3849 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3852 (ieee1275_fb_mod_SOURCES): New variable.
3853 (ieee1275_fb_mod_CFLAGS): Likewise.
3854 (ieee1275_fb_mod_LDFLAGS): Likewise.
3855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3856 New proto.
3857 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3858 (HEAP_MAX_ADDR): Likewise.
3859 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3860 type.
3861 Correct stop condition.
3862 (grub_ieee1275_devices_iterate): New function.
3863 * video/ieee1275.c: New file.
3864
3865 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3868
3869 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3870 as scratch.
3871 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3872 SCRATCH_PAD_DISKBOOT as scratch.
3873 (bootit): Pass Openfirmware pointer in %o4.
3874 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3875 of 0x200000.
3876 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3877 with util/grub-mkrawimage.c.
3878 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3879 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3880 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3881 (grub_aout_load) [GRUB_UTIL]: Likewise.
3882 * include/grub/kernel.h (grub_modules_get_end): New proto.
3883 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3884 (SCRATCH_PAD_BOOT): New definition.
3885 (SCRATCH_PAD_DISKBOOT): Likewise.
3886 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3887 * include/grub/sparc64/ieee1275/ieee1275.h
3888 (grub_ieee1275_original_stack): New variable
3889 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3890 New definition
3891 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3892 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3893 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3894 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3895 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3896 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3897 (grub_platform_image_format_t): New type.
3898 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3899 * kern/main.c (grub_modules_get_end)
3900 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3901 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3902 (codestart): Switch stacks.
3903 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3904 variable.
3905 (grub_heap_init): Use grub_modules_get_end.
3906 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3907 stack.
3908 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3909 (main): Likewise.
3910 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3911
3912 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3913
3914 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3915
3916 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3917
3918 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3919 bug #559005).
3920
3921 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * genmoddep.awk: Output all missing symbols and not only first.
3924
3925 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * NEWS: Put the date of 1.98 release.
3928
3929 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3932 ft2build.h.
3933
3934 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3937 completition in the middle of string.
3938
3939 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * util/grub-mkrescue.in: Use mktemp with explicit template.
3942
3943 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3946
3947 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3950 right pointer.
3951
3952 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 Fix FreeBSD compilation.
3955
3956 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3957 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3958
3959 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3962
3963 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3966
3967 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3970
3971 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3972
3973 Support relative image path in theme file.
3974
3975 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3976 (image_set_property): Handle theme_dir and relative path.
3977
3978 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * configure.ac: Alias amd64 to x86_64.
3981
3982 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * NEWS: mention multiboot on EFI.
3985
3986 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * kern/main.c (grub_load_modules): Handle errors from init functions of
3989 embeded modules.
3990
3991 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * normal/autofs.c (autoload_fs_module): Handle errors.
3994
3995 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 Disable linux.mod on qemu-mips since it's not functional and leads
3998 to compilation failure.
3999
4000 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4001 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4002 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4003 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4004 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4005 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4006 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4007 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4008 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4009 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4010 Reported by: BVK Chaitanya
4011
4012 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4013
4014 * INSTALL: Add gettext as a dependency and add qemu to a new section
4015 "Prerequisites for make-check".
4016
4017 2010-03-04 Christian Franke <franke@computer.org>
4018
4019 * util/grub-pe2elf.c: Add missing include "progname.h".
4020
4021 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * normal/crypto.c (read_crypto_list): Fix a typo.
4024 Reported by: Seth Goldberg.
4025
4026 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
4029 Reported by: Seth Goldberg.
4030
4031 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4034 ascii.bitmaps.
4035
4036 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * genmk.rb: Remove terminal*.lst in make clean.
4039 Reported by: Seth Goldberg.
4040
4041 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * util/i386/efi/grub-install.in: Copy gettext files.
4044
4045 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4048
4049 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Wait for user entry basing on presence of output rather than on errors.
4052
4053 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4054 (grub_install_newline_hook): Likewise.
4055 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4056 * normal/menu.c (show_menu): Check line_counter to determine presence
4057 of output.
4058 * normal/term.c (grub_normal_line_counter): New variable.
4059 (grub_normal_get_line_counter): New function.
4060 (grub_install_newline_hook): Likewise.
4061
4062 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4065
4066 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * configure.ac: Update version to 1.98.
4069
4070 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * util/grub.d/10_linux.in (linux_entry): Don't default to
4073 gfxpayload=keep if Linux doesn't support video handover.
4074
4075 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Don't compile video modules on yeeloong since video subsystem is part
4078 of kernel.
4079
4080 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4081 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4082 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4083 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4084 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4085 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4086 * include/grub/bitmap_scale.h: Likewise.
4087 * include/grub/bufio.h: Likewise.
4088 * include/grub/font.h: Likewise.
4089 * include/grub/gfxterm.h: Likewise.
4090 * include/grub/video.h: Likewise.
4091 * include/grub/vbe.h: Don't include video_fb.h.
4092 * video/i386/pc/vbe.c: Include video_fb.h.
4093 * commands/i386/pc/vbetest.c: Include video.h.
4094
4095 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4096
4097 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4098 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4099 default entry if GRUB_SAVEDEFAULT=true. This allows using
4100 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4101 saving a new default on every boot.
4102
4103 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4106 * normal/term.c (read_terminal_list): Likewise.
4107 * normal/main.c (grub_normal_init_page): Likewise.
4108 (grub_normal_read_line_real): Likewise.
4109
4110 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4113 memory leak.
4114 Reported by: Seth Goldberg.
4115
4116 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4117
4118 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4119 duplicate declaration of `start'.
4120
4121 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4124 filename.
4125 Reported by: Georgy Buranov
4126
4127 2010-02-20 Carles Pina i Estany <carles@pina.cat>
4128
4129 * util/grub-mkrawimage.c (usage): Change string formatting to
4130 improve gettext.
4131
4132 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4133
4134 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4135 backspace keys.
4136
4137 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4140 Reported by: Michael Suchanek.
4141
4142 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
4143
4144 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4145 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4146
4147 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Remove any reference to non-free fonts.
4150
4151 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4152 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4153 uses non-free components.
4154 * font/font.c (grub_font_get_name): Remove example name.
4155 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4156 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4157 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4158 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4159
4160 2010-02-16 Georgy Buranov <gburanov@gmail.com>
4161
4162 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4163
4164 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4167 Double divisor.
4168 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4169 features.
4170 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4171
4172 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4175
4176 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4177
4178 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4179 * docs/grub.texi (Command-line and menu entry commands): Document play
4180 command.
4181
4182 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4183
4184 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4185 parse arguments as inline tempo and notes. Move code for playing notes
4186 to...
4187 (play): ... new function.
4188
4189 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4190
4191 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4192 grub_uint16_t instead of short.
4193 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4194 disk from little endian to cpu endianness.
4195
4196 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4197
4198 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4199 GRUB_TICKS_PER_SECOND instead of 120.
4200
4201 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4204 escape sequence after \e.
4205
4206 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4209 non-ASCII characters.
4210
4211 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4214 set root in single quotes to prevent \, from being unescaped.
4215
4216 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 Prevent unknown commands from stopping menuentry execution.
4219
4220 * script/execute.c (grub_script_execute_cmdline): Print error after
4221 unknown command.
4222
4223 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4226 Reported by: Pavel Pisa.
4227
4228 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4231
4232 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 Merge grub_ieee1275_map_physical into grub_map and rename to
4235 grub_ieee1275_map
4236
4237 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4238 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4239 Remove.
4240 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4241 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4242 necessary.
4243 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4244
4245 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4248 opening and not after.
4249
4250 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4253 constants.
4254
4255 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4258 (alloc_phys): Use ALIGN_UP instead of align_addr.
4259
4260 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4263
4264 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4267
4268 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4271 verbose dprintf.
4272
4273 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Fix over-4GiB seek on sparc64.
4276
4277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4278 Replace pos_i and pos_lo with pos. All users updated.
4279 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4280 New constant.
4281 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4282 Likewise.
4283 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4284 and pos_lo.
4285
4286 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * util/grub-mkrawimage.c (main): Call set_program_name.
4289
4290 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Properly align 64-bit targets.
4293
4294 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4295 (generate_image): Use ALIGN_ADDR.
4296
4297 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 Properly create cross-endian images.
4300
4301 * include/grub/types.h (grub_host_to_target_addr): New macro
4302 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4303
4304 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4307
4308 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4311
4312 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4313 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4314 (grub_linux_boot): Divide by 64K when on VESA.
4315
4316 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 Support GRUB_GFXPAYLOAD_LINUX.
4319
4320 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4321 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4322
4323 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4326 to show messages instead of discarding them.
4327 Process errors after executing command and not before. Keep old method
4328 too as precaution.
4329
4330 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * configure.ac: Check for ft2build.h.
4333
4334 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4337
4338 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * genkernsyms.sh.in: Use TARGET_CC.
4341
4342 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4343
4344 * NEWS: Update.
4345
4346 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * include/grub/multiboot2.h: Remove leftover file.
4349 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4350 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4351
4352 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4353
4354 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4355
4356 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Fix warnings in grub-emu when compiling with maximum warning options.
4359
4360 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4361 (grub_arch_modules_addr): Return 0 and not NULL.
4362 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4363 (xstrdup): Use newstr instead of dup.
4364 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4365 of disk to dsk to avoid shadowing.
4366 (find_free_slot): Fix prototype.
4367 * util/getroot.c (grub_util_is_dmraid): Make static.
4368 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4369 Add missing prototype.
4370 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4371
4372 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4375 appropriately.
4376
4377 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4380 code out.
4381
4382 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4385 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4386 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4387 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4388 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4389 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4390
4391 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * include/grub/err.h (grub_err_printf): Don't export.
4394
4395 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4398
4399 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4402 * kern/misc.c (grub_gettext_dummy): Make static.
4403
4404 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4407 by non-valid ones.
4408 * kern/term.c (grub_putchar): Likewise.
4409
4410 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4413 buggy hook call and memory leak.
4414
4415 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4418
4419 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4422
4423 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4426 modevar.
4427 Return grub_errno on allocation error.
4428
4429 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4432
4433 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4434
4435 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4436 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4437
4438 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4441 non-pxe disk.
4442 (grub_pxefs_open): Likewise.
4443
4444 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4445
4446 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4447 * util/grub.d/10_kfreebsd.in: Likewise.
4448 * util/grub.d/10_linux.in: Likewise.
4449
4450 2010-02-06 Colin D Bennett <colin@gibibit.com>
4451
4452 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4453 (gfxmenu_mod_SOURCES): New variable.
4454 (gfxmenu_mod_CFLAGS): Likewise.
4455 (gfxmenu_mod_LDFLAGS): Likewise.
4456 * include/grub/term.h (grub_term_set_current_output): Declare
4457 argument as const.
4458 * docs/gfxmenu-theme-example.txt: New file.
4459 * gfxmenu/gfxmenu.c: Likewise.
4460 * gfxmenu/gui_box.c: Likewise.
4461 * gfxmenu/gui_canvas.c: Likewise.
4462 * gfxmenu/gui_circular_progress.c: Likewise.
4463 * gfxmenu/gui_image.c: Likewise.
4464 * gfxmenu/gui_label.c: Likewise.
4465 * gfxmenu/gui_list.c: Likewise.
4466 * gfxmenu/gui_progress_bar.c: Likewise.
4467 * gfxmenu/gui_string_util.c: Likewise.
4468 * gfxmenu/gui_util.c: Likewise.
4469 * gfxmenu/icon_manager.c: Likewise.
4470 * gfxmenu/model.c: Likewise.
4471 * gfxmenu/named_colors.c: Likewise.
4472 * gfxmenu/theme_loader.c: Likewise.
4473 * gfxmenu/view.c: Likewise.
4474 * gfxmenu/widget-box.c: Likewise.
4475 * include/grub/gfxmenu_model.h: Likewise.
4476 * include/grub/gfxmenu_view.h: Likewise.
4477 * include/grub/gfxwidgets.h: Likewise.
4478 * include/grub/gui.h: Likewise.
4479 * include/grub/gui_string_util.h: Likewise.
4480 * include/grub/icon_manager.h: Likewise.
4481
4482 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Agglomerate scrolling in gfxterm.
4485
4486 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4487 (grub_virtual_screen_setup): Initialise 'total_screen'.
4488 (write_char): Split to ...
4489 (paint_char): ... this ...
4490 (write_char): ... and this.
4491 (paint_char): Handle delayed scrolling.
4492 (draw_cursor): Likewise.
4493 (scroll_up): Split to ...
4494 (real_scroll): ... this ...
4495 (scroll_up): ... and this.
4496 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4497 characters.
4498 (grub_gfxterm_refresh): Call real_scroll.
4499
4500 2010-02-06 Colin D Bennett <colin@gibibit.com>
4501
4502 * include/grub/misc.h (grub_iscntrl): New inline function.
4503 (grub_isalnum): Likewise.
4504 (grub_strtol): Likewise.
4505
4506 2010-02-06 Colin D Bennett <colin@gibibit.com>
4507
4508 * normal/menu_text.c (get_entry_number): Move from here ...
4509 * normal/menu.c (get_entry_number): ... moved here.
4510 * include/grub/menu.h (grub_menu_get_default_entry_index):
4511 New prototype.
4512 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4513 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4514 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4515 (grub_menu_viewer_should_return): Likewise.
4516 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4517 * normal/menu_text.c (run_menu): Enable menu switching.
4518 * normal/menu_viewer.c (should_return): New variable.
4519 (menu_viewer_changed): Likewise.
4520 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4521 (grub_menu_viewer_should_return): New function.
4522 (menuviewer_write_hook): Likewise.
4523 (grub_menu_viewer_init): Likewise.
4524
4525 2010-02-06 Colin D Bennet <colin@gibibit.com>
4526 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 Support for gfxterm in a window.
4529
4530 * include/grub/gfxterm.h: New file.
4531 * include/grub/video.h (struct grub_video_rect): New declaration.
4532 (grub_video_rect_t): Likewise.
4533 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4534 (refcount): New variable.
4535 (render_target): Likewise.
4536 (window): Likewise.
4537 (repaint_callback): Likewise.
4538 (grub_virtual_screen_setup): Use 'render_target'.
4539 (init_window): New function.
4540 (grub_gfxterm_init_window): Likewise.
4541 (grub_gfxterm_init): Check reference counter.
4542 Use init_window.
4543 (destroy_window): New function.
4544 (grub_gfxterm_destroy_window): Likewise.
4545 (grub_gfxterm_fini): Check reference counter.
4546 Use destroy_window.
4547 (redraw_screen_rect): Restore viewport.
4548 Use 'render_target' and 'window'.
4549 Call 'repaint_callback'.
4550 (write_char): Use 'render_target'.
4551 (draw_cursor): Likewise.
4552 (scroll_up): Restore viewport.
4553 Use 'render_target' and 'window'.
4554 Call 'repaint_callback'.
4555 (grub_gfxterm_cls): Likewise.
4556 (grub_gfxterm_refresh): Use 'window'.
4557 (grub_gfxterm_set_repaint_callback): New function.
4558 (grub_gfxterm_background_image_cmd): Use 'window'.
4559 (grub_gfxterm_get_term): New function.
4560 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4561
4562 2010-02-06 Colin D Bennett <colin@gibibit.com>
4563
4564 Bitmap scaling support.
4565
4566 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4567 (bitmap_scale_mod_SOURCES): New variable.
4568 (bitmap_scale_mod_CFLAGS): Likewise.
4569 (bitmap_scale_mod_LDFLAGS): Likewise.
4570 * include/grub/bitmap_scale.h: New file.
4571 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4572 (background_image_cmd_options): New variable.
4573 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4574 (cmd): Rename and change type to ...
4575 (background_image_cmd_handle): ... this. All users updated.
4576 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4577 * video/bitmap_scale.c: New file.
4578
4579 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 SDL support.
4582
4583 * Makefile.in (LIBSDL): New variable.
4584 (enable_grub_emu_sdl): Likewise.
4585 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4586 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4587 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4588 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4589 * util/sdl.c: New file.
4590
4591 2010-02-06 Colin D Bennett <colin@gibibit.com>
4592 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 Double buffering support.
4595
4596 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4597 * include/grub/video.h: Update comment.
4598 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4599 New type.
4600 (grub_video_fb_doublebuf_blit_init): New prototype.
4601 * term/gfxterm.c (scroll_up): Support double buffering.
4602 (grub_gfxterm_refresh): Likewise.
4603 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4604 (grub_video_fb_doublebuf_blit_init): Likewise.
4605 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4606 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4607 'displayed_page', 'render_page' and 'update_screen'.
4608 (grub_video_vbe_fini): Free offscreen buffer.
4609 (doublebuf_pageflipping_commit): New function.
4610 (doublebuf_pageflipping_update_screen): Likewise.
4611 (doublebuf_pageflipping_init): Likewise.
4612 (double_buffering_init): Likewise.
4613 (grub_video_vbe_setup): Enable doublebuffering.
4614 (grub_video_vbe_swap_buffers): Implement.
4615 (grub_video_vbe_set_active_render_target): Handle double buffering.
4616 (grub_video_vbe_get_active_render_target): Likewise.
4617 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4618 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4619 (grub_video_vbe_enable_double_buffering): Likewise.
4620 (grub_video_vbe_swap_buffers): Use update_screen.
4621 (grub_video_set_mode): Use double buffering.
4622
4623 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4624
4625 * maintainance/gentrigtables.py: Remove.
4626 * lib/trig.c: Likewise.
4627
4628 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4629
4630 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4631 `trigtables.c'.
4632 (trigtables.c): New rule.
4633 (gentrigtables): Likewise.
4634 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4635
4636 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4637
4638 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4639 integer constants.
4640
4641 2010-02-06 Colin D Bennet <colin@gibibit.com>
4642
4643 Trigonometry support.
4644
4645 * include/grub/trig.h: New file.
4646 * lib/trig.c: Likewise.
4647 * maintainance/gentrigtables.py: Likewise.
4648 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4649 (trig_mod_SOURCES): New variable.
4650 (trig_mod_CFLAGS): Likewise.
4651 (trig_mod_LDFLAGS): Likewise.
4652
4653 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4656 disk devices.
4657
4658 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4661 error.
4662
4663 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * util/hostdisk.c (open_device): Don't use partition device when reading
4666 before the partition.
4667 (grub_util_biosdisk_read): Don't read from partition and before the
4668 partition in single operation.
4669 (grub_util_biosdisk_write): Don't write to partition and before the
4670 partition in single operation.
4671
4672 2010-02-03 Torsten Landschoff <torsten@debian.org>
4673
4674 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4675 last sectors.
4676
4677 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4680 CDROM reads.
4681 (grub_biosdisk_write): Refuse to write to CDROM.
4682
4683 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4686
4687 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * font/font.c (find_glyph): Check that bmp_idx is available before
4690 using it.
4691 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4692 with (font == NULL).
4693
4694 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4695
4696 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4697
4698 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4699
4700 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4701 * util/grub-script-check.c (getline): Fix empty lines case.
4702
4703 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4704
4705 * Makefile.in (check): Exit with fail status when one of the tests
4706 fails.
4707 * tests/example_functional_test.c (example_test): Fix reversed assert.
4708 * tests/example_unit_test.c (example_test): Likewise.
4709
4710 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4711
4712 * util/grub.d/10_linux.in: This script does not use any of the
4713 contents of gettext.sh, only the external command `gettext', so stop
4714 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4715 the same prefix as GRUB.)
4716 * util/grub.d/10_kfreebsd.in: Likewise.
4717
4718 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4721 of the line.
4722
4723 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4726 last sectors.
4727
4728 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4731 having a 4KiB and not 32KiB buffer size.
4732
4733 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4734
4735 * util/hostfs.c: Include `<errno.h>'.
4736 (grub_hostfs_read): Handle errors from fseeko() and fread().
4737
4738 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4739
4740 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4741 loop when using read hooks on files whose size isn't sector-aligned.
4742
4743 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4744
4745 Remove unused parameter.
4746
4747 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4748 (grub_iso9660_open): Remove initialization of `data->length'.
4749
4750 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4751
4752 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4753 memleak conditions.
4754
4755 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4756
4757 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4758 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4759
4760 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4761
4762 * util/bin2h.c (usage): Fix warning (space after backslash).
4763
4764 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4765
4766 * font/font.c: Include `grub/fontformat.h.
4767 Remove font file format constants.
4768 (grub_font_load): Use the new macros.
4769 * include/grub/fontformat.h: New file.
4770 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4771 (write_font_pf2): Use the new macros.
4772
4773 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4774
4775 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4776 does.
4777
4778 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4779
4780 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4781
4782 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4783 (_start): Macroify `0x7F'.
4784
4785 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4786 (make_install_device): Use "(pxe)" as fallback prefix when booting
4787 via PXE.
4788
4789 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * configure.ac: Reset LIBS after check for libgcc symbols.
4792
4793 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4794
4795 * util/hostdisk.c (open_device): Add trailing newline to debug
4796 message.
4797
4798 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4799
4800 * configure.ac: Check for `limits.h'.
4801 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4802
4803 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4804
4805 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4806 capitalize error strings.
4807
4808 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4809
4810 * util/grub.d/10_hurd.in: Add a recovery mode.
4811
4812 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * configure.ac: Check for libgcc symbols with -nostdlib.
4815
4816 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4817
4818 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4819
4820 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4823 stack since heap may be unavailable at that point.
4824 (grub_ofconsole_gotoxy): Likewise.
4825
4826 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * configure.ac: Check for _restgpr_14_x.
4829 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4830 and _savegpr_* prototypes.
4831
4832 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4833
4834 Use generic grub_reboot() for i386-efi.
4835
4836 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4837 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4838 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4839
4840 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4843 presence of "prefix" variable as it breaks when normal.mod is
4844 embedded.
4845
4846 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4849 stack since heap is unavailable at that point.
4850
4851 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4854 (grub_freebsd_bootinfo): Rewritten.
4855 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4856
4857 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4860
4861 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4862
4863 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4864 domain now.
4865
4866 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4867
4868 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4869 around for handling "/" to the correct fix. Fix a memory leak. Use
4870 xstrdup instead of strdup.
4871
4872 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4875
4876 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4879
4880 * font/font.c (struct grub_font): New member 'bmp_idx'.
4881 (font_init): Initialise 'bmp_idx'.
4882 (load_font_index): Fill 'bmp_idx'.
4883 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4884
4885 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4888 unnecessary calls.
4889
4890 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 Move context handling out of the kernel.
4893
4894 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4895 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4896 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4897 * conf/i386-efi.rmk: Likewise.
4898 * conf/i386-ieee1275.rmk: Likewise.
4899 * conf/i386-pc.rmk: Likewise.
4900 * conf/powerpc-ieee1275.rmk: Likewise.
4901 * conf/sparc64-ieee1275.rmk: Likewise.
4902 * conf/x86_64-efi.rmk: Likewise.
4903 * include/grub/env.h: Include grub/menu.h.
4904 (grub_env_var_type): Removed.
4905 (grub_env_var): Replaced field 'type' with 'global'.
4906 (grub_env_find): New prototype.
4907 (grub_env_context_open): Remove EXPORT_FUNC.
4908 (grub_env_context_close): Likewise.
4909 (grub_env_export): Likewise.
4910 (grub_env_set_data_slot): Removed.
4911 (grub_env_get_data_slot): Likewise.
4912 (grub_env_unset_data_slot): Likewise.
4913 (grub_env_unset_menu): New prototype.
4914 (grub_env_set_menu): Likewise.
4915 (grub_env_get_menu): Likewise.
4916 * include/grub/env_private.h: New file.
4917 * include/grub/normal.h (grub_context_init): New prototype.
4918 (grub_context_fini): Likewise.
4919 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4920 * normal/context.c (grub_cmd_export): ... to here.
4921 * kern/env.c: Include env_private.h.
4922 (HASHSZ): Moved to include/grub/env_private.h.
4923 (grub_env_context): Likewise.
4924 (grub_env_sorted_var): Likewise.
4925 (current_context): Renamed from this ...
4926 (grub_current_context): ...to this. 'static' removed. All users updated.
4927 (grub_env_find): Removed 'static'.
4928 (grub_env_context_open): Moved to normal/context.c.
4929 (grub_env_context_close): Likewise.
4930 (grub_env_export): Likewise.
4931 (mangle_data_slot_name): Removed.
4932 (grub_env_set_data_slot): Likewise.
4933 (grub_env_get_data_slot): Likewise.
4934 (grub_env_unset_data_slot): Likewise.
4935 * kern/main.c (grub_set_root_dev): Don't export root.
4936 It will be done later.
4937 (grub_main): Don't export prefix.
4938 It will be done later.
4939 * normal/context.c: New file.
4940 * normal/main.c (free_menu): Use grub_env_unset_menu.
4941 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4942 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4943 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4944 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4945
4946 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 setpci support.
4949
4950 * commands/setpci.c: New file.
4951 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4952 (setpci_mod_SOURCES): New variable.
4953 (setpci_mod_CFLAGS): Likewise.
4954 (setpci_mod_LDFLAGS): Likewise.
4955
4956 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 Byte-addressable PCI configuration space.
4959
4960 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4961 dword address.
4962 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4963 GRUB_PCI_REG_CACHELINE.
4964 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4965 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4966 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4967 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4968 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4969 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4970 grub_pci_make_address.
4971 (lock_rom_area): Likewise.
4972 * commands/lspci.c (grub_lspci_iter): Use macroses
4973 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4974 of grub_pci_make_address.
4975 * disk/ata.c (grub_ata_pciinit): Likewise.
4976 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4977 (GRUB_PCI_REG_VENDOR): Likewise.
4978 (GRUB_PCI_REG_DEVICE): Likewise.
4979 (GRUB_PCI_REG_COMMAND): Likewise.
4980 (GRUB_PCI_REG_STATUS): Likewise.
4981 (GRUB_PCI_REG_REVISION): Likewise.
4982 (GRUB_PCI_REG_CLASS): Likewise.
4983 (GRUB_PCI_REG_CACHELINE): Likewise.
4984 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4985 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4986 (GRUB_PCI_REG_BIST): Likewise.
4987 (GRUB_PCI_REG_ADDRESSES): Likewise.
4988 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4989 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4990 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4991 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4992 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4993 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4994 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4995 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4996 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4997 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4998 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4999 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5000 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5001 (GRUB_PCI_REG_MIN_GNT): Likewise.
5002 (GRUB_PCI_REG_MAX_LAT): Likewise.
5003 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5004 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5005 * video/efi_uga.c (find_framebuf): Likewise.
5006 * video/sm712.c (grub_video_sm712_setup): Likewise.
5007 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5008 space.
5009
5010 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5011
5012 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5013 can be reliably determined to be supported.
5014
5015 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5016
5017 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5018 that VESA is supported.
5019 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5020 supported.
5021
5022 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5025
5026 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5027
5028 * util/misc.c (make_system_path_relative_to_its_root): Work around
5029 special-casing of "/", as previous incarnation of this routine did.
5030
5031 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 Fix any-emu compilation.
5034
5035 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5036 * grub_bin2h_SOURCES: New variable.
5037
5038 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5039
5040 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5041
5042 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5043
5044 * util/grub.d/00_header.in: Fix handling of locale_dir.
5045
5046 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5049 as possible unifont location (Gentoo).
5050 Reported by: Alexander Brüning
5051
5052 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Don't try to generate lists for kernel.img.
5055
5056 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5057 (pkglib_MODULES): Remove kernel.img.
5058 (kernel_img_EXPORTS): Removed.
5059 (kernel_img_RELOCATABLE): New variable.
5060 * conf/x86_64-efi.rmk: Likewise.
5061 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5062
5063 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5066 grub_xasprintf or grub_snprintf.
5067 (grub_vsprintf): Likewise.
5068 (grub_snprintf): New proto.
5069 (grub_vsnprintf): Likewise.
5070 (grub_xasprintf): Likewise.
5071 (grub_xvasprintf): Likewise.
5072 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5073 (grub_sprintf): Removed.
5074 (grub_vsnprintf): New function.
5075 (grub_snprintf): Likewise.
5076 (grub_xvasprintf): Likewise.
5077 (grub_xasprintf): Likewise.
5078 (grub_vsprintf): Renamed to ...
5079 (grub_vsnprintf_real): ...this. New argument max_len.
5080
5081 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5082
5083 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5084 fix grub-script-check warning.
5085
5086 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * include/grub/font.h (grub_font_load): Fix prototype.
5089
5090 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5093
5094 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * include/grub/x86_64/at_keyboard.h: New file.
5097
5098 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * loader/mips/linux.c: Include missing grub/i18n.h.
5101
5102 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5103
5104 * normal/menu.c (notify_execution_failure): Clarify error message.
5105
5106 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5107
5108 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5109 return value (and revert all return statements). Update users.
5110
5111 2010-01-20 Dan Merillat <debian@dan.merillat.org>
5112
5113 * kern/device.c (grub_device_iterate): Allocate new part_ent
5114 structure based on sizeof (*p) rather than sizeof (p->next), to
5115 account for structure padding.
5116
5117 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5118 disk is NULL, which might happen for LVM physical volumes with no
5119 LVM signature.
5120
5121 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5122
5123 * loader/mips/linux.c (grub_cmd_initrd)
5124 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5125
5126 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5127
5128 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5129 (grub_video_video_init, grub_video_bitmap_init)
5130 (grub_font_manager_init, grub_term_gfxterm_init)
5131 (grub_at_keyboard_init): New extern declarations.
5132 (grub_machine_init): Initialize gfxterm and at_keyboard.
5133
5134 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5135
5136 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5137 `gfxterm.mod' into core image.
5138
5139 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5140 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5141 (kernel_img_FORMAT): Copy to ...
5142
5143 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5144 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5145 (kernel_img_FORMAT): ... here, and ...
5146
5147 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5148 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5149 (kernel_img_FORMAT): ... here.
5150
5151 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5152 and input (at_keyboard) terminals in kernel.
5153 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5154
5155 (pkglib_MODULES): Remove `pci.mod'.
5156 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5157 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5158 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5159 (at_keyboard_mod_LDFLAGS): Remove variables.
5160
5161 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
5162
5163 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5164
5165 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5166
5167 * include/grub/mips/libgcc.h: Only export symbols for functions
5168 that libgcc provides.
5169
5170 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 MIPS support.
5173
5174 * bus/bonito.c: New file.
5175 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5176 GRUB_PCI_NUM_DEVICES.
5177 * term/i386/pc/serial.c: Move to ...
5178 * term/serial.c: ... here. All users updated.
5179 * util/i386/pc/grub-mkimage.c: Move to ...
5180 * util/grub-mkrawimage.c: ... here. All users updated.
5181 * term/i386/pc/at_keyboard.c: Move to ...
5182 * term/at_keyboard.c: ... here. All users updated.
5183 * conf/mips-qemu-mips.rmk: New file.
5184 * conf/mips-yeeloong.rmk: Likewise.
5185 * conf/mips.rmk: Likewise.
5186 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5187 mipsel-qemu-mips.
5188 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5189 to port addresses.
5190 (grub_ata_pciinit): Support CS5536.
5191 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5192 * font/font_cmd.c (loadfont_command): Open file before passing it to
5193 grub_font_load.
5194 (pseudo_file_read): New function.
5195 (pseudo_file_close): Likewise.
5196 (pseudo_fs): New structure.
5197 (load_font_module): New function.
5198 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5199 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5200 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5201 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5202 * include/grub/i386/at_keyboard.h: Split into ...
5203 * include/grub/at_keyboard.h: ... this ...
5204 * include/grub/i386/at_keyboard.h: ... and this.
5205 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5206 New prototype.
5207 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5208 updated.
5209 (grub_elf64_size): Likewise.
5210 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5211 filename.
5212 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5213 * include/grub/i386/coreboot/serial.h: Rewritten.
5214 * include/grub/i386/ieee1275/serial.h: Include
5215 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5216 * include/grub/i386/pc/serial.h: Moved from here ...
5217 * include/grub/serial.h: ... to here. All users updated.
5218 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5219 (GRUB_PCI_NUM_BUS): Likewise.
5220 (GRUB_PCI_NUM_DEVICES): Likewise.
5221 (grub_pci_device_map_range): Add missing volatile keyword.
5222 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5223 * include/grub/mips/at_keyboard.h: New file.
5224 * include/grub/mips/cache.h: Likewise.
5225 * include/grub/mips/io.h: Likewise.
5226 * include/grub/mips/kernel.h: Likewise.
5227 * include/grub/mips/libgcc.h: Likewise.
5228 * include/grub/mips/pci.h: Likewise.
5229 * include/grub/mips/qemu-mips/boot.h: Likewise.
5230 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5231 * include/grub/mips/qemu-mips/loader.h: Likewise.
5232 * include/grub/mips/qemu-mips/memory.h: Likewise.
5233 * include/grub/mips/qemu-mips/serial.h: Likewise.
5234 * include/grub/mips/qemu-mips/time.h: Likewise.
5235 * include/grub/mips/relocator.h: Likewise.
5236 * include/grub/mips/time.h: Likewise.
5237 * include/grub/mips/types.h: Likewise.
5238 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5239 * include/grub/mips/yeeloong/boot.h: Likewise.
5240 * include/grub/mips/yeeloong/kernel.h: Likewise.
5241 * include/grub/mips/yeeloong/loader.h: Likewise.
5242 * include/grub/mips/yeeloong/memory.h: Likewise.
5243 * include/grub/mips/yeeloong/pci.h: Likewise.
5244 * include/grub/mips/yeeloong/serial.h: Likewise.
5245 * include/grub/mips/yeeloong/time.h: Likewise.
5246 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5247 * kern/elf.c (grub_elf32_size): New parameter. All users
5248 updated.
5249 (grub_elf64_size): Likewise.
5250 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5251 Load modules before saying "Welcome to GRUB!".
5252 Call grub_refresh after saying "Welcome to GRUB!".
5253 * kern/mips/cache.S: New file.
5254 * kern/mips/cache_flush.S: Likewise.
5255 * kern/mips/dl.c: Likewise.
5256 * kern/mips/init.c: Likewise.
5257 * kern/mips/qemu-mips/init.c: Likewise.
5258 * kern/mips/startup.S: Likewise.
5259 * kern/mips/yeeloong/init.c: Likewise.
5260 * kern/term.c (grub_putcode): Handle NULL terminal.
5261 (grub_getcharwidth): Likewise.
5262 (grub_getkey): Likewise.
5263 (grub_checkkey): Likewise.
5264 (grub_getkeystatus): Likewise.
5265 (grub_getxy): Likewise.
5266 (grub_getwh): Likewise.
5267 (grub_gotoxy): Likewise.
5268 (grub_cls): Likewise.
5269 (grub_setcolorstate): Likewise.
5270 (grub_setcolor): Likewise.
5271 (grub_getcolor): Likewise.
5272 (grub_refresh): Likewise.
5273 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5274 (write_jump): Add hatch nop.
5275 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5276 * lib/mips/setjmp.S: New file.
5277 * loader/mips/linux.c: Likewise.
5278 * term/i386/pc/at_keyboard.c: Move from here ...
5279 * term/at_keyboard.c: ... to here.
5280 * term/i386/pc/serial.c: Moved from here ...
5281 * term/serial.c: ... to here. All users updated.
5282 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5283 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5284 (serial_translate_key_sequence): Avoid deadlock.
5285 (grub_serial_getkey): Handle backspace.
5286 (grub_serial_putchar): Fix newline handling.
5287 * util/i386/pc/grub-mkimage.c: Move from here ...
5288 * util/grub-mkrawimage.c: ... to here. All users updated.
5289 (generate_image): New parameters 'font_path' and 'format'.
5290 Support embedding font.
5291 Use grub_host_to_target* instead of grub_cpu_to_le*.
5292 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5293 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5294 (options): New option "--font".
5295 (usage): Likewise.
5296 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5297 (main): Handle "--font".
5298 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5299 (grub_virtual_screen_setup): Set bg_color_display.
5300 (redraw_screen_rect): Use bg_color_display instead of incorrect
5301 bg_color.
5302 (grub_gfxterm_cls): Likewise.
5303 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5304 Support embedding config file.
5305 (add_segments): Likewise.
5306 (options): New option "--config".
5307 (main): Handle "--config".
5308 * video/sm712.c: New file.
5309
5310 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5311
5312 Fix parallel builds.
5313
5314 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5315 font.c depend on ascii.h).
5316
5317 2010-01-12 Carles Pina i Estany <carles@pina.cat>
5318
5319 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5320
5321 2010-01-11 Carles Pina i Estany <carles@pina.cat>
5322
5323 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5324 By default: disabled.
5325 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5326 parameter.
5327
5328 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5329
5330 * font/font.c: Update copyright years.
5331 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5332
5333 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5334
5335 * font/font.c: Include `ascii.h'.
5336 (ASCII_BITMAP_SIZE): New macro.
5337 (ascii_font_glyph): Define.
5338 (ascii_glyph_lookup): New function.
5339 (grub_font_get_string_width): Change comment. If glyph not found, use
5340 ascii_glyph_lookup.
5341 (grub_font_get_glyph_with_fallback): If glyph not available returns
5342 ascii_glyph_lookup.
5343 * util/grub-mkfont.c (file_formats): New enum.
5344 (options): Add `ascii-bitmaps' new option.
5345 (usage): Add `asii-bitmaps' new option.
5346 (write_font_ascii_bitmap): New function.
5347 (write_font): Rename to ...
5348 (write_font_p2): ... this. Remove print_glyphs call.
5349 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5350 used. Call print_glyphs.
5351 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5352
5353 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5354
5355 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5356 (grub_bin2h_SOURCES): New variable.
5357 * util/bin2h.c: New file.
5358
5359 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * include/multiboot.h: Resynced with spec.
5362 * include/multiboot2.h: Likewise.
5363 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5364 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5365
5366 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5367
5368 * include/grub/term.h (grub_term_register_input,
5369 grub_term_register_output): Check return of terminal init()
5370 routines, and abort if errors are raised.
5371
5372 * commands/terminal.c: Update copyright year.
5373
5374 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5375
5376 * commands/terminal.c (grub_cmd_terminal_input)
5377 (grub_cmd_terminal_output): Check return of terminal init()
5378 routines, and abort if errors are raised.
5379
5380 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * include/grub/i386/bsd.h: Fix include pathes.
5383
5384 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 Add missing *BSD copyright headers.
5387
5388 * include/grub/aout.h: Add BSD licence.
5389 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5390 * include/grub/i386/freebsd_linker.h: ... here,
5391 * include/grub/i386/freebsd_reboot.h: ... here,
5392 * include/grub/i386/netbsd_bootinfo.h: ... here,
5393 * include/grub/i386/netbsd_reboot.h: ... here,
5394 * include/grub/i386/openbsd_bootarg.h: ... here,
5395 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5396 licence to each file.
5397
5398 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5399
5400 * acinclude.m4: Remove `nop' assembly instruction; it's not
5401 implemented by all architectures.
5402
5403 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5404
5405 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5406 ELILO. This is no longer necessary.
5407
5408 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5409
5410 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5411
5412 * util/grub-script-check.c: grub-script-check tool.
5413 * conf/common.rmk: Make rules for grub-script-check.
5414
5415 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5418 spotting it back in 2008. Shame on me for forgetting he did.
5419
5420 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5421
5422 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5423
5424 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5425 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5426 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5427 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5428 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5429 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5430
5431 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5432
5433 * include/grub/test.h: Add license header.
5434 * tests/example_functional_test.c: Likewise.
5435 * tests/example_unit_test.c: Likewise.
5436 * tests/lib/functional_test.c: Likewise.
5437 * tests/lib/test.c: Likewise.
5438 * tests/lib/unit_test.c: Likewise.
5439
5440 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 Use flag-based instead of hook-based video mode selection and "auto"
5443 keyword.
5444
5445 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5446 (grub_video_set_mode): Changed prototype. All users updated.
5447 (grub_video_check_mode_flag): New inline function.
5448 * video/video.c (parse_modespec): New function.
5449 (grub_video_set_mode): Parse flags and keywords.
5450
5451 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5452
5453 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5454 fprintf call.
5455
5456 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5457
5458 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5459
5460 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5461
5462 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5463 string.
5464 * util/grub-emu.c (usage): Likewise.
5465 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5466 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5467 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5468 * util/i386/pc/grub-setup.c (usage): Likewise.
5469
5470 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5471
5472 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5473 the message.
5474 (grub_util_info): Likewise.
5475 (grub_util_error): Likewise.
5476 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5477 and/or new lines in `grub_util_warna', `grub_util_info',
5478 `grub_util_error' calls.
5479 * util/getroot.c: Likewise.
5480 * util/grub-editenv.c: Likewise.
5481 * util/grub-emu.c: Likewise.
5482 * util/grub-fstest.c: Likewise.
5483 * util/grub-mkdevicemap.c: Likewise.
5484 * util/grub-mkfont.c: Likewise.
5485 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5486 * util/grub-mkrelpath.c: Likewise.
5487 * util/grub-pe2elf.c: Likewise.
5488 * util/grub-probe.c: Likewise.
5489 * util/hostdisk.c: Likewise.
5490 * util/i386/efi/grub-mkimage.c: Likewise.
5491 * util/i386/pc/grub-mkimage.c: Likewise.
5492 * util/i386/pc/grub-setup.c: Likewise.
5493 * util/ieee1275/ofpath.c: Likewise.
5494 * util/mkisofs/eltorito.c: Likewise.
5495 * util/mkisofs/rock.c: Likewise.
5496 * util/mkisofs/write.c: Likewise.
5497 * util/raid.c: Likewise.
5498 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5499 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5500
5501 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 Enable multiboot on non-pc.
5504
5505 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5506 multiboot.mod and multiboot2.mod to ...
5507 * conf/i386.rmk (pkglib_MODULES): ... here.
5508 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5509 Moved to ...
5510 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5511 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5512 Moved to ...
5513 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5514 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5515 Moved to ...
5516 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5517 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5518 Moved to ...
5519 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5520 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5521 relocator.mod.
5522 (ata_mod_SOURCES): Removed.
5523 (ata_mod_CFLAGS): Likewise.
5524 (ata_mod_LDFLAGS): Likewise.
5525 (relocator_mod_SOURCES): Removed.
5526 (relocator_mod_CFLAGS): Likewise.
5527 (relocator_mod_ASFLAGS): Likewise.
5528 (relocator_mod_LDFLAGS): Likewise.
5529 Include i386.mk.
5530 * include/grub/x86_64/multiboot.h: New file.
5531 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5532 Terminate EFI.
5533
5534 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Video multiboot support.
5537
5538 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5539 New prototype.
5540 * include/multiboot.h: Resynced with multiboot specification.
5541 * include/multiboot2.h: Likewise.
5542 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5543 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5544 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5545 (HAS_VGA_TEXT): Likewise.
5546 (accepts_video): New variable.
5547 (grub_multiboot_set_accepts_video): New function.
5548 (grub_multiboot_get_mbi_size): Account for video structures.
5549 (set_video_mode): New function.
5550 (retrieve_video_parameters): Likewise.
5551 (grub_multiboot_make_mbi): Fill video fields.
5552
5553 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Video driver ids.
5556
5557 * include/grub/video.h (grub_video_driver_id): New type.
5558 (grub_video_adapter): New member 'id'. All users updated.
5559 (grub_video_get_driver_id): New proto.
5560 * video/video.c (grub_video_get_driver_id): New function.
5561
5562 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5563
5564 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5565 `var=val'.
5566
5567 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5568
5569 * normal/cmdline.c (print_completion): Gettextizze.
5570
5571 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5572
5573 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5574
5575 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5576
5577 * gettext/gettext.c (grub_gettext_translate): Push and pop
5578 grub_errno.
5579 (grub_gettext_delete_list): Change comment style.
5580 * kern/err.c (grub_error): Gettextizze.
5581 (grub_fatal): Gettextizze.
5582
5583 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5584
5585 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5586 (grub_linux16_real_boot): ... this.
5587 * kern/i386/loader.S: Likewise.
5588 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5589 (grub_linux16_boot): New function. Switches to text mode and calls
5590 grub_linux16_real_boot().
5591
5592 * loader/i386/bsd.c: Include `<grub/video.h>'.
5593 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5594 text mode before calling grub_unix_real_boot().
5595
5596 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5597 (grub_multiboot_boot): Switch to text mode before calling
5598 grub_relocator32_boot().
5599
5600 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5601 (grub_chainloader_boot): Switch to text mode before calling
5602 grub_chainloader_real_boot().
5603
5604 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5605 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5608 non-empty value.
5609
5610 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5611 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5612
5613 * util/grub.d/00_header.in: Define a "savedefault" function for use
5614 in menu entries.
5615 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5616
5617 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5618 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5621 saved_entry if boot_once is unset.
5622 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5623 previous saved entry (i.e. grub-reboot).
5624
5625 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5626
5627 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5628
5629 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5630
5631 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5632 `var=val'.
5633 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5634
5635 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5636
5637 * util/grub-reboot.in: Fix --version output.
5638 * util/grub-set-default.in: Likewise.
5639
5640 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5641
5642 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5643 blocks.
5644
5645 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5646
5647 * util/grub.d/00_header.in: Quote the value assigned to `default',
5648 in case it contains spaces.
5649
5650 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5651
5652 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5653 `save_default_entry' call from the macosx case to the linux case.
5654
5655 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5656 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5657
5658 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5659 in `chosen' environment variable.
5660 * normal/menu_text.c (get_entry_number): Check if the variable
5661 matches the title of a menu entry.
5662 (run_menu): Pass menu to get_entry_number.
5663
5664 * util/grub-reboot.in: New file.
5665 * util/grub-set-default.in: New file.
5666 * conf/common.rmk (grub-reboot): New utility.
5667 (grub-set-default): New utility.
5668
5669 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5670 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5671 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5672 move it to `saved_entry' for the next boot. Load environment on
5673 initialisation.
5674 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5675 * util/grub.d/10_hurd.in: Likewise.
5676 * util/grub.d/10_linux.in (linux_entry): Likewise.
5677 * util/grub.d/10_windows.in: Likewise.
5678 * util/grub.d/30_os-prober.in: Likewise.
5679
5680 * util/grub-install.in: Create environment block.
5681 * util/i386/efi/grub-install.in: Likewise.
5682 * util/ieee1275/grub-install.in: Likewise.
5683 * util/sparc64/ieee1275/grub-install.in: Likewise.
5684
5685 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5686
5687 Unit testing framework for GRUB.
5688
5689 * Makefile.in: Test framework build rules for 'make check'.
5690 * conf/tests.rmk: Build rules for individual tests and framework.
5691
5692 * include/grub/test.h: Header file for whitebox tests.
5693 * tests/lib/functional_test.c: Framework support for whitebox
5694 functional tests.
5695 * tests/lib/test.c: Common whitebox testing code for unit and
5696 functional tests.
5697 * tests/lib/unit_test.c: Framework support for whitebox unit
5698 tests.
5699
5700 * tests/util/grub-shell-tester.in: Support utility for grub-script
5701 tests.
5702 * tests/util/grub-shell.in: Utility to execute grub-script
5703 commands in a Qemu instance.
5704
5705 * tests/example_functional_test.c: Example whitebox functional
5706 test.
5707 * tests/example_grub_script_test.in: Example grub-script test.
5708 * tests/example_scripted_test.in: Example scripted test.
5709 * tests/example_unit_test.c: Example whitebox unit test.
5710
5711 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5714 Add loader/i386/multiboot_mbi.c.
5715 (multiboot2_mod_SOURCES): Likewise.
5716 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5717 (multiboot2_mod_SOURCES): Likewise.
5718 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5719 (grub_multiboot_make_mbi): Likewise.
5720 (grub_multiboot_free_mbi): Likewise.
5721 (grub_multiboot_init_mbi): Likewise.
5722 (grub_multiboot_add_module): Likewise.
5723 (grub_multiboot_set_bootdev): Likewise.
5724 * loader/i386/multiboot.c (mbi): Removed.
5725 (mbi_dest): Likewise.
5726 (alloc_mbi): New variable.
5727 (grub_multiboot_payload_size): Removed. All users updated.
5728 (grub_multiboot_pure_size): New variable.
5729 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5730 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5731 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5732 (grub_fill_multiboot_mmap): Likewise.
5733 (grub_multiboot_get_bootdev): Likewise.
5734 (grub_multiboot): Use multiboot_mbi functions.
5735 * loader/i386/multiboot_mbi.c: New file.
5736
5737 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5740 it would result in module crash.
5741
5742 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5745 (grub_ofconsole_getwh): Split to ...
5746 (grub_ofconsole_getwh): ... this.
5747 (grub_ofconsole_dimensions): ...and this.
5748 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5749
5750 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5751
5752 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5753
5754 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * loader/i386/pc/multiboot2.c: Removed stalled file.
5757
5758 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5761 Reported by: Grégoire Sutre
5762
5763 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5764
5765 * util/misc.c (canonicalize_file_name): New function.
5766 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5767 instead of realpath().
5768
5769 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5772 and make it clearer that it's optional. Based on confusion
5773 witnessed on IRC.
5774
5775 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5778 in premature implicit newline.
5779
5780 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5783 which resulted in garbled command line at the end of screen.
5784
5785 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5786
5787 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5788 initialization with similar approach as with other Linux loaders.
5789
5790 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5791
5792 Fix i386-ieee1275 build.
5793
5794 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5795 and grub_term_height() for video_{width,height} initialization.
5796
5797 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5798
5799 Fix grub-emu build.
5800
5801 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5802
5803 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5804 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5805
5806 Support for multiple terminals.
5807
5808 * Makefile.in (pkglib_DATA): terminal.lst.
5809 (terminal.lst): New target.
5810 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5811 (GRUB_MOD_INIT(handler)): Likewise.
5812 (GRUB_MOD_FINI(handler)): Likewise.
5813 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5814 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5815 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5816 (grub_cmd_sleep): Use grub_term_save_pos.
5817 * commands/terminal.c: New file.
5818 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5819 commands/terminal.c and lib/charset.c.
5820 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5821 (pkglib_MODULES): Add terminal.mod.
5822 (terminal_mod_SOURCES): New variable.
5823 (terminal_mod_CFLAGS): Likewise.
5824 (terminal_mod_LDFLAGS): Likewise.
5825 * genhandlerlist.sh: Don't handle terminals.
5826 * genmk.rb: Generate terminal-*.lst.
5827 * genterminallist.sh: New file.
5828 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5829 (grub_is_valid_utf8): Likewise.
5830 (grub_utf8_to_ucs4_alloc): Likewise.
5831 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5832 (grub_menu_register_viewer): Changed argument.
5833 (grub_menu_try_text): New proto.
5834 (grub_gfxmenu_try_hook): New declaration.
5835 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5836 (grub_menu_init_page): Additional argument term.
5837 (grub_normal_init_page): Likewise.
5838 (grub_cmdline_get): Arguments simplified.
5839 (grub_utf8_to_ucs4_alloc): Removed.
5840 (grub_print_ucs4): Additional argument term.
5841 (grub_getstringwidth): Likewise.
5842 (grub_print_message_indented): Likewise.
5843 (grub_menu_text_register_instances): New proto.
5844 (grub_show_menu): Likewise.
5845 (read_terminal_list): Likewise.
5846 (grub_set_more): Likewise.
5847 * include/grub/parser.h: Include handler.h.
5848 * include/grub/reader.h: Rewritten.
5849 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5850 (GRUB_TERM_WIDTH): Changed to function.
5851 (GRUB_TERM_HEIGHT): Likewise.
5852 (GRUB_TERM_BORDER_WIDTH): Likewise.
5853 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5854 (GRUB_TERM_NUM_ENTRIES): Likewise.
5855 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5856 (GRUB_TERM_CURSOR_X): Likewise.
5857 (grub_term_input_class): Likewise.
5858 (grub_term_output_class): Likewise.
5859 (grub_term_outputs_disabled): New declaration.
5860 (grub_term_inputs_disabled): Likewise.
5861 (grub_term_outputs): Likewise.
5862 (grub_term_inputs): Likewise.
5863 (grub_term_register_input): Rewritten.
5864 (grub_term_register_output): Likewise.
5865 (grub_term_unregister_input): Likewise.
5866 (grub_term_unregister_output): Likewise.
5867 (FOR_ACTIVE_TERM_INPUTS): New macro.
5868 (FOR_DISABLED_TERM_INPUTS): Likewise.
5869 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5870 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5871 * include/grub/terminfo.h: Add oterm argument to all protypes.
5872 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5873 Use grub_rescue_run.
5874 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5875 All users updated.
5876 * kern/reader.c: Removed. All users updated.
5877 * kern/rescue_reader.c (grub_rescue_init): Removed.
5878 (grub_rescue_reader): Likewise.
5879 (grub_register_rescue_reader): Likewise.
5880 (grub_rescue_run): New function based on kern/reader.c.
5881 * kern/term.c: Adapted for multiterm.
5882 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5883 (grub_is_valid_utf8): Likewise.
5884 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5885 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5886 right terminal.
5887 * loader/i386/linux.c (grub_linux_boot): Likewise.
5888 * normal/auth.c (grub_username_get): New function.
5889 (grub_auth_check_authentication): Use grub_username_get.
5890 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5891 * normal/color.c: Adapt for multiterm.
5892 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5893 (grub_normal_init_page): Additional argument term.
5894 (read_lists): Call read_terminal_lists.
5895 (grub_enter_normal_mode): Call grub_cmdline_run.
5896 Handle grub_normal_exit_level.
5897 (grub_cmd_normal): Make reentrant.
5898 (grub_cmd_normal_exit): New function.
5899 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5900 * normal/menu.c: Adapt for multiterm.
5901 * normal/menu_entry.c: Likewise.
5902 * normal/menu_text.c: Likewise.
5903 * normal/menu_viewer.c: Removed. All users updated.
5904 * normal/term.c: New file.
5905 * util/console.c: Change order of includes to workaround a bug in
5906 ncurses headers.
5907 * term/terminfo.c: New argument oterm on all exported functions.
5908 All users updated.
5909 * util/grub-editenv.c (grub_term_input_class): Removed.
5910 (grub_term_output_class): Likewise.
5911
5912 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5913
5914 Make loader output a bit more user-friendly.
5915
5916 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5917 is being loaded. Likewise for the Hurd.
5918
5919 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5920 that kernel of FreeBSD ${version} is being loaded.
5921
5922 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5923 grub_dprintf().
5924 (grub_cmd_initrd): Likewise.
5925 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5926 that Linux ${version} is being loaded. Likewise for initrd.
5927
5928 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5929
5930 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5931
5932 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5933
5934 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5935 (GRUB_MOD_INIT): Gettextizze.
5936 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5937 (GRUB_MOD_INIT): Gettextizze.
5938 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5939 (grub_cmd_linux): Capitalise Linux.
5940 (GRUB_MOD_INIT): Gettextizze.
5941 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5942 (grub_cmd_linux): Capitalise Linux.
5943 (GRUB_MOD_INIT): Gettextizze.
5944 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5945 (grub_cmd_linux): Capitalise Linux.
5946 (GRUB_MOD_INIT): Gettextizze.
5947 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5948 (GRUB_MOD_INIT): Gettextizze.
5949 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5950 (grub_cmd_linux): Capitalise Linux.
5951 (GRUB_MOD_INIT): Gettextizze.
5952 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5953 (grub_cpu_xnu_init): Gettextizze.
5954 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5955 (GRUB_MOD_INIT): Gettextizze.
5956 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5957 (GRUB_MOD_INIT): Gettextizze.
5958 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5959 (grub_linux_load64): Capitalise Linux.
5960 (GRUB_MOD_INIT): Gettextizze.
5961 * loader/xnu.c: Include `<grub/i18n.h>'.
5962 (GRUB_MOD_INIT): Gettextizze.
5963 * po/POTFILES: Add `loader/efi/appleloader.c',
5964 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5965 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5966 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5967 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5968 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5969 and `loader/xnu.c'.
5970
5971 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5972
5973 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5974
5975 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5976
5977 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5978 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5979 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5980
5981 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5982
5983 Reset Multiboot 2 support. New loader implements the draft in
5984 /branches/multiboot2 and shares as much code as possible with the
5985 production Multiboot 1 implementation.
5986
5987 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5988 * loader/multiboot2.c: Likewise.
5989 * loader/i386/multiboot_helper.S: Likewise.
5990 * include/multiboot2.h: Replace with latest version from the draft
5991 in /branches/multiboot2.
5992
5993 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5994 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5995 and `loader/multiboot2.c'.
5996 (pkglib_MODULES): Add `multiboot2.mod'.
5997 (multiboot2_mod_SOURCES): New variable.
5998 (multiboot2_mod_LDFLAGS): Likewise.
5999 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6000
6001 * conf/i386-pc.rmk: Likewise.
6002
6003 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6004 (multiboot_mod_SOURCES): Remove variable.
6005 (multiboot_mod_LDFLAGS): Likewise.
6006 (multiboot_mod_CFLAGS): Likewise.
6007
6008 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6009 `<multiboot2.h>' instead of `<multiboot.h>'.
6010 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6011 (MULTIBOOT_HEADER_MAGIC): New macros.
6012
6013 * loader/multiboot_loader.c (module_version_status): Remove variable.
6014 (find_multi_boot2_header): Remove function.
6015 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6016 logic. Always check for the Multiboot version we're compiling for.
6017 (grub_cmd_module_loader): Likewise.
6018 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6019 command instead of `multiboot'.
6020
6021 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6022
6023 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6024 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6025 all users.
6026
6027 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6028 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 Fix breakage introduced with previous commit.
6031
6032 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6033 commands.
6034 * normal/handler.c (read_handler_list): Revert part of previous commit
6035 affecting this file.
6036 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6037 (grub_normal_execute): ... here.
6038
6039 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6040
6041 Merge prefix-redefinition-fix branch.
6042
6043 * normal/autofs.c (read_fs_list): Make function capable of being
6044 run multiple times, gracefuly replacing the previous data
6045 structures.
6046 * normal/dyncmd.c (read_command_list): Likewise.
6047 * normal/handler.c (read_handler_list): Likewise.
6048 * normal/main.c (read_lists): New function. Calls all the
6049 list reading functions.
6050 (grub_normal_execute): Use read_lists() instead of calling all
6051 list reading functions explicitly. Register read_lists() as a
6052 variable hook attached to ${prefix}.
6053
6054 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Merge crypto branch.
6057
6058 * Makefile.in (pkglib_DATA): Add crypto.lst.
6059 (crypto.lst): New target.
6060 * commands/hashsum.c: New file.
6061 * commands/password.c (check_password): Use grub_crypto_memcmp.
6062 * commands/password_pbkdf2.c: New file.
6063 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6064 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6065 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6066 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6067 -I$(srcdir)/lib/libgcrypt_wrap.
6068 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6069 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6070 password_pbkdf2.mod.
6071 (crypto_mod_SOURCES): New variable.
6072 (crypto_mod_CFLAGS): Likewise.
6073 (crypto_mod_LDFLAGS): Likewise.
6074 (hashsum_mod_SOURCES): New variable.
6075 (hashsum_mod_CFLAGS): Likewise.
6076 (hashsum_mod_LDFLAGS): Likewise.
6077 (pbkdf2_mod_SOURCES): New variable.
6078 (pbkdf2_mod_CFLAGS): Likewise.
6079 (pbkdf2_mod_LDFLAGS): Likewise.
6080 (password_pbkdf2_mod_SOURCES): New variable.
6081 (password_pbkdf2_mod_CFLAGS): Likewise.
6082 (password_pbkdf2_mod_LDFLAGS): Likewise.
6083 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6084 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6085 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6086 Include conf/gcry.rmk.
6087 * include/grub/auth.h: Rewritten.
6088 * include/grub/crypto.h: New file.
6089 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6090 * include/grub/normal.h (read_crypto_list): New prototype.
6091 * lib/crypto.c: New file.
6092 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6093 * lib/pbkdf2.c: Likewise.
6094 * normal/auth.c (grub_auth_strcmp): Removed.
6095 (grub_iswordseparator): Likewise.
6096 (grub_auth_strword): Likewise.
6097 (is_authenticated): Use grub_strword.
6098 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6099 and grub_strword. Pass entered password to authentication callback.
6100 * normal/crypto.c: New file.
6101 * normal/main.c: Call read_crypto_list.
6102 * util/grub-mkpasswd-pbkdf2.c: New file.
6103 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6104
6105 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 Fix descent and ascent calculation.
6108
6109 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6110 (options): New option "asce".
6111 (usage): Likewise.
6112 (add_char): Ignore invalid glyphs for descent calculation.
6113 Calculate ascent from actual content.
6114 (print_glyphs): Use 'asce'.
6115 (write_font): Likewise. Allow ascent override.
6116 (main): Handle "asce" option.
6117
6118 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6119
6120 * kern/err.c: Include `<grub/i18n.h>'.
6121 (grub_print_error): Add full stop. Gettextizze.
6122 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6123 (grub_bsd_load_elf): Capitalise ELF.
6124 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6125 (grub_cmd_freebsd_module): Likewise.
6126 (grub_cmd_freebsd_module_elf): Likewise.
6127 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6128
6129 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6130
6131 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6132 * commands/search_file.c (HELP_MESSAGE): New macro.
6133 * commands/search_label.c (HELP_MESSAGE): Likewise.
6134 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6135 * po/POTFILES: Add `commands/search_file.c',
6136 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6137 `commands/search.c'.
6138
6139 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6140
6141 * config.rpath: Update from Gnulib.
6142
6143 2010-01-05 Yves Blusseau <blusseau@zetam.org>
6144
6145 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6146
6147 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6148
6149 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6150
6151 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6154 arguments to fread so that we get a return value in bytes, rather
6155 than something that will normally be rounded down to 0.
6156 Adjust error handling to avoid producing garbage when size_t is not
6157 the same size as long long.
6158
6159 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * util/mkisofs/write.c (padblock_write): Check return value of
6162 fread.
6163
6164 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6165
6166 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6167 floppy images now.
6168
6169 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6170
6171 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6172
6173 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6174 instead of manual alignment.
6175 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6176 verbose). Avoid attempts to read past end of the device
6177 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6178 but GRUB_DISK_CACHE_SIZE may exceed that).
6179
6180 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6181
6182 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6183 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6184 it to upper layer.
6185
6186 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6189 New constant.
6190 (grub_efi_piwg_device_path): New structure
6191 (grub_efi_piwg_device_path_t): New type.
6192 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6193 (devpath_1): Transform to a structure. All users updated.
6194 (devpath_2): Likewise.
6195 (devpath_3): Likewise.
6196 (devpath_4): Likewise.
6197 (devpath_5): Likewise.
6198
6199 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * loader/efi/appleloader.c: Restored. Update all users.
6202
6203 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6204
6205 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6206
6207 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6208 (struct boot_blocklist): Move from here ...
6209 * include/grub/i386/pc/boot.h [ASM_FILE]
6210 (struct grub_boot_blocklist): ... to here. Update all users.
6211 (setup): Only initialize `start' member of `first_block'
6212 structure. Add assert() calls to verify the other members.
6213
6214 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6215 (generate_image): Fix broken blocklist length initialization.
6216 Add assert() call to verify blocklist `segment' field.
6217
6218 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6219
6220 * loader/efi/appleloader.c: Remove. Update all users.
6221
6222 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6223
6224 * boot/i386/pc/boot.S: Update copyright year.
6225 * boot/i386/pc/cdboot.S: Likewise.
6226 * boot/i386/pc/diskboot.S: Likewise.
6227 * boot/i386/pc/lnxboot.S: Likewise.
6228 * boot/i386/pc/pxeboot.S: Likewise.
6229 * bus/pci.c: Likewise.
6230 * commands/cmp.c: Likewise.
6231 * commands/help.c: Likewise.
6232 * commands/hexdump.c: Likewise.
6233 * commands/i386/pc/halt.c: Likewise.
6234 * commands/i386/pc/play.c: Likewise.
6235 * commands/i386/pc/vbeinfo.c: Likewise.
6236 * commands/ls.c: Likewise.
6237 * commands/test.c: Likewise.
6238 * disk/dmraid_nvidia.c: Likewise.
6239 * disk/i386/pc/biosdisk.c: Likewise.
6240 * disk/ieee1275/nand.c: Likewise.
6241 * disk/ieee1275/ofdisk.c: Likewise.
6242 * disk/lvm.c: Likewise.
6243 * disk/raid.c: Likewise.
6244 * disk/raid6_recover.c: Likewise.
6245 * disk/scsi.c: Likewise.
6246 * fs/affs.c: Likewise.
6247 * fs/cpio.c: Likewise.
6248 * fs/ext2.c: Likewise.
6249 * fs/hfs.c: Likewise.
6250 * fs/iso9660.c: Likewise.
6251 * fs/ntfs.c: Likewise.
6252 * fs/sfs.c: Likewise.
6253 * fs/udf.c: Likewise.
6254 * fs/ufs.c: Likewise.
6255 * fs/xfs.c: Likewise.
6256 * gencmdlist.sh: Likewise.
6257 * genmk.rb: Likewise.
6258 * include/grub/disk.h: Likewise.
6259 * include/grub/efi/api.h: Likewise.
6260 * include/grub/efi/efi.h: Likewise.
6261 * include/grub/efi/pe32.h: Likewise.
6262 * include/grub/elf.h: Likewise.
6263 * include/grub/fs.h: Likewise.
6264 * include/grub/i386/at_keyboard.h: Likewise.
6265 * include/grub/i386/pc/memory.h: Likewise.
6266 * include/grub/i386/pc/vbe.h: Likewise.
6267 * include/grub/i386/pci.h: Likewise.
6268 * include/grub/i386/tsc.h: Likewise.
6269 * include/grub/ieee1275/ieee1275.h: Likewise.
6270 * include/grub/ntfs.h: Likewise.
6271 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6272 * include/grub/sparc64/libgcc.h: Likewise.
6273 * include/grub/symbol.h: Likewise.
6274 * include/grub/types.h: Likewise.
6275 * include/multiboot2.h: Likewise.
6276 * io/gzio.c: Likewise.
6277 * kern/device.c: Likewise.
6278 * kern/disk.c: Likewise.
6279 * kern/efi/efi.c: Likewise.
6280 * kern/efi/mm.c: Likewise.
6281 * kern/elf.c: Likewise.
6282 * kern/file.c: Likewise.
6283 * kern/i386/dl.c: Likewise.
6284 * kern/i386/pc/init.c: Likewise.
6285 * kern/i386/pc/startup.S: Likewise.
6286 * kern/ieee1275/ieee1275.c: Likewise.
6287 * kern/ieee1275/init.c: Likewise.
6288 * kern/main.c: Likewise.
6289 * kern/mm.c: Likewise.
6290 * kern/powerpc/dl.c: Likewise.
6291 * kern/sparc64/dl.c: Likewise.
6292 * kern/x86_64/dl.c: Likewise.
6293 * lib/hexdump.c: Likewise.
6294 * loader/efi/appleloader.c: Likewise.
6295 * loader/i386/ieee1275/linux.c: Likewise.
6296 * loader/i386/pc/chainloader.c: Likewise.
6297 * loader/i386/pc/linux.c: Likewise.
6298 * loader/i386/pc/multiboot2.c: Likewise.
6299 * loader/ieee1275/multiboot2.c: Likewise.
6300 * loader/multiboot2.c: Likewise.
6301 * loader/multiboot_loader.c: Likewise.
6302 * loader/powerpc/ieee1275/linux.c: Likewise.
6303 * normal/completion.c: Likewise.
6304 * normal/menu_entry.c: Likewise.
6305 * partmap/apple.c: Likewise.
6306 * util/grub.d/10_hurd.in: Likewise.
6307 * util/hostfs.c: Likewise.
6308 * video/readers/png.c: Likewise.
6309
6310 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6311
6312 * include/grub/misc.h (GNUC_PREREQ): New macro.
6313 (ATTRIBUTE_ERROR): New macro.
6314 * include/grub/list.h (grub_bad_type_cast_real): Use
6315 ATTRIBUTE_ERROR.
6316
6317 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6318
6319 * normal/menu_text.c (print_message): Change messages.
6320
6321 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6322
6323 * normal/menu_entry.c (store_completion): Gettextizze.
6324
6325 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6326
6327 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6328
6329 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6330
6331 * po/POTFILES: Sort correctly.
6332
6333 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6334
6335 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6336 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6337 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6338 full stop.
6339 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6340 summary. Gettextizze the strings.
6341 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6342 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6343 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6344 full stop.
6345 (GRUB_MOD_INIT): Remove command name from summary.
6346 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6347 summary.
6348 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6349 * term/i386/pc/serial.c (options): Add full stops.
6350 (GRUB_MOD_INIT): Remove command name from the summary.
6351
6352 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6353
6354 * commands/acpi.c: Gettextizze help strings and/or options. Include
6355 `grub/i18n.h' if needed.
6356 * commands/blocklist.c: Likewise.
6357 * commands/boot.c: Likewise.
6358 * commands/cat.c: Likewise.
6359 * commands/cmp.c: Likewise.
6360 * commands/configfile.c: Likewise.
6361 * commands/crc.c: Likewise.
6362 * commands/date.c: Likewise.
6363 * commands/echo.c: Likewise.
6364 * commands/efi/fixvideo.c: Likewise.
6365 * commands/efi/loadbios.c: Likewise.
6366 * commands/gptsync.c: Likewise.
6367 * commands/halt.c: Likewise.
6368 * commands/handler.c: Likewise.
6369 * commands/hdparm.c: Likewise.
6370 * commands/hexdump.c: Likewise.
6371 * commands/i386/cpuid.c: Likewise.
6372 * commands/i386/pc/drivemap.c: Likewise.
6373 * commands/i386/pc/halt.c: Likewise.
6374 * commands/i386/pc/pxecmd.c: Likewise.
6375 * commands/i386/pc/vbeinfo.c: Likewise.
6376 * commands/i386/pc/vbetest.c: Likewise.
6377 * commands/ieee1275/suspend.c: Likewise.
6378 * commands/keystatus.c: Likewise.
6379 * commands/loadenv.c: Likewise.
6380 * commands/ls.c: Likewise.
6381 * commands/lsmmap.c: Likewise.
6382 * commands/lspci.c: Likewise.
6383 * commands/memrw.c: Likewise.
6384 * commands/minicmd.c: Likewise.
6385 * commands/parttool.c: Likewise.
6386 * commands/password.c: Likewise.
6387 * commands/probe.c: Likewise.
6388 * commands/read.c: Likewise.
6389 * commands/reboot.c: Likewise.
6390 * commands/search.c: Likewise.
6391 * commands/sleep.c: Likewise.
6392 * commands/test.c: Likewise.
6393 * commands/true.c: Likewise.
6394 * commands/usbtest.c: Likewise.
6395 * commands/videotest.c: Likewise.
6396 * commands/xnu_uuid.c: Likewise.
6397 * disk/loopback.c: Likewise.
6398 * hello/hello.c: Likewise.
6399 * loader/i386/bsd.c: Likewise.
6400 * term/i386/pc/serial.c: Likewise.
6401 * po/POTFILES: Add new files.
6402
6403 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * term/i386/pc/at_keyboard.c
6406 (keyboard_controller_wait_untill_ready): Rename to ...
6407 (keyboard_controller_wait_until_ready): ... this. Update all users.
6408
6409 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6410
6411 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6412 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6413 string using string width.
6414 * normal/menu_text.c (grub_print_message_indented): Use
6415 grub_print_spaces and not print_spaces.
6416 (print_timeout): Likewise.
6417 (print_spaces): Move to...
6418 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6419
6420 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6421
6422 Import from Gnulib.
6423
6424 * gnulib/getdelim.c: New file.
6425 * gnulib/getline.c: Likewise.
6426
6427 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6428
6429 * include/grub/list.h (grub_assert_fail): Removed.
6430 (grub_bad_type_cast_real): New function.
6431 (grub_bad_type_cast): New macro.
6432 (GRUB_AS_LIST): Use grub_bad_type_cast.
6433 (GRUB_AS_LIST_P): Likewise.
6434 (GRUB_AS_NAMED_LIST): Likewise.
6435 (GRUB_AS_NAMED_LIST_P): Likewise.
6436 (GRUB_AS_PRIO_LIST): Likewise.
6437 (GRUB_AS_PRIO_LIST_P): Likewise.
6438 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6439
6440 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6443 Fix syntax error.
6444
6445 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6446
6447 * configure.ac: Check for TARGET_CFLAGS initialization before we
6448 initialize it ourselves (sigh).
6449 Move a few modifications to TARGET_CFLAGS to be unconditional
6450 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6451 eh_frame)
6452
6453 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6454 * term/i386/pc/at_keyboard.c
6455 (keyboard_controller_wait_untill_ready): Likewise.
6456 (keyboard_controller_led): Rename `led_status' paramter to avoid
6457 name conflict.
6458
6459 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6460
6461 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6462 quotes.
6463
6464 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6467
6468 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * normal/menu_text.c (grub_print_message_indented): Prevent
6471 past-the-end-of-array dereference.
6472
6473 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6476 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6477
6478 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6479
6480 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6481 * normal/main.c (grub_normal_read_line): Remove a space from the
6482 default prompt.
6483
6484 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6485
6486 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6487 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6488 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6489 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6490 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6491 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6492 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6493
6494 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6495
6496 * video/readers/jpeg.c (cmd): Declare.
6497 (grub_cmd_jpegtest): Use `grub_command_t' type.
6498 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6499 Assign to `cmd'.
6500 (GRUB_MOD_FINI): Use `cmd' to unregister.
6501 * video/readers/png.c (cmd): Declare.
6502 (grub_cmd_pngtest): Use `grub_command_t' type.
6503 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6504 Assign to `cmd'.
6505 (GRUB_MOD_FINI): Use `cmd' to unregister.
6506 * video/readers/tga.c (cmd): Declare.
6507 (grub_cmd_tgatest): Use `grub_command_t' type.
6508 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6509 Assign to `cmd'.
6510 (GRUB_MOD_FINI): Use `cmd' to unregister.
6511
6512 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6513
6514 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6515 stops.
6516 * kern/corecmd.c (grub_register_core_commands): Likewise.
6517 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6518 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6519 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6520 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6521 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6522 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6523 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6524 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6525 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6526 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6527 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6528 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6529 * normal/handler.c (insert_handler): Likewise.
6530 * normal/main.c (GRUB_MOD_INIT): Likewise.
6531 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6532
6533 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6534
6535 * commands/help.c (grub_cmd_help): Print the command name before the
6536 summary.
6537 (GRUB_MOD_INIT): Remove command name from the summary.
6538 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6539 string as summary.
6540 * lib/arg.c (find_long): Print the command name before the summary.
6541 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6542 summary.
6543 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6544 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6545 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6546 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6547 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6548 * commands/date.c (GRUB_MOD_INIT): Likewise.
6549 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6550 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6551 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6552 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6553 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6554 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6555 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6556 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6557 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6558 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6559 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6560 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6561 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6562 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6563 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6564 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6565 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6566 * commands/password.c (GRUB_MOD_INIT): Likewise.
6567 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6568 * commands/read.c (GRUB_MOD_INIT): Likewise.
6569 * commands/search.c (GRUB_MOD_INIT): Likewise.
6570 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6571 * commands/test.c (GRUB_MOD_INIT): Likewise.
6572 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6573 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6574 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6575 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6576 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6577 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6578 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6579 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6580 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6581 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6582 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6583 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6584 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6585 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6586
6587 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Use search command for preliminar UUID search.
6590
6591 * commands/search.c: Split into ...
6592 * commands/search_wrap.c: ...this
6593 * commands/search.c: ...and this.
6594 * commands/search_file.c: New file.
6595 * commands/search_label.c: New file.
6596 * commands/search_uuid.c: New file.
6597 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6598 Add commands/search_wrap.c, commands/search_file.c,
6599 commands/search_label.c and commands/search_uuid.c.
6600 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6601 (search_mod_SOURCES): Set to commands/search_wrap.c.
6602 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6603 search_label.mod.
6604 (search_fs_file_mod_SOURCES): New variable.
6605 (search_fs_file_mod_CFLAGS): Likewise.
6606 (search_fs_file_mod_LDFLAGS): Likewise.
6607 (search_label_mod_SOURCES): Likewise.
6608 (search_label_mod_CFLAGS): Likewise.
6609 (search_label_mod_LDFLAGS): Likewise.
6610 (search_fs_uuid_mod_SOURCES): New variable.
6611 (search_fs_uuid_mod_CFLAGS): Likewise.
6612 (search_fs_uuid_mod_LDFLAGS): Likewise.
6613 (fs_file_mod_SOURCES): Removed.
6614 (fs_file_mod_CFLAGS): Likewise.
6615 (fs_file_mod_LDFLAGS): Likewise.
6616 (fs_uuid_mod_SOURCES): Removed.
6617 (fs_uuid_mod_CFLAGS): Likewise.
6618 (fs_uuid_mod_LDFLAGS): Likewise.
6619 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6620 Set to util/grub-install.in.
6621 * disk/fs_file.c: Removed.
6622 * disk/fs_uuid.c: Likewise.
6623 * include/grub/search.h: New file.
6624 * util/grub-install.in: Handle sparc64.
6625 Create and use load.cfg.
6626 * util/sparc64/ieee1275/grub-install.in: Removed.
6627
6628 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6631 Ignore return status if CF is cleared.
6632 (grub_biosdisk_get_diskinfo_standard): Likewise.
6633
6634 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6635
6636 * term/i386/pc/at_keyboard.c
6637 (keyboard_controller_wait_untill_ready): New function.
6638 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6639 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6640 for keyboard polling, rather than duplicate the same loop. This
6641 saves a few bytes in code size.
6642
6643 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 Support for (pxe[:server[:gateway]]) syntax and
6646 use environment variable for PXE.
6647
6648 * commands/i386/pc/pxecmd.c (options): Removed.
6649 (print_ip): Removed.
6650 (grub_cmd_pxe): Removed
6651 (grub_cmd_pxe_unload): New function.
6652 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6653 (grub_pxe_your_ip): Made static.
6654 (grub_pxe_default_server_ip): Likewise.
6655 (grub_pxe_default_gateway_ip): Likewise.
6656 (grub_pxe_blksize): Likewise.
6657 (parse_ip): New function.
6658 (grub_pxe_open): Support server and gateway specification.
6659 (grub_pxe_close): Free disk->data.
6660 (grub_pxefs_open): Use disk->data.
6661 (grub_pxefs_read): Likewise.
6662 (grub_env_write_readonly): New function.
6663 (set_mac_env): Likewise.
6664 (set_env_limn_ro): Likewise.
6665 (parse_dhcp_vendor): Likewise.
6666 (grub_pxe_detect): Set the environment variables.
6667 (set_ip_env): New function.
6668 (write_ip_env): Likewise.
6669 (grub_env_write_pxe_default_server): Likewise.
6670 (grub_env_write_pxe_default_gateway): Likewise.
6671 (grub_env_write_pxe_blocksize): Likewise.
6672 (GRUB_MOD_INIT(pxe)): Set environment variables.
6673 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6674 (grub_pxe_mac_addr_t): ... this. All users updated.
6675 (grub_pxe_your_ip): Removed.
6676 (grub_pxe_server_ip): Likewise.
6677 (grub_pxe_gateway_ip): Likewise.
6678 (grub_pxe_blksize): Likewise.
6679
6680 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6681
6682 * commands/help.c: Include `<grub/i18n.h>'.
6683 (grub_cmd_help): Gettextizze.
6684 (GRUB_MOD_INIT): Likewise.
6685 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6686 (GRUB_MOD_INIT): Gettextizze.
6687 * commands/search.c: Include `<grub/i18n.h>'.
6688 (options): Gettextizze.
6689 (GRUB_MOD_INIT): Gettextizze.
6690 * lib/arg.c: Include `<grub/i18n.h>'.
6691 (help_options): Gettextizze.
6692 (find_long): Likewise.
6693 (grub_arg_show_help): Likewise.
6694 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6695 (read_command_list): Gettextizze.
6696 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6697 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6698
6699 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6700
6701 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6702 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6703 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6704 (led_status): New variable.
6705 (keyboard_controller_led): New function.
6706 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6707 update led status for caps lock, num lock and scroll lock.
6708
6709 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6710
6711 * util/hostdisk.c (open_device): Fix a comment.
6712
6713 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6714
6715 * util/grub-install.in (host_os): New variable.
6716 * util/i386/efi/grub-install.in (host_os): Likewise.
6717
6718 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6719
6720 * util/mkisofs/write.c (padblock_write): Abort when given an
6721 excedingly large embed image, instead of silently truncating it.
6722
6723 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6724
6725 * include/multiboot.h: Indentation fixes.
6726
6727 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6728
6729 * include/multiboot.h (struct multiboot_aout_symbol_table)
6730 (struct multiboot_elf_section_header_table): New structure
6731 declarations (stolen from GRUB Legacy).
6732 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6733 table information.
6734
6735 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6736 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6737 type aliases.
6738
6739 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6740
6741 * include/multiboot.h: Make comments src2texi-friendly.
6742
6743 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6744
6745 For consistency with [multiboot]/docs/boot.S.
6746
6747 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6748 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6749 (MULTIBOOT_MAGIC2): Rename from this ...
6750 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6751
6752 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6753
6754 * include/multiboot.h: Remove `<grub/types.h>'.
6755 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6756 types. Update all users.
6757
6758 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6759
6760 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6761 `couldn't' and `can not' by `cannot'.
6762 * commands/i386/pc/drivemap.c: Likewise.
6763 * disk/ata.c: Likewise.
6764 * disk/ieee1275/nand.c: Likewise.
6765 * fs/affs.c: Likewise.
6766 * fs/fat.c: Likewise.
6767 * fs/hfs.c: Likewise.
6768 * fs/hfsplus.c: Likewise.
6769 * fs/iso9660.c: Likewise.
6770 * fs/jfs.c: Likewise.
6771 * fs/minix.c: Likewise.
6772 * fs/reiserfs.c: Likewise.
6773 * fs/sfs.c: Likewise.
6774 * fs/udf.c: Likewise.
6775 * fs/ufs.c: Likewise.
6776 * fs/xfs.c: Likewise.
6777 * loader/powerpc/ieee1275/linux.c: Likewise.
6778 * loader/sparc64/ieee1275/linux.c: Likewise.
6779 * util/grub-probe.c: Likewise.
6780 * util/misc.c: Likewise.
6781
6782 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6783
6784 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6785 grub_errno calls.
6786 * commands/acpi.c: Likewise.
6787 * commands/blocklist.c: Likewise.
6788 * commands/efi/loadbios.c: Likewise.
6789 * commands/i386/pc/drivemap.c: Likewise.
6790 * commands/loadenv.c: Likewise.
6791 * commands/memrw.c: Likewise.
6792 * commands/password.c: Likewise.
6793 * commands/videotest.c: Likewise.
6794 * disk/ata.c: Likewise.
6795 * disk/ata_pthru.c: Likewise.
6796 * disk/dmraid_nvidia.c: Likewise.
6797 * disk/ieee1275/nand.c: Likewise.
6798 * disk/ieee1275/ofdisk.c: Likewise.
6799 * disk/loopback.c: Likewise.
6800 * disk/lvm.c: Likewise.
6801 * disk/mdraid_linux.c: Likewise.
6802 * disk/raid.c: Likewise.
6803 * disk/raid6_recover.c: Likewise.
6804 * disk/scsi.c: Likewise.
6805 * efiemu/main.c: Likewise.
6806 * efiemu/mm.c: Likewise.
6807 * efiemu/pnvram.c: Likewise.
6808 * efiemu/symbols.c: Likewise.
6809 * font/font.c: Likewise.
6810 * fs/cpio.c: Likewise.
6811 * fs/hfsplus.c: Likewise.
6812 * fs/iso9660.c: Likewise.
6813 * fs/jfs.c: Likewise.
6814 * fs/minix.c: Likewise.
6815 * fs/ntfs.c: Likewise.
6816 * fs/ntfscomp.c: Likewise.
6817 * fs/reiserfs.c: Likewise.
6818 * fs/ufs.c: Likewise.
6819 * fs/xfs.c: Likewise.
6820 * gettext/gettext.c: Likewise.
6821 * include/grub/auth.h: Likewise.
6822 * kern/elf.c: Likewise.
6823 * kern/file.c: Likewise.
6824 * kern/ieee1275/init.c: Likewise.
6825 * kern/ieee1275/mmap.c: Likewise.
6826 * kern/ieee1275/openfw.c: Likewise.
6827 * kern/powerpc/dl.c: Likewise.
6828 * kern/sparc64/dl.c: Likewise.
6829 * lib/arg.c: Likewise.
6830 * loader/i386/bsd.c: Likewise.
6831 * loader/i386/bsdXX.c: Likewise.
6832 * loader/i386/efi/linux.c: Likewise.
6833 * loader/i386/efi/xnu.c: Likewise.
6834 * loader/i386/ieee1275/linux.c: Likewise.
6835 * loader/i386/linux.c: Likewise.
6836 * loader/i386/multiboot.c: Likewise.
6837 * loader/i386/pc/linux.c: Likewise.
6838 * loader/i386/pc/multiboot2.c: Likewise.
6839 * loader/i386/xnu.c: Likewise.
6840 * loader/ieee1275/multiboot2.c: Likewise.
6841 * loader/macho.c: Likewise.
6842 * loader/machoXX.c: Likewise.
6843 * loader/multiboot2.c: Likewise.
6844 * loader/multiboot_loader.c: Likewise.
6845 * loader/powerpc/ieee1275/linux.c: Likewise.
6846 * loader/sparc64/ieee1275/linux.c: Likewise.
6847 * loader/xnu.c: Likewise.
6848 * loader/xnu_resume.c: Likewise.
6849 * mmap/i386/pc/mmap.c: Likewise.
6850 * normal/menu_viewer.c: Likewise.
6851 * partmap/acorn.c: Likewise.
6852 * partmap/amiga.c: Likewise.
6853 * partmap/apple.c: Likewise.
6854 * script/lexer.c: Likewise.
6855 * term/gfxterm.c: Likewise.
6856 * term/i386/pc/serial.c: Likewise.
6857 * term/i386/pc/vga.c: Likewise.
6858 * term/ieee1275/ofconsole.c: Likewise.
6859 * term/terminfo.c: Likewise.
6860 * video/bitmap.c: Likewise.
6861 * video/efi_gop.c: Likewise.
6862 * video/efi_uga.c: Likewise.
6863 * video/fb/video_fb.c: Likewise.
6864 * video/i386/pc/vbe.c: Likewise.
6865 * video/readers/tga.c: Likewise.
6866 * video/video.c: Likewise.
6867
6868 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6869
6870 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6871 * commands/lspci.c: Likewise.
6872 * commands/probe.c: Likewise.
6873 * commands/xnu_uuid.c: Likewise.
6874 * conf/i386-coreboot.rmk: Likewise.
6875 * conf/i386-efi.rmk: Likewise.
6876 * conf/i386-ieee1275.rmk: Likewise.
6877 * conf/i386-pc.rmk: Likewise.
6878 * conf/powerpc-ieee1275.rmk: Likewise.
6879 * conf/sparc64-ieee1275.rmk: Likewise.
6880 * conf/x86_64-efi.rmk: Likewise.
6881 * fs/i386/pc/pxe.c: Likewise.
6882 * gettext/gettext.c: Likewise.
6883 * include/grub/efi/graphics_output.h: Likewise.
6884 * include/grub/i386/pc/memory.h: Likewise.
6885 * kern/env.c: Likewise.
6886 * kern/i386/qemu/startup.S: Likewise.
6887 * lib/i386/pc/biosnum.c: Likewise.
6888 * lib/i386/relocator.c: Likewise.
6889 * lib/i386/relocator_asm.S: Likewise.
6890 * lib/relocator.c: Likewise.
6891 * loader/i386/bsd.c: Likewise.
6892 * loader/i386/multiboot.c: Likewise.
6893 * loader/i386/pc/chainloader.c: Likewise.
6894 * loader/i386/xnu.c: Likewise.
6895 * loader/xnu.c: Likewise.
6896 * normal/main.c: Likewise.
6897 * normal/menu_text.c: Likewise.
6898 * util/getroot.c: Likewise.
6899 * util/grub-mkconfig_lib.in: Likewise.
6900 * util/grub.d/00_header.in: Likewise.
6901 * util/i386/pc/grub-mkimage.c: Likewise.
6902 * util/mkisofs/eltorito.c: Likewise.
6903 * util/mkisofs/exclude.h: Likewise.
6904 * util/mkisofs/hash.c: Likewise.
6905 * util/mkisofs/iso9660.h: Likewise.
6906 * util/mkisofs/joliet.c: Likewise.
6907 * util/mkisofs/mkisofs.c: Likewise.
6908 * util/mkisofs/mkisofs.h: Likewise.
6909 * util/mkisofs/multi.c: Likewise.
6910 * util/mkisofs/name.c: Likewise.
6911 * util/mkisofs/rock.c: Likewise.
6912 * util/mkisofs/tree.c: Likewise.
6913 * util/mkisofs/write.c: Likewise.
6914 * video/efi_gop.c: Likewise.
6915
6916 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6919 size counting.
6920
6921 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6922
6923 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6924 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6925
6926 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6929 (GRUB_MOD_INIT(memrw)): Update help line.
6930
6931 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6934 Use grub_extcmd_t. All users updated.
6935 (options): New variable.
6936 (grub_cmd_read): Restructure for readability. Support "-v" option.
6937 (grub_cmd_write): Restructure for readability.
6938
6939 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6940
6941 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6942
6943 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6944
6945 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6946 with the actual contents of the correspondending make variable.
6947 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6948 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6949 specifying `*.lst' and `efiemu??.o'
6950
6951 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6952
6953 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6954 after function name.
6955 Noticed by Rene Engelhard <rene@debian.org>.
6956
6957 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6960 (options): New variable.
6961 (iospace): Likewise.
6962 (grub_lspci_iter): List IO spaces if "-i" was given.
6963 (grub_cmd_lspci): Parse options.
6964 (GRUB_MOD_INIT(lspci)): Use extcmd.
6965 (GRUB_MOD_FINI(lspci)): Likewise.
6966
6967 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6968
6969 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6970 `function' keyword.
6971 Patch by Tony Mancill <tmancill@debian.org>.
6972
6973 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6976 (grub_uhci_portstatus): Likewise.
6977 (grub_uhci_portstatus): Add necessary delay.
6978 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6979
6980 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6981
6982 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6983 (GRUB_MOD_INIT): Likewise.
6984 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6985 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6986 * commands/echo.c (options): Fix capitalizations and/or full stops.
6987 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6988 (enable_rom_area): Likewise.
6989 (GRUB_MOD_INIT): Likewise.
6990 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6991 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6992 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6993 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6994 * commands/hexdump.c (options): Likewise.
6995 * commands/i386/cpuid.c (options): Likewise.
6996 (GRUB_MOD_INIT): Likewise.
6997 * commands/i386/pc/drivemap.c (options): Likewise.
6998 (GRUB_MOD_INIT): Likewise.
6999 * commands/i386/pc/halt (options): Likewise.
7000 (GRUB_MOD_INIT): Likewise.
7001 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7002 * commands/i386/pc/pxecmd.c (options): Likewise.
7003 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7004 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7005 * commands/keystatus.c (options): Likewise.
7006 (GRUB_MOD_INIT): Likewise.
7007 * commands/loadenv.c (options): Likewise.
7008 * commands/ls.c (options): Likewise.
7009 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7010 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7011 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7012 * commands/parttool.c (helpmsg): Likewise.
7013 * commands/probe.c (options): Likewise.
7014 * commands/read.c (GRUB_MOD_INIT): Likewise.
7015 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7016 * commands/search.c (options): Likewise.
7017 * commands/sleep.c (options): Likewise.
7018 * commands/test.c (GRUB_MOD_INIT): Likewise.
7019 * commands/true.c (GRUB_MOD_INIT): Likewise.
7020 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7021 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7022 * lib/arg.c (help_options): Likewise.
7023 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7024 `$(XGETTEXT)'.
7025 * po/POTFILES: Add `commands/loadenv.c'.
7026
7027 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
7028
7029 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
7030 instead of specifying them explicit.
7031
7032 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7033
7034 * NEWS: Add grub-probe support for GNU/Hurd.
7035
7036 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7037
7038 * NEWS: gettext was added after 1.97.
7039
7040 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7041
7042 * util/mkisofs/msdos_partition.h: New file (based on
7043 include/grub/msdos_partition.h).
7044 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7045 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7046 (ld_options, main): Recognize --protective-msdos-label.
7047 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7048 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7049 (padblock_write): If `use_protective_msdos_label' is set, patch a
7050 protective DOS-style label in the output image.
7051
7052 * util/grub-mkrescue.in: Use --protective-msdos-label.
7053
7054 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7055
7056 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7057 boot.
7058
7059 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7060
7061 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7062 variables.
7063 (ld_options, main): Recognize `--embedded-boot'.
7064 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7065 declarations.
7066 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7067 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7068 (padblock_write): Likewise. Rewrite to support embedded boot image.
7069
7070 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7071 for BIOS-based disk boot instead of only ElTorito.
7072
7073 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7074
7075 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7076 build (not needed for bootstrap).
7077
7078 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7079
7080 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7081 from i386-pc build (not needed for bootstrap).
7082 Rewrite a pair of strings.
7083
7084 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7085
7086 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7087
7088 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7091
7092 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7093
7094 * kern/env.c (grub_env_context_open): Mark exported variable for
7095 reexport.
7096
7097 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7098
7099 * kern/env.c (grub_env_export): Create nonexistent variables before
7100 exporting.
7101
7102 2009-12-20 Carles Pina i Estany <carles@pina.cat>
7103
7104 * include/grub/auth.h: Include `<grub/i18n.h>'.
7105 (GRUB_GET_PASSWORD): Gettextizze string.
7106 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7107 menu_text.c.
7108 (grub_utf8_to_ucs4_alloc): Fix indentation.
7109 (grub_print_ucs4): Likewise.
7110 (grub_getstringwidth): Likewise.
7111 (print_message_indented): New declaration.
7112 * normal/auth.c: Include `<grub/i18n.h>'.
7113 (grub_auth_check_authentication): Gettexttize string.
7114 * normal/cmdline.c: Include `<grub/i18n.h>'.
7115 (grub_cmdline_get): Gettextizze.
7116 * normal/color.c: Include `<grub/i18n.h>'.
7117 (grub_parse_color_name_pair): Gettexttize strings.
7118 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7119 string (use `print_message_indented').
7120 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7121 `include/grub/normal.h'.
7122 (print_message_indented): Renamed to ...
7123 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7124 used in normal/main.c).
7125 (print_message): Use `grub_print_message_indented' instead of
7126 `print_message_indented'.
7127 (print_timeout): Likewise.
7128 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7129 (grub_normal_print_device_info): Gettexttize strings.
7130 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7131
7132 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7135 of arguments. Return number of tokens and not arguments. All users
7136 updated.
7137
7138 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7141 non-MSDOS paritions.
7142
7143 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * include/grub/types.h (UNUSED): Removed since it conflicts with
7146 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7147 Reported by Grégoire Sutre.
7148
7149 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7150
7151 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7152 (grub_print_ucs4_alloc): Likewise.
7153 (grub_getstringwidth): Likewise.
7154 * normal/main.c (grub_normal_init_page): Gettextize version string.
7155 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7156 (getstringwidth): Renamed to ...
7157 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7158 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7159 (grub_print_ucs4): Remove `static' qualifer (now used in
7160 normal/main.c).
7161 * po/POTFILES: Add normal/main.c.
7162
7163 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7164
7165 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7166 (print_message_indented): Add `margin_left' and `margin_right'
7167 parameters.
7168 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7169 strings.
7170 (print_timeout): Use `print_message_indented' to print the message.
7171 Deletes `second_stage' parameter.
7172 (run_menu): Update `print_timeout' calls.
7173
7174 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 Fix console palette on OpenFirmware.
7177
7178 * term/ieee1275/ofconsole.c (MAX): Removed.
7179 (colors): Redone based on VGA palette.
7180 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7181 colors are supported.
7182 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7183
7184 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Fix potential EfiEmu double prepare.
7187
7188 * efiemu/main.c (prepared): New variable
7189 (grub_efiemu_unload): Set prepare to '0'.
7190 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7191
7192 set_virtual_address_map support.
7193
7194 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7195 prototype.
7196 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7197 prototype.
7198 (grub_efiemu_crc32): Likewise.
7199 (grub_efiemu_crc64): Likewise.
7200 (grub_efiemu_set_virtual_address_map): Likewise.
7201 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7202 New definition.
7203 (grub_autoefi_set_virtual_address_map): Likewise.
7204 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7205 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7206 Restructure flow to accomodate it.
7207 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7208 (grub_efiemu_crc): Recompute CRC32.
7209 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7210 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7211 * efiemu/symbols.c (relocated_handle): New variable.
7212 (grub_efiemu_free_syms): Free relocated_handle.
7213 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7214 (grub_efiemu_write_sym_markers): New function.
7215 (grub_efiemu_set_virtual_address_map): Likewise.
7216
7217 Newer XNU parameters.
7218
7219 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7220 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7221 (grub_xnu_fill_devicetree): New prototype.
7222 (grub_xnu_heap_real_start): New variable.
7223 * loader/xnu.c (get_name_ptr): New function.
7224 (grub_xnu_load_driver): Fill namelen and name.
7225
7226 64-bit xnu support.
7227
7228 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7229 and 'loader/macho64.c'.
7230 * conf/i386-pc.rmk: Likewise.
7231 * conf/x86_64-efi.rmk: Likewise.
7232 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7233 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7234 * include/grub/macho.h (grub_macho_segment64): New structure.
7235 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7236 (grub_macho_size32): ... to this.
7237 (grub_macho32_get_entry_point): Renamed from ...
7238 (grub_macho_get_entry_point32): ... to this.
7239 (grub_macho_contains_macho64): New prototype.
7240 (grub_macho_size64): Likewise.
7241 (grub_macho_get_entry_point64): Likewise.
7242 (grub_macho32_load): Renamed from ...
7243 (grub_macho_load32): ... to this.
7244 (grub_macho32_filesize): Renamed from ...
7245 (grub_macho_filesize32): ... to this.
7246 (grub_macho32_readfile): Renamed from ...
7247 (grub_macho_readfile32): ... to this.
7248 (grub_macho_filesize64): New prototype.
7249 (grub_macho_readfile64): Likewise.
7250 (grub_macho_parse32): Likewise.
7251 (grub_macho_parse64): Likewise.
7252 * loader/macho.c: Split into ...
7253 * loader/machoXX.c: ... and this. Replace 32 with XX.
7254 * loader/macho32.c: New file.
7255 * loader/macho64.c: Likewise.
7256 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7257 (grub_cmd_xnu_kernel): Make 32-bit only.
7258 (grub_cmd_xnu_kernel64): New function.
7259 (grub_xnu_load_driver): Support Mach-O 64.
7260 (grub_cmd_xnu_mkext): Likewise.
7261 * util/grub.d/30_os-prober.in (osx_entry): New function.
7262 Generate entries for 64-bit boot too.
7263
7264 Eliminate ad-hoc tree format in XNU and EfiEmu.
7265
7266 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7267 * efiemu/pnvram.c: Rewritten to use environment variables.
7268 All users updated.
7269
7270 Inline utf16_to_utf8.
7271
7272 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7273 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7274 All users updated.
7275 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7276
7277 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7278 * commands/usbtest.c (grub_usb_get_string): ... move here.
7279 (usb_print_str): Fix error handling.
7280 * include/grub/usb.h (grub_usb_get_string): Remove.
7281
7282 UTF-8 to UTF-16 transformation.
7283
7284 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7285 (charset_mod_SOURCES): New variable.
7286 (charset_mod_CFLAGS): Likewise.
7287 (charset_mod_LDFLAGS): Likewise.
7288 * include/grub/utf.h: New file.
7289 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7290
7291 Support for device properties.
7292
7293 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7294 (grub_xnu_devprop_device_header): Likewise.
7295 (grub_xnu_devprop_device_descriptor): Likewise.
7296 (grub_xnu_devprop_add_device): New prototype.
7297 (grub_xnu_devprop_remove_device): Likewise.
7298 (grub_xnu_devprop_remove_property): Likewise.
7299 (grub_xnu_devprop_add_property_utf8): Likewise.
7300 (grub_xnu_devprop_add_property_utf16): Likewise.
7301 (grub_cpu_xnu_init): Likewise.
7302 (grub_cpu_xnu_fini): Likewise.
7303 (grub_cpu_xnu_unload): Likewise.
7304 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7305 (property_descriptor): Likewise.
7306 (devices): New variable.
7307 (grub_xnu_devprop_remove_property): New function.
7308 (grub_xnu_devprop_add_device): Likewise.
7309 (grub_xnu_devprop_remove_device): Likewise.
7310 (grub_xnu_devprop_add_property): Likewise.
7311 (grub_xnu_devprop_add_property_utf8): Likewise.
7312 (grub_xnu_devprop_add_property_utf16): Likewise.
7313 (hextoval): Likewise.
7314 (grub_cpu_xnu_fill_devprop): Likewise.
7315 (grub_cmd_devprop_load): Likewise.
7316 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7317 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7318 (cmd_devprop_load): New variable.
7319 (grub_cpu_xnu_init): New function.
7320 (grub_cpu_xnu_fini): Likewise.
7321 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7322 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7323 (grub_cmd_xnu_devtree): Likewise.
7324 (hextoval): New function.
7325 (unescape): Likewise.
7326 (grub_xnu_fill_devicetree): Likewise.
7327
7328 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7329 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7330
7331 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 Workaround for broken ATI VBE.
7334
7335 * video/i386/pc/vbe.c (last_set_mode): New variable.
7336 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7337 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7338 (grub_video_vbe_setup): Don't check for reserved flag.
7339
7340 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7341
7342 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7343 the `find' command.
7344
7345 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 UUID support for HFS.
7348
7349 * fs/hfs.c (grub_hfs_uuid): New function.
7350 (grub_hfs_fs): New value .uuid.
7351 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7352
7353 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7354
7355 Fix a segfault with parsing unknown long options.
7356
7357 * util/grub-mkrelpath.c (options): Zero terminate it.
7358
7359 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7360
7361 * include/grub/misc.h (grub_puts): New declaration.
7362 (grub_puts_): Likewise.
7363 * kern/misc.c (grub_puts): New definition.
7364 (grub_puts_): Likewise.
7365
7366 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7367
7368 * util/grub-probe.c (probe): Improve error message.
7369
7370 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7371
7372 * loader/i386/multiboot_elfxx.c
7373 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7374 initialization.
7375
7376 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 Relocator framework
7379
7380 * loader/i386/xnu_helper.S: Removed. All users updated.
7381 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7382 (relocator_mod_SOURCES): New variable.
7383 (relocator_mod_CFLAGS): Likewise.
7384 (relocator_mod_LDFLAGS): Likewise.
7385 (relocator_mod_ASFLAGS): Likewise.
7386 * conf/x86_64.rmk: Likewise.
7387 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7388 (grub_multiboot_payload_entry_offset): Likewise.
7389 (grub_multiboot_forward_relocator): Likewise.
7390 (grub_multiboot_forward_relocator_end): Likewise.
7391 (grub_multiboot_backward_relocator): Likewise.
7392 (grub_multiboot_backward_relocator_end): Likewise.
7393 (grub_multiboot_payload_eip): New variable.
7394 (grub_multiboot_payload_orig): Likewise.
7395 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7396 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7397 * include/grub/i386/memory.h
7398 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7399 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7400 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7401 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7402 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7403 * include/grub/i386/relocator.h: New file.
7404 * include/grub/x86_64/relocator.h: Likewise.
7405 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7406 (XNU_RELOCATOR): New macro.
7407 (grub_xnu_launcher_start): Remove.
7408 (grub_xnu_launcher_end): Likewise.
7409 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7410 (grub_xnu_heap_real_start): Remove.
7411 (grub_xnu_heap_start): Change to void *. All users updated.
7412 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7413 * lib/i386/relocator.c: New file.
7414 * lib/i386/relocator_asm.S: Likewise.
7415 * lib/i386/relocator_backward.S: Likewise.
7416 * lib/mips/relocator.c: Likewise.
7417 * lib/mips/relocator_asm.S: Likewise.
7418 * lib/relocator.c: Likewise.
7419 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7420 (entry): Removed.
7421 (playground): Likewise.
7422 (grub_multiboot_payload_orig): New variable.
7423 (grub_multiboot_payload_dest): Likewise.
7424 (grub_multiboot_payload_size): Likewise.
7425 (grub_multiboot_payload_eip): Likewise.
7426 (grub_multiboot_payload_esp): Likewise.
7427 (grub_multiboot_boot): Use grub_relocator32_boot.
7428 (grub_multiboot_unload): Free relocators.
7429 (grub_multiboot): Setup stack. Use relocators.
7430 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7431 (grub_multiboot_load_elfXX): Use relocators.
7432 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7433 (grub_multiboot_payload_size): Likewise.
7434 (grub_multiboot_payload_dest): Likewise.
7435 (grub_multiboot_payload_entry_offset): Likewise.
7436 (grub_multiboot_forward_relocator): Likewise.
7437 (grub_multiboot_backward_relocator): Likewise.
7438 (grub_multiboot_real_boot): Likewise.
7439 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7440 (grub_xnu_entry_point): Likewise.
7441 (grub_xnu_arg1): Likewise.
7442 (grub_xnu_stack): Likewise.
7443 (grub_xnu_launch): Removed.
7444 (grub_xnu_boot_resume): New function.
7445 (grub_xnu_boot): Use relocators.
7446 * loader/i386/xnu_helper.S: Removed.
7447 * loader/xnu.c (grub_xnu_heap_start): New variable.
7448 (grub_xnu_heap_size): Likewise.
7449 (grub_xnu_heap_malloc): Use relocators.
7450 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7451
7452 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7455 anything.
7456
7457 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7458
7459 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7460 GRUB_ERR_NONE before calling grub_env_set.
7461
7462 2009-12-12 Robert Millan <rmh@aybabtu.com>
7463
7464 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7465 * genmk.rb (video): New variable.
7466 (CLEANFILES, VIDEOFILES): Add #{video}.
7467 (#{video}): New target rule.
7468 * genvideolist.sh: New file.
7469 * Makefile.in (pkglib_DATA): Add video.lst.
7470 (video.lst): New target rule.
7471 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7472 `video.lst'.
7473 * util/grub.d/30_os-prober.in: Replace `vbe' with
7474 ${GRUB_VIDEO_BACKEND}.
7475
7476 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7477
7478 * THANKS: Add David Miller.
7479
7480 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 libpciaccess support.
7483
7484 * Makefile.in (LIBPCIACCESS): New variable.
7485 (enable_grub_emu_pci): Likewise.
7486 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7487 util/pci.c and commands/lspci.c.
7488 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7489 * configure.ac (grub-emu-pci): New option.
7490 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7491 (grub_pci_device_unmap_range): Likewise.
7492 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7493 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7494 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7495 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7496 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7497 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7498 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7499 * include/grub/pciutils.h: New file.
7500 * util/pci.c: Likewise.
7501
7502 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7503
7504 * util/misc.c: Don't include <errno.h> twice.
7505
7506 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7507
7508 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7509 name in an error message.
7510 (grub_biosdisk_rw): Likewise.
7511
7512 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 Eliminate NTFS 4Gib barrier.
7515
7516 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7517 (read_run_data): Likewise.
7518 (grub_ntfs_read_run_list): Likewise.
7519 (grub_ntfs_read_block): Likewise.
7520 (grub_ntfs_iterate_dir): Likewise.
7521 (read_mft): Likewise.
7522 (read_data): Likewise.
7523 Use COM_LOG_LEN.
7524 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7525 to avoid 64-bit division
7526 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7527 (grub_ntfs_rlst): Use grub_disk_addr_t.
7528
7529 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 Eliminate grub-fstest 4Gib barrier.
7532
7533 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7534 (read_file): Fix error reporting.
7535
7536 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Eliminate hexdump 4Gib barrier.
7539
7540 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7541 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7542
7543 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7546 Fixes amarsh bug.
7547
7548 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7549
7550 Remove miscellaneous files in distclean target.
7551
7552 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7553
7554 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7555
7556 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7557 if they're already set. This resolves the conflict between my
7558 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7559 fixing the --grub-probe option again.
7560 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7561 change on 2009-10-06, so that we now once again source
7562 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7563
7564 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7565
7566 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7567 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7568 `util/devicemap.c'.
7569
7570 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7571
7572 * include/grub/misc.h (grub_printf_): New declaration.
7573 * kern/misc.c (grub_printf_): New definition.
7574 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7575 instead of `grub_printf' and `_'.
7576 * normal/menu_entry.c (store_completion): Likewise.
7577 (run): Likewise.
7578 (grub_menu_entry_run): Likewise.
7579 * normal/menu_text.c (grub_wait_after_message): Likewise.
7580 (notify_booting): Likewise.
7581 (notify_fallback): Likewise.
7582 (notify_execution_failure): Likewise.
7583
7584 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7585
7586 * configure.ac: Check for vasprintf.
7587 * util/misc.c (asprintf): Move allocation from here ...
7588 (vasprintf): ... to here. New function.
7589 (xasprintf): New function.
7590 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7591 prototypes.
7592 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7593 * util/grub-mkfont.c (write_font): Likewise.
7594 * util/grub-probe.c (probe): Likewise.
7595 * util/hostdisk.c (make_device_name): Likewise.
7596
7597 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7598
7599 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7600 anything even prefixed with 'cdrom' as a cdrom.
7601
7602 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7603
7604 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7605 mount points.
7606
7607 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7608
7609 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7610 grub_gettext_msg_list.
7611 (grub_gettext_gettranslation_from_position): Return const char *
7612 and not char *.
7613 (grub_gettext_translate): Add the translated strings into a list,
7614 returns from the list if existing there.
7615 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7616 (grub_gettext_delete_list): Delete the list.
7617 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7618 lang environment variable is changed.
7619 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7620
7621 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 Rename kernel.mod to kernel.img.
7624
7625 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7626 (kernel_mod_EXPORTS): Rename to ...
7627 (kernel_img_EXPORTS): ... this.
7628 (kernel_mod_SOURCES): Rename to ...
7629 (kernel_img_SOURCES): ... this.
7630 (kernel_mod_HEADERS): Rename to ...
7631 (kernel_img_HEADERS): ... this. All users updated.
7632 (kernel_mod_CFLAGS): Rename to ...
7633 (kernel_img_CFLAGS): ... this.
7634 (kernel_mod_ASFLAGS): Rename to ...
7635 (kernel_img_ASFLAGS): ... this.
7636 (kernel_mod_LDFLAGS): Rename to ...
7637 (kernel_img_LDFLAGS): ... this.
7638 * conf/x86_64-efi.rmk: Likewise.
7639 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7640 (read_kernel_image): ... this. All users updated.
7641 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7642
7643 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7644
7645 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7646 (print_spaces): New function.
7647 (grub_print_ucs4): New function.
7648 (getstringwidth): New function.
7649 (print_message_indented): New function.
7650 (print_message): Gettexttize strings using print_message_indented.
7651 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7652 width.
7653 (get_entry_number): Gettextize and uses dynamic terminal width.
7654 (notify_booting, notify_fallback, notify_execution_failure):
7655 Gettextize.
7656 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7657 string.
7658 (run): Likewise.
7659 (grub_menu_entry_run): Likewise.
7660 * PO/POTFILES: Add normal/menu_entry.c.
7661
7662 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7665
7666 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7667
7668 * util/grub-install.in: Install gettext .mo files.
7669 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7670
7671 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7672
7673 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7674 grub_dprintf.
7675
7676 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7677
7678 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7679 non-firmware-dependant one in realmode.S takes precedence.
7680
7681 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7682
7683 * commands/halt.c: Replace misc arch-specific headers with
7684 `<grub/misc.h>'.
7685 * commands/reboot.c: Likewise.
7686 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7687 `<grub/misc.h>'.
7688 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7689 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7690 (kernel_img_SOURCES): ... to here.
7691
7692 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7693 * include/grub/i386/pc/init.h: Likewise.
7694 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7695 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7696
7697 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7698
7699 * include/grub/i386/halt.h: Remove.
7700 * include/grub/i386/reboot.h: Likewise.
7701
7702 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7703
7704 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7705
7706 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7707 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7708 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7709 "progname.h"
7710 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7711 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7712 (usage): Add missing comma in printf.
7713
7714 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7715
7716 Use the same reboot approach on i386 coreboot and qemu as we do on
7717 BIOS.
7718
7719 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7720 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7721 * kern/i386/reboot.c: Remove.
7722 * include/grub/i386/reboot.h (grub_reboot): Export function.
7723 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7724 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7725 0xf000:0xfff0 instead of 0xffff:0x0000.
7726 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7727 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7728
7729 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7730
7731 Fix $srcdir != $objdir build.
7732
7733 * Makefile.in (po/%.po): Rewrite as ...
7734 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7735
7736 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7737
7738 Fix GNU/Hurd grub-install crash.
7739 * util/grub-probe.c (probe): Try to access `path' only when it is not
7740 NULL.
7741
7742 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Correct module naming.
7745
7746 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7747 (GRUB_MOD_INIT(efi_uga)): ... to this
7748 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7749 (GRUB_MOD_FINI(efi_uga)): ... to this
7750 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7751 (GRUB_MOD_INIT(efi_gop)): ... to this
7752 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7753 (GRUB_MOD_FINI(efi_gop)): ... to this
7754
7755 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7756
7757 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7758 translatable.
7759 (usage): Translate `arg' strings using gettext().
7760 Thanks to Jordi Mallach for the suggestion.
7761
7762 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 GOP support. Based on patch from Bean
7765 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7766
7767 * video/efi_gop.c: New file.
7768 * include/grub/efi/graphics_output.h: Likewise.
7769 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7770 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7771 variables.
7772 * conf/x86_64-efi.rmk: Likewise.
7773
7774 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 Rename efi_fb to efi_uga.
7777
7778 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7779 'efi_uga.mod'.
7780 (efi_fb_mod_SOURCES): Rename this ...
7781 (efi_uga_mod_SOURCES): ... to this.
7782 (efi_fb_mod_CFLAGS): Rename this ...
7783 (efi_uga_mod_CFLAGS): ... to this.
7784 (efi_fb_mod_LDFLAGS): Rename this ...
7785 (efi_uga_mod_LDFLAGS): ... to this.
7786 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7787 'efi_uga.mod'.
7788 (efi_fb_mod_SOURCES): Rename this ...
7789 (efi_uga_mod_SOURCES): ... to this.
7790 (efi_fb_mod_CFLAGS): Rename this ...
7791 (efi_uga_mod_CFLAGS): ... to this.
7792 (efi_fb_mod_LDFLAGS): Rename this ...
7793 (efi_uga_mod_LDFLAGS): ... to this.
7794 * video/efi_fb.c: Move this ...
7795 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7796
7797 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7798
7799 * po/README: New file. Explain our PO file workflow.
7800
7801 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7802
7803 * po/ChangeLog: Remove. Move relevant entries back to ...
7804 * ChangeLog: ... here.
7805 * po/ca.po: Remove (now handled by TLP).
7806 * po/id.po: Likewise.
7807 * po/zh_CN.po: Likewise.
7808 * Makefile.in (LINGUAS): Initialize in a way that supports
7809 empty set.
7810
7811 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7812
7813 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7814 reliing on po/LINGUAS.
7815 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7816 (po/%.po): ... this.
7817
7818 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7819
7820 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7821 (main): Use `program_name' instead of nonexistent `progname'.
7822
7823 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7824
7825 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7826 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7827
7828 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7829
7830 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7831 commit.
7832 * conf/i386-efi.rmk: Likewise.
7833 * conf/i386-ieee1275.rmk: Likewise.
7834 * conf/powerpc-ieee1275.rmk: Likewise.
7835 * conf/sparc64-ieee1275.rmk: Likewise.
7836 * conf/x86_64-efi.rmk: Likewise.
7837
7838 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7839
7840 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7841
7842 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7843
7844 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7845
7846 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7847
7848 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7849 (grub_mkdevicemap_SOURCES): New variable.
7850 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7851 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7852 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7853 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7854 (grub_mkdevicemap_SOURCES): Remove.
7855 * conf/i386-efi.rmk: Likewise.
7856 * conf/i386-ieee1275.rmk: Likewise.
7857 * conf/i386-pc.rmk: Likewise.
7858 * conf/powerpc-ieee1275.rmk: Likewise.
7859 * conf/sparc64-ieee1275.rmk: Likewise.
7860 * conf/x86_64-efi.rmk: Likewise.
7861 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7862 (usage): Fix strings to use `program_name'.
7863 (main): Initialize gettext.
7864 * util/grub-editenv.c: Likewise.
7865 * util/grub-emu.c: Likewise.
7866 * util/grub-fstest.c: Likewise.
7867 * util/grub-mkdevicemap.c: Likewise.
7868 * util/grub-mkfont.c: Likewise.
7869 * util/grub-mkrelpath.c: Likewise.
7870 * util/grub-pe2elf.c: Likewise.
7871 * util/grub-probe.c: Likewise.
7872 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7873 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7874 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7875
7876 * util/misc.c: Include `"progname.h"'.
7877 (progname): Remove variable.
7878 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7879
7880 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7881
7882 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7883 printf and print a newline after the menuentry header line.
7884 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7885
7886 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7887
7888 autoconf >= 2.60 support $(localedir).
7889
7890 * INSTALL: Note that autoconf 2.60 is required.
7891 * configure.ac (AC_PREREQ): Bump to 2.60.
7892 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7893 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7894
7895 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7896
7897 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7898 aclocal is run.
7899
7900 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7901
7902 * normal/main.c (grub_normal_read_line): Fix off-by-one
7903 buffer overflow.
7904
7905 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7906
7907 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7908 "parser.grub" in grub_command_execute() call.
7909
7910 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7911
7912 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7913 * conf/i386-efi.rmk: Likewise.
7914 * conf/i386-ieee1275.rmk: Likewise.
7915 * conf/i386-pc.rmk: Likewise.
7916 * conf/powerpc-ieee1275.rmk: Likewise.
7917 * conf/sparc64-ieee1275.rmk: Likewise.
7918 * conf/x86_64-efi.rmk: Likewise.
7919 * gettext/gettex.c: Include <grub/i18n.h>.
7920 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7921 here ...
7922 * include/grub/i18n.h: ... to here
7923 * include/grub/i18n.h: ... to here.
7924 * kern/misc.c: Include <grub/i18n.h>
7925 (grub_gettext_dummy): Move above user.
7926
7927 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7928
7929 * util/Makefile.in (install-local): Convert a `for' into a normal
7930 shell expansion.
7931
7932 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7933
7934 * autogen.sh: Add automake call.
7935 * config.guess: Remove.
7936 * config.sub: Likewise.
7937 * install-sh: Likewise.
7938
7939 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7940
7941 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7942
7943 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7944
7945 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7946 function to a normal shell `for'.
7947
7948 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7949
7950 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7951
7952 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7953
7954 * util/grub-mkrelpath.c: New file.
7955 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7956 (grub_mkrelpath_SOURCES): New variable.
7957 * include/grub/util/misc.h: New function prototype.
7958 * util/misc.c (make_system_path_relative_to_its_root): New function.
7959
7960 * util/grub-mkconfig_lib.in (bindir): New variable.
7961 (grub_mkrelpath): Likewise.
7962 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7963
7964 * util/probe.c (probe): Make the file path relative to its root.
7965 Change a info message to use the GRUB path. Enable again the
7966 check if we can read the file with GRUB facilities.
7967
7968 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7969 to its root.
7970
7971 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7972
7973 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7974 platform.
7975
7976 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7977
7978 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7979 strncmp().
7980
7981 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7982
7983 * util/getroot.c (grub_util_is_dmraid): New function.
7984 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7985 devices as normal ones, not as LVM.
7986
7987 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7988
7989 * conf/common.rmk: Add grub-gettext_lib target and updates
7990 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7991 LDFLAGS.
7992 * gettext/gettext.c: New file. (Reads mo files).
7993 * include/grub/file.h (grub_file_pread): New prototype.
7994 * include/grub/i18n.h (_): New prototype.
7995 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7996 prototypes.
7997 * kern/misc.c (grub_gettext_dummy): New function.
7998 * normal/menu_text.c: Include <grub/i18n.h>.
7999 * normal/menu_text.c (print_timeout): Gettexttize string.
8000 * normal/menu_text.c (print_message): Gettexttize string.
8001 * po/POTFILES: Add `normal/menu_text.c'.
8002 * po/ca.po: Add new translations.
8003 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8004 gettext module and defines locale_dir and lang in grub.cfg.
8005 * NEWS: Add gettext support.
8006
8007 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8008
8009 * util/hostdisk.c: Include `<grub/i18n.h>'.
8010 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8011 (make_device_name): Rewrite using asprintf.
8012 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8013 (find_system_device): If a device is not found, generate one just
8014 by reusing the OS path name.
8015 (read_device_map): Make it permissible for device.map not to exist.
8016
8017 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8018
8019 * script/sh/execute.c: Move from here ...
8020 * script/execute.c: ... to here. Update all users.
8021 * script/sh/function.c: Move from here ...
8022 * script/function.c: ... to here. Update all users.
8023 * script/sh/lexer.c: Move from here ...
8024 * script/lexer.c: ... to here. Update all users.
8025 * script/sh/main.c: Move from here ...
8026 * script/main.c: ... to here. Update all users.
8027 * script/sh/parser.y: Move from here ...
8028 * script/parser.y: ... to here. Update all users.
8029 * script/sh/script.c: Move from here ...
8030 * script/script.c: ... to here. Update all users.
8031
8032 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8033
8034 * configure.ac: Detect all `emu' platforms. Define
8035 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8036 --enable-grub-emu logic. Disable include/grub/machine
8037 symlink on `emu' platforms.
8038
8039 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8040 * gensymlist.sh.in: Likewise.
8041
8042 * include/grub/i386/coreboot/machine.h: Remove file.
8043 * include/grub/i386/efi/machine.h: Likewise.
8044 * include/grub/i386/ieee1275/machine.h: Likewise.
8045 * include/grub/i386/pc/machine.h: Likewise.
8046 * include/grub/i386/qemu/machine.h: Likewise.
8047 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8048 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8049 * include/grub/x86_64/efi/machine.h: Likewise.
8050
8051 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8052 * commands/halt.c: Likewise.
8053 * commands/reboot.c: Likewise.
8054 * include/grub/autoefi.h: Likewise.
8055 * include/grub/i386/at_keyboard.h: Likewise.
8056 * include/grub/i386/kernel.h: Likewise.
8057 * include/grub/i386/loader.h: Likewise.
8058 * include/grub/i386/pc/memory.h: Likewise.
8059 * kern/dl.c: Likewise.
8060 * kern/i386/coreboot/init.c: Likewise.
8061 * loader/i386/bsd.c: Likewise.
8062 * loader/i386/linux.c: Likewise.
8063 * loader/multiboot_loader.c: Likewise.
8064 * term/i386/pc/serial.c: Likewise.
8065 * term/usb_keyboard.c: Likewise.
8066
8067 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8068 `<grub/machine/machine.h>'
8069 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8070 * util/misc.c: Remove `<grub/machine/machine.h>' and
8071 `<grub/machine/time.h>'.
8072
8073 * Makefile.in (enable_grub_emu): Remove variable.
8074 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8075
8076 * conf/any-emu.rmk: New file.
8077 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8078 (grub_emu_init.c): Move from here ...
8079 * conf/any-emu.rmk: ... to here.
8080
8081 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8082 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8083 * conf/any-emu.rmk: ... to here.
8084
8085 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8086
8087 * include/grub/parser.h (grub_parser_register): Document need
8088 of `name' parameter.
8089 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8090 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8091 "sh" to "grub".
8092
8093 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8094
8095 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8096 `$(XGETTEXT)'.
8097 * include/grub/i18n.h (N_): New macro.
8098 * util/mkisofs/mkisofs.h: Likewise.
8099 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8100 around N_().
8101 (usage): Use gettext() to translate help strings when printing them.
8102
8103 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8104
8105 Based on patch from Bean
8106 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8107
8108 * video/efi_fb.c: New file.
8109 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8110 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8111 variables.
8112 * conf/x86_64-efi.rmk: Likewise.
8113
8114 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8115
8116 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8117 * util/i386/pc/grub-setup.c: Likewise.
8118
8119 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8120
8121 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8122 <hurd/fs.h>
8123 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8124 file_get_storage_info to implement grub_guess_root_device.
8125
8126 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8127
8128 * Makefile.in (target): Use make's builtin $(shell) function
8129 instead of calling directly $(SHELL) to create the locale directories,
8130 inside the $(foreach) function.
8131
8132 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8133
8134 * util/grub-mkrescue.in: Print an error and usage if output option
8135 has not been given.
8136
8137 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8138
8139 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8140 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8141 root and /boot are on different devices.
8142
8143 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8144
8145 Fix build for srcdir != objdir.
8146
8147 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8148 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8149 $(srcdir).
8150 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8151 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8152 reference for input.
8153
8154 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8155
8156 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8157 or hardlinking it). Remove -J option, Joliet is not compatible with
8158 multiple source directories.
8159
8160 2009-11-21 Carles Pina i Estany <carles@pina.cat>
8161 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8162
8163 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8164 (process_input_dir): New function. Process an arbitrary input
8165 directory.
8166 Misc adjustments to support both "override mode" and system-wide mode.
8167
8168 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8169
8170 * configure.ac (UNIFONT_BDF): Rename to ...
8171 (FONT_SOURCE): ... this. Update all users.
8172
8173 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8174
8175 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8176 to the list of unifont files to look for.
8177
8178 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8179
8180 Patch from Joe Auricchio <jauricchio@gmail.com>
8181 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8182 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8183 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8184
8185 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8186
8187 * Makefile.in (install-local): Add a missing backslash.
8188
8189 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8190
8191 * include/grub/x86_64/io.h: New file.
8192
8193 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8194
8195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8196 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8197 Include `"progname.h"'.
8198 (main): Initialize gettext.
8199 * util/i386/pc/grub-setup.c: Gettexttize.
8200 * util/i386/pc/grub-mkimage.c: Likewise.
8201
8202 * Makefile.in (po/*.po): Redefine as ...
8203 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8204
8205 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8206
8207 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8208
8209 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8210 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8211 (program_name): Remove.
8212 (main): Initialize gettext support.
8213 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8214 Include `<libintl.h>'.
8215 (_): New macro.
8216
8217 * util/mkisofs/eltorito.c: Gettexttize.
8218 * util/mkisofs/joliet.c: Likewise.
8219 * util/mkisofs/mkisofs.c: Likewise.
8220 * util/mkisofs/multi.c: Likewise.
8221 * util/mkisofs/rock.c: Likewise.
8222 * util/mkisofs/tree.c: Likewise.
8223 * util/mkisofs/write.c: Likewise.
8224
8225 * po/POTFILES: Update with new files.
8226
8227 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8228
8229 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8230 * util/mkisofs/iso9660.h: Likewise.
8231 * util/mkisofs/joliet.c: Likewise.
8232 * util/mkisofs/mkisofs.c: Likewise.
8233 * util/mkisofs/mkisofs.h: Likewise.
8234 * util/mkisofs/rock.c: Likewise.
8235 * util/mkisofs/tree.c: Likewise.
8236 * util/mkisofs/write.c: Likewise.
8237
8238 * util/mkisofs/eltorito.c (rcsid): Remove.
8239 * util/mkisofs/hash.c: Likewise.
8240 * util/mkisofs/joliet.c: Likewise.
8241 * util/mkisofs/name.c: Likewise.
8242 * util/mkisofs/rock.c: Likewise.
8243 * util/mkisofs/tree.c: Likewise.
8244 * util/mkisofs/write.c: Likewise.
8245
8246 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8247
8248 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8249 instead of static allocation.
8250 * util/mkisofs/match.h: Likewise.
8251
8252 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8253
8254 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8255 and `util/grub.d/10_linux.in'.
8256 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8257 translatable Shell files.
8258
8259 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8260
8261 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8262
8263 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8264
8265 * INSTALL: Document Automake is needed for bootstrap.
8266 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8267 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8268 Add gettext initialization.
8269 (kfreebsd_entry): Make menuentry output translatable.
8270
8271 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8272
8273 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8274 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8275 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8276 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8277 (LINGUAS): Auto-generate using `po/LINGUAS'.
8278 * po/LINGUAS: New file.
8279
8280 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8281
8282 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8283 other things).
8284 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8285 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8286 bindtextdomain() calls for gettext initialization.
8287
8288 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8289
8290 * gnulib/progname.c: New file (imported from Gnulib).
8291 * gnulib/progname.h: Likewise.
8292 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8293 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8294 (usage): Replace `progname' with `program_name'.
8295 (main): Use set_program_name() for program name initialization.
8296
8297 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8298
8299 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8300 from here ...
8301 * Makefile.in (CPPFLAGS): ... to here.
8302
8303 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8304
8305 * aclocal.m4: Move from here ...
8306 * acinclude.m4: ... to here.
8307 * autogen.sh: Add call to `aclocal'.
8308 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8309
8310 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8311
8312 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8313 (LINGUAS): New variable.
8314 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8315 (install-local): Install MO files.
8316 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8317 * include/grub/i18n.h: New file.
8318 * po/POTFILES: New file.
8319 * po/ca.po: New file.
8320 * util/grub.d/10_linux.in (bindir): New variable.
8321 Add gettext initialization.
8322 (linux_entry): Make menuentry output translatable.
8323 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8324 (usage): Make --help output translatable.
8325 (main): Initialize gettext.
8326
8327 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8328
8329 * import_gcry.py: New file (written by Vladimir with minor
8330 adjustments).
8331 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8332 ciphers.
8333 * INSTALL: Document that Python is required for bootstrap.
8334
8335 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8336
8337 Import ciphers from libgcrypt 1.4.4.
8338
8339 * lib/libgcrypt/cipher/ChangeLog
8340 * lib/libgcrypt/cipher/ac.c
8341 * lib/libgcrypt/cipher/arcfour.c
8342 * lib/libgcrypt/cipher/bithelp.h
8343 * lib/libgcrypt/cipher/blowfish.c
8344 * lib/libgcrypt/cipher/camellia-glue.c
8345 * lib/libgcrypt/cipher/camellia.c
8346 * lib/libgcrypt/cipher/camellia.h
8347 * lib/libgcrypt/cipher/cast5.c
8348 * lib/libgcrypt/cipher/cipher.c
8349 * lib/libgcrypt/cipher/crc.c
8350 * lib/libgcrypt/cipher/des.c
8351 * lib/libgcrypt/cipher/dsa.c
8352 * lib/libgcrypt/cipher/ecc.c
8353 * lib/libgcrypt/cipher/elgamal.c
8354 * lib/libgcrypt/cipher/hash-common.c
8355 * lib/libgcrypt/cipher/hash-common.h
8356 * lib/libgcrypt/cipher/hmac-tests.c
8357 * lib/libgcrypt/cipher/md.c
8358 * lib/libgcrypt/cipher/md4.c
8359 * lib/libgcrypt/cipher/md5.c
8360 * lib/libgcrypt/cipher/primegen.c
8361 * lib/libgcrypt/cipher/pubkey.c
8362 * lib/libgcrypt/cipher/rfc2268.c
8363 * lib/libgcrypt/cipher/rijndael-tables.h
8364 * lib/libgcrypt/cipher/rijndael.c
8365 * lib/libgcrypt/cipher/rmd.h
8366 * lib/libgcrypt/cipher/rmd160.c
8367 * lib/libgcrypt/cipher/rsa.c
8368 * lib/libgcrypt/cipher/seed.c
8369 * lib/libgcrypt/cipher/serpent.c
8370 * lib/libgcrypt/cipher/sha1.c
8371 * lib/libgcrypt/cipher/sha256.c
8372 * lib/libgcrypt/cipher/sha512.c
8373 * lib/libgcrypt/cipher/tiger.c
8374 * lib/libgcrypt/cipher/twofish.c
8375 * lib/libgcrypt/cipher/whirlpool.c
8376
8377 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8378
8379 Fix build for systems without error().
8380
8381 * gnulib/error.c: New file (imported from Gnulib).
8382 * gnulib/error.h: Likewise.
8383 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8384 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8385 (this variable is now used by error()).
8386
8387 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8388
8389 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8390 instead of relying that char is signed.
8391
8392 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8395 blocksize different from specified.
8396 (grub_pxefs_read): Likewise.
8397
8398 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8399
8400 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8401
8402 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8403 (grub_ata_readwrite): Likewise. Update 2 format strings.
8404 (grub_atapi_read): Likewise.
8405
8406 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8407 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8408 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8409 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8410 (ata_mod_LDFLAGS): Move from here ...
8411 * conf/i386.rmk: ... to here ...
8412 * conf/x86_64-efi.rmk: ... and here.
8413 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8414 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8415
8416 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8417
8418 Relicense multiboot.h, with RMS' blessing.
8419
8420 * include/multiboot.h: Change to X11 license.
8421
8422 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8423
8424 Support --version in grub-mkisofs.
8425
8426 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8427 (OPTION_VERSION): New macro.
8428 (ld_options): Recognize --version.
8429 (usage): Move `program_name' from here ...
8430 (program_name): ... to here. Add `static' qualifier.
8431 (main): Recognize `OPTION_VERSION'.
8432
8433 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8434
8435 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8436 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8437
8438 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8439
8440 Fix help2man generation for mkisofs.
8441
8442 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8443 (usage): Send output to stdout (rather than stderr).
8444
8445 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8446
8447 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8448 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8449 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8450 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8451 (bin_SCRIPTS): Add `grub-mkfloppy'.
8452 (grub_mkfloppy_SOURCES): New variable.
8453
8454 * util/grub-mkrescue.in: New file.
8455 * util/i386/pc/grub-mkfloppy.in: New file.
8456
8457 * util/i386/coreboot/grub-mkrescue.in: Remove.
8458 * util/i386/pc/grub-mkrescue.in: Remove.
8459
8460 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8461
8462 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8463 from here ...
8464 * include/multiboot.h (struct multiboot_header): ... to here. Update
8465 all users.
8466 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8467 from here ...
8468 * include/multiboot.h (struct multiboot_info): ... to here. Update
8469 all users.
8470 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8471 from here ...
8472 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8473 Update all users.
8474 * include/grub/multiboot.h (struct grub_mod_list): Move
8475 from here ...
8476 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8477 Update all users.
8478
8479 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8480
8481 * include/multiboot2.h (multiboot_word): Rename from this ...
8482 (multiboot2_word): ... to this. Update all users.
8483 (multiboot_header): Rename from this ...
8484 (multiboot2_header): ... to this. Update all users.
8485 (multiboot_tag_header): Rename from this ...
8486 (multiboot2_tag_header): ... to this. Update all users.
8487 (multiboot_tag_start): Rename from this ...
8488 (multiboot2_tag_start): ... to this. Update all users.
8489 (multiboot_tag_name): Rename from this ...
8490 (multiboot2_tag_name): ... to this. Update all users.
8491 (multiboot_tag_module): Rename from this ...
8492 (multiboot2_tag_module): ... to this. Update all users.
8493 (multiboot_tag_memory): Rename from this ...
8494 (multiboot2_tag_memory): ... to this. Update all users.
8495 (multiboot_tag_unused): Rename from this ...
8496 (multiboot2_tag_unused): ... to this. Update all users.
8497 (multiboot_tag_end): Rename from this ...
8498 (multiboot2_tag_end): ... to this. Update all users.
8499
8500 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8501
8502 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8503 this platform we should support Multiboot1 first.
8504
8505 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8506 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8507 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8508
8509 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8510
8511 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8512 of write calls (converting them to fwrite() if they aren't already).
8513 (get_torito_desc): Likewise.
8514 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8515
8516 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8517
8518 * util/i386/pc/grub-install.in: Move from here ...
8519 * util/grub-install.in: ... to here. Update all users.
8520
8521 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8522
8523 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8524
8525 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8526
8527 Support for El Torito without floppy emulation.
8528
8529 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8530 (init_boot_catalog): Improve error handling.
8531 (get_torito_desc): Don't use floppy emulation unless requested by
8532 user. Patch boot information table when requested via
8533 `-boot-info-table'.
8534 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8535 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8536 (use_boot_info_table): New variables.
8537 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8538 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8539 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8540 `--eltorito-emul-floppy'.
8541 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8542 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8543 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8544 (use_boot_info_table, get_731): New prototypes.
8545 * util/mkisofs/write.c (get_731): New function.
8546
8547 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8548
8549 Fix the generation of the man page.
8550
8551 * util/pc/i386/grub-install.in: Source
8552 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8553
8554 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8555
8556 Large file support for grub-mkisofs.
8557
8558 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8559 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8560 (session_start): Upgrade type to `uint64_t'. Update all users.
8561 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8562 (struct directory_entry): Upgrade type of `starting_block' and
8563 `size' to `uint64_t'. Update all users.
8564 (struct deferred): Remove unused structure.
8565 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8566 Update all users.
8567 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8568 file is larger than `UINT32_MAX'.
8569 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8570 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8571 return value.
8572 (struct deferred_write): Upgrade type of `extent' and `size' to
8573 `uint64_t'. Update all users.
8574 (last_extent_written): Upgrade type to `uint64_t'. Update all
8575 users.
8576 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8577 Update all users. Upgrade type of `remain' to `int64_t' and
8578 `use' to `size_t'. Use error() to handle fread() errors.
8579 (write_files): Rely on write_one_file() rather than calling
8580 xfwrite() directly.
8581
8582 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8583
8584 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8585
8586 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8587
8588 * util/mkisofs/fnmatch.c: Remove.
8589 * util/mkisofs/getopt1.c: Likewise.
8590 * util/mkisofs/getopt.c: Likewise.
8591 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8592 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8593 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8594 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8595 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8596
8597 * configure.ac: Detect `mingw32msvc' host_os.
8598 Check for lstat(), getuid() and getgid().
8599
8600 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8601 instances of `u_char' with `uint8_t'.
8602
8603 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8604 [!HAVE_GETUID] (getuid): New function (stub).
8605 [!HAVE_GETGID] (getgid): Likewise.
8606 [!HAVE_LSTAT] (lstat): Likewise.
8607 [!S_IROTH] (S_IROTH): New macro (dummy).
8608 [!S_IRGRP] (S_IRGRP): Likewise.
8609
8610 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8611
8612 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8613 conditional expression).
8614
8615 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8616
8617 Import from Gnulib.
8618
8619 * gnulib/fnmatch.c: New file.
8620 * gnulib/fnmatch.h: Likewise.
8621 * gnulib/fnmatch_loop.c: Likewise.
8622 * gnulib/getopt.c: Likewise.
8623 * gnulib/getopt.h: Likewise.
8624 * gnulib/getopt1.c: Likewise.
8625 * gnulib/getopt_int.h: Likewise.
8626 * gnulib/gettext.h: Likewise.
8627
8628 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8629
8630 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8631 * normal/handler.c (read_handler_list): Likewise.
8632
8633 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8634
8635 Misc cleanup.
8636
8637 * kern/command.c (grub_register_command_prio): Use
8638 grub_zalloc() instead of explicitly zeroing data.
8639 * kern/list.c: Include `<grub/mm.h>'.
8640 (grub_named_list_find): Replace `0' with `NULL'.
8641 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8642 (fs_module_list): Change type to `grub_named_list_t'. Update all
8643 users.
8644 * normal/dyncmd.c (read_command_list): Add space between function
8645 call and parenthesis.
8646 * normal/handler.c (read_handler_list): Likewise.
8647
8648 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8649
8650 * normal/auth.c (punishment_delay): Moved from here ...
8651 (grub_auth_strcmp): ... to here (inside function).
8652
8653 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8654
8655 * include/grub/list.h (struct grub_named_list): Remove `const'
8656 qualifier from `name'.
8657 (struct grub_prio_list): Likewise.
8658
8659 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8660
8661 * normal/auth.c: Include `<grub/time.h>'.
8662 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8663
8664 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8665
8666 * normal/auth.c (punishment_delay): New variable.
8667 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8668 (grub_auth_check_authentication): Punish failed login attempts with
8669 an incremental (2^N) delay.
8670
8671 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8672
8673 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8674 path with $(srcdir).
8675
8676 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8679
8680 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8681
8682 * util/i386/coreboot/grub-mkrescue.in: New file.
8683 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8684 variables.
8685
8686 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8687 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8688 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8689 requirements.
8690 * util/mkisofs/defaults.h: New file.
8691 * util/mkisofs/eltorito.c: Likewise.
8692 * util/mkisofs/exclude.h: Likewise.
8693 * util/mkisofs/fnmatch.c: Likewise.
8694 * util/mkisofs/getopt.c: Likewise.
8695 * util/mkisofs/getopt1.c: Likewise.
8696 * util/mkisofs/hash.c: Likewise.
8697 * util/mkisofs/include/fctldefs.h: Likewise.
8698 * util/mkisofs/include/mconfig.h: Likewise.
8699 * util/mkisofs/include/prototyp.h: Likewise.
8700 * util/mkisofs/include/statdefs.h: Likewise.
8701 * util/mkisofs/iso9660.h: Likewise.
8702 * util/mkisofs/joliet.c: Likewise.
8703 * util/mkisofs/match.c: Likewise.
8704 * util/mkisofs/match.h: Likewise.
8705 * util/mkisofs/mkisofs.c: Likewise.
8706 * util/mkisofs/mkisofs.h: Likewise.
8707 * util/mkisofs/multi.c: Likewise.
8708 * util/mkisofs/name.c: Likewise.
8709 * util/mkisofs/rock.c: Likewise.
8710 * util/mkisofs/tree.c: Likewise.
8711 * util/mkisofs/write.c: Likewise.
8712
8713 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8716 being insecure.
8717
8718 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8719
8720 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8721 `grub-mkimage' (and use $0 when possible).
8722
8723 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8724
8725 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8726 error message for excessively large memory map.
8727
8728 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8729
8730 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8731 executable bit.
8732
8733 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8734
8735 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8736 message for coreboot users.
8737
8738 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8739
8740 Fix build with GNU gold.
8741
8742 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8743 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8744 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8745 link addresses.
8746 * aclocal.m4: Likewise.
8747
8748 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8749
8750 * configure.ac (AC_PREREQ): Bump to 2.59d.
8751 * INSTALL: Make it more clear when Autoconf and Ruby are
8752 needed and when to run `./autogen.sh'.
8753
8754 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8755
8756 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8757 OSes.
8758
8759 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8760
8761 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8762
8763 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8764
8765 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8766 giving it to GNU Mach.
8767
8768 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8769
8770 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8771 GNU partition number to get internal GRUB partition number.
8772
8773 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8774
8775 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8776 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8777
8778 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8779
8780 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8781 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8782 case.
8783
8784 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8785
8786 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8787
8788 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8789
8790 Fix build problem.
8791
8792 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8793 `-isystem=$(srcdir)/include'.
8794
8795 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8796
8797 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8798 checked (grub-install doesn't currently rely on it).
8799
8800 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8801
8802 Revert SVN r2660.
8803
8804 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8805 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8806 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8807 * conf/i386-ieee1275.rmk: Likewise.
8808 * conf/i386-pc.rmk: Likewise.
8809 * conf/powerpc-ieee1275.rmk: Likewise.
8810 * conf/sparc64-ieee1275.rmk: Likewise.
8811 * conf/x86_64-efi.rmk: Likewise.
8812
8813 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8814
8815 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8816
8817 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8818
8819 * include/grub/misc.h: Stop checking for APPLE_CC.
8820
8821 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8822
8823 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8824 doesn't cause an infinite call loop.
8825
8826 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8827
8828 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8829 strings.
8830
8831 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8832
8833 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8834 variable.
8835 * Makefile.in: Likewise.
8836
8837 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8838
8839 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8840
8841 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8842
8843 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8844
8845 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8846
8847 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8848
8849 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8850
8851 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8852 from here ...
8853 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8854
8855 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8856
8857 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8858 in $(MAKEINFO) invocation. This makes it clear in output that
8859 errors are being ignored.
8860
8861 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8862
8863 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8864 from here ...
8865 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8866 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8867 * conf/i386-ieee1275.rmk: Likewise.
8868 * conf/i386-pc.rmk: Likewise.
8869 * conf/powerpc-ieee1275.rmk: Likewise.
8870 * conf/sparc64-ieee1275.rmk: Likewise.
8871 * conf/x86_64-efi.rmk: Likewise.
8872
8873 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8874
8875 * util/grub-editenv.c (main): If only a command is given, use
8876 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8877 (usage): FILENAME is now optional and has a default.
8878
8879 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8880
8881 Improve grub-mkconfig performance when there are several menu
8882 entries on a single filesystem.
8883
8884 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8885 prepare_grub_to_access_device.
8886 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8887 * util/grub.d/30_os-prober.in: Likewise.
8888
8889 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8890
8891 * util/grub.d/10_freebsd.in: Remove.
8892 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8893 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8894
8895 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8896
8897 * docs/grub.cfg: Fix example usage of *BSD loaders.
8898
8899 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8900
8901 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8902 grub_util_error() call.
8903
8904 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8905
8906 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8907 `reserved_first_sector' member.
8908 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8909 `reserved_first_sector' to 1.
8910 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8911 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8912 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8913 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8914 filesystems which begin at first sector.
8915 (options): New option --skip-fs-probe.
8916 (main): Handle --skip-fs-probe and pass it to setup().
8917
8918 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8919
8920 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8921 (memset): Fix function prototype.
8922
8923 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8924 2009-10-25 Vasily Averin <vvs@parallels.com>
8925
8926 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8927 `dirent.direntlen == 0'.
8928
8929 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8930
8931 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8932 `cpio'.
8933 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8934
8935 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8936
8937 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8938 `__trampoline_setup' and `__ucmpdi2'.
8939 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8940 that libgcc provides.
8941
8942 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8943
8944 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8945 * include/grub/sparc64/libgcc.h (memset): Likewise.
8946 * include/grub/misc.h (memset, memcmp): New function prototypes.
8947
8948 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8949
8950 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8951 `cpio'.
8952 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8953
8954 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8955
8956 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8957 * docs/grub.cfg: Compensate for recent change in multiboot
8958 loader (since 2009-08-14 it won't pass filename to payload).
8959 * util/grub.d/10_hurd.in: Likewise.
8960
8961 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8962
8963 * config.guess: Update to latest version from config git
8964 repository.
8965 * config.sub: Likewise.
8966
8967 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8968
8969 Fix build on sparc64.
8970
8971 * configure.ac: Perform checks for libgcc symbols before
8972 adding `-nostdlib' to LDFLAGS.
8973
8974 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Let user specify OpenBSD root device.
8977
8978 * loader/i386/bsd.c (openbsd_root): New variable.
8979 (openbsd_opts): New option 'root'.
8980 (OPENBSD_ROOT_ARG): New macro.
8981 (grub_openbsd_boot): Use 'openbsd_root'.
8982 (grub_cmd_openbsd): Fill 'openbsd_root'.
8983
8984 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8985
8986 * NEWS: Misc adjustments.
8987
8988 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8991
8992 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8993
8994 * configure.ac: Bump version to 1.97.
8995
8996 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8997
8998 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8999 -mno-3dnow on x86 architectures. Some toolchains enable these
9000 features by default, but they rely on registers that aren't enabled
9001 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9002
9003 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9004
9005 Make entry text a bit more readable.
9006
9007 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9008
9009 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9012
9013 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9016 operations.
9017
9018 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * configure.ac: Add missing dollar.
9021
9022 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9025
9026 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9027 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9028 exports.
9029 * include/grub/sparc64/libgcc.h: Likewise. Use
9030 preprocessor conditionals.
9031
9032 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9033
9034 * conf/common.rmk (grub-dumpbios): Remove rule.
9035 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9036 * util/grub-dumpbios.in: Remove file.
9037
9038 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9039
9040 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9041 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9042
9043 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9044 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9045 users.
9046
9047 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9048 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9049 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9050 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9051 users.
9052
9053 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9054
9055 * term/tparm.c: Switch to GPLv3.
9056
9057 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9058
9059 * include/grub/i386/cpuid.h: Add header protection.
9060
9061 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9062
9063 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9064
9065 * include/grub/i386/cpuid.h: New file.
9066 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9067 (has_longmode): Rename to ...
9068 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9069 `static' attribute.
9070 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9071 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9072 on a CPU that doesn't implement AMD64 instruction set.
9073
9074 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9075
9076 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9077 that version.texi is rebuilt on version number changes.
9078
9079 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9080
9081 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9082 Fixes bug #27602.
9083
9084 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9085
9086 * util/i386/pc/grub-install.in: Source
9087 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9088 that the --grub-probe option will work.
9089 * util/sparc64/ieee1275/grub-install.in: Likewise.
9090
9091 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9092
9093 * configure.ac: Bump version to 1.97~beta4.
9094
9095 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9096
9097 Resync grub-mkdevicemap in x86_64-efi.
9098
9099 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9100 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9101 `util/devicemap.c'.
9102
9103 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
9104
9105 * util/grub-editenv.c (create_envblk_file): Write new block with a
9106 .new suffix and then rename it into place, to ensure atomic
9107 creation.
9108
9109 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9110
9111 Do not automatically install headers.
9112
9113 * Makefile.in (include_DATA): Remove. Update all users.
9114
9115 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9116
9117 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9118 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9119
9120 * util/osdetect.lua: Remove.
9121 * script/lua/lauxlib.c: Likewise.
9122 * script/lua/ldebug.c: Likewise.
9123 * script/lua/grub_main.c: Likewise.
9124 * script/lua/lauxlib.h: Likewise.
9125 * script/lua/ldebug.h: Likewise.
9126 * script/lua/ltablib.c: Likewise.
9127 * script/lua/liolib.c: Likewise.
9128 * script/lua/lstrlib.c: Likewise.
9129 * script/lua/lualib.h: Likewise.
9130 * script/lua/ldo.c: Likewise.
9131 * script/lua/ldump.c: Likewise.
9132 * script/lua/ldo.h: Likewise.
9133 * script/lua/loslib.c: Likewise.
9134 * script/lua/lundump.c: Likewise.
9135 * script/lua/grub_lib.c: Likewise.
9136 * script/lua/ldblib.c: Likewise.
9137 * script/lua/lundump.h: Likewise.
9138 * script/lua/lmem.c: Likewise.
9139 * script/lua/grub_lib.h: Likewise.
9140 * script/lua/lmathlib.c: Likewise.
9141 * script/lua/lstate.c: Likewise.
9142 * script/lua/ltm.c: Likewise.
9143 * script/lua/lvm.c: Likewise.
9144 * script/lua/lmem.h: Likewise.
9145 * script/lua/lstate.h: Likewise.
9146 * script/lua/ltm.h: Likewise.
9147 * script/lua/ltable.c: Likewise.
9148 * script/lua/lvm.h: Likewise.
9149 * script/lua/llex.c: Likewise.
9150 * script/lua/lgc.c: Likewise.
9151 * script/lua/grub_lua.h: Likewise.
9152 * script/lua/loadlib.c: Likewise.
9153 * script/lua/lfunc.c: Likewise.
9154 * script/lua/lopcodes.c: Likewise.
9155 * script/lua/lparser.c: Likewise.
9156 * script/lua/ltable.h: Likewise.
9157 * script/lua/llex.h: Likewise.
9158 * script/lua/lgc.h: Likewise.
9159 * script/lua/lfunc.h: Likewise.
9160 * script/lua/lbaselib.c: Likewise.
9161 * script/lua/lopcodes.h: Likewise.
9162 * script/lua/lparser.h: Likewise.
9163 * script/lua/lzio.c: Likewise.
9164 * script/lua/linit.c: Likewise.
9165 * script/lua/lobject.c: Likewise.
9166 * script/lua/llimits.h: Likewise.
9167 * script/lua/lstring.c: Likewise.
9168 * script/lua/lzio.h: Likewise.
9169 * script/lua/lapi.c: Likewise.
9170 * script/lua/lcode.c: Likewise.
9171 * script/lua/lua.h: Likewise.
9172 * script/lua/lobject.h: Likewise.
9173 * script/lua/lstring.h: Likewise.
9174 * script/lua/lapi.h: Likewise.
9175 * script/lua/lcode.h: Likewise.
9176 * script/lua/luaconf.h: Likewise.
9177
9178 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
9179
9180 * docs/grub.texi (Command-line and menu entry commands): Document
9181 date and echo commands.
9182
9183 2009-09-24 Pavel Roskin <proski@gnu.org>
9184
9185 * include/grub/kernel.h (struct grub_module_header): Remove
9186 `grub_module_header_types'. Make `type' unsigned. Make `size'
9187 32-bit on all platforms.
9188 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9189 8-bit field. Use grub_host_to_target32() for `size'.
9190 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9191 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9192 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9193
9194 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9195
9196 Fix "lost keypress" bug in at_keyboard.
9197
9198 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9199 Checks for readyness of input buffer (without flushing it).
9200 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9201 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9202
9203 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9204
9205 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9206 size check within GRUB_MACHINE_PCBIOS section.
9207
9208 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9209
9210 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9211 return value.
9212 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9213 KEYBOARD_ISREADY check.
9214 (grub_at_keyboard_checkkey): Rename to ...
9215 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9216 Remove gratuitous cast.
9217
9218 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9219
9220 * configure.ac: Call AC_PROG_MKDIR_P.
9221 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9222 version.texi in $(builddir) rather than $(srcdir).
9223 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9224 to makeinfo's @include search path.
9225
9226 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9227
9228 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9229
9230 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9231
9232 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9233 for `*.dpkg-new'.
9234
9235 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9236
9237 Build info documentation. Some code borrowed from Automake.
9238
9239 * configure.ac: Check for makeinfo.
9240 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9241 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9242 docs/version.texi.
9243 (MOSTLYCLEANFILES): Add vti.tmp.
9244 (docs/version.texi, docs/stamp-vti): Update automatically.
9245 (docs/grub.info): Build info documentation. Use --force and ignore
9246 errors for now.
9247 (all-local): Add $(INFOS).
9248 (install-local): Install info files.
9249 (uninstall): Uninstall info files.
9250 * docs/version.texi: Remove from revision control. This file is
9251 automatically generated on build now.
9252 * gendistlist.sh: Add `*.info'.
9253
9254 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9255
9256 * kern/term.c: Fix indentation.
9257
9258 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9259
9260 * util/hostdisk.c: Fix a comment.
9261
9262 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9263
9264 Fix regression introduced in r2539.
9265
9266 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9267 to 0xA1.
9268
9269 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9270
9271 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9272 os-prober. Under normal operation, it does not print anything to
9273 stderr; if it does, we need to debug it, and throwing away stderr
9274 makes that excessively difficult.
9275
9276 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9279
9280 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9281
9282 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9283 AC_LANG_PROGRAM from autoconf.
9284 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9285 prototypes (fixes warning).
9286
9287 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9288 `--disable-werror' was used.
9289
9290 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9291
9292 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9293 uninitialized `lastaddr'.
9294
9295 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9298
9299 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9300
9301 * commands/test.c (get_fileinfo): Return immediately if
9302 grub_fs_probe fails.
9303
9304 2009-09-14 José Martínez <xosemp@gmail.com>
9305
9306 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9307
9308 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9309
9310 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9311 output.
9312
9313 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9314
9315 * configure.ac: Remove --enable-grub-pe2elf. Only build
9316 grub-pe2elf when needed by the build system itself.
9317 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9318
9319 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9320
9321 * configure.ac: Bump version to 1.97~beta3.
9322 * docs/version.texi: Likewise.
9323
9324 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9325
9326 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9327 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9328 from here ...
9329 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9330 (grub_linux_setup_video): ... to here (with some adjustments).
9331
9332 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9333
9334 Fix memory corruption issue (spotted by Colin Watson).
9335
9336 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9337 causing returned size to be stored in an incorrect memory location.
9338 Fix use of uninitialized value when storing the returned size.
9339
9340 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9341
9342 Change clean rules to properly remove files
9343
9344 * genmk.rb: add new clean rules
9345 * Makefile.in (clean): add the new targets
9346 (mostlyclean): likewise
9347
9348 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9351 to grub_uint64_t.
9352 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9353 non-resident files.
9354
9355 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9356
9357 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9358 part of bug #27349.
9359
9360 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9361
9362 * util/grub-mkconfig.in: Make the created config mode 400 and
9363 print a warning if it fails.
9364
9365 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9366
9367 * util/grub.d/40_custom.in: Ask user to type custom entries below
9368 comment, rather than below 'exec tail' line.
9369
9370 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9371
9372 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9373 visible in grub.cfg.
9374
9375 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9376
9377 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9378 file.
9379
9380 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9381
9382 * docs/grub.cfg: Add an example menu entry for memtest86+.
9383
9384 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9385
9386 * config.guess: Update to latest version from config git.
9387 * config.sub: Likewise.
9388
9389 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9390
9391 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9392 unknown-command case. Fixes bug #27320.
9393
9394 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9395
9396 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9397 `help' if the command exists.
9398
9399 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9400
9401 * INSTALL: Require GCC 4.1.3 or later.
9402
9403 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9404
9405 * Makefile.in (RMKFILES): add i386-qemu.rmk
9406 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9407 $(srcdir)/stamp-h.in
9408
9409 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9410
9411 * util/grub-probe.c (probe): Comment out buggy codepath, which
9412 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9413 should be re-enabled after 1.97.
9414
9415 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9416
9417 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9418 find searches for.
9419
9420 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9423 unnecessary calls to grub_error.
9424
9425 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * NEWS: Mention `keystatus' and Unicode fonts.
9428
9429 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9430
9431 * configure.ac: Bump version to 1.97~beta2.
9432 * docs/version.texi: Likewise.
9433
9434 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9435
9436 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9437 containing unwind information in some cases where it previously did
9438 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9439 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9440 discussion.
9441
9442 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9443
9444 Embedding loadenv module into grub-emu
9445
9446 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9447 commands/loadenv.c
9448 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9449 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9450 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9453 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9454
9455 2009-09-03 Magnus Granberg <zorry@ume.nu>
9456
9457 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9458 include -fPIE in the default specs.
9459 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9460 to TARGET_CFLAGS.
9461
9462 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9463
9464 * INSTALL: Note that GNU Bison 2.3 or later is required.
9465
9466 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9467
9468 * kern/i386/pc/startup.S: Fix typo.
9469
9470 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9473 according to GCS.
9474
9475 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9476
9477 * docs/grub.texi (Naming convention): Describe one-based partition
9478 numbering.
9479 (Device syntax): Likewise.
9480 (File name syntax): Likewise.
9481 (Block list syntax): Likewise.
9482 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9483 menu.lst.
9484 (File name syntax): Likewise.
9485 (Command-line and menu entry commands): Document acpi, blocklist,
9486 crc, export, insmod, keystatus, ls, set, and unset commands.
9487
9488 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9489
9490 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9491 to avoid implying that only one of --shift, --ctrl, or --alt may be
9492 used.
9493
9494 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9495
9496 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9497 rather than comparing against S_IFREG, which will almost never work.
9498
9499 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9502 (write_blocklists): Likewise.
9503
9504 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9505
9506 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9507 argument to grub_printf.
9508
9509 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9510
9511 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9512 non GNU test.
9513
9514 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * kern/file.c (grub_file_read): Spelling fix
9517
9518 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9521 loading of headers in some cases.
9522
9523 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9524
9525 * configure.ac: Bump version to 1.97~beta1.
9526 * docs/version.texi: Likewise.
9527
9528 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * include/grub/i386/xnu.h: Add license header.
9531 include grub/err.h explicitly.
9532
9533 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9534
9535 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9536 to `ufs' in the vfs.root.mountfrom kernel parameter.
9537
9538 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9539
9540 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9541
9542 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9543 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9544
9545 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9546 `ARRAY_SIZE' macro.
9547
9548 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * kern/file.c (grub_file_read): Check offset.
9551 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9552 * fs/jfs.c (grub_jfs_read_file): Likewise.
9553 * fs/ntfs.c (grub_ntfs_read): Likewise.
9554 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9555 * fs/minix.c (grub_minix_read_file): Correct offset check.
9556 * fs/ufs.c (grub_ufs_read_file): Likewise.
9557
9558 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9559
9560 * term/i386/pc/console.c (bios_data_area): Cast
9561 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9562
9563 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 1-bit optimised blitters.
9566
9567 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9568 prototype.
9569 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9570 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9571 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9572 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9573 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9574 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9575 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9576 function.
9577 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9578 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9579 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9580 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9581 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9582 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9583 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9584 when possible.
9585 * video/video.c (grub_video_get_blit_format): Return
9586 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9587
9588 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9589
9590 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9591 the first argument to grub_printf.
9592
9593 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9594 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9595
9596 Add `getkeystatus' terminal method. Add a new `keystatus' command
9597 to query it.
9598
9599 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9600 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9601 modifier key bitmasks.
9602 (struct grub_term_input): Add `getkeystatus' member.
9603 (grub_getkeystatus): Add prototype.
9604 * kern/term.c (grub_getkeystatus): New function.
9605
9606 * include/grub/i386/pc/memory.h
9607 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9608 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9609 Data Area layout.
9610 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9611 (grub_console_term_input): Set `getkeystatus' member.
9612 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9613 constants.
9614 (grub_usb_keyboard_getreport): Likewise.
9615 (grub_usb_keyboard_checkkey): Likewise.
9616 (grub_usb_keyboard_getkeystatus): New function.
9617 (grub_usb_keyboard_term): Set `getkeystatus' member.
9618
9619 * commands/keystatus.c: New file.
9620 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9621 (keystatus_mod_SOURCES): New variable.
9622 (keystatus_mod_CFLAGS): Likewise.
9623 (keystatus_mod_LDFLAGS): Likewise.
9624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9625 commands/keystatus.c.
9626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9628 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9630 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9632
9633 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Split befs.mod and afs.mod into *_be.mod and *.mod
9636
9637 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9638 (grub_fstest_SOURCES): Likewise.
9639 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9640 (afs_be_mod_SOURCES): New variable.
9641 (afs_be_mod_CFLAGS): Likewise.
9642 (afs_be_mod_LDFLAGS): Likewise.
9643 (befs_be_mod_SOURCES): Likewise.
9644 (befs_be_mod_CFLAGS): Likewise.
9645 (befs_be_mod_LDFLAGS): Likewise.
9646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9647 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9648 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9649 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9650 (grub_emu_SOURCES): Likewise.
9651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9652 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9653 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9654 * fs/afs_be.c: New file.
9655 * fs/befs_be.c: New file.
9656 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9657 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9658 (U16): Replaced with ...
9659 (grub_afs_to_cpu16): ...this. All users updated.
9660 (U32): Replaced with ...
9661 (grub_afs_to_cpu32): ...this. All users updated.
9662 (U64): Replaced with ...
9663 (grub_afs_to_cpu64): ...this. All users updated.
9664 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9665 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9666 (grub_afs_validate_sblock): Check only one endianness.
9667 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9668 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9669 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9670 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9671 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9672 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9673 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9674 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9675
9676 2009-08-26 Bean <bean123ch@gmail.com>
9677
9678 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9679 64-bit number.
9680 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9681 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9682 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9683
9684 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 NetBSD memory map support.
9687
9688 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9689 (grub_netbsd_btinfo_mmap_header): New structure.
9690 (grub_netbsd_btinfo_mmap_entry): Likewise.
9691 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9692
9693 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 Enable bsd.mod on coreboot.
9696
9697 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9698 (bsd_mod_SOURCES): New variable.
9699 (bsd_mod_CFLAGS): Likewise.
9700 (bsd_mod_LDFLAGS): Likewise.
9701 (bsd_mod_ASFLAGS): Likewise.
9702 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9703 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9704
9705 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 Cleanup NetBSD root support.
9708
9709 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9710 grub_bsd_get_device.
9711 Fix typo.
9712
9713 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9714
9715 * util/grub.d/00_header.in: Move check for the video backend of
9716 gfxterm from here ...
9717 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9718 a suitable video backend.
9719
9720 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 Fix breakage in grub-setup.
9723
9724 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9725 "msdos_partition_map".
9726
9727 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Fix breakage in normal/auth.c.
9730
9731 * normal/auth.c (grub_iswordseparator): New function.
9732
9733 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 Authentication support.
9736
9737 * commands/password.c: New file.
9738 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9739 (password_mod_SOURCES): New variable.
9740 (password_mod_CFLAGS): Likewise.
9741 (password_mod_LDFLAGS): Likewise.
9742 (normal_mod_SOURCES): Add normal/auth.c.
9743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9744 normal/auth.c.
9745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9746 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9747 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9749 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9750 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9751 * include/grub/auth.h: New file.
9752 * include/grub/err.h (grub_err_t): New enum value
9753 GRUB_ERR_ACCESS_DENIED.
9754 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9755 'users'.
9756 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9757 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9758 users updated.
9759 * normal/auth.c: New file.
9760 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9761 (grub_cmdline_run): Don't allow to go to command line without
9762 authentication.
9763 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9764 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9765 menuentry without superuser rights.
9766 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9767 user isn't a superuser.
9768
9769 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 Save space by inlining misc.c functions.
9772
9773 * kern/misc.c (grub_iswordseparator): Made static.
9774 * kern/misc.c (grub_strcat): Moved from here ...
9775 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9776 * kern/misc.c (grub_strncat): Moved from here ...
9777 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9778 * kern/misc.c (grub_strcasecmp): Moved from here ...
9779 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9780 * kern/misc.c (grub_strncasecmp): Moved from here ...
9781 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9782 * kern/misc.c (grub_isalpha): Moved from here ...
9783 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9784 * kern/misc.c (grub_isdigit): Moved from here ...
9785 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9786 * kern/misc.c (grub_isgraph): Moved from here ...
9787 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9788 * kern/misc.c (grub_tolower): Moved from here ...
9789 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9790
9791 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * script/sh/function.c (grub_script_function_find): Cut error message
9794 not to flood terminal.
9795 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9796 limit.
9797 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9798
9799 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9800
9801 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9802 `report' grub_uint8_t *.
9803 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9804 Use a 50-millisecond timeout rather than just repeating
9805 grub_usb_keyboard_getreport 50 times.
9806 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9807
9808 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 Rename *_partition_map to part_*
9811
9812 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9813 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9814 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9815 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9816 All users updated.
9817 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9818 All users updated.
9819 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9820 * util/grub-probe.c (probe_partmap): Don't transform partition name
9821 to get module name.
9822
9823 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 Fix OpenBSD and NetBSD support.
9826
9827 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9828 memory address conflict.
9829 (OPENBSD_MMAP_ACPI): New definition.
9830 (OPENBSD_MMAP_NVS): Likewise.
9831 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9832 and OPENBSD_MMAP_NVS.
9833 Add memory map terminator
9834 Explicit cast when calling grub_unix_real_boot.
9835 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9836
9837 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 Let user specify NetBSD root device.
9840
9841 * loader/i386/bsd.c (netbsd_root): New variable.
9842 (netbsd_opts): New option 'root'.
9843 (NETBSD_ROOT_ARG): New macro.
9844 (grub_netbsd_boot): Use 'netbsd_root'.
9845 (grub_bsd_unload): Free 'netbsd_root'.
9846 (grub_cmd_netbsd): Fill 'netbsd_root'.
9847
9848 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 Support for 64-bit NetBSD.
9851
9852 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9853 point when booting non-FreeBSD.
9854
9855 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 Support --no-smp and --no-acpi for NetBSD.
9858
9859 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9860 (NETBSD_AB_NOACPI): Likewise.
9861 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9862 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9863
9864 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9867 errors.
9868 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9869 errors. Call grub_error when needed.
9870
9871 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * commands/search.c (search_fs): Try searching without autoload first.
9874 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9875 filesystem module explicitly for faster booting.
9876
9877 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9878
9879 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9880
9881 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9882
9883 * util/grub.d/30_os-prober.in: Disable os-prober if
9884 `GRUB_DISABLE_OS_PROBER' was set to true.
9885
9886 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9887
9888 * partmap/pc.c: Rename to ...
9889 * partmap/msdos.c: ... this. Update all users.
9890 (grub_pc_partition_map): Rename to ...
9891 (grub_msdos_partition_map): ... this. Update all users.
9892
9893 * parttool/pcpart.c: Rename to ...
9894 * parttool/msdospart.c: ... this. Update all users.
9895
9896 * include/grub/pc_partition.h: Rename to ...
9897 * include/grub/msdos_partition.h: ... this. Update all users.
9898 (grub_pc_partition_bsd_entry): Rename to ...
9899 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9900 (grub_pc_partition_disk_label): Rename to ...
9901 (grub_msdos_partition_disk_label): ... this. Update all users.
9902 (grub_pc_partition_entry): Rename to ...
9903 (grub_msdos_partition_entry): ... this. Update all users.
9904 (grub_pc_partition_mbr): Rename to ...
9905 (grub_msdos_partition_mbr): ... this. Update all users.
9906 (grub_pc_partition): Rename to ...
9907 (grub_msdos_partition): ... this. Update all users.
9908 (grub_pc_partition_is_empty): Rename to ...
9909 (grub_msdos_partition_is_empty): ... this. Update all users.
9910 (grub_pc_partition_is_extended): Rename to ...
9911 (grub_msdos_partition_is_extended): ... this. Update all users.
9912 (grub_pc_partition_is_bsd): Rename to ...
9913 (grub_msdos_partition_is_bsd): ... this. Update all users.
9914
9915 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9916 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9917 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9918 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9919 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9920 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9921 (gpt_mod_LDFLAGS): Rename to ...
9922 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9923 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9924 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9925 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9926 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9927 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9928 (part_gpt_mod_LDFLAGS): ... this.
9929 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9930 `pcpart.mod' to `msdospart.mod'.
9931 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9932 to ...
9933 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9934 (msdospart_mod_LDFLAGS): ... this.
9935
9936 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9939 (openbsd_opts): Likewise.
9940 (netbsd_opts): Likewise.
9941 (freebsd_flags): Added 0 terminator.
9942 (openbsd_flags): Likewise.
9943 (netbsd_flags): Likewise.
9944 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9945 (grub_cmd_freebsd): Transformed into extended command.
9946 (grub_cmd_openbsd): Likewise.
9947 (grub_cmd_netbsd): Likewise.
9948 (cmd_freebsd): Changed type to grub_extcmd_t.
9949 (cmd_openbsd): Likewise.
9950 (cmd_netbsd): Likewise.
9951 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9952 grub_cmd_openbsd as extended commands.
9953 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9954 cmd_netbsd and cmd_openbsd
9955
9956 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9959
9960 2009-08-21 Pavel Roskin <proski@gnu.org>
9961
9962 * Makefile.in (install-local): When checking if a file is in the
9963 build directory, use "test -e" to detect symlinks.
9964
9965 * Makefile.in (install-local): Remove all files in
9966 $(DESTDIR)$(pkglibdir) before installing new files there.
9967
9968 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9969
9970 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9971 grub-mkelfimage.
9972
9973 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9974
9975 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9976 explicitly specified by the user.
9977
9978 2009-08-18 Pavel Roskin <proski@gnu.org>
9979
9980 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9981 grub_uint8_t pointer for data.
9982 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9983 Likewise.
9984 * video/fb/fbutil.c: Remove unnecessary casts.
9985
9986 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9987
9988 VBE cleanup.
9989
9990 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9991 (grub_vbe_set_video_mode): Save active mode info
9992 only after setting the mode.
9993 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9994 second argument.
9995
9996 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9997
9998 Rename variables for clarity.
9999
10000 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10001 (active_vbe_mode_info): ... this. All users updated.
10002 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10003 All users updated.
10004 (initial_mode): Rename to ...
10005 (initial_vbe_mode): ... this. All users updated.
10006 (mode_in_use): Rename to ..
10007 (vbe_mode_in_use): ... this. All users updated.
10008 (mode_list): Rename to ..
10009 (vbe_mode_list): ... this. All users updated.
10010 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10011 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10012 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10013 'mode_list_size' to 'vbe_mode_list_size'.
10014 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10015 'best_mode_info' to 'best_vbe_mode_info' and
10016 'best_mode' to 'best_vbe_mode'
10017
10018 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10019
10020 Remove duplicate grub_video_fb_get_video_ptr.
10021
10022 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10023 (grub_video_fb_get_video_ptr): ... this.
10024 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10025 * video/fb/fbutil.c: Add comment about addressing.
10026 (get_data_ptr): Rename to ...
10027 (grub_video_fb_get_video_ptr): ... this. All users updated.
10028 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10029
10030 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10031
10032 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10033 grub_dprintf() that was just added.
10034
10035 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10036
10037 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10038 (DEFAULT_VIDEO_MODE): Remove macros.
10039 (grub_linux_boot): Remove assumption that Linux has FB support,
10040 and use "text" as default video mode.
10041
10042 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10045 grub_dprintf.
10046 * fs/fat.c (grub_fat_read_data): Likewise.
10047
10048 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10051 payload.
10052 (grub_module): Likewise.
10053
10054 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10057 mbi->cmdline but free playground.
10058
10059 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Handle group offset on UFS1.
10062
10063 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10064 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10065
10066 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 Split ufs.mod into ufs1.mod and ufs2.mod.
10069
10070 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10071 (grub_fstest_SOURCES): Likewise.
10072 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10073 (ufs_mod_SOURCES): Remove.
10074 (ufs_mod_CFLAGS): Likewise.
10075 (ufs_mod_LDFLAGS): Likewise.
10076 (ufs1_mod_SOURCES): New variable.
10077 (ufs1_mod_CFLAGS): Likewise.
10078 (ufs1_mod_LDFLAGS): Likewise.
10079 (ufs2_mod_SOURCES): New variable.
10080 (ufs2_mod_CFLAGS): Likewise.
10081 (ufs2_mod_LDFLAGS): Likewise.
10082 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10083 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10084 Likewise.
10085 (grub_emu_SOURCES): Likewise.
10086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10087 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10088 (grub_setup_SOURCES): Likewise.
10089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10090 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10091 (grub_setup_SOURCES): Likewise.
10092 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10093 Likewise.
10094 * fs/ufs2.c: New file.
10095 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10096
10097 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 Framebuffer split.
10100
10101 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10102 subsystem at the end.
10103 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10104 (video_fb_mod_SOURCES): New variable.
10105 (video_fb_mod_CFLAGS): Likewise.
10106 (video_fb_mod_LDFLAGS): Likewise.
10107 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10108 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10109 * video/i386/pc/vbeblit.c: Moved from here ...
10110 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10111 * video/i386/pc/vbefill.c: Moved from here ...
10112 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10113 * video/i386/pc/vbeutil.c: Moved from here ...
10114 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10115 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10116 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10117 * include/grub/i386/pc/vbefill.h: Moved from here ...
10118 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10119 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10120 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10121 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10122 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10123 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10124 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10125 (grub_video_adapter): Added 'get_info_and_fini'.
10126 (grub_video_get_info_and_fini): New prototype.
10127 (grub_video_set_mode): make modestring const char *.
10128 * loader/i386/linux.c (grub_linux_setup_video): Use
10129 grub_video_get_info_and_fini.
10130 (grub_linux_boot): Move modesetting just before booting.
10131 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10132 grub_video_get_info_and_fini.
10133 * video/i386/pc/vbe.c: Moved framebuffer part ...
10134 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10135 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10136 grub_video_fbstd_colors and grub_video_fb_set_palette.
10137 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10138 grub_video_fb_init.
10139 (grub_video_vbe_fini): Use grub_video_fb_fini.
10140 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10141 render_target and use grub_video_fb_set_active_render_target and
10142 grub_video_fb_set_palette.
10143 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10144 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10145 (grub_video_vbe_adapter): Use framebuffer.
10146 * video/video.c (grub_video_get_info_and_fini): New function.
10147 (grub_video_set_mode): Make modestring const char *.
10148 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10149 values are already initialised.
10150
10151 2009-08-14 Pavel Roskin <proski@gnu.org>
10152
10153 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10154 ABS and APPLE_CC.
10155 * boot/i386/pc/diskboot.S: Likewise.
10156 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10157 sectors allow compilation on MacOSX.
10158 * conf/i386-pc.rmk: Enable unconditional compilation of
10159 lnxboot.img.
10160
10161 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
10162
10163 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10164 * util/grub.d/00_header.in: Enter interruptible sleep if
10165 GRUB_HIDDEN_TIMEOUT is set.
10166
10167 2009-08-13 Yves Blusseau <blusseau@zetam.org>
10168
10169 * include/grub/symbol.h: Add the LOCAL macro.
10170 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10171 starting with "L_".
10172
10173 2009-08-13 Pavel Roskin <proski@gnu.org>
10174
10175 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10176 any modern compilers we support.
10177
10178 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10179 Use local labels starting with "L_" so that Apple assembler
10180 knows they are local.
10181
10182 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10183
10184 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10185 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10186 (bsd_kernel_types): ... this enum.
10187
10188 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10189 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10190 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10191
10192 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10193 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10194 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10195 messages.
10196
10197 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10198
10199 * util/grub-dumpdevtree: Moved from here ...
10200 * util/i386/efi/grub-dumpdevtree: ... to here.
10201 (hexify): New function. Converts a string to its hex version.
10202 Generate hex versions of "efi" and "device-properties" by calling
10203 hexify() on the ASCII strings rather than by hardcoding numbers.
10204
10205 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10206
10207 * fs/jfs.c: Update copyright year.
10208
10209 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10210
10211 * util/grub.d/00_header.in: Fix a comment.
10212 * util/grub.d/10_linux.in: Likewise.
10213 * util/grub.d/10_windows.in: Likewise.
10214 * util/grub.d/10_hurd.in: Likewise.
10215
10216 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10217
10218 * util/grub-mkconfig.in: Allow the user to specify the used font
10219 with GRUB_FONT.
10220
10221 2009-08-08 Pavel Roskin <proski@gnu.org>
10222
10223 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10224 available, xfs.mod needs it now.
10225
10226 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10227 the "g" modifier in sed when the intention is to strip something
10228 once. This fixes comparison of kernels with multiple dashes.
10229
10230 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10231 on it. Add missing space before closing bracket. Fix
10232 misleading formatting.
10233
10234 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10235
10236 * docs/grub.texi: Major overhaul. Remove all sections that are
10237 specific to GRUB Legacy, or mostly composed of Legacy-specific
10238 information.
10239
10240 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10241
10242 * docs/version.texi: New file. Provides version information for
10243 grub.texi.
10244
10245 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10246
10247 * docs/grub.texi: Update CVS information to SVN.
10248 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10249
10250 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10251
10252 * util/grub-mkconfig.in: Remove a wrong `fi'.
10253
10254 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10255
10256 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10257 (grub_jfs_uuid): New function.
10258 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10259
10260 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10261
10262 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10263 of it to ...
10264 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10265 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10266
10267 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10268
10269 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10270 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10271 Update all users.
10272
10273 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10274 not just "vmlinu[zx]".
10275 Moved from here ...
10276 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10277 all users.
10278
10279 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10280 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10281 all users.
10282
10283 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10284
10285 * util/grub.d/10_freebsd.in: Use an absolute device path for
10286 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10287
10288 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10289
10290 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10291 handling of multiple abstraction modules.
10292
10293 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10294
10295 Fix a bug resulting in black screen when loading Linux using a
10296 packed video mode.
10297
10298 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10299 function.
10300
10301 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10302 (grub_vbe_bios_getset_dac_palette_width): New function.
10303 (grub_vbe_bios_get_dac_palette_width)
10304 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10305 grub_vbe_bios_getset_dac_palette_width()).
10306
10307 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10308 check for return status.
10309 (grub_vbe_get_video_mode_info): When getting information for a packed
10310 mode (<= 8 bpp), obtain DAC palette width using
10311 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10312 {red,green,blue}_mark_size.
10313
10314 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10315
10316 * commands/search.c (options): Fix help output to match actual code.
10317
10318 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10321 of homegrown code.
10322
10323 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10326 on XFS or ReiserFS.
10327
10328 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Support Apple partition map with sector size different from 512 bytes.
10331
10332 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10333 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10334 and 'apart.partmap_size'.
10335
10336 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10337 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10338
10339 Fix cpuid command.
10340
10341 * commands/i386/cpuid.c (options): New variable.
10342 (grub_cmd_cpuid): Return real error.
10343 (GRUB_MOD_INIT(cpuid)): Declare options.
10344
10345 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10348 valid.
10349
10350 2009-07-31 Bean <bean123ch@gmail.com>
10351
10352 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10353 log2_inode.
10354 (grub_fshelp_node): Move inode field to the end.
10355 (grub_xfs_data): Remove inode field.
10356 (grub_xfs_inode_block): Calculate inode size using sblock.
10357 (grub_xfs_inode_offset): Likewise.
10358 (grub_xfs_read_inode): Calculate inode size using sblock.
10359 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10360 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10361 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10362 to match inode size.
10363 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10364 not accessible when data is null.
10365 (grub_xfs_open): Likewise.
10366
10367 2009-07-31 Bean <bean123ch@gmail.com>
10368
10369 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10370 Don't change pv->disk if it's already set.
10371
10372 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10373 (grub_raid_register): ... here.
10374 (grub_raid_rescan): Removed.
10375
10376 * include/grub/raid.h (grub_raid_rescan): Removed.
10377
10378 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10379 (fstest): Replace grub_raid_rescan with module fini function followed
10380 by init function.
10381
10382 * util/grub-probe.c: Add include file <grub/raid.h>.
10383 (probe_raid_level): New function.
10384 (probe): Detect abstraction by walking the disk device, support two
10385 level of abstraction (LVM on RAID) when detecting partition map.
10386
10387 2009-07-31 Pavel Roskin <proski@gnu.org>
10388
10389 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10390 to grub_zalloc(), it was erroneous.
10391 Reported by Bean <bean123ch@gmail.com>
10392
10393 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10396 embedding zone, not only the first one.
10397
10398 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10399
10400 * term/gfxterm.c (clear_char): New function.
10401 (grub_virtual_screen_setup): Use clear_char.
10402 (scroll_up): Likewise.
10403 (grub_virtual_screen_cls): Likewise.
10404
10405 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10406
10407 * util/deviceiter.c (get_acceleraid_disk_name): New static
10408 function.
10409 (grub_util_iterate_devices): Handle Accelraid devices.
10410 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10411
10412 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10413
10414 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10415 separator for the suggested gfxpayload string (';' collides with the
10416 parser and needs escaping).
10417
10418 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10421 Clear direction flag before jumping to OS.
10422 (grub_multiboot2_real_boot): Likewise.
10423
10424 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10425
10426 * util/i386/pc/grub-install: Fix parsing of --disk-module
10427 option.
10428
10429 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10430
10431 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10432 when embedding.
10433
10434 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10435
10436 * util/grub-mkconfig.in (package_version): New variable.
10437 Use it do display the version.
10438
10439 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10440
10441 * kern/file.c (grub_file_open): Revert to previous check with
10442 grub_errno.
10443
10444 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10447 from help line. It's out of sync with code.
10448
10449 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10452 entries on failed boot.
10453
10454 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10455
10456 * kern/file.c (grub_file_open): Fix an error check.
10457
10458 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10461 partition map couldn't be identified.
10462
10463 2009-07-23 Pavel Roskin <proski@gnu.org>
10464
10465 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10466 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10467 case of little endian words becomes just an optimization.
10468 Respect const modifier.
10469 (md5_final): Use code that doesn't depend on endianness.
10470
10471 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10472 to avoid loss of upper bits if align is unsigned and shorter
10473 than addr.
10474
10475 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 UUID support for UFS
10478
10479 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10480 (grub_ufs_uuid): New function.
10481 (grub_ufs_fs): add .uuid
10482
10483 2009-07-21 Pavel Roskin <proski@gnu.org>
10484
10485 * kern/dl.c (grub_dl_check_header): Make static.
10486
10487 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10488
10489 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10490 add drivemap for Vista. It breaks Windows 7.
10491
10492 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10495 128 bytes
10496
10497 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Add BFS support
10500
10501 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10502 (grub_fstest_SOURCES): Likewise.
10503 (pkglib_MODULES): Add befs.mod.
10504 (befs_mod_SOURCES): New variable.
10505 (befs_mod_CFLAGS): Likewise.
10506 (befs_mod_LDFLAGS): Likewise.
10507 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10508 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10510 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10511 (grub_setup_SOURCES): Likewise.
10512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10514 (grub_setup_SOURCES): Likewise.
10515 * fs/befs.c: New file.
10516 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10517 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10518 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10519 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10520 (B_KEY_INDEX_ALIGN): New declaration.
10521 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10522 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10523 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10524 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10525 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10526 (grub_afs_mount) [MODE_BFS]: Likewise.
10527 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10528 (grub_afs_fs): Use GRUB_AFS_FSNAME
10529 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10530 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10531 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10532 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10533
10534 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10535
10536 * util/getroot.c (find_root_device): Add support for MacOSX.
10537 * util/hostdisk.c: Likewise.
10538
10539 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * font/font.c (find_glyph): Check whether a font is present to avoid
10542 segmentation fault.
10543
10544 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10545
10546 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10547
10548 2009-07-20 Pavel Roskin <proski@gnu.org>
10549
10550 * configure.ac: Trim excessively wordy excuses.
10551
10552 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 Add symlink, mtime and label support to AtheFS.
10555
10556 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10557 (grub_afs_iterate_dir): Handle symlinks.
10558 (grub_afs_open): Use grub_afs_read_symlink.
10559 (grub_afs_dir): Likewise.
10560 Pass mtime.
10561 (grub_afs_label): New function.
10562 (grub_afs_fs): Add grub_afs_label.
10563 (grub_afs_read_symlink): New function.
10564
10565 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Fix AtheFS support.
10568
10569 * fs/afs.c: Fix comments style.
10570 (grub_afs_blockrun): Declare as packed.
10571 (grub_afs_datastream): Likewise.
10572 (grub_afs_bnode): Likewise.
10573 (grub_afs_btree): Likewise.
10574 (grub_afs_sblock): Likewise.
10575 Declare `name' as char.
10576 (grub_afs_inode): Declare as packed.
10577 Change void *vnode to grub_uint32_t unused.
10578 (grub_afs_iterate_dir): Check that key_size is positive.
10579 (grub_afs_mount): Don't read superblock twice.
10580 (grub_afs_dir): Don't free node in case of error,
10581 grub_fshelp_find_file already handles this.
10582 (grub_afs_open): Likewise.
10583
10584 2009-07-19 Pavel Roskin <proski@gnu.org>
10585
10586 * Makefile.in: Remove LIBLZO and enable_lzo.
10587 * conf/i386-pc.rmk: Remove lzo support.
10588 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10589 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10590 support.
10591 * kern/i386/pc/lzo1x.S: Remove.
10592 * kern/i386/pc/startup.S: Remove lzo support.
10593 * util/i386/pc/grub-mkimage.c: Likewise.
10594
10595 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10598 * fs/xfs.c (grub_xfs_dir): Likewise.
10599 * fs/afs.c (grub_afs_dir): Likewise.
10600 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10601 (grub_iso9660_open): Likewise.
10602 * fs/jfs.c (grub_jfs_open): Likewise.
10603 * fs/ext2.c (grub_ext2_dir): Likewise.
10604 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10605 * script/sh/lexer.c (grub_script_yylex): Likewise.
10606
10607 2009-07-16 Pavel Roskin <proski@gnu.org>
10608
10609 * configure.ac: Never add "-c" to CFLAGS.
10610
10611 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10612
10613 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10614 grub_cv_cc_efiemu should be used.
10615
10616 * configure.ac: Typo fixes.
10617
10618 * kern/mm.c (grub_zalloc): New function.
10619 (grub_debug_zalloc): Likewise.
10620 * include/grub/mm.h: Declare grub_zalloc() and
10621 grub_debug_zalloc().
10622 * util/misc.c (grub_zalloc): New function.
10623 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10624 instead of grub_malloc(), remove unneeded initializations.
10625 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10626 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10627 * commands/parttool.c (grub_cmd_parttool): Likewise.
10628 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10629 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10630 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10631 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10632 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10633 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10634 (grub_cmd_efiemu_pnvram): Likewise.
10635 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10636 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10637 (grub_iso9660_iterate_dir): Likewise.
10638 * fs/jfs.c (grub_jfs_opendir): Likewise.
10639 * fs/ntfs.c (list_file): Likewise.
10640 (grub_ntfs_mount): Likewise.
10641 * kern/disk.c (grub_disk_open): Likewise.
10642 * kern/dl.c (grub_dl_load_core): Likewise.
10643 * kern/elf.c (grub_elf_file): Likewise.
10644 * kern/env.c (grub_env_context_open): Likewise.
10645 (grub_env_set): Likewise.
10646 (grub_env_set_data_slot): Likewise.
10647 * kern/file.c (grub_file_open): Likewise.
10648 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10649 * loader/i386/multiboot.c (grub_module): Likewise.
10650 * loader/xnu.c (grub_xnu_create_key): Likewise.
10651 (grub_xnu_create_value): Likewise.
10652 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10653 (read_config_file): Likewise.
10654 * normal/menu_entry.c (make_screen): Likewise.
10655 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10656 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10657 * script/sh/script.c (grub_script_parse): Likewise.
10658 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10659 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10660 * video/readers/png.c (grub_png_output_byte): Likewise.
10661 (grub_video_reader_png): Likewise.
10662
10663 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 Enable all targets that can be built by default
10666
10667 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10668 grub-mkfont and grub-fstest if they can be built
10669
10670 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 Fix hang and segmentation fault in grub-emu-usb
10673
10674 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10675 * util/usb.c (grub_libusb_devices): likewise
10676 (grub_libusb_init): rename to ...
10677 (GRUB_MOD_INIT (libusb)):...this
10678 (grub_libusb_fini): rename to ..
10679 (GRUB_MOD_FINI (libusb)):...this
10680 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10681 * include/grub/disk.h (grub_raid_init): removed, it's useless
10682 (grub_raid_fini): likewise
10683 (grub_lvm_init): likewise
10684 (grub_lvm_fini): likewise
10685 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10686 by grub_init_all
10687
10688 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 Fix libusb
10691
10692 * Makefile.in (LIBUSB): new macro
10693 * genmk.rb (Utility/print_tail): new method
10694 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10695 (top level): call util.print_tail at the end.
10696
10697 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 Make FreeBSD accept zpool.cache
10700
10701 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10702 type is /boot/zfs/zpool.cache
10703
10704 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 Fix 64-bit efiemu
10707
10708 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10709 correct wrong typedef
10710 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10711
10712 2009-07-15 Pavel Roskin <proski@gnu.org>
10713
10714 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10715 * kern/disk.c (struct grub_disk_cache): Likewise.
10716
10717 * commands/probe.c (options): Typo fix.
10718
10719 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10720 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10721 accordingly.
10722 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10723
10724 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10725 the end of "Error" to make the message more readable.
10726
10727 * boot/i386/pc/boot.S (kernel_segment): Remove.
10728 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10729 for destination.
10730
10731 * boot/i386/pc/boot.S (boot_version): Remove.
10732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10733 Remove.
10734
10735 * include/grub/i386/pc/boot.h: Sort all offsets.
10736 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10737 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10738 * boot/i386/pc/boot.S: Assert location of every offset listed in
10739 include/grub/i386/pc/boot.h.
10740
10741 2009-07-13 Pavel Roskin <proski@gnu.org>
10742
10743 * include/grub/i386/coreboot/machine.h: Rename
10744 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10745 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10746 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10747
10748 * kern/dl.c: Force native word size to suppress warnings when
10749 compiling grub-emu.
10750
10751 * kern/device.c (grub_device_iterate): Change struct part_ent to
10752 hold the name, not a pointer to it. Use one grub_malloc() per
10753 partition, not two. Free partition_name if grub_malloc() fails.
10754 Set ents to NULL only before grub_partition_iterate() is called.
10755
10756 2009-07-11 Bean <bean123ch@gmail.com>
10757
10758 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10759 childname.
10760
10761 2009-07-10 Bean <bean123ch@gmail.com>
10762 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 * kern/ieee1275/openfw.c (grub_children_iterate)
10765 (grub_devalias_iterate): Fix size evaluation for property or path
10766 strings, which was broken since r2132.
10767
10768 2009-07-07 Pavel Roskin <proski@gnu.org>
10769
10770 * commands/search.c (search_file): Merge into ...
10771 (search_fs): ... this. Accept search type as argument.
10772 (grub_cmd_search): Pass search type to search_fs().
10773
10774 * include/grub/util/console.h: New file.
10775 * util/console.c: Use it instead of grub/machine/console.h.
10776 * util/grub-emu.c: Likewise.
10777
10778 * lib/arg.c (find_long_option): Remove.
10779 (find_long): Add `len' argument, make `s' const char *.
10780 (grub_arg_parse): Parse long options in place, not in a
10781 temporary buffer.
10782
10783 2009-07-06 Pavel Roskin <proski@gnu.org>
10784
10785 * commands/search.c (search_fs): Fix potential NULL pointer
10786 dereference.
10787
10788 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10789 function pointer.
10790
10791 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10792
10793 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10794 comparison.
10795
10796 2009-07-05 Pavel Roskin <proski@gnu.org>
10797
10798 * include/grub/i386/linux.h (struct linux_kernel_params):
10799 Restore padding3, it's still needed.
10800
10801 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10802 FreeBSD.
10803 * util/osdetect.lua: Likewise.
10804
10805 2009-07-05 Bean <bean123ch@gmail.com>
10806
10807 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10808
10809 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10810 (grub_lua_getenv): Likewise.
10811 (grub_lua_setenv): Likewise.
10812 (save_errno): New function.
10813 (push_result): Likewise.
10814 (grub_lua_enum_device): Likewise.
10815 (grub_lua_enum_file): Likewise.
10816 (grub_lua_file_open): Likewise.
10817 (grub_lua_file_close): Likewise.
10818 (grub_lua_file_seek): Likewise.
10819 (grub_lua_file_read): Likewise.
10820 (grub_lua_file_getline): Likewise.
10821 (grub_lua_file_getsize): Likewise.
10822 (grub_lua_file_getpos): Likewise.
10823 (grub_lua_file_eof): Likewise.
10824 (grub_lua_file_exist): Likewise.
10825 (grub_lua_add_menu): Likewise.
10826
10827 * script/lua/grub_lua.h (isupper): New inline function.
10828 (islower): Likewise.
10829 (ispunct): Likewise.
10830 (isxdigit): Likewise.
10831 (strcspn): Change to normal function.
10832 (strpbkr): New function declaration.
10833 (memchr): Likewise.
10834
10835 * script/lua/grub_main.c (scan_str): New function.
10836 (strcspn): Likewise.
10837 (strpbrk): Likewise.
10838 (memchr): Likewise.
10839
10840 * script/lua/linit.c (lualibs): Enable the string library.
10841
10842 * util/osdetect.lua: New file.
10843
10844 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10845
10846 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10847 `capabilities' member.
10848
10849 2009-07-02 Pavel Roskin <proski@gnu.org>
10850
10851 * genparttoollist.sh: Add missing newline at the end.
10852
10853 2009-07-01 Pavel Roskin <proski@gnu.org>
10854
10855 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10856
10857 * util/hostdisk.c (open_device): Remove `const' from
10858 `sysctl_size', as sysctlbyname() can change it (in this case it
10859 doesn't actually happen).
10860
10861 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10862 using signed long int constants.
10863
10864 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10865 constant to avoid a warning on FreeBSD.
10866
10867 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10868 where it's needed.
10869
10870 * Makefile.in: Install include/grub/machine symlink.
10871
10872 * Makefile.in: When installing symlinks, use "cp -fR", which
10873 works on FreeBSD and MacOSX.
10874 From Yves Blusseau <cl7m42e02@sneakemail.com>
10875
10876 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10877 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10878
10879 * util/misc.c: Move grub_reboot() and grub_halt() ...
10880 * util/grub-emu.c: ... here. Make main_env static.
10881 * include/grub/util/misc.h: Remove main_env.
10882
10883 * kern/mm.c: Use correct format to print size_t.
10884
10885 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10886 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10887 * kern/powerpc/dl.c: Likewise.
10888 * kern/sparc64/dl.c: Likewise.
10889 * kern/x86_64/dl.c: Likewise.
10890
10891 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10892
10893 Fix grub-emu build on sparc64-ieee1275.
10894
10895 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10897
10898 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10899
10900 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10901 (grub_reboot, grub_halt): New functions.
10902
10903 * util/i386/pc/misc.c: Delete. Update all users.
10904 * util/sparc64/ieee1275/misc.c: Likewise.
10905 * util/powerpc/ieee1275/misc.c: Likewise.
10906
10907 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10908
10909 * conf/i386.rmk (setjmp_mod_SOURCES)
10910 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10911 * conf/common.rmk (setjmp_mod_SOURCES)
10912 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10913 to use $(target_cpu).
10914 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10915 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10916 * conf/powerpc-ieee1275.rmk: Likewise.
10917 * conf/sparc64-ieee1275.rmk: Likewise.
10918
10919 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10920 $(target_cpu) for kern/$(target_cpu)/dl.c.
10921 * conf/i386-efi.rmk: Likewise.
10922 * conf/i386-ieee1275.rmk: Likewise.
10923 * conf/x86_64-efi.rmk: Likewise.
10924 * conf/i386-coreboot.rmk: Likewise.
10925 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10926 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10927 kern/$(target_cpu)/cache.S.
10928 * conf/sparc64-ieee1275.rmk: Likewise.
10929
10930 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10931
10932 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10933 type to `grub_uint8_t', and adjust `padding9' accordingly.
10934
10935 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10936
10937 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10938
10939 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10940 assembly in final jump, using register constraints.
10941
10942 (grub_linux_boot): For text mode, initialize `have_vga' using
10943 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10944
10945 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10946 right before the final jump.
10947
10948 Set `video_mode' to 0x3.
10949
10950 Document initialization of `video_page', `video_mode' and
10951 `video_ega_bx'.
10952
10953 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10954
10955 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10956 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10957 and set GRUB_LINUX_FLAG_QUIET appropriately.
10958
10959 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10960
10961 Fix build on Debian / sparc.
10962
10963 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10964
10965 2009-06-28 Pavel Roskin <proski@gnu.org>
10966
10967 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10968 fix a warning.
10969
10970 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10971
10972 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10973
10974 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10975 `err'.
10976
10977 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10978
10979 Revert r2338.
10980
10981 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10982 file can't be opened. grub_file_open() is already supposed to set
10983 grub_errno / grub_errmsg appropriately.
10984 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10985
10986 2009-06-27 Pavel Roskin <proski@gnu.org>
10987 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10988
10989 * include/grub/dl.h: Include grub/elf.h.
10990 (struct grub_dl): Add symtab field.
10991 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10992 GRUB_MODULES_MACHINE_READONLY.
10993 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10994 of the header for read-only modules.
10995 (grub_dl_unload): Free mod->symtab for read-only modules.
10996 * kern/i386/dl.c: Use mod->symtab.
10997 * kern/powerpc/dl.c: Likewise.
10998 * kern/sparc64/dl.c: Likewise.
10999 * kern/x86_64/dl.c: Likewise.
11000
11001 * conf/i386-qemu.rmk: New file.
11002 * kern/i386/qemu/startup.S: Likewise.
11003 * kern/i386/qemu/mmap.c: Likewise.
11004 * boot/i386/qemu/boot.S: Likewise.
11005 * include/grub/i386/qemu/time.h: Likewise.
11006 * include/grub/i386/qemu/serial.h: Likewise.
11007 * include/grub/i386/qemu/kernel.h: Likewise.
11008 * include/grub/i386/qemu/console.h: Likewise.
11009 * include/grub/i386/qemu/boot.h: Likewise.
11010 * include/grub/i386/qemu/init.h: Likewise.
11011 * include/grub/i386/qemu/machine.h: Likewise.
11012 * include/grub/i386/qemu/loader.h: Likewise.
11013 * include/grub/i386/qemu/memory.h: Likewise.
11014
11015 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11016 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11017 [qemu] (pkglib_IMAGES): Add `boot.img'.
11018 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11019 [qemu] (boot_img_FORMAT): New variables.
11020 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11021 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11022 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11023 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11024 [qemu] (kernel_img_FORMAT): New variables.
11025
11026 * configure.ac: Recognise `i386-qemu'.
11027
11028 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11029 (for no compression).
11030 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11031 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11032 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11033 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11034 ifdefs).
11035
11036 2009-06-27 Pavel Roskin <proski@gnu.org>
11037
11038 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11039 read.
11040 * efiemu/prepare32.c: Likewise.
11041 * efiemu/prepare64.c: Likewise.
11042
11043 2009-06-26 Pavel Roskin <proski@gnu.org>
11044
11045 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11046 * include/grub/elf.h: Define symbols without "32" or "64" based
11047 on GRUB_TARGET_WORDSIZE.
11048 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11049 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11050 ELF definitions.
11051 * efiemu/loadcore64.c: Likewise.
11052 * loader/i386/bsd32.c: Likewise.
11053 * loader/i386/bsd64.c: Likewise.
11054 * kern/dl.c: Remove own ELF definitions.
11055 * util/i386/efi/grub-mkimage.c: Likewise.
11056
11057 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11058
11059 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11060 segment 0x0 unconditionally, because the reference generated by
11061 GAS is an absolute address.
11062
11063 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11064
11065 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11066 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11067
11068 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11069
11070 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11071 indexes. Check for -f explicitly.
11072 (search_file): Improve error message.
11073 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
11074
11075 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11076
11077 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11078 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11079
11080 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11081
11082 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11083 * conf/i386-ieee1275.rmk: Likewise.
11084 * conf/i386-coreboot.rmk: Likewise.
11085
11086 * kern/i386/pc/startup.S (grub_stop): Remove function.
11087 * kern/i386/ieee1275/startup.S: Likewise.
11088 * kern/i386/coreboot/startup.S: Likewise.
11089 * kern/i386/misc.S (grub_stop): New function.
11090
11091 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11092
11093 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11094 * kern/i386/realmode.S (real_to_prot): ... to here.
11095
11096 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11097
11098 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11099 with `kernel.img'.
11100 (kernel_elf_SOURCES): Rename to ...
11101 (kernel_img_SOURCES): ... this.
11102 (kernel_elf_HEADERS): Rename to ...
11103 (kernel_img_HEADERS): ... this. Update all users.
11104 (kernel_elf_ASFLAGS): Rename to ...
11105 (kernel_img_ASFLAGS): ... this.
11106 (kernel_elf_CFLAGS): Rename to ...
11107 (kernel_img_CFLAGS): ... this.
11108 (kernel_elf_LDFLAGS): Rename to ...
11109 (kernel_img_LDFLAGS): ... this.
11110 * conf/i386-coreboot.rmk: Likewise.
11111 * conf/powerpc-ieee1275.rmk: Likewise.
11112
11113 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11114 with "kernel.img".
11115
11116 2009-06-21 Pavel Roskin <proski@gnu.org>
11117
11118 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11119 to match nested functions.
11120 * loader/sparc64/ieee1275/linux.c: Likewise.
11121
11122 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11123
11124 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11125
11126 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11127 all i386 platforms.
11128
11129 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11130
11131 Fix asm file handling on ELF, and remove workarounds.
11132
11133 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
11134 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
11135 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11136 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11137
11138 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 Load BSD ELF modules
11141
11142 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11143 and loader/i386/bsd64.c
11144 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11145 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11146 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11147 (grub_freebsd_load_elfmodule32): New declaration
11148 (grub_freebsd_load_elfmoduleobj64): Likewise
11149 (grub_freebsd_load_elf_meta32): Likewise
11150 (grub_freebsd_load_elf_meta64): Likewise
11151 (grub_freebsd_add_meta): Likewise
11152 (grub_freebsd_add_meta_module): Likewise
11153 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11154 (grub_freebsd_add_meta_module): Likewise and move module-specific
11155 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11156 (grub_cmd_freebsd): Add elf-kernel specific parts
11157 based on grub_freebsd_add_meta_module
11158 (grub_cmd_freebsd_module): Add type parsing moved from
11159 grub_freebsd_add_meta_module
11160 (grub_cmd_freebsd_module_elf): New function
11161 (cmd_freebsd_module_elf): New variable
11162 (GRUB_MOD_INIT): Register freebsd_module_elf
11163 * loader/i386/bsd32.c: New file
11164 * loader/i386/bsd64.c: Likewise
11165 * loader/i386/bsdXX.c: Likewise
11166 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11167 (grub_elf64_load): Likewise
11168 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11169 All users updated
11170 (grub_elf64_load_hook_t): Likewise
11171
11172 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
11173
11174 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11175 variable.
11176 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11177 don't write a menu entry for recovery mode.
11178
11179 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11180
11181 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11182 after it's no longer needed.
11183
11184 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11185
11186 * include/grub/i386/loader.h (grub_linux_prot_size)
11187 (grub_linux_tmp_addr, grub_linux_real_addr)
11188 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11189 GRUB_MACHINE_PCBIOS.
11190 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11191 common grub_util_info() call to ...
11192 (generate_image): ... here.
11193 Fix use of uninitialized memory, comparison of signed with
11194 unsigned integers and memory leak.
11195 Remove bogus module address message.
11196
11197 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11200 grub_raid_register
11201 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11202
11203 2009-06-19 Pavel Roskin <proski@gnu.org>
11204
11205 * configure.ac: Remove stray AC_MSG_CHECKING.
11206
11207 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * disk/scsi.c (grub_scsi_open): use continue instead of big if
11210
11211 2009-06-18 Pavel Roskin <proski@gnu.org>
11212
11213 * conf/common.rmk: Add fs_file.mod.
11214 * disk/fs_file.c: New file.
11215 * include/grub/disk.h (enum grub_disk_dev_id): Add
11216 GRUB_DISK_DEVICE_FILE_ID.
11217
11218 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 Fix build with Apple's toolchain. Part 2
11221
11222 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11223 a fake start
11224
11225 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 Fix build with Apple's toolchain. Part 1
11228
11229 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11230 for long calls
11231 * configure.ac: remove a leftover AC_MSG_RESULT
11232 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11233 Apple's toolchain
11234
11235 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 Fix warnings
11238
11239 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11240 (decomp_block): initialize ch
11241 use grub_memcpy instead of memcpy
11242
11243 2009-06-17 Pavel Roskin <proski@gnu.org>
11244
11245 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11246 version, use declarations needed to use vga_text as the startup
11247 console.
11248
11249 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11250 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11251 the kernel.
11252 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11253 and grub_at_keyboard_fini(), it's done on module load and
11254 unload.
11255
11256 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11257
11258 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11259 file can't be found.
11260 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11261
11262 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 Fix newline handling
11265
11266 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11267 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11268 (grub_script_yylex): don't segfault on unterminated script
11269 newline terminates command and variable
11270
11271 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 avoid double grub_adjust_range call. Bug reported by David Simner
11274
11275 * kern/disk.c (grub_disk_write): change to raw disk access before
11276 calling disk_read
11277
11278 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11279
11280 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11281 spaces, for the benefit of help2man.
11282 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11283
11284 2009-06-16 Pavel Roskin <proski@gnu.org>
11285
11286 * kern/i386/halt.c: Include grub/machine/init.h.
11287 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11288
11289 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11290
11291 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11292 drivemap menuentry.
11293
11294 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11295
11296 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11297 `echo' command.
11298
11299 2009-06-16 Pavel Roskin <proski@gnu.org>
11300
11301 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11302 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11303 save %dx, we only need %dl and we never change it.
11304 * boot/i386/pc/cdboot.S: Don't set the root drive.
11305 * boot/i386/pc/pxeboot.S: Likewise.
11306 * include/grub/i386/pc/boot.h: Remove
11307 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11308 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11309 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11310 * kern/i386/pc/init.c (make_install_device): Remove references
11311 to grub_root_drive.
11312 * kern/i386/pc/startup.S: Likewise.
11313 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11314
11315 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 xnu_uuid command
11318
11319 * commands/xnu_uuid.c: new file
11320 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11321 (xnu_uuid_mod_SOURCES): new variable
11322 (xnu_uuid_mod_CFLAGS): likewise
11323 (xnu_uuid_mod_LDFLAGS): likewise
11324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11325 * conf/i386-ieee1275.rmk: likewise
11326 * conf/i386-pc.rmk: likewise
11327 * conf/powerpc-ieee1275.rmk: likewise
11328 * conf/sparc64-ieee1275.rmk: likewise
11329 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11330
11331 2009-06-16 Pavel Roskin <proski@gnu.org>
11332
11333 * configure.ac: Avoid '==' in test command, it's not portable.
11334
11335 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Probe command
11338
11339 * commands/probe.c: new file
11340 * conf/common.rmk (pkglib_MODULES): add probe.mod
11341 (probe_mod_SOURCES): new variable
11342 (probe_mod_CFLAGS): likewise
11343 (probe_mod_LDFLAGS): likewise
11344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11345 * conf/i386-ieee1275.rmk: likewise
11346 * conf/i386-pc.rmk: likewise
11347 * conf/powerpc-ieee1275.rmk: likewise
11348 * conf/sparc64-ieee1275.rmk: likewise
11349
11350 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Fix handling of string like \"hello\" and "a
11353 b"
11354
11355 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11356 (grub_script_yylex): fix parsing of quoting, escaping and newline
11357
11358 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11361 handling
11362
11363 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11364
11365 * util/grub-mkconfig.in: Fix parsing of --output option.
11366
11367 2009-06-12 Pavel Roskin <proski@gnu.org>
11368
11369 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11370 genmk.rb don't need to be generated or installed.
11371
11372 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * commands/i386/pc/drivemap_int13h.S: add more comments
11375
11376 2009-06-11 Pavel Roskin <proski@gnu.org>
11377
11378 * Makefile.in (uninstall): Uninstall manuals.
11379
11380 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11381 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11382 and update-grub_lib in two places.
11383 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11384
11385 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11386 a compiler warning.
11387
11388 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11389 `entry_lo' to fix variable shadowing.
11390
11391 2009-06-11 Christian Franke <franke@computer.org>
11392
11393 * kern/misc.c (__enable_execute_stack): Add missing return type
11394 to prevent gcc warning.
11395
11396 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11397
11398 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11399
11400 2009-06-11 Pavel Roskin <proski@gnu.org>
11401
11402 * Makefile.in: Don't rely on any scripts being executable.
11403 Always use $(SHELL) to run shell scripts.
11404
11405 * configure.ac: Always define ___main if using -nostdlib. This
11406 fixes tests on Cygwin.
11407
11408 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11409
11410 UDF fix
11411
11412 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11413 is in bytes and not in blocks
11414
11415 2009-06-11 Pavel Roskin <proski@gnu.org>
11416
11417 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11418 warning.
11419
11420 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11421
11422 * util/grub.d/30_os-prober.in: Fix a comment. Source
11423 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11424 to set the root device. Place drivemap command in the generated
11425 chain entry.
11426
11427 2009-06-11 Pavel Roskin <proski@gnu.org>
11428
11429 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11430 have long been resolved.
11431
11432 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11433
11434 * util/grub.d/10_linux.in: Capitalise "Linux".
11435
11436 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11437
11438 2009-06-11 Pavel Roskin <proski@gnu.org>
11439
11440 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11441 fix a gcc warning and ensure that the function won't ever exit.
11442
11443 * kern/i386/ieee1275/init.c: Add missing prototype for
11444 grub_stop_floppy().
11445
11446 * loader/ieee1275/multiboot2.c [__i386__]: Include
11447 grub/cpu/multiboot.h.
11448
11449 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11450 casts to short - they are not portable and cause warnings. Fix
11451 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11452
11453 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 Drivemap fixes
11456
11457 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11458 new function
11459 (grub_get_root_biosnumber_saved): new variable
11460 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11461 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11462 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11463 %dx after the call if necessary
11464 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11465 (boot_mod_SOURCES): remove
11466 (boot_mod_CFLAGS): remove
11467 (boot_mod_LDFLAGS): remove
11468 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11469 (boot_mod_SOURCES): new variable
11470 (boot_mod_CFLAGS): likewise
11471 (boot_mod_LDFLAGS): likewise
11472 * conf/i386-efi.rmk: likewise
11473 * conf/i386-ieee1275.rmk: likewise
11474 * conf/i386-pc.rmk: likewise
11475 * conf/powerpc-ieee1275.rmk: likewise
11476 * conf/sparc64-ieee1275.rmk: likewise
11477 * conf/x86_64-efi.rmk: likewise
11478 * include/grub/i386/pc/biosnum.h: new file
11479 * lib/i386/pc/biosnum.c: likewise
11480 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11481 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11482 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11483
11484 2009-06-10 Pavel Roskin <proski@gnu.org>
11485
11486 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11487 Use separate variables. Read only the file size at the end, but
11488 not the checksum that we don't use.
11489
11490 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11491 Adjust all callers.
11492
11493 * kern/ieee1275/openfw.c: Remove libc includes.
11494 * kern/ieee1275/cmain.c: Likewise.
11495 * include/grub/ieee1275/ieee1275.h: Likewise.
11496
11497 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11498 compiler warnings.
11499
11500 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11501
11502 * Makefile.in: Remove all trailing whitespace.
11503 * conf/i386-pc.rmk: Likewise.
11504 * conf/powerpc-ieee1275.rmk: Likewise.
11505 * conf/sparc64-ieee1275.rmk: Likewise.
11506 * docs/grub.texi: Likewise.
11507 * docs/texinfo.tex: Likewise.
11508 * disk/fs_uuid.c: Likewise.
11509 * disk/lvm.c: Likewise.
11510 * disk/scsi.c: Likewise.
11511 * disk/ata.c: Likewise.
11512 * disk/ieee1275/ofdisk.c: Likewise.
11513 * disk/i386/pc/biosdisk.c: Likewise.
11514 * disk/host.c: Likewise.
11515 * disk/raid.c: Likewise.
11516 * disk/efi/efidisk.c: Likewise.
11517 * disk/usbms.c: Likewise.
11518 * disk/memdisk.c: Likewise.
11519 * disk/loopback.c: Likewise.
11520 * kern/powerpc/dl.c: Likewise.
11521 * kern/device.c: Likewise.
11522 * kern/dl.c: Likewise.
11523 * kern/sparc64/dl.c: Likewise.
11524 * kern/ieee1275/ieee1275.c: Likewise.
11525 * kern/term.c: Likewise.
11526 * kern/fs.c: Likewise.
11527 * kern/i386/dl.c: Likewise.
11528 * kern/i386/pc/startup.S: Likewise.
11529 * kern/i386/pc/init.c: Likewise.
11530 * kern/i386/pc/mmap.c: Likewise.
11531 * kern/i386/pc/lzo1x.S: Likewise.
11532 * kern/i386/ieee1275/init.c: Likewise.
11533 * kern/i386/realmode.S: Likewise.
11534 * kern/i386/tsc.c: Likewise.
11535 * kern/partition.c: Likewise.
11536 * kern/corecmd.c: Likewise.
11537 * kern/file.c: Likewise.
11538 * kern/efi/efi.c: Likewise.
11539 * kern/efi/init.c: Likewise.
11540 * kern/efi/mm.c: Likewise.
11541 * kern/main.c: Likewise.
11542 * kern/err.c: Likewise.
11543 * kern/env.c: Likewise.
11544 * kern/disk.c: Likewise.
11545 * kern/generic/millisleep.c: Likewise.
11546 * kern/generic/rtc_get_time_ms.c: Likewise.
11547 * kern/misc.c: Likewise.
11548 * kern/parser.c: Likewise.
11549 * genmk.rb: Likewise.
11550 * configure.ac: Likewise.
11551 * boot/i386/pc/diskboot.S: Likewise.
11552 * boot/i386/pc/pxeboot.S: Likewise.
11553 * boot/i386/pc/boot.S: Likewise.
11554 * boot/i386/pc/lnxboot.S: Likewise.
11555 * boot/i386/pc/cdboot.S: Likewise.
11556 * parttool/pcpart.c: Likewise.
11557 * video/readers/tga.c: Likewise.
11558 * video/video.c: Likewise.
11559 * video/bitmap.c: Likewise.
11560 * lib/envblk.c: Likewise.
11561 * lib/i386/setjmp.S: Likewise.
11562 * fs/xfs.c: Likewise.
11563 * fs/afs.c: Likewise.
11564 * fs/fat.c: Likewise.
11565 * fs/ntfs.c: Likewise.
11566 * fs/udf.c: Likewise.
11567 * fs/affs.c: Likewise.
11568 * fs/iso9660.c: Likewise.
11569 * fs/hfs.c: Likewise.
11570 * fs/fshelp.c: Likewise.
11571 * fs/ext2.c: Likewise.
11572 * fs/jfs.c: Likewise.
11573 * fs/reiserfs.c: Likewise.
11574 * fs/hfsplus.c: Likewise.
11575 * fs/minix.c: Likewise.
11576 * fs/cpio.c: Likewise.
11577 * fs/sfs.c: Likewise.
11578 * fs/ufs.c: Likewise.
11579 * efiemu/prepare.c: Likewise.
11580 * efiemu/loadcore_common.c: Likewise.
11581 * efiemu/runtime/efiemu.sh: Likewise.
11582 * efiemu/runtime/efiemu.S: Likewise.
11583 * efiemu/runtime/efiemu.c: Likewise.
11584 * efiemu/pnvram.c: Likewise.
11585 * efiemu/main.c: Likewise.
11586 * efiemu/i386/pc/cfgtables.c: Likewise.
11587 * efiemu/i386/loadcore64.c: Likewise.
11588 * efiemu/i386/loadcore32.c: Likewise.
11589 * efiemu/loadcore.c: Likewise.
11590 * efiemu/symbols.c: Likewise.
11591 * efiemu/mm.c: Likewise.
11592 * include/grub/autoefi.h: Likewise.
11593 * include/grub/datetime.h: Likewise.
11594 * include/grub/term.h: Likewise.
11595 * include/grub/hfs.h: Likewise.
11596 * include/grub/lvm.h: Likewise.
11597 * include/grub/i386/tsc.h: Likewise.
11598 * include/grub/i386/linux.h: Likewise.
11599 * include/grub/i386/xnu.h: Likewise.
11600 * include/grub/i386/efiemu.h: Likewise.
11601 * include/grub/i386/pc/biosdisk.h: Likewise.
11602 * include/grub/i386/pc/memory.h: Likewise.
11603 * include/grub/i386/pc/vbe.h: Likewise.
11604 * include/grub/parttool.h: Likewise.
11605 * include/grub/video.h: Likewise.
11606 * include/grub/memory.h: Likewise.
11607 * include/grub/fs.h: Likewise.
11608 * include/grub/partition.h: Likewise.
11609 * include/grub/xnu.h: Likewise.
11610 * include/grub/efi/api.h: Likewise.
11611 * include/grub/efi/pe32.h: Likewise.
11612 * include/grub/efi/memory.h: Likewise.
11613 * include/grub/multiboot.h: Likewise.
11614 * include/grub/usbdesc.h: Likewise.
11615 * include/grub/multiboot2.h: Likewise.
11616 * include/grub/acpi.h: Likewise.
11617 * include/grub/efiemu/efiemu.h: Likewise.
11618 * include/grub/disk.h: Likewise.
11619 * include/grub/ieee1275/ieee1275.h: Likewise.
11620 * include/grub/net.h: Likewise.
11621 * include/grub/machoload.h: Likewise.
11622 * include/grub/macho.h: Likewise.
11623 * include/multiboot.h: Likewise.
11624 * genmoddep.awk: Likewise.
11625 * normal/main.c: Likewise.
11626 * normal/menu_entry.c: Likewise.
11627 * normal/menu_viewer.c: Likewise.
11628 * normal/completion.c: Likewise.
11629 * normal/cmdline.c: Likewise.
11630 * normal/misc.c: Likewise.
11631 * normal/datetime.c: Likewise.
11632 * bus/usb/usbtrans.c: Likewise.
11633 * bus/usb/ohci.c: Likewise.
11634 * bus/usb/uhci.c: Likewise.
11635 * bus/usb/usb.c: Likewise.
11636 * mmap/efi/mmap.c: Likewise.
11637 * mmap/i386/pc/mmap_helper.S: Likewise.
11638 * mmap/i386/pc/mmap.c: Likewise.
11639 * mmap/i386/mmap.c: Likewise.
11640 * mmap/i386/uppermem.c: Likewise.
11641 * mmap/mmap.c: Likewise.
11642 * commands/acpi.c: Likewise.
11643 * commands/echo.c: Likewise.
11644 * commands/blocklist.c: Likewise.
11645 * commands/loadenv.c: Likewise.
11646 * commands/usbtest.c: Likewise.
11647 * commands/boot.c: Likewise.
11648 * commands/parttool.c: Likewise.
11649 * commands/search.c: Likewise.
11650 * commands/cat.c: Likewise.
11651 * commands/i386/pc/play.c: Likewise.
11652 * commands/i386/pc/drivemap.c: Likewise.
11653 * commands/i386/pc/vbeinfo.c: Likewise.
11654 * commands/i386/pc/acpi.c: Likewise.
11655 * commands/i386/pc/vbetest.c: Likewise.
11656 * commands/ls.c: Likewise.
11657 * commands/cmp.c: Likewise.
11658 * commands/test.c: Likewise.
11659 * commands/efi/acpi.c: Likewise.
11660 * commands/gptsync.c: Likewise.
11661 * commands/help.c: Likewise.
11662 * partmap/amiga.c: Likewise.
11663 * partmap/apple.c: Likewise.
11664 * partmap/acorn.c: Likewise.
11665 * partmap/pc.c: Likewise.
11666 * partmap/sun.c: Likewise.
11667 * partmap/gpt.c: Likewise.
11668 * script/sh/lexer.c: Likewise.
11669 * script/sh/function.c: Likewise.
11670 * font/font.c: Likewise.
11671 * font/font_cmd.c: Likewise.
11672 * loader/powerpc/ieee1275/linux.c: Likewise.
11673 * loader/efi/chainloader.c: Likewise.
11674 * loader/multiboot_loader.c: Likewise.
11675 * loader/macho.c: Likewise.
11676 * loader/i386/multiboot.c: Likewise.
11677 * loader/i386/linux.c: Likewise.
11678 * loader/i386/pc/linux.c: Likewise.
11679 * loader/i386/pc/multiboot2.c: Likewise.
11680 * loader/i386/pc/chainloader.c: Likewise.
11681 * loader/i386/pc/xnu.c: Likewise.
11682 * loader/i386/bsd_trampoline.S: Likewise.
11683 * loader/i386/efi/linux.c: Likewise.
11684 * loader/i386/multiboot_elfxx.c: Likewise.
11685 * loader/i386/bsd_helper.S: Likewise.
11686 * loader/i386/bsd.c: Likewise.
11687 * loader/i386/linux_trampoline.S: Likewise.
11688 * loader/i386/xnu_helper.S: Likewise.
11689 * loader/i386/xnu.c: Likewise.
11690 * loader/i386/bsd_pagetable.c: Likewise.
11691 * loader/i386/multiboot_helper.S: Likewise.
11692 * loader/xnu.c: Likewise.
11693 * loader/xnu_resume.c: Likewise.
11694 * io/gzio.c: Likewise.
11695 * term/efi/console.c: Likewise.
11696 * term/terminfo.c: Likewise.
11697 * term/ieee1275/ofconsole.c: Likewise.
11698 * term/i386/pc/serial.c: Likewise.
11699 * term/i386/pc/vesafb.c: Likewise.
11700 * term/i386/pc/vga.c: Likewise.
11701 * term/usb_keyboard.c: Likewise.
11702 * term/gfxterm.c: Likewise.
11703 * aclocal.m4: Likewise.
11704 * util/lvm.c: Likewise.
11705 * util/grub.d/30_os-prober.in: Likewise.
11706 * util/grub.d/10_hurd.in: Likewise.
11707 * util/console.c: Likewise.
11708 * util/grub-macho2img.c: Likewise.
11709 * util/grub-probe.c: Likewise.
11710 * util/hostfs.c: Likewise.
11711 * util/i386/pc/grub-mkimage.c: Likewise.
11712 * util/i386/pc/grub-setup.c: Likewise.
11713 * util/i386/efi/grub-mkimage.c: Likewise.
11714 * util/grub-mkconfig.in: Likewise.
11715 * util/raid.c: Likewise.
11716 * util/resolve.c: Likewise.
11717 * util/grub-mkdevicemap.c: Likewise.
11718 * util/grub-emu.c: Likewise.
11719 * util/getroot.c: Likewise.
11720 * util/hostdisk.c: Likewise.
11721 * util/usb.c: Likewise.
11722 * util/grub-editenv.c: Likewise.
11723 * util/misc.c: Likewise.
11724
11725 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11726
11727 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11728 `genparttoollist.sh'.
11729 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11730 Add `*.sh' to the list find searches for and change `mdate.sh'
11731 to `mdate-sh'.
11732
11733 2009-06-10 Pavel Roskin <proski@gnu.org>
11734
11735 * include/grub/multiboot2.h: Provide compatibility defines for
11736 multiboot2.h.
11737 * include/multiboot2.h: Include stdint.h only if needed, using
11738 angle brackets.
11739 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11740 grub/multiboot2.h.
11741 * loader/ieee1275/multiboot2.c: Likewise.
11742 * loader/multiboot2.c: Likewise.
11743 * loader/multiboot_loader.c: Likewise.
11744
11745 * configure.ac: Use -nostdlib when probing for the target. It
11746 should not be required to have libc for the target.
11747
11748 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11749 they fail without libc headers for the target.
11750 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11751 exports.
11752 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11753 preprocessor conditionals.
11754
11755 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11756 build system doesn't need to be aware of the tar.c internals.
11757
11758 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11759
11760 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11761
11762 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11763
11764 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11765 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11766
11767 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11768
11769 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11770 aren't available if ata.mod gets used.
11771
11772 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11773
11774 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11775 initialising controller.
11776 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11777
11778 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11779
11780 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11781 to choose between ata and biosdisk module on i386-pc.
11782
11783 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11784
11785 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11786 Subclass and Programming Interface fields in terms of the 3 byte
11787 Class Code register.
11788 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11789
11790 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11791 interface is OHCI. Add grub_dprintf for symmetry with
11792 bus/usb/uhci.c.
11793 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11794 interface is UHCI. Add interf variable for programming
11795 interface. Print interface with class/subclass.
11796
11797 * bus/usb/ohci.c: Set interf with correct field.
11798
11799 * bus/usb/uhci.c: Remove unneeded doubled lines.
11800 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11801 Remove whitespace inside comment.
11802
11803 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11804
11805 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11806 as fallback an equivalent option without depth.
11807
11808 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 Not fail if unable to retrieve C/H/S on LBA disks
11811
11812 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11813 if unable to retrieve C/H/S on LBA disks
11814
11815 2009-06-08 Pavel Roskin <proski@gnu.org>
11816
11817 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11818 about aliasing.
11819
11820 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11821
11822 * Makefile.in (uninstall): Remove all $lib_DATA files.
11823
11824 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 Bugfix: install on partitionless device
11827
11828 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11829 is a whole disk
11830
11831 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11832
11833 * Makefile.in (uninstall): Remove all $include_DATA files.
11834
11835 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11836
11837 * commands/true.c: New file. Implement the true and false commands.
11838 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11839 (true_mod_SOURCES): New variable.
11840 (true_mod_CFLAGS): Likewise.
11841 (true_mod_LDFLAGS): Likewise.
11842
11843 2009-06-05 Colin D Bennett <colin@gibibit.com>
11844
11845 Optimized font character lookup using binary search instead of linear
11846 search. Fonts now are required to have the character index ordered by
11847 code point.
11848
11849 * font/font.c (load_font_index): Verify that fonts have ordered
11850 character indices.
11851 (find_glyph): Use binary search instead of linear search to find a
11852 character in a font.
11853
11854 2009-06-05 Michael Scherer <misc@mandriva.org>
11855
11856 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11857 uses case sensitive btree.
11858 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11859 only for case insensitive filesystems.
11860
11861 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11864 * conf/common.rmk (search_mod_CFLAGS): likewise
11865
11866 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11869 compensate a compiler bug
11870
11871 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11874 instead of '\b'
11875
11876 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 Definitions for creating asm symbols with Apple's CC
11879
11880 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11881 [APPLE_CC] (VARIABLE): likewise
11882
11883 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 Disable lnxboot.img when compiled
11886 with Apple's CC
11887
11888 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11889 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11890 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11891 [! APPLE_CC] (CODE_LENG): skip
11892 [! APPLE_CC] (setup_sects): likewise
11893 [! APPLE_CC]: skip filling
11894
11895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Address in trampolines based on 32-bit registers when compiled
11898 with Apple's CC
11899
11900 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11901 for addresses
11902 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11903
11904 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11907
11908 * kern/misc.c [APPLE_CC] (memcpy): new function
11909 [APPLE_CC] (memmove): likewise
11910 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11911 (memcpy): define alias conditionally on !APPLE_CC
11912 (memset): likewise
11913 (abort): likewise
11914 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11915 APPLE_CC are defined
11916 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11917 (grub_assert_fail): make prototype conditional
11918
11919 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11922
11923 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11924 grub-macho2img
11925 (CLEANFILES): add grub-macho2img
11926 (grub_macho2img_SOURCES): new variable
11927 * kern/i386/pc/startup.S (bss_start): new variable
11928 (bss_end): likewise
11929 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11930 * util/grub-macho2img.c: new file
11931
11932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 Use objconv when compiling with Apple's CC
11935
11936 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11937 (efiemu64.o): likewise
11938 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11939 when compiling with Apple's CC
11940 (efiemu64_s.o): likewise
11941 * configure.ac: check for objconv when compiling with Apple's CC
11942 * genmk.rb: use objconv for modules when compiled with Apple's CC
11943
11944 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Define segment as well as section when compiling with
11947 Apple's CC
11948
11949 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11950 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11951 (efiemu_convert_pointer): likewise
11952 (efiemu_set_virtual_address_map): likewise
11953 (efiemu_convert_pointer): likewise
11954 (efiemu_getcrc32): likewise
11955 (init_crc32_table): likewise
11956 (reflect): likewise
11957 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11958 (GRUB_MOD_DEP): likewise
11959
11960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 Allow a compilation without -mcmodel=large
11963
11964 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11965 when compiled without -mcmodel=large
11966 (filter_memory_map): remove memory post 4 GiB when compiled
11967 without -mcmodel=large
11968 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11969 TARGET_CFLAGS when -mcmodel=large isn't supported
11970
11971 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 Remove nested functions in efiemu core
11974
11975 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11976
11977 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11980
11981 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11982 temporary storage
11983 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11984 using Apple's CC
11985 (grub_cpu_is_tsc_supported): likewise
11986 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11987
11988 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 Absolute addressing through constant with Apple's cc
11991
11992 * kern/i386/pc/startup.S: Define necessary constants
11993 and address through it when using ABS with Apple's CC
11994 * boot/i386/pc/diskboot.S: likewise
11995 * boot/i386/pc/boot.S: likewise
11996 * boot/i386/pc/lnxboot.S: likewise
11997 * boot/i386/pc/cdboot.S: likewise
11998 * mmap/i386/pc/mmap_helper.S: likewise
11999 * commands/i386/pc/drivemap_int13h.S: likewise
12000
12001 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Check if compiler is apple cc
12004
12005 * Makefile.in (ASFLAGS): new variable
12006 (TARGET_ASFLAGS): likewise
12007 (TARGET_MODULE_FORMAT): likewise
12008 (TARGET_APPLE_CC): likewise
12009 (OBJCONV): likewise
12010 (TARGET_IMG_CFLAGS): likewise
12011 (TARGET_CPPFLAGS): add includedir
12012 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12013 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12014 Check for linker script only if compiler isn't Apple's CC
12015 (TARGET_MODULE_FORMAT): set
12016 (TARGET_APPLE_CC): likewise
12017 (TARGET_ASFLAGS): likewise
12018 (ASFLAGS): likewise
12019 Check for objcopy only if compiler isn't Apple's CC
12020 Check for BSS symbol only if compiler isn't Apple's CC
12021 * genmk.rb: adapt nm options if we use Apple's utils
12022 * aclocal.m4 (grub_apple_cc): new test
12023 (grub_apple_target_cc): likewise
12024
12025 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 Simplify sed expressions and improve awk
12028
12029 * Makefile.in (install-local): simplify sed expression
12030 * gencmdlist.sh: likewise
12031 * genmoddep.awk: avoid adding module as a dependency of itself
12032
12033 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Add missing start symbols
12036
12037 * boot/i386/pc/boot.S: add start
12038 * boot/i386/pc/pxeboot.S: likewise
12039
12040 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 Fix wrong assumptions with grub-mkimage on EFI
12043
12044 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
12045 (relocate_addresses): consider both r_addend and value at offset
12046 (make_mods_section): zerofill modinfo and header
12047 (convert_elf): write prefix here
12048
12049 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Use .asciz instead of .string
12052
12053 * i386/pc/diskboot.S: use .asciz instead of .string
12054 * i386/pc/boot.S: likewise
12055 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12056 (GRUB_MOD_NAME): likewise
12057
12058 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 gfxpayload support
12061
12062 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12063 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12064 (grub_video_setup): remove
12065 (grub_video_set_mode): new prototype
12066 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12067 (vid_mode): remove
12068 (linux_vesafb_res): compile only on PCBIOS
12069 (grub_linux_boot): support gfxpayload
12070 * loader/i386/pc/xnu.c (video_hook): new function
12071 (grub_xnu_set_video): support gfxpayload
12072 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12073 (DEFAULT_VIDEO_HEIGHT): likewise
12074 (DEFAULT_VIDEO_FLAGS): likewise
12075 (DEFAULT_VIDEO_MODE): new definition
12076 (video_hook): new function
12077 (grub_gfxterm_init): use grub_video_set_mode
12078 * util/grub.d/30_os-prober.in: remove explicit modesetting before
12079 loading xnu
12080 * video/video.c (grub_video_setup): removed
12081 (grub_video_set_mode): new function based on grub_gfxterm_init and
12082 grub_video_setup
12083
12084 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Avoid calling biosdisk in drivemap
12087
12088 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12089 (revparse_biosdisk): likewise
12090 (list_mappings): derive name from id directly
12091 (grub_cmd_drivemap): use tryparse_diskstring
12092
12093 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 Script fixes
12096
12097 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12098 (grub_lexer_param): add tokenonhold
12099 (grub_script_create_cmdline): remove cmdline. All callers updated
12100 (grub_script_function_create): make functionname
12101 grub_script_arg. All callers updated
12102 (grub_script_execute_argument_to_string): new prototype
12103 * kern/parser.c (state_transitions): reorder
12104 (grub_parser_cmdline_state): fix a bug and make more compact
12105 * script/sh/execute.c (grub_script_execute_argument_to_string):
12106 make global
12107 (grub_script_execute_cmdline): use new format
12108 * script/sh/function.c (grub_script_function_create): make functionname
12109 grub_script_arg. All callers updated
12110 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
12111 (grub_script_yylex): remove
12112 (grub_script_yylex2): renamed to ...
12113 (grub_script_yylex): ...renamed
12114 parse the expressions like a${b}c
12115 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12116 (GRUB_PARSER_TOKEN_VAR): remove
12117 (GRUB_PARSER_TOKEN_NAME): likewise
12118 ("if"): declare as typeless
12119 ("while"): likewise
12120 ("function"): likewise
12121 ("else"): likewise
12122 ("then"): likewise
12123 ("fi"): likewise
12124 (text): remove
12125 (argument): likewise
12126 (script): accept empty scripts and make exit on error
12127 (arguments): use GRUB_PARSER_TOKEN_ARG
12128 (function): likewise
12129 (command): move error handling to script
12130 (menuentry): move grub_script_lexer_ref before
12131 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
12132 argument. All callers updated
12133
12134 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12135
12136 Prevent GRUB from probing floppies during boot.
12137
12138 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12139 * commands/search.c (options): Add --no-floppy.
12140 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12141 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12142 --no-floppy when searching for UUIDs.
12143
12144 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12145
12146 Simplify the code duplication in commands/search.c.
12147
12148 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12149 (search_fs): ... this. Update all users.
12150
12151 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
12152
12153 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12154
12155 2009-05-28 Pavel Roskin <proski@gnu.org>
12156
12157 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12158 Remove the original symlink explicitly.
12159
12160 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12161 just one slash. That's how grub_fshelp_find_file() does it.
12162
12163 2009-05-26 Pavel Roskin <proski@gnu.org>
12164
12165 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12166 to `str'.
12167
12168 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12169 possibly unused.
12170
12171 2009-05-25 Christian Franke <franke@computer.org>
12172
12173 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12174 register.
12175 (grub_atapi_identify): Add wait after drive select.
12176 (grub_ata_identify): Do more strict status register check before
12177 calling grub_atapi_identify (). Suppress error message if status
12178 register is 0x00 after command failure. Add status register
12179 check after PIO read to avoid bogus identify due to stuck DRQ.
12180 Thanks to Pavel Roskin for testing.
12181 (grub_device_initialize): Remove unsafe status register check.
12182 Thanks to 'phcoder' for problem report and patch.
12183 Prevent sign extension in debug message.
12184
12185 2009-05-23 Colin D Bennett <colin@gibibit.com>
12186
12187 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12188 definition file, and functions defined in `normal/menu.c' have had
12189 their prototypes moved to `include/grub/menu.h' for consistency.
12190
12191 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12192 from normal.h.
12193 (grub_menu_get_entry): Likewise.
12194 (grub_menu_get_timeout): Likewise.
12195 (grub_menu_set_timeout): Likewise.
12196 (grub_menu_execute_entry): Likewise.
12197 (grub_menu_execute_with_fallback): Likewise.
12198 (grub_menu_entry_run): Likewise.
12199
12200 * include/grub/normal.h: Re-ordered and grouped function
12201 prototypes by file that the function is defined in.
12202 (grub_menu_execute_callback): Removed; moved to menu.h.
12203 (grub_menu_get_entry): Likewise.
12204 (grub_menu_get_timeout): Likewise.
12205 (grub_menu_set_timeout): Likewise.
12206 (grub_menu_execute_entry): Likewise.
12207 (grub_menu_execute_with_fallback): Likewise.
12208 (grub_menu_entry_run): Likewise.
12209 (grub_menu_addentry): Renamed from this ...
12210 (grub_normal_add_menu_entry): ... to this.
12211
12212 * normal/main.c (grub_menu_addentry): Renamed from this ...
12213 (grub_normal_add_menu_entry): ... to this.
12214
12215 * script/sh/execute.c (grub_script_execute_menuentry): Update
12216 reference to renamed grub_menu_addentry function.
12217
12218 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12219
12220 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12221
12222 2009-05-22 Pavel Roskin <proski@gnu.org>
12223
12224 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12225 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12226 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12227 compiling for the i386 targets, but not for the utilities.
12228
12229 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12230 to grub_uint8_t.
12231 (grub_root_drive): Likewise.
12232 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12233 remove alignment.
12234 (grub_root_drive): Change size to byte.
12235 (grub_start_addr): Remove.
12236 (grub_end_addr): Likewise.
12237 (grub_apm_bios_info): Likewise.
12238
12239 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12240
12241 * normal/i386: Remove.
12242 * normal/powerpc: Likewise.
12243 * normal/sparc64: Likewise.
12244 * normal/x86_64: Likewise.
12245
12246 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12249 * loader/i386/linux_trampoline.S: Fix indentation
12250 * loader/i386/xnu_helper.S: Likewise
12251
12252 2009-05-18 Colin D Bennett <colin@gibibit.com>
12253
12254 Display error messages when parsing a Lua statement fails.
12255 Previously, executing a syntactically invalid statement like
12256 ")foo" or "bar;" would silently fail.
12257
12258 * script/lua/grub_main.c (handle_lua_error): New function.
12259 (grub_lua_parse_line): Improved reporting of Lua parser and
12260 execution errors.
12261
12262 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 Remove -Werror which causes build to fail on some systems
12265
12266 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12267 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12268 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12269
12270 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 trampoline for linux on 64-bit platform
12273
12274 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12275 loader/i386/efi/linux_trampoline.S
12276 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12277 declaration
12278 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12279 here
12280 * loader/i386/linux_trampoline.S: moved here
12281 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12282 trampoline
12283 (jumpvector): removed
12284 (grub_linux_trampoline_start): new declaration
12285 (grub_linux_trampoline_end): likewise
12286 (grub_linux_boot): use trampoline when on 64-bit platform
12287 * loader/i386/linux.c: likewise
12288
12289 2009-05-16 Pavel Roskin <proski@gnu.org>
12290
12291 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12292 const to avoid a warning.
12293 (grub_lua_setenv): Likewise.
12294 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12295 lmsg to fix a warning.
12296
12297 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12298
12299 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12300 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12301 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12302 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12303 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12304 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12305 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12306 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12307
12308 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12309
12310 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12311
12312 2009-05-16 Bean <bean123ch@gmail.com>
12313
12314 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12315 (lua_mod_SOURCES): New variable.
12316 (lua_mod_CFLAGS): Likewise.
12317 (lua_mod_LDFLAGS): Likewise.
12318
12319 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12320 (setjmp_mod_SOURCES): New variable.
12321 (setjmp_mod_CFLAGS): Likewise.
12322 (setjmp_LDFLAGS): Likewise.
12323
12324 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12325 (setjmp_mod_SOURCES): New variable.
12326 (setjmp_mod_CFLAGS): Likewise.
12327 (setjmp_LDFLAGS): Likewise.
12328
12329 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12330 (setjmp_mod_SOURCES): New variable.
12331 (setjmp_mod_CFLAGS): Likewise.
12332 (setjmp_LDFLAGS): Likewise.
12333
12334 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12335 (setjmp_mod_SOURCES): New variable.
12336 (setjmp_mod_CFLAGS): Likewise.
12337 (setjmp_LDFLAGS): Likewise.
12338
12339 * normal/i386/setjmp.S: Moved from here ...
12340 * lib/i386/setjmp.S: ... Moved here
12341 * normal/x86_64/setjmp.S: Moved from here ...
12342 * lib/x86_64/setjmp.S: ... Moved here
12343 * normal/powerpc/setjmp.S: Moved from here ...
12344 * lib/powerpc/setjmp.S: ... Moved here
12345 * normal/sparc64/setjmp.S: Moved from here ...
12346 * lib/sparc64/setjmp.S: ... Moved here
12347
12348 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12349 returns_twice in mingw.
12350
12351 * script/lua/grub_lib.c: New file.
12352 * script/lua/grub_lib.h: Likewise.
12353 * script/lua/grub_lua.h: Likewise.
12354 * script/lua/grub_main.c: Likewise.
12355 * script/lua/lapi.c: Likewise.
12356 * script/lua/lapi.h: Likewise.
12357 * script/lua/lauxlib.c: Likewise.
12358 * script/lua/lauxlib.h: Likewise.
12359 * script/lua/lbaselib.c: Likewise.
12360 * script/lua/lcode.c: Likewise.
12361 * script/lua/lcode.h: Likewise.
12362 * script/lua/ldblib.c: Likewise.
12363 * script/lua/ldebug.c: Likewise.
12364 * script/lua/ldebug.h: Likewise.
12365 * script/lua/ldo.c: Likewise.
12366 * script/lua/ldo.h: Likewise.
12367 * script/lua/ldump.c: Likewise.
12368 * script/lua/lfunc.c: Likewise.
12369 * script/lua/lfunc.h: Likewise.
12370 * script/lua/lgc.c: Likewise.
12371 * script/lua/lgc.h: Likewise.
12372 * script/lua/linit.c: Likewise.
12373 * script/lua/liolib.c: Likewise.
12374 * script/lua/llex.c: Likewise.
12375 * script/lua/llex.h: Likewise.
12376 * script/lua/llimits.h: Likewise.
12377 * script/lua/lmathlib.c: Likewise.
12378 * script/lua/lmem.c: Likewise.
12379 * script/lua/lmem.h: Likewise.
12380 * script/lua/loadlib.c: Likewise.
12381 * script/lua/lobject.c: Likewise.
12382 * script/lua/lobject.h: Likewise.
12383 * script/lua/lopcodes.c: Likewise.
12384 * script/lua/lopcodes.h: Likewise.
12385 * script/lua/loslib.c: Likewise.
12386 * script/lua/lparser.c: Likewise.
12387 * script/lua/lparser.h: Likewise.
12388 * script/lua/lstate.c: Likewise.
12389 * script/lua/lstate.h: Likewise.
12390 * script/lua/lstring.c: Likewise.
12391 * script/lua/lstring.h: Likewise.
12392 * script/lua/lstrlib.c: Likewise.
12393 * script/lua/ltable.c: Likewise.
12394 * script/lua/ltable.h: Likewise.
12395 * script/lua/ltablib.c: Likewise.
12396 * script/lua/ltm.c: Likewise.
12397 * script/lua/ltm.h: Likewise.
12398 * script/lua/lua.h: Likewise.
12399 * script/lua/luaconf.h: Likewise.
12400 * script/lua/lualib.h: Likewise.
12401 * script/lua/lundump.c: Likewise.
12402 * script/lua/lundump.h: Likewise.
12403 * script/lua/lvm.c: Likewise.
12404 * script/lua/lvm.h: Likewise.
12405 * script/lua/lzio.c: Likewise.
12406 * script/lua/lzio.h: Likewise.
12407
12408 2009-05-16 Bean <bean123ch@gmail.com>
12409
12410 * include/grub/kernel.h (grub_module_header_types): Add type
12411 OBJ_TYPE_CONFIG.
12412
12413 * kern/main.c (grub_load_config): New function.
12414 (grub_main): Call grub_load_config to read boot config.
12415
12416 * grub-mkimage (generate_image): New parameter config_path.
12417 (options): New option --config.
12418 (main): Parse --config option, and pass it to generate_image.
12419
12420 2009-05-14 Christian Franke <franke@computer.org>
12421
12422 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12423 This fixes build on Cygwin.
12424
12425 2009-05-14 Pavel Roskin <proski@gnu.org>
12426
12427 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12428 jump. This saves two bytes, so the typical case of 2 swapped
12429 drives would fit 32 bytes.
12430
12431 2009-05-13 Pavel Roskin <proski@gnu.org>
12432
12433 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12434 grub_uint32_t to avoid a warning.
12435
12436 * loader/i386/linux.c (allocate_pages): When assigning
12437 real_mode_mem, cast through grub_size_t to fix a warning. The
12438 code already makes sure that the value would fit a pointer.
12439 (grub_linux_setup_video): Cast render_target->data to
12440 grub_size_t to fix a warning.
12441
12442 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12443
12444 * commands/i386/pc/drivemap.c: New file - implement drivemap
12445 command.
12446 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12447 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12448
12449 2009-05-13 Pavel Roskin <proski@gnu.org>
12450
12451 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12452 embedding_area_exists.
12453
12454 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12455
12456 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12457 it easier to understand / work with.
12458 Improve warning messages for cases where there's no embedding area,
12459 or when it is too small (or core.img too large).
12460
12461 2009-05-13 Pavel Roskin <proski@gnu.org>
12462
12463 * loader/i386/pc/multiboot2.c: Add necessary includes for
12464 grub_multiboot2_real_boot().
12465
12466 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12467 PX record is always little-endian. We only need the lower 2
12468 bytes of the mode.
12469
12470 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12471 facilitate code reuse.
12472 (grub_cpio_mount): Use "struct head", not a char buffer. This
12473 fixes a warning reported by gcc 4.4.
12474
12475 * kernel/disk.c (grub_disk_read): Use void pointer for the
12476 buffer.
12477 (grub_disk_write): Use const void pointer for the buffer.
12478 Adjust all callers. Remove unnecessary casts.
12479
12480 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12481
12482 * util/i386/pc/grub-install.in: Update copyright year.
12483
12484 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 gptsync
12487
12488 * commands/gptsync.c: new file
12489 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12490 (gptsync_mod_SOURCES): new variable
12491 (gptsync_mod_CFLAGS): likewise
12492 (gptsync_mod_LDFLAGS): likewise
12493 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12494 new definition
12495 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12497 * conf/i386-ieee1275.rmk: likewise
12498 * conf/i386-pc.rmk: likewise
12499 * conf/powerpc-ieee1275.rmk: likewise
12500
12501 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 Fixed grub-emu
12504
12505 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12506 (grub_dl_ref): likewise
12507
12508 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12509
12510 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12511 split in two functions (one for msdos and one for gpt).
12512
12513 2009-05-08 Pavel Roskin <proski@gnu.org>
12514
12515 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12516 not modified.
12517
12518 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12519 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12520 Initialize them with -1. Add sanity check for bad1. Eliminate
12521 nerr variable.
12522
12523 2009-05-08 David S. Miller <davem@davemloft.net>
12524
12525 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12526
12527 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12528
12529 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12530 existence.
12531
12532 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12533
12534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12535 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12536
12537 2009-05-05 David S. Miller <davem@davemloft.net>
12538
12539 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12540
12541 2009-05-05 Pavel Roskin <proski@gnu.org>
12542
12543 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12544 of grub_dl_ref() and grub_dl_unref().
12545 * commands/parttool.c: Remove preprocessor conditionals around
12546 grub_dl_ref() and grub_dl_unref().
12547 * fs/affs.c: Likewise.
12548 * fs/afs.c: Likewise.
12549 * fs/cpio.c: Likewise.
12550 * fs/ext2.c: Likewise.
12551 * fs/fat.c: Likewise.
12552 * fs/hfs.c: Likewise.
12553 * fs/hfsplus.c: Likewise.
12554 * fs/iso9660.c: Likewise.
12555 * fs/jfs.c: Likewise.
12556 * fs/minix.c: Likewise.
12557 * fs/ntfs.c: Likewise.
12558 * fs/reiserfs.c: Likewise.
12559 * fs/sfs.c: Likewise.
12560 * fs/udf.c: Likewise.
12561 * fs/ufs.c: Likewise.
12562 * fs/xfs.c: Likewise.
12563 * include/grub/dl.h: Likewise.
12564 * loader/xnu.c: Likewise.
12565
12566 2009-05-04 Pavel Roskin <proski@gnu.org>
12567
12568 * commands/acpi.c: Remove unused variable my_mod.
12569 * partmap/amiga.c: Likewise.
12570 * partmap/apple.c: Likewise.
12571 * partmap/gpt.c: Likewise.
12572 * partmap/pc.c: Likewise.
12573 * partmap/sun.c: Likewise.
12574 * term/gfxterm.c: Likewise.
12575 * term/i386/pc/vesafb.c: Likewise.
12576 * term/i386/pc/vga.c: Likewise.
12577
12578 2009-05-04 David S. Miller <davem@davemloft.net>
12579
12580 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12581 pointer args to grub_ieee1275_get_property().
12582
12583 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12584
12585 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12586 devices, and do not traverse down under controller nodes.
12587
12588 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12589 (grub_ofdisk_open): Use it to un-escape "," characters.
12590 * kern/disk.c (find_part_sep): New.
12591 (grub_disk_open): Use it to find the first non-escaped ','
12592 character in the disk name.
12593 * util/ieee1275/devicemap.c (escape_of_path): New.
12594 (grub_util_emit_devicemap_entry): Use it.
12595 * util/sparc64/ieee1275/grub-install.in: Update script to
12596 strip partition specifiers properly by not triggering on
12597 '\' escaped ',' characters.
12598
12599 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12600
12601 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12602 to 0x300.
12603 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12604 resolutions.
12605 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12606 on documentation from Wikipedia).
12607
12608 2009-05-04 Pavel Roskin <proski@gnu.org>
12609
12610 * disk/ata.c: Spelling fixes.
12611 * disk/raid.c: Likewise.
12612 * disk/usbms.c: Likewise.
12613 * disk/dmraid_nvidia.c: Likewise.
12614 * kern/ieee1275/openfw.c: Likewise.
12615 * kern/ieee1275/init.c: Likewise.
12616 * kern/ieee1275/cmain.c: Likewise.
12617 * boot/i386/pc/cdboot.S: Likewise.
12618 * video/readers/png.c: Likewise.
12619 * video/i386/pc/vbe.c: Likewise.
12620 * fs/udf.c: Likewise.
12621 * fs/hfs.c: Likewise.
12622 * fs/reiserfs.c: Likewise.
12623 * efiemu/runtime/efiemu.c: Likewise.
12624 * efiemu/main.c: Likewise.
12625 * efiemu/mm.c: Likewise.
12626 * include/grub/elf.h: Likewise.
12627 * include/grub/xnu.h: Likewise.
12628 * include/grub/usbdesc.h: Likewise.
12629 * include/grub/usb.h: Likewise.
12630 * include/grub/script_sh.h: Likewise.
12631 * include/grub/lib/LzmaEnc.h: Likewise.
12632 * include/grub/efiemu/efiemu.h: Likewise.
12633 * include/grub/command.h: Likewise.
12634 * normal/menu.c: Likewise.
12635 * normal/main.c: Likewise.
12636 * normal/datetime.c: Likewise.
12637 * bus/usb/uhci.c: Likewise.
12638 * mmap/i386/uppermem.c: Likewise.
12639 * mmap/mmap.c: Likewise.
12640 * commands/acpi.c: Likewise.
12641 * commands/test.c: Likewise.
12642 * partmap/apple.c: Likewise.
12643 * font/font.c: Likewise.
12644 * loader/sparc64/ieee1275/linux.c: Likewise.
12645 * loader/macho.c: Likewise.
12646 * loader/i386/bsd_trampoline.S: Likewise.
12647 * loader/i386/bsd.c: Likewise.
12648 * loader/xnu.c: Likewise.
12649 * term/i386/pc/vesafb.c: Likewise.
12650 * term/usb_keyboard.c: Likewise.
12651 * util/resolve.c: Likewise.
12652 * util/getroot.c: Likewise.
12653
12654 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12655
12656 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12657
12658 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12659
12660 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12661 build error.
12662
12663 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12664
12665 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12666 parameter only available on BIOS.
12667
12668 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Removed wrong semicolon in declaration
12671
12672 * grub/misc.h (grub_dprintf): remove semicolon
12673
12674 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12675
12676 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12677 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12678 is done by grub_cmd_linux() now).
12679 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12680 restore video to text mode.
12681 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12682 indicates lack of "vga=" parameter. "vga=0" is mapped to
12683 `GRUB_LINUX_VID_MODE_NORMAL'.
12684
12685 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12686
12687 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12688 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12689 and `normal/script.c'. Add `kern/rescue_reader.c',
12690 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12691 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12692 `grub_script.tab.c'.
12693
12694 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12698 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12699
12700 * Makefile.in: Remove duplicated 2008 in Copyright line.
12701
12702 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12703
12704 * util/misc.c (grub_util_warn): New function. Emits a warning
12705 unconditionally.
12706 * include/grub/util/misc.h (grub_util_warn): New declaration.
12707
12708 * util/i386/pc/grub-install.in: Understand --force and pass it down
12709 to grub-setup.
12710
12711 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12712 down to setup().
12713 (setup): Improve error messages and add warnings when requested to
12714 install in odd layouts. Refuse to install using blocklists unless
12715 --force was set.
12716
12717 2009-05-04 martin f. krafft <madduck@madduck.net>
12718
12719 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12720
12721 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Updated copyright year
12724
12725 * fs/hfsplus.c: updated copyright year
12726
12727 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 HFS+ UUID
12730
12731 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12732 in the space previously used by unused3
12733 (grub_hfsplus_uuid): new function
12734 (grub_hfsplus_fs): added uuid field
12735
12736 2009-05-03 Pavel Roskin <proski@gnu.org>
12737
12738 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12739 suppress warnings. It's no longer needed.
12740 * disk/host.c: Likewise.
12741 * disk/ata_pthru.c: Likewise.
12742 * disk/loopback.c: Likewise.
12743 * hook/datehook.c: Likewise.
12744 * parttool/pcpart.c: Likewise.
12745 * fs/i386/pc/pxe.c: Likewise.
12746 * fs/ntfscomp.c: Likewise.
12747 * efiemu/main.c: Likewise.
12748 * mmap/mmap.c: Likewise.
12749 * commands/crc.c: Likewise.
12750 * commands/hexdump.c: Likewise.
12751 * commands/hdparm.c: Likewise.
12752 * commands/acpi.c: Likewise.
12753 * commands/echo.c: Likewise.
12754 * commands/minicmd.c: Likewise.
12755 * commands/blocklist.c: Likewise.
12756 * commands/memrw.c: Likewise.
12757 * commands/loadenv.c: Likewise.
12758 * commands/usbtest.c: Likewise.
12759 * commands/lsmmap.c: Likewise.
12760 * commands/boot.c: Likewise.
12761 * commands/parttool.c: Likewise.
12762 * commands/configfile.c: Likewise.
12763 * commands/search.c: Likewise.
12764 * commands/ieee1275/suspend.c: Likewise.
12765 * commands/cat.c: Likewise.
12766 * commands/i386/pc/pxecmd.c: Likewise.
12767 * commands/i386/pc/play.c: Likewise.
12768 * commands/i386/pc/halt.c: Likewise.
12769 * commands/i386/pc/vbeinfo.c: Likewise.
12770 * commands/i386/pc/vbetest.c: Likewise.
12771 * commands/lspci.c: Likewise.
12772 * commands/date.c: Likewise.
12773 * commands/handler.c: Likewise.
12774 * commands/ls.c: Likewise.
12775 * commands/test.c: Likewise.
12776 * commands/cmp.c: Likewise.
12777 * commands/efi/loadbios.c: Likewise.
12778 * commands/efi/fixvideo.c: Likewise.
12779 * commands/halt.c: Likewise.
12780 * commands/help.c: Likewise.
12781 * commands/reboot.c: Likewise.
12782 * hello/hello.c: Likewise.
12783 * script/sh/main.c: Likewise.
12784 * loader/xnu.c: Likewise.
12785 * term/terminfo.c: Likewise.
12786 * term/i386/pc/serial.c: Likewise.
12787 * term/usb_keyboard.c: Likewise.
12788
12789 2009-05-03 David S. Miller <davem@davemloft.net>
12790
12791 * normal/menu.c: Include grub/parser.h
12792
12793 2009-05-03 Pavel Roskin <proski@gnu.org>
12794
12795 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12796 not char*.
12797 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12798 Suggested by Javier Martín <lordhabbit@gmail.com>
12799
12800 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12801 efiemu??.o doesn't exist.
12802 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12803 copying.
12804
12805 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 FreeBSD 64-bit support
12808
12809 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12810 and loader/i386/bsd_trampoline.S
12811 (bsd_mod_ASFLAGS): new variable
12812 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12813 (FREEBSD_MODTYPE_KERNEL64): likewise
12814 (grub_bsd64_trampoline_start): likewise
12815 (grub_bsd64_trampoline_end): likewise
12816 (grub_bsd64_trampoline_selfjump): likewise
12817 (grub_bsd64_trampoline_gdt): likewise
12818 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12819 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12820 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12821 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12822 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12823 of "attrib" member
12824 * loader/i386/bsd_pagetable.c: new file
12825 * loader/i386/bsd_trampoline.S: likewise
12826 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12827 (ALIGN_VAR): likewise
12828 (entry_hi): new variable
12829 (kern_end_mdofs): likewise
12830 (is_64bit): likewise
12831 (grub_freebsd_add_meta): use ALIGN_VAR
12832 (grub_e820_mmap): new declaration
12833 (grub_freebsd_add_mmap): new function
12834 (grub_freebsd_add_meta_module): support 64 bit kernels
12835 (grub_freebsd_list_modules): use ALIGN_VAR
12836 (gdt_descriptor): new declaration
12837 (grub_freebsd_boot): support 64 bit kernels
12838 (grub_bsd_elf64_hook): new function
12839 (grub_bsd_load_elf): support elf64
12840
12841 2009-05-03 Bean <bean123ch@gmail.com>
12842
12843 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12844 after we get the result of if statement.
12845
12846 2009-05-03 Bean <bean123ch@gmail.com>
12847
12848 * Makefile.in (enable_efiemu): New variable.
12849
12850 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12851 set.
12852 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12853 path.
12854 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12855 path, add -mno-red-zone option.
12856 (efiemu64_s.o): Likewise.
12857 (efiemu64.o): Use macro $^ for source file.
12858
12859 * configure.ac (--enable-efiemu): New option.
12860
12861 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 xnu support
12864
12865 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12866 (pkglib_MODULES): add xnu.mod
12867 (xnu_mod_SOURCES): new variable
12868 (xnu_mod_CFLAGS): likewise
12869 (xnu_mod_LDFLAGS): likewise
12870 (xnu_mod_ASFLAGS): likewise
12871 * conf/i386-pc.rmk: likewise
12872 * conf/x86_64-efi.rmk: likewise
12873 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12874 new declaration
12875 * include/grub/i386/macho.h: new file
12876 * include/grub/i386/xnu.h: likewise
12877 * include/grub/macho.h: likewise
12878 * include/grub/machoload.h: likewise
12879 * include/grub/x86_64/macho.h: likewise
12880 * include/grub/x86_64/xnu.h: likewise
12881 * include/grub/xnu.h: likewise
12882 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12883 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12884 * loader/i386/efi/xnu.c: new file
12885 * loader/i386/pc/xnu.c: likewise
12886 * loader/i386/xnu.c: likewise
12887 * loader/i386/xnu_helper.S: likewise
12888 * loader/macho.c: likewise
12889 * loader/xnu.c: likewise
12890 * loader/xnu_resume.c: likewise
12891 * util/grub-dumpdevtree: likewise
12892 * include/grub/i386/pit.h: include grub/err.h
12893 (grub_pit_wait): export
12894 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12895
12896 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 Efiemu
12899
12900 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12901 _linux_efi, linux_efi.
12902 new files in grub-emu
12903 new targets efiemu32.o and efiemu64.o
12904 * loader/linux_normal_efiemu.c: likewise
12905 * loader/i386/efi/linux.c: added preliminary efiemu support
12906 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12907 files to copy
12908 * include/grub/autoefi.h: new file
12909 * include/grub/i386/efiemu.h: likewise
12910 * include/grub/i386/pc/efiemu.h: likewise
12911 * include/grub/efi/api.h: add LL suffix when necessary
12912 new definitions relating to tables
12913 * include/grub/efiemu/efiemu.h: new file
12914 * include/grub/efiemu/runtime.h: likewise
12915 * efiemu/prepare.c: likewise
12916 * efiemu/loadcore_common.c: likewise
12917 * efiemu/loadcore64.c: likewise
12918 * efiemu/runtime/efiemu.sh: likewise
12919 * efiemu/runtime/efiemu.S: likewise
12920 * efiemu/runtime/efiemu.c: likewise
12921 * efiemu/runtime/config.h: likewise
12922 * efiemu/prepare32.c: likewise
12923 * efiemu/main.c: likewise
12924 * efiemu/modules/pnvram.c: likewise
12925 * efiemu/modules/i386: likewise
12926 * efiemu/modules/i386/pc: likewise
12927 * efiemu/modules/acpi.c: likewise
12928 * efiemu/i386/pc/cfgtables.c: likewise
12929 * efiemu/i386/loadcore64.c: likewise
12930 * efiemu/i386/loadcore32.c: likewise
12931 * efiemu/prepare64.c: likewise
12932 * efiemu/loadcore.c: likewise
12933 * efiemu/symbols.c: likewise
12934 * efiemu/mm.c: likewise
12935 * efiemu/loadcore32.c: likewise
12936
12937 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 ACPI spoofing
12940
12941 * commands/acpi.c: new file
12942 * commands/i386/pc/acpi.c: likewise
12943 * commands/efi/acpi.c: likewise
12944 * include/grub/acpi.h: likewise
12945 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12946 (acpi_mod_SOURCES): new variable
12947 (acpi_mod_CFLAGS): likewise
12948 (acpi_mod_LDFLAGS): likewise
12949 * conf/i386-efi.rmk: likewise
12950 * conf/x86_64-efi.rmk: likewise
12951
12952 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 Missing part from mmap patch
12955
12956 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12957 (grub_mmap_unregister)
12958 (grub_mmap_free_and_unregister): use grub_mmap_register
12959
12960 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 Mmap services
12963
12964 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12965 * loader/i386/linux.c (find_mmap_size): likewise
12966 (allocate_pages): likewise
12967 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12968 (grub_fill_multiboot_mmap): likewise
12969 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12970 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12971 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12972 (OPENBSD_MMAP_RESERVED): likewise
12973 * include/grub/i386/pc/memory.h: include grub/memory.h
12974 (grub_lower_mem): removed
12975 (grub_upper_mem): likewise
12976 (GRUB_MACHINE_MEMORY_ACPI): new definition
12977 (GRUB_MACHINE_MEMORY_NVS): likewise
12978 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12979 (GRUB_MACHINE_MEMORY_HOLE): likewise
12980 (grub_machine_mmap_register): likewise
12981 (grub_machine_mmap_unregister): likewise
12982 (grub_machine_get_upper): likewise
12983 (grub_machine_get_lower): likewise
12984 (grub_machine_get_post64): likewise
12985 * include/grub/i386/efi/memory.h: new file
12986 * include/grub/x86_64/efi/memory.h: likewise
12987 * include/grub/efi/memory.h: likewise
12988 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12989 (mmap_mod_SOURCES): new variable
12990 (mmap_mod_LDFLAGS): likewise
12991 (mmap_mod_ASFLAGS): likewise
12992 * conf/i386-coreboot.rmk: likewise
12993 * conf/i386-ieee1275.rmk: likewise
12994 * conf/i386-efi.rmk: likewise
12995 * conf/x86_64-efi.rmk: likewise
12996 * include/grub/types.h (UINT_TO_PTR): new macro
12997 (PTR_TO_UINT32): likewise
12998 (PTR_TO_UINT64): likewise
12999 * include/grub/memory.h: new file
13000 * mmap/i386/pc/mmap.c: likewise
13001 * mmap/i386/pc/mmap_helper.S: likewise
13002 * mmap/i386/uppermem.c: likewise
13003 * mmap/mmap.c: likewise
13004 * mmap/efi/mmap.c: likewise
13005 * kern/i386/coreboot/init.c (grub_machine_init): don't use
13006 grub_upper_mem
13007 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13008 (grub_upper_mem): likewise
13009 (grub_machine_init): don't use grub_upper_mem,
13010 make grub_lower_mem local
13011 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13012 grub_mmap_iterate and grub_mmap_get_upper
13013 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13014
13015 2009-05-02 Bean <bean123ch@gmail.com>
13016
13017 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13018 script/sh/parser.y.
13019 (pkglib_MODULES): Add normal.mod and sh.mod.
13020 (normal_SOURCES): New variable.
13021 (normal_mod_CFLAGS): Likewise.
13022 (normal_mod_LDFLAGS): Likewise.
13023 (sh_mod_SOURCES): Likewise.
13024 (sh_mod_CFLAGS): Likewise.
13025 (sh_mod_LDFLAGS): Likewise.
13026
13027 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13028 script/sh/lexer.c_DEPENDENCIES.
13029 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13030 kern/rescue_reader.c and kern/rescue_parser.c.
13031 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13032 (grub_emu_SOURCES): Change source files.
13033 (pkglib_MODULES): Remove normal.mod.
13034 (normal_SOURCES): Removed.
13035 (normal_mod_CFLAGS): Likewise.
13036 (normal_mod_LDFLAGS): Likewise.
13037 * conf/i386-coreboot.rmk: Likewise.
13038 * conf/i386-efi.rmk: Likewise.
13039 * conf/i386-ieee1276.rmk: Likewise.
13040 * conf/powerpc-ieee1275.rmk: Likewise.
13041 * conf/sparc64-ieee1275.rmk: Likewise.
13042 * conf/x86_64-efi.rmk: Likewise.
13043
13044 * include/grub/command.h (grub_command_execute): New inline function.
13045
13046 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13047
13048 * include/grub/normal.h: Remove <grub/setjmp.h>.
13049 (grub_fs_module_list): Moved to normal/autofs.c.
13050 (grub_exit_env): Removed.
13051 (grub_command_execute): Likewise.
13052 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13053 parameter script.
13054 (read_command_list): New function declaration.
13055 (read_fs_list): Likewise.
13056
13057 * include/parser.h: Include <grub/reader.h>.
13058 (grub_parser_split_cmdline): Change type of getline parameter.
13059 (grub_parser): New structure.
13060 (grub_parser_class): New variable.
13061 (grub_parser_execute): New function declaration.
13062 (grub_register_rescue_parser): Likewise.
13063 (grub_parser_register): New inline function.
13064 (grub_parser_unregister): Likewise.
13065 (grub_parser_get_current): Likewise.
13066 (grub_parser_set_current): Likewise.
13067
13068 * include/grub/reader.h: New file.
13069 * kern/reader.c: Likewise.
13070 * kern/rescue_parser.c: Likewise.
13071 * kern/rescue_reader.c: Likewise.
13072 * normal/autofs.c: Likewise.
13073 * normal/dyncmd.c: Likewise.
13074
13075 * include/grub/rescue.h: Removed.
13076 * normal/command.h: Likewise.
13077
13078 * include/grub/script.h: Moved to ...
13079 * include/grub/script_sh.h: ... Moved here.
13080 * normal/execute.c: Moved to ...
13081 * script/sh/execute.c: ... Moved here.
13082 * normal/function.c: Moved to ...
13083 * script/sh/function.c: ... Moved here.
13084 * normal/lexer.c: Moved to ...
13085 * script/sh/lexer.c: ... Moved here.
13086 * normal/parser.y: Moved to ...
13087 * script/sh/parser.y: ... Moved here.
13088 * normal/script.c: Moved to ...
13089 * script/sh/script.c: ... Moved here.
13090
13091 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13092 <grub/reader.h>.
13093 (grub_exit_env): Removed.
13094 (fs_module_list): Moved to normal/autofs.c.
13095 (grub_file_getline): Don't handle comment here.
13096 (free_menu): Skip removed field entry->commands.
13097 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13098 script parameter.
13099 (read_config_file): Removed nested parameter, change getline function.
13100 (grub_enter_normal_mode): Removed.
13101 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13102 (read_command_list): Likewise.
13103 (autoload_fs_module): Moved to normal/autofs.c.
13104 (read_fs_list): Likewise.
13105 (reader_nested): New variable.
13106 (grub_normal_execute): Run parser.sh to switch to sh parser.
13107 (grub_cmd_rescue): Removed.
13108 (cmd_normal): Removed.
13109 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13110 rescue command.
13111 (grub_cmdline_run): New function.
13112 (grub_normal_reader_init): Likewise.
13113 (grub_normal_read_line): Likewise.
13114 (grub_env_write_pager): Likewise.
13115 (cmdline): New variable.
13116 (grub_normal_reader): Likewise.
13117 (GRUB_MOD_INIT): Register normal reader and set as current, register
13118 pager hook, register normal command with grub_register_command_prio,
13119 so that it won't show up in command.lst.
13120 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13121 grub_fs_autoload_hook.
13122
13123 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13124 (grub_menu_execute_entry): Replace grub_script_execute with
13125 grub_parser_execute, change parameter to grub_command_execute.
13126
13127 * normal/menu_text.c: Remove <grub/script.h>.
13128
13129 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13130 and <grub/parser.h>.
13131 (run): Change editor_getline to use new parser interface. Change
13132 parameter to grub_command_execute.
13133
13134 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13135 <grub/reader.h> and <grub/parser.h>.
13136 (grub_load_normal_mode): Execute normal command.
13137 (grub_main): Call grub_register_core_commands,
13138 grub_register_rescue_parser and grub_register_rescue_reader, use
13139 grub_reader_loop to enter input loop.
13140
13141 * kern/parser.c (grub_parser_split_cmdline): Change type of
13142 getline parameter.
13143 (grub_parser_class): New variable.
13144 (grub_parser_execute): New function.
13145
13146 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13147 * loader/multiboot2.c: Likewise.
13148 * loader/sparc64/ieee1275/linux.c: Likewise.
13149
13150 * util/grub-emu.c (read_command_list): New dummy function.
13151
13152 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13153
13154 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13155 count to 16 for CCISS and IDA.
13156
13157 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13158
13159 * normal/menu_text.c (grub_wait_after_message): Print a newline
13160 after waiting for user input.
13161
13162 * loader/i386/linux.c: Include `<grub/normal.h>'.
13163 (grub_cmd_linux): Improve the error message about `ask' mode, by
13164 waiting for user input so it's not missed (we can do this, since
13165 user requested interaction).
13166
13167 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 Added missing lst to grub-mkrescue
13170
13171 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13172 and ${input_dir}/parttool.lst
13173
13174 2009-04-30 David S. Miller <davem@davemloft.net>
13175
13176 * util/hostdisk.c (device_is_wholedisk): New function.
13177 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13178 zero only if device_is_wholedisk() returns true.
13179
13180 * util/hostdisk.c (convert_system_partition_to_system_disk):
13181 Handle virtual disk devices named /dev/vdiskX as found on sparc
13182 and powerpc.
13183
13184 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13185 lettered partition specifier is found, convert to numbered.
13186
13187 2009-04-29 David S. Miller <davem@davemloft.net>
13188
13189 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13190 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13191
13192 * normal/command.c: Add missing newline at end of file.
13193
13194 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13195 warnings.
13196 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13197 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13198 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13199 ihandles have a 32-bit type but need to be stored in a "void *".
13200
13201 2009-04-28 Pavel Roskin <proski@gnu.org>
13202
13203 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13204 not disk. Adjust all dependencies.
13205 (grub_fs_uuid_close): Use grub_device_close(), not
13206 grub_disk_close().
13207
13208 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13209 parent's partition, don't copy it by reference, as it gets freed
13210 on close.
13211
13212 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 Preboot hooks support
13215
13216 * commands/boot.c (struct grub_preboot_t): new declaration
13217 (preboots_head): new variable
13218 (preboots_tail): likewise
13219 (grub_loader_register_preboot_hook): new function
13220 (grub_loader_unregister_preboot_hook): likewise
13221 (grub_loader_set): launch preboot hooks
13222 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13223 (grub_loader_register_preboot_hook): new declaration
13224 (grub_loader_unregister_preboot_hook): likewise
13225
13226 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Warning fix
13229
13230 * disk/scsi.c (grub_scsi_open): added missing cast when
13231 calling grub_dprintf
13232
13233 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 Bug and warning fixes
13236
13237 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13238 declaration
13239 * commands/test.c (test_parse): fixed bug with file tests and corrected
13240 declaration of find_file
13241
13242 2009-04-26 Pavel Roskin <proski@gnu.org>
13243
13244 * Makefile.in: Don't install empty manual pages if help2man is
13245 missing. Use help2man option for output, not shell redirection.
13246
13247 2009-04-26 David S. Miller <davem@davemloft.net>
13248
13249 * util/grub-mkdevicemap.c (make_device_map): Add missing
13250 NESTED_FUNC_ATTR to process_device().
13251
13252 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 Test command
13255
13256 * commands/test.c: rewritten to use bash-like test
13257
13258 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Parttool autoloading and improvements
13261
13262 * Makefile.in (pkglib_DATA): add parttool.lst
13263 (parttool.lst): new target
13264 * genmk.rb: generate parttool-*
13265 (CLEANFILES): add #{parttool}
13266 (PARTTOOLFILES): new variable
13267 * genparttoollist.sh: new file
13268 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13269 (grub_pcpart_type): likewise
13270 * commands/parttool.c (helpmsg): new variable
13271 (grub_cmd_parttool): output help if not enough arguments are supplied
13272 autoload modules
13273 (GRUB_MOD_INIT(parttool)): use helpmsg
13274
13275 2009-04-24 David S. Miller <davem@davemloft.net>
13276
13277 Avoiding opening same device multiple times in device iterator.
13278
13279 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13280 and use it to build a list of partitions in iterate_disk() and
13281 iterate_partition().
13282
13283 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13284 on disk->data.
13285
13286 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13287 grub_devalias_iterate() result instead of unconditional 0.
13288 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13289 Also, capture hook return value, either directly or via
13290 grub_children_iterate(), and propagate to caller.
13291 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13292 grub_children_iterate): Return value is now 'int' instead of
13293 'grub_err_t'.
13294 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13295 like a proper iterator, stopping when hooks return non-zero.
13296 (grub_devalias_iterate): Likewise.
13297
13298 2009-04-23 David S. Miller <davem@davemloft.net>
13299
13300 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13301
13302 2009-04-22 David S. Miller <davem@davemloft.net>
13303
13304 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13305 is larger than address_cells, use that value for address_cells too.
13306
13307 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13308 IEEE1275_MAX_PATH_LEN): Define.
13309 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13310 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13311 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13312 'devtype'. Explicitly NULL terminate devalias expansion.
13313
13314 * util/sparc64/ieee1275/misc.c: New file.
13315 * util/sparc64/ieee1275/grub-setup.c: New file.
13316 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13317 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13318 * util/sparc64/ieee1275/grub-install.in: New file.
13319 * util/ieee1275/ofpath.c: New file.
13320 * util/ieee1275/devicemap.c: New file.
13321 * util/devicemap.c: New file.
13322 * util/deviceiter.c: New file.
13323 * kern/sparc64/ieee1275/init.c: New file.
13324 * include/grub/util/ofpath.h: New file.
13325 * include/grub/util/deviceiter.h: New file.
13326 * util/grub-mkdevicemap.c: Include deviceiter.h.
13327 Implement using grub_util_emit_devicemap_entry and
13328 grub_util_iterate_devices.
13329 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13330 util/devicemap.c into grub-mkdevicemap
13331 * conf/i386-efi.rmk: Likewise.
13332 * conf/i386-ieee1275.rmk: Likewise.
13333 * conf/i386-pc.rmk: Likewise.
13334 * conf/powerpc-ieee1275.rmk: Likewise.
13335 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13336 images and installation utilities. Build kernel as image
13337 instead of as elf binary. Use common rules as much as possible.
13338
13339 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 Correct GPT definition
13342
13343 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13344 of "attrib" member
13345
13346 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13347
13348 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13349
13350 2009-04-19 David S. Miller <davem@davemloft.net>
13351
13352 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13353 (grub_rescue_cmd_linux): Rename to...
13354 (grub_cmd_linux): and fix prototype.
13355 (grub_rescue_cmd_initrd): Rename to...
13356 (grub_cmd_initrd): and fix prototype.
13357 (cmd_linux, cmd_initrd): New.
13358 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13359 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13360
13361 2009-04-17 Pavel Roskin <proski@gnu.org>
13362
13363 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13364 format.
13365 (grub_ohci_transfer): Likewise.
13366
13367 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13368
13369 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13370 return without a value. Fix inconsistent indentation.
13371
13372 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13373 match struct grub_fs.
13374
13375 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13376 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13377 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13378 * commands/lspci.c (grub_lspci_iter): Likewise.
13379
13380 2009-04-16 Bean <bean123ch@gmail.com>
13381
13382 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13383 value.
13384
13385 2009-04-15 Pavel Roskin <proski@gnu.org>
13386
13387 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13388 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13389 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13390 definitions.
13391
13392 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13393
13394 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13395 that no multiple data or metadata areas are supported and `Unknown
13396 metadata header'.
13397
13398 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 Move loader out of the kernel
13401
13402 * kern/loader.c: moved to ...
13403 * commands/boot.c: ... moved here
13404 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13405 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13406 * include/grub/kernel.h (grub_machine_fini): export
13407 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13408 (grub_loader_set): likewise
13409 (grub_loader_unset): likewise
13410 (grub_loader_boot): likewise
13411 * conf/common.rmk: new module boot.mod
13412 (pkglib_MODULES): add boot.mod
13413 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13414 (grub_emu_SOURCES): likewise
13415 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13416 (grub_emu_SOURCES): likewise
13417 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13418 (grub_emu_SOURCES): likewise
13419 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13420 (grub_emu_SOURCES): likewise
13421 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13422 (grub_emu_SOURCES): likewise
13423 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13424 (grub_emu_SOURCES): likewise
13425 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13426 (grub_emu_SOURCES): likewise
13427
13428 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13431
13432 * kern/misc.c (grub_itoa): Removed function
13433 (grub_ltoa): likewise
13434 (grub_vsprintf): use grub_lltoa
13435
13436 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Restore grub-emu
13439
13440 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13441 * conf/i386-coreboot.rmk: likewise
13442 * conf/i386-ieee1275.rmk: likewise
13443 * conf/powerpc-ieee1275.rmk: likewise
13444
13445 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13446
13447 * INSTALL: Add that `./autogen.sh' needs to be run before
13448 `./configure.'.
13449
13450 2009-04-14 Bean <bean123ch@gmail.com>
13451
13452 * Makefile.in (pkglib_DATA): Add handler.lst.
13453 (handler.lst): New rule.
13454
13455 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13456 * conf/i386-coreboot.rmk: Likewise.
13457 * conf/i386-ieee1275.rmk: Likewise.
13458 * conf/i386-efi.rmk: Likewise.
13459 * conf/x86_64-efi.rmk: Likewise.
13460 * conf/powerpc-ieee1275.rmk: Likewise.
13461 * conf/sparc64-ieee1275.rmk: Likewise.
13462
13463 * genhandlerlist.sh: New file.
13464
13465 * genmk.rb: Add rules to generate handler.lst.
13466
13467 * include/grub/normal.h (grub_file_getline): New function definition.
13468 (read_handler_list): Likewise.
13469 (free_handler_list): Likewise.
13470
13471 * include/grub/term.h (grub_term_register_input): Add name parameter
13472 for auto generation of handler.lst.
13473 (grub_term_register_output): Likewise.
13474
13475 * normal/handler.c: New file.
13476
13477 * normal/main.c (get_line): Renamed to grub_file_getline.
13478 (read_config_file): Use the newly renamed grub_file_getline.
13479 (read_command_list): Likewise.
13480 (read_fs_list): Likewise.
13481 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13482 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13483
13484 * term/efi/console.c (grub_console_init): Add name parameter for auto
13485 generation of handler.lst.
13486 * term/gfxterm.c: Likewise.
13487 * term/i386/pc/at_keyboard.c: Likewise.
13488 * term/i386/pc/console.c: Likewise.
13489 * term/i386/pc/serial.c: Likewise.
13490 * term/i386/pc/vesafb.c: Likewise.
13491 * term/i386/pc/vga.c: Likewise.
13492 * term/i386/pc/vga_text.c: Likewise.
13493 * term/ieee1275/ofconsole.c: Likewise.
13494 * term/usb_keyboard.c: Likewise.
13495
13496 2009-04-14 Bean <bean123ch@gmail.com>
13497
13498 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13499 properly with null character.
13500
13501 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13502
13503 * configure: Remove.
13504 * config.h.in: Likewise.
13505 * stamp-h.in: Likewise.
13506 * DISTLIST: Likewise.
13507 * conf/common.mk: Likewise.
13508 * conf/i386-coreboot.mk: Likewise.
13509 * conf/i386-efi.mk: Likewise.
13510 * conf/i386-ieee1275.mk: Likewise.
13511 * conf/i386.mk: Likewise.
13512 * conf/i386-pc.mk: Likewise.
13513 * conf/powerpc-ieee1275.mk: Likewise.
13514 * conf/sparc64-ieee1275.mk: Likewise.
13515 * conf/x86_64-efi.mk: Likewise.
13516
13517 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13518 develop on GRUB.
13519
13520 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13521 David S. Miller <davem@davemloft.net>
13522
13523 * util/hostdisk.c (make_device_name): Fix buffer length
13524 calculations.
13525
13526 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13527
13528 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13529 <sys/param.h> and <sys/sysctl.h>.
13530 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13531 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13532 opening the device and reset them afterwards.
13533
13534 2009-04-13 Pavel Roskin <proski@gnu.org>
13535
13536 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13537 Reported by John Stanley <jpsinthemix@verizon.net>
13538
13539 2009-04-13 Robert Millan <rmh@aybabtu.com>
13540
13541 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13542 that name for menuentries when appropriate.
13543
13544 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13545
13546 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13547
13548 2009-04-13 Robert Millan <rmh@aybabtu.com>
13549
13550 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13551 to Linux, simply abort telling the user it's no longer supported.
13552
13553 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13554
13555 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13556 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13557 `freebsd_loadenv' only when devices.hints exist.
13558
13559 2009-04-13 Pavel Roskin <proski@gnu.org>
13560
13561 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13562
13563 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13564
13565 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13566 partition number.
13567 (grub_drive): Likewise.
13568
13569 2009-04-13 David S. Miller <davem@davemloft.net>
13570
13571 * kern/sparc64/ieee1275/ieee1275.c: New file.
13572 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13573 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13574 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13575 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13576 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13577 grub_ieee1275_alloc_physmem): Declare new exported functions.
13578
13579 * include/grub/sparc64/ieee1275/loader.h: New file.
13580 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13581 * include/grub/sparc64/kernel.h: Likewise.
13582 * loader/sparc64/ieee1275/linux.c: Likewise.
13583
13584 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13585 (grub_fstest_SOURCES): Likewise.
13586
13587 * util/hostdisk.c (make_device_name): Do not make any assumptions
13588 about the length of drive names.
13589
13590 * kern/dl.c (grub_dl_load_file): Close file immediately when
13591 we are done using it.
13592
13593 2009-04-12 David S. Miller <davem@davemloft.net>
13594
13595 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13596 values. Noticed by Pavel Roskin.
13597
13598 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13599 target compiler.
13600
13601 * genmk.rb: Add more flexible image type specification, also
13602 pass --strip-unneeded to objcopy.
13603 * conf/i386-pc.rmk: Use *_FORMAT.
13604 * conf/i386-pc.mk: Rebuilt.
13605
13606 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13607 (OFDISK_HASH_SZ): Define.
13608 (ofdisk_hash): New hash table.
13609 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13610 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13611 instead of device phandle which is not unique.
13612
13613 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13614 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13615 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13616 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13617 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13618 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13619 GRUB_KERNEL_MACHINE_DATA_END): Define.
13620 (grub_kernel_image_size, grub_total_module_size): Declare.
13621
13622 2009-04-12 Pavel Roskin <proski@gnu.org>
13623
13624 * configure.ac: Change the logic when we check for target tools.
13625 Do it when the target is specified and it's different from the
13626 specified value of the host.
13627
13628 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13629
13630 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13631 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13632 GNU/kFreeBSD. Check if a device is a character device. Use
13633 DIOCGMEDIASIZE to get the size.
13634 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13635 support for GNU/kFreeBSD.
13636 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13637 is a character device instead of a block device. Add support for
13638 FreeBSD device names.
13639
13640 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13641 is a character device instead of a block device.
13642
13643 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13644 is a character device instead of a block device.
13645
13646 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13647
13648 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13649 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13650 FreeBSD. Check if a device is a character device. Use
13651 DIOCGMEDIASIZE to get the size.
13652 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13653 support for FreeBSD.
13654 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13655 is a character device instead of a block device. Add support for
13656 FreeBSD device names.
13657
13658 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13659 a character device instead of a block device.
13660 (grub_util_check_char_device): New function.
13661
13662 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13663 a character device instead of a block device.
13664
13665 * include/grub/util/getroot.h (grub_util_check_char_device): New
13666 prototype.
13667
13668 2009-04-11 David S. Miller <davem@davemloft.net>
13669
13670 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13671 static libgcc.
13672 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13673 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13674 function, if present.
13675 (__bswapdi2): Likewise.
13676
13677 * include/grub/sparc64/ieee1275/boot.h: New file.
13678 * boot/sparc64/ieee1275/boot.S: Likewise.
13679 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13680
13681 * kern/misc.c (grub_ltoa): New function.
13682 (grub_vsprintf): Use it to format 'long' integers.
13683
13684 2009-04-10 David S. Miller <davem@davemloft.net>
13685
13686 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13687 slots are of type grub_ieee1275_cell_t.
13688 (grub_nand_read): Likewise.
13689 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13690 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13691 macros are used to compare values in arg/ret block of the call.
13692 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13693 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13694 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13695 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13696 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13697 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13698 grub_ieee1275_close, grub_ieee1275_set_property,
13699 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13700 grub_ieee1275_cell_t.
13701 * kern/ieee1275/openfw.c (grub_map): Likewise.
13702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13703 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13704
13705 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13706 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13707 (grub_devalias_iterate): Likewise.
13708
13709 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 UFS improvements
13712
13713 * fs/ufs.c (INODE_NBLOCKS): new definition
13714 (struct grub_ufs_dirent): added fields for non-BSD dirents
13715 (grub_ufs_get_file_block): fixed double indirect handling
13716 (grub_ufs_lookup_symlink): use more robust way to determine whether
13717 symlink is inline
13718 (grub_ufs_find_file): support for non-BSD dirents
13719 (grub_ufs_dir): support for non-BSD dirents
13720
13721 2009-04-10 Bean <bean123ch@gnail.com>
13722
13723 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13724 attribute, otherwise the size would be wrong for i386 platform.
13725
13726 * include/grub/pci.h (grub_pci_read_word): New inline function.
13727 (grub_pci_read_byte): Likewise.
13728 (grub_pci_write): Likewise.
13729 (grub_pci_write_word): Likewise.
13730 (grub_pci_write_byte): Likewise.
13731
13732 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13733
13734 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13735 (find_framebuf): Scan pci to locate the frame buffer address.
13736
13737 * commands/efi/fixvideo.c: New file.
13738
13739 * commands/efi/loadbios.c: Likewise.
13740
13741 * commands/memrw.c: Likewise.
13742
13743 * util/grub-dumpbios.in: Likewise.
13744
13745 * conf/common.rmk (grub-dumpbios): New utility.
13746 (pkglib_MODULES): New module memrw.mod.
13747 (memrw_mod_SOURCE): New macro.
13748 (memrw_mod_CFLAGS): Likewise.
13749 (memrw_mod_LDFLAGS): Likewise.
13750
13751 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13752 fixvideo.mod.
13753 (loadbios_mod_SOURCE): New macro.
13754 (loadbios_mod_CFLAGS): Likewise.
13755 (loadbios_mod_LDFLAGS): Likewise.
13756 (fixvideo_mod_SOURCE): Likewise.
13757 (fixvideo_mod_CFLAGS): Likewise.
13758 (fixvideo_mod_LDFLAGS): Likewise.
13759
13760 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13761 fixvideo.mod.
13762 (loadbios_mod_SOURCE): New macro.
13763 (loadbios_mod_CFLAGS): Likewise.
13764 (loadbios_mod_LDFLAGS): Likewise.
13765 (fixvideo_mod_SOURCE): Likewise.
13766 (fixvideo_mod_CFLAGS): Likewise.
13767 (fixvideo_mod_LDFLAGS): Likewise.
13768
13769 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13770
13771 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13772
13773 2009-04-07 David S. Miller <davem@davemloft.net>
13774
13775 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13776 support for R_SPARC_OLO10 relocations. Fix compile warning for
13777 R_SPARC_WDISP30 case.
13778 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13779
13780 2009-04-06 Pavel Roskin <proski@gnu.org>
13781
13782 * include/grub/misc.h (ARRAY_SIZE): New macro.
13783 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13784 New macro.
13785 * loader/i386/linux.c (allocate_pages): Use free_pages().
13786 (grub_linux_unload): Don't use free_pages().
13787 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13788 wrong index. Treat all other modes as text modes.
13789 (grub_cmd_linux): Initialize vid_mode unconditionally to
13790 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13791
13792 * commands/help.c (print_command_help): Use cmd->prio, not
13793 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13794
13795 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Parttool
13798
13799 * parttool/pcpart.c: new file
13800 * commands/parttool.c: likewise
13801 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13802 (parttool_mod_SOURCES): new variable
13803 (parttool_mod_CFLAGS): likewise
13804 (parttool_mod_LDFLAGS): likewise
13805 (pcpart_mod_SOURCES): likewise
13806 (pcpart_mod_CFLAGS): likewise
13807 (pcpart_mod_LDFLAGS): likewise
13808 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13809 and parttool/pcpart.c
13810 * conf/i386-efi.rmk: likewise
13811 * conf/i386-ieee1275.rmk: likewise
13812 * conf/i386-pc.rmk: likewise
13813 * conf/powerpc-ieee1275.rmk: likewise
13814 * conf/sparc64-ieee1275.rmk: likewise
13815 * conf/x86_64-ieee1275.rmk: likewise
13816
13817 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Support for mtime and further expandability of dir command
13820
13821 * include/grub/lib/datetime.h: moved to ...
13822 * include/grub/datetime.h: ... moved here and added
13823 declaration of grub_unixtime2datetime. All users updated
13824 * include/grub/fs.h: new syntax for dir and mtime functions in
13825 struct grub_fs
13826 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13827 and GRUB_FSHELP_FLAGS_MASK
13828 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13829 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13830 (grub_ext2_mtime): new function
13831 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13832 (grub_hfsplus_mtime): new function
13833 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13834 (GRUB_UFS_ATTR_FILE): likewise
13835 (GRUB_UFS_ATTR_LNK): likewise
13836 (struct grub_ufs_sblock): new fields mtime
13837 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13838 all users updated
13839 (grub_ufs_dir): mtime support
13840 (grub_ufs_mtime): new function
13841 * fs/affs.c (grub_affs_dir): use new dir syntax
13842 * fs/afs.c (grub_afs_dir): likewise
13843 * fs/cpio.c (grub_cpio_dir): likewise
13844 * fs/fat.c (grub_fat_find_dir): likewise
13845 * fs/hfs.c (grub_hfs_dir): likewise
13846 * fs/iso9660.c (grub_iso9660_dir): likewise
13847 * fs/jfs.c (grub_jfs_dir): likewise
13848 * fs/minix.c (grub_minix_dir): likewise
13849 * fs/ntfs.c (grub_ntfs_dir): likewise
13850 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13851 * fs/sfs.c (grub_sfs_dir): likewise
13852 * fs/xfs.c (grub_xfs_dir): likewise
13853 * util/hostfs.c (grub_hostfs_dir): likewise
13854 * lib/datetime.c: moved to ...
13855 * normal/datetime.c: ... moved here
13856 (grub_unixtime2datetime): new function
13857 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13858 * normal/completion.c (iterate_dir): use new dir syntax
13859 * normal/misc.c (grub_normal_print_device_info): tell the
13860 last modification time of a volume
13861 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13862 * conf/common.rmk: added lib/datetime.c to ls.mod
13863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13864 (normal_mod_SOURCES): likewise
13865 (datetime_mod_SOURCES): Removed lib/datetime.c
13866 * conf/i386-efi.rmk: likewise
13867 * conf/i386-ieee1275.rmk: likewise
13868 * conf/i386-pc.rmk: likewise
13869 * conf/powerpc-ieee1275.rmk: likewise
13870 * conf/sparc64-ieee1275.rmk: likewise
13871 * conf/x86_64-efi.rmk: likewise
13872
13873 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 Trim trailing spaces in FAT label and support mtools-like labels
13876
13877 * fs/fat.c (grub_fat_iterate_dir): New function based
13878 on grub_fat_find_dir
13879 (grub_fat_find_dir): use grub_fat_iterate_dir
13880 (grub_fat_label): likewise
13881
13882 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13885 and command.h
13886 remove extraneous kernel_elf_HEADERS
13887
13888 2009-04-04 Bean <bean123ch@gnail.com>
13889
13890 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13891
13892 * util/misc.c: Likewise.
13893
13894 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13895
13896 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13897 instead of grub_printf.
13898
13899 2009-04-03 Robert Millan <rmh@aybabtu.com>
13900
13901 * loader/i386/linux.c (grub_linux_setup_video): Fill
13902 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13903 values from `mode info' structure instead of hardcoded
13904 values.
13905
13906 2009-04-01 Pavel Roskin <proski@gnu.org>
13907
13908 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13909 unused now.
13910 * genmk.rb: Likewise.
13911 * configure.ac: Likewise.
13912
13913 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13914
13915 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13916 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13917
13918 2009-04-01 David S. Miller <davem@davemloft.net>
13919
13920 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13921 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13922 (grub_setjmp): Mark with 'returns_twice' attribute.
13923 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13924 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13925 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13926
13927 2009-04-01 Robert Millan <rmh@aybabtu.com>
13928
13929 Reapply fix from 2008-07-28 which was accidentally reverted; also
13930 perform the same fix to a similar check in same function.
13931
13932 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13933 with the same number are found, just use issue a warning with
13934 grub_dprintf(), as this error has been reported to be non-fatal.
13935
13936 2009-03-31 Pavel Roskin <proski@gnu.org>
13937
13938 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13939 for cross-compilation.
13940
13941 2009-03-30 Robert Millan <rmh@aybabtu.com>
13942
13943 Fix i386-ieee1275 build.
13944
13945 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13946 Remove declaration.
13947
13948 2009-03-30 Pavel Roskin <proski@gnu.org>
13949
13950 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13951 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13952 zero-terminated, rely only on the strlen value. Fix comparison
13953 of strings differing in length.
13954
13955 2009-03-30 Robert Millan <rmh@aybabtu.com>
13956
13957 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13958 checking for abi version. Improve error messages on BIOS to notify
13959 user about `linux16' command.
13960
13961 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 Leak fixes
13964
13965 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13966 in case of collision
13967 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13968
13969 2009-03-29 Robert Millan <rmh@aybabtu.com>
13970
13971 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13972 set `vid_mode' accordingly.
13973 (grub_linux_boot): Process `vid_mode' and set video mode.
13974
13975 2009-03-29 Robert Millan <rmh@aybabtu.com>
13976
13977 * util/grub.d/10_linux.in (linux_entry): New function.
13978 Factorize generation of Linux boot entries.
13979
13980 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13981
13982 Make the format of Environment Block plain text. The boot loader
13983 part is not tested well yet.
13984
13985 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13986 (buffer): Removed.
13987 (envblk): Likewise.
13988 (usage): Remove "info" and "clear". Add "unset". Update the
13989 description of "set", as this does not delete variables any
13990 longer.
13991 (create_envblk_file): Complete rewrite.
13992 (open_envblk_file): Likewise.
13993 (cmd_info): Removed.
13994 (cmd_list): Likewise.
13995 (cmd_set): Likewise.
13996 (cmd_clear): Likewise.
13997 (list_variables): New function.
13998 (write_envblk): Likewise.
13999 (set_variables): Likewise.
14000 (unset_variables): Likewise.
14001 (main): Complete rewrite.
14002
14003 * commands/loadenv.c (buffer): Removed.
14004 (envblk): Likewise.
14005 (open_envblk_file): New function.
14006 (read_envblk_file): Complete rewrite.
14007 (grub_cmd_load_env): Likewise.
14008 (grub_cmd_list_env): Likewise.
14009 (struct blocklist): New struct.
14010 (free_blocklists): New function.
14011 (check_blocklists): Likewise.
14012 (write_blocklists): Likewise.
14013 (grub_cmd_save_env): Complete rewrite.
14014
14015 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14016 a plain text signature.
14017 (GRUB_ENVBLK_MAXLEN): Removed.
14018 (struct grub_envblk): Complete rewrite.
14019 (grub_envblk_find): Removed.
14020 (grub_envblk_insert): Likewise.
14021 (grub_envblk_open): New prototype.
14022 (grub_envblk_set): Likewise.
14023 (grub_envblk_delete): Put const to VALUE.
14024 (grub_envblk_iterate): Put const to NAME and VALUE.
14025 (grub_envblk_close): New prototype.
14026 (grub_envblk_buffer): New inline function.
14027 (grub_envblk_size): Likewise.
14028
14029 * lib/envblk.c: Include grub/mm.h.
14030 (grub_env_find): Removed.
14031 (grub_envblk_open): New function.
14032 (grub_envblk_close): Likewise.
14033 (escaped_value_len): Likewise.
14034 (find_next_line): Likewise.
14035 (grub_envblk_insert): Removed.
14036 (grub_envblk_set): New function.
14037 (grub_envblk_delete): Complete rewrite.
14038 (grub_envblk_iterate): Likewise.
14039
14040 2009-03-28 Robert Millan <rmh@aybabtu.com>
14041
14042 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14043 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14044 variables. Use 16-bit loader.
14045 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14046 loader.
14047 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14048 (grub_linux16_boot): ... this. Update all users.
14049 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14050 (grub_linux_boot): ... this. Update all users.
14051
14052 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14053 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14054 commands to `linux16' and `initrd16'.
14055 (GRUB_MOD_FINI(linux)): Rename to ...
14056 (GRUB_MOD_FINI(linux16)): ... this.
14057
14058 2009-03-24 Pavel Roskin <proski@gnu.org>
14059
14060 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14061 not just for compilation.
14062
14063 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 Move multiboot helper out of kernel
14066
14067 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14068 `loader/i386/multiboot_helper.S'.
14069 * conf/i386-coreboot.rmk: Likewise
14070 * conf/i386-ieee1275.rmk: Likewise
14071
14072 * kern/i386/loader.S: Move multiboot helpers from here...
14073 * loader/i386/multiboot_helper.S: ...moved here
14074 * include/grub/i386/loader.h: Move declarations of multiboot
14075 helpers from here...
14076 * include/grub/i386/multiboot.h: ...moved here
14077 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14078
14079 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14080
14081 * kern/env.c (grub_env_context_open): Added an argument to specify
14082 whether a new context inherits exported variables from current
14083 one. This is useful when making a sandbox to interpret a config
14084 file.
14085 All callers updated.
14086
14087 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14088
14089 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14090
14091 * kern/env.c (grub_env_context_close): Fix memory leaks.
14092
14093 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14094
14095 * normal/main.c (grub_normal_execute): Added an argument
14096 BATCH to specify if an interactive interface should be provided
14097 after reading a config file.
14098 All callers updated.
14099 (read_command_list): Prevent being executed twice.
14100 (read_fs_list): Likewise.
14101
14102 * include/grub/normal.h (grub_normal_execute): Updated the
14103 prototype.
14104
14105 2009-03-22 Pavel Roskin <proski@gno.org>
14106
14107 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14108 _start.
14109 * kern/i386/pc/startup.S: Likewise.
14110 * kern/i386/efi/startup.S: Likewise.
14111 * kern/i386/ieee1275/startup.S: Likewise.
14112 * kern/i386/coreboot/startup.S: Likewise.
14113 * kern/x86_64/efi/startup.S: Likewise.
14114
14115 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14116 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14117 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14118
14119 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14122
14123 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14124 limit detection.
14125 Use vaddr of correct segment for entry_point.
14126
14127 2009-03-21 Bean <bean123ch@gmail.com>
14128
14129 * commands/blocklist.c: Add include file <grub/command.h>, remove
14130 <grub/normal.h> and <grub/arg.h>.
14131 (grub_cmd_blocklist): Use the new command interface.
14132 (GRUB_MOD_INIT): Likewise.
14133 (GRUB_MOD_FINI): Likewise.
14134 * commands/boot.c: Likewise.
14135 * commands/cat.c: Likewise.
14136 * commands/cmp.c: Likewise.
14137 * commands/configfile.c: Likewise.
14138 * commands/crc.c: Likewise.
14139 * commands/echo.c: Likewise.
14140 * commands/halt.c: Likewise.
14141 * commands/handler.c: Likewise.
14142 * commands/hdparm.c: Likewise.
14143 * commands/help.c: Likewise.
14144 * commands/hexdump.c: Likewise.
14145 * commands/loadenv.c: Likewise.
14146 * commands/ls.c: Likewise.
14147 * commands/lsmmap.c: Likewise.
14148 * commands/lspci.c: Likewise.
14149 * commands/loadenv.c: Likewise.
14150 * commands/read.c: Likewise.
14151 * commands/reboot.c: Likewise.
14152 * commands/search.c: Likewise.
14153 * commands/sleep.c: Likewise.
14154 * commands/test.c: Likewise.
14155 * commands/usbtest.c: Likewise.
14156 * commands/videotest.c: Likewise.
14157 * commands/i386/cpuid.c: Likewise.
14158 * commands/i386/pc/halt.c: Likewise.
14159 * commands/i386/pc/play.c: Likewise.
14160 * commands/i386/pc/pxecmd.c: Likewise.
14161 * commands/i386/pc/vbeinfo.c: Likewise.
14162 * commands/i386/pc/vbetest.c: Likewise.
14163 * commands/ieee1275/suspend.c: Likewise.
14164 * disk/loopback.c: Likewise.
14165 * font/font_cmd.c: Likewise.
14166 * hello/hello.c: Likewise.
14167 * loader/efi/appleloader.c: Likewise.
14168 * loader/efi/chainloader.c: Likewise.
14169 * loader/i386/bsd.c: Likewise.
14170 * loader/i386/efi/linux.c: Likewise.
14171 * loader/i386/ieee1275/linux.c: Likewise.
14172 * loader/i386/linux.c: Likewise.
14173 * loader/i386/pc/chainloader.c: Likewise.
14174 * loader/i386/pc/linux.c: Likewise.
14175 * loader/powerpc/ieee1275/linux.c: Likewise.
14176 * loader/multiboot_loader.c: Likewise.
14177 * term/gfxterm.c: Likewise.
14178 * term/i386/pc/serial.c: Likewise.
14179 * term/terminfo.c: Likewise.
14180
14181 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14182 * term/i386/pc/vga.c: Likewise.
14183 * video/readers/jpeg.c: Likewise.
14184 * video/readers/png.c: Likewise.
14185 * video/readers/tga.c: Likewise.
14186
14187 * util/grub-fstest (cmd_loopback): Removed.
14188 (cmd_blocklist): Likewise.
14189 (cmd_ls): Likewise.
14190 (grub_register_command): Likewise.
14191 (grub_unregister_command): Likewise.
14192 (execute_command): Use grub_command_find to locate command and execute
14193 it.
14194
14195 * include/grub/efi/chainloader.h: Removed.
14196 * loader/efi/chainloader_normal.c: Likewise.
14197 * loader/i386/bsd_normal.c: Likewise.
14198 * loader/i386/pc/chainloader_normal.c: Likewise.
14199 * loader/i386/pc/multiboot_normal.c: Likewise.
14200 * loader/linux_normal.c: Likewise.
14201 * loader/multiboot_loader_normal.c: Likewise.
14202 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14203
14204 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14205 and grub_register_command_p1.
14206
14207 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14208 kern/command.c, lib/arg.c and commands/extcmd.c.
14209 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14210 (minicmd_mod_SOURCES): New variable.
14211 (minicmd_mod_CFLAGS): Likewise.
14212 (minicmd_mod_LDFLAGS): Likewise.
14213 (extcmd_mod_SOURCES): Likewise.
14214 (extcmd_mod_CFLAGS): Likewise.
14215 (extcmd_mod_LDFLAGS): Likewise.
14216 (boot_mod_SOURCES): Removed.
14217 (boot_mod_CFLAGS): Likewise.
14218 (boot_mod_LDFLAGS): Likewise.
14219
14220 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14221 kern/corecmd.c.
14222 (kernel_img_HEADERS): Add command.h.
14223 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14224 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14225 and lib/arg.c.
14226 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14227 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14228 remove the corresponding normal mode command.
14229 (normal_mod_SOURCES): Remove normal/arg.c.
14230 * conf/i386-coreboot.rmk: Likewise.
14231 * conf/i386-efi.rmk: Likewise.
14232 * conf/i386-ieee1275.rmk: Likewise.
14233 * conf/powerpc-ieee1275.rmk: Likewise.
14234 * conf/x86_64-efi.rmk: Likewise.
14235
14236 * include/grub/arg.h: Move from here ...
14237 * include/grub/lib/arg.h: ... to here.
14238
14239 * normal/arg.c: Move from here ...
14240 * lib/arg.c: ... to here.
14241
14242 * commands/extcmd.c: New file.
14243 * commands/minicmd.c: Likewise.
14244 * include/grub/command.h: Likewise.
14245 * include/grub/extcmd.h: Likewise.
14246 * kern/command.c: Likewise.
14247 * kern/corecmd.c: Likewise.
14248
14249 * kern/list.c (grub_list_iterate): Return int instead of void.
14250 (grub_list_insert): New function.
14251 (grub_prio_list_insert): Likewise.
14252
14253 * kern/rescue.c (grub_rescue_command): Removed.
14254 (grub_rescue_command_list): Likewise.
14255 (grub_rescue_register_command): Likewise.
14256 (grub_rescue_unregister_command): Likewise.
14257 (grub_rescue_cmd_boot): Move to minicmd.c
14258 (grub_rescue_cmd_help): Likewise.
14259 (grub_rescue_cmd_info): Likewise.
14260 (grub_rescue_cmd_boot): Likewise.
14261 (grub_rescue_cmd_testload): Likewise.
14262 (grub_rescue_cmd_dump): Likewise.
14263 (grub_rescue_cmd_rmmod): Likewise.
14264 (grub_rescue_cmd_lsmod): Likewise.
14265 (grub_rescue_cmd_exit): Likewise.
14266 (grub_rescue_print_devices): Moved to corecmd.c.
14267 (grub_rescue_print_files): Likewise.
14268 (grub_rescue_cmd_ls): Likewise.
14269 (grub_rescue_cmd_insmod): Likewise.
14270 (grub_rescue_cmd_set): Likewise.
14271 (grub_rescue_cmd_unset): Likewise.
14272 (attempt_normal_mode): Use grub_command_find to get normal module.
14273 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14274 commands, remove grub_rescue_register_command calls.
14275
14276 * normal/command.c (grub_register_command): Removed.
14277 (grub_unregister_command): Likewise.
14278 (grub_command_find): Likewise.
14279 (grub_iterate_commands): Likewise.
14280 (rescue_command): Likewise.
14281 (export_command): Moved to corecmd.c.
14282 (set_command): Removed.
14283 (unset_command): Likewise.
14284 (insmod_command): Likewise.
14285 (rmmod_command): Likewise.
14286 (lsmod_command): Likewise.
14287 (grub_command_init): Likewise.
14288
14289 * normal/completion.c (iterate_command): Use cmd->prio to check for
14290 active command.
14291 (complete_arguments): Use grub_extcmd_t structure to find options.
14292 (grub_normal_do_completion): Change function grub_iterate_commands to
14293 grub_command_iterate.
14294
14295 * normal/execute.c (grub_script_execute_cmd): No need to parse
14296 argument here.
14297
14298 * normal/main.c (grub_dyncmd_dispatcher): New function.
14299 (read_command_list): Register unload commands as dyncmd.
14300 (grub_cmd_normal): Use new command interface, register rescue,
14301 unregister normal at entry, register normal, unregister rescue at exit.
14302
14303 * include/grub/list.h (grub_list_test_t): New type.
14304 (grub_list_iterate): Return int instead of void.
14305 (grub_list_insert): New function.
14306 (GRUB_AS_NAMED_LIST_P): New macro.
14307 (GRUB_AS_PRIO_LIST): Likewise.
14308 (GRUB_AS_PRIO_LIST_P): Likewise.
14309 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14310 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14311 (grub_prio_list): New structure.
14312 (grub_prio_list_insert): New function.
14313 (grub_prio_list_remove): New inline function.
14314
14315 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14316 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14317 (GRUB_COMMAND_FLAG_MENU): Likewise.
14318 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14319 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14320 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14321 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14322 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14323 (grub_command): Likewise.
14324 (grub_register_command): Likewise.
14325 (grub_command_find): Likewise.
14326 (grub_iterate_commands): Likewise.
14327 (grub_command_init): Likewise.
14328 (grub_arg_parse): Likewise.
14329 (grub_arg_show_help): Likewise.
14330
14331 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14332 (grub_rescue_unregister_command): Likewise.
14333
14334 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14335 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14336 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14337
14338 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14339 grub_rescue_cmd_initrd.
14340 * include/grub/i386/loader.h: Likewise.
14341 * include/grub/x86_64/loader.h: Likewise.
14342
14343 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14344
14345 2009-03-21 Bean <bean123ch@gmail.com>
14346
14347 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14348 instead of stat in mingw environment.
14349
14350 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14351
14352 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14353
14354 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14355 AC_CONFIG_LINKS.
14356
14357 2009-03-21 Bean <bean123ch@gmail.com>
14358
14359 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14360 out of range error.
14361
14362 2009-03-18 Michel Dänzer <michel@daenzer.net>
14363
14364 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14365 checking inode flags for EXT4_EXTENTS_FLAG.
14366
14367 2009-03-18 Robert Millan <rmh@aybabtu.com>
14368
14369 * loader/i386/linux.c: Include `<grub/video.h>' and
14370 `<grub/i386/pc/vbe.h>'..
14371 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14372 (grub_linux32_boot): Attempt to configure video settings with
14373 grub_linux_setup_video().
14374 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14375 to avoid grub_console_fini() which would step out of graphical mode
14376 unconditionally.
14377
14378 2009-03-14 Robert Millan <rmh@aybabtu.com>
14379
14380 Fix build on powerpc.
14381 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14382
14383 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14386 background image command.
14387
14388 2009-03-12 Colin D Bennett <colin@gibibit.com>
14389
14390 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14391 (grub_gfxterm_putchar): Extract pairs of identical calls to
14392 draw_cursor out of conditional blocks.
14393
14394 2009-03-11 Pavel Roskin <proski@gnu.org>
14395
14396 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14397 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14398
14399 2009-03-11 Robert Millan <rmh@aybabtu.com>
14400
14401 * loader/i386/multiboot_elfxx.c
14402 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14403
14404 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14405
14406 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14407 `kern/handler.c'.
14408
14409 2009-03-11 Robert Millan <rmh@aybabtu.com>
14410
14411 * loader/i386/multiboot.c (code_size): New variable.
14412 (grub_multiboot): Define offsets by adding to `code_size' rather
14413 than subtracting from `grub_multiboot_payload_size'. Provide
14414 4-byte alignment to MBI and others by increasing
14415 `boot_loader_name_length' appropriately.
14416
14417 * loader/i386/multiboot_elfxx.c
14418 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14419
14420 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14421
14422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14423 `fs/ext2.c'.
14424
14425 2009-03-08 Robert Millan <rmh@aybabtu.com>
14426
14427 Make loader/i386/linux.c usable on i386-pc again.
14428
14429 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14430 memory to heap.
14431 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14432 `#error' stanza.
14433
14434 2009-03-07 Bean <bean123ch@gmail.com>
14435
14436 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14437 allocation.
14438
14439 2009-03-06 Robert Millan <rmh@aybabtu.com>
14440
14441 Fix display issue on terminals with screen size other than 80x25
14442 (e.g. gfxterm with resolution higher than 640x480).
14443
14444 * normal/main.c (grub_normal_init_page): Display title text in a
14445 position relative to the center of the terminal instead of relying
14446 on a hardcoded offset.
14447
14448 2009-03-04 Robert Millan <rmh@aybabtu.com>
14449
14450 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14451 installed.
14452
14453 * Makefile.in (host_kernel): New variable.
14454 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14455 scripts instead of just the windows one.
14456 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14457
14458 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14459
14460 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14461 `kern/handler.c'.
14462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14463 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14464 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14468
14469 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14470
14471 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14472 or if there's no space for the disk label and print the partition number on a
14473 invalid magic.
14474
14475 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14476
14477 * util/misc.c: Include <time.h>.
14478 (grub_millisleep): New function.
14479
14480 2009-03-04 Bean <bean123ch@gmail.com>
14481
14482 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14483 another option -mno-red-zone.
14484
14485 * commands/handler.c: Change module description.
14486
14487 * kern/handler.c: Add missing space at the end of description line.
14488
14489 * kern/list.c: Likewise.
14490
14491 2009-03-03 Robert Millan <rmh@aybabtu.com>
14492
14493 Move more components to the relocation area, and fix mbi pointer
14494 handling to use the destination rather than the origin (thanks to
14495 Vladimir Serbinenko for spotting).
14496
14497 * loader/i386/multiboot.c (mbi_dest): New variable.
14498 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14499 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14500 relocation area.
14501
14502 2009-03-01 Bean <bean123ch@gmail.com>
14503
14504 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14505 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14506 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14507 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14508
14509 * loader/i386/efi/linux.c (acpi_guid): New variable.
14510 (acpi_guid): Likewise.
14511 (EBDA_SEG_ADDR): New constant.
14512 (LOW_MEM_ADDR): Likewise.
14513 (FAKE_EBDA_SEG): Likewise.
14514 (fake_bios_data): New function.
14515 (grub_linux_boot): Call fake_bios_data.
14516
14517 2009-03-01 Bean <bean123ch@gmail.com>
14518
14519 * commands/terminal.c: Removed.
14520
14521 * commands/handler.c: New file.
14522
14523 * include/grub/list.h: Likewise.
14524
14525 * include/grub/handler.h: Likewise.
14526
14527 * kern/list.c: Likewise.
14528
14529 * kern/handler.c: Likewise.
14530
14531 * kern/term.h: Include header file <grub/handler.h>.
14532 (grub_term_input): Move next field to the beginning.
14533 (grub_term_output): Likewise.
14534 (grub_term_input_class): New variable.
14535 (grub_term_output_class): Likewise.
14536 (grub_term_register_input): Changed to inline function.
14537 (grub_term_register_output): Likewise.
14538 (grub_term_unregister_input): Likewise.
14539 (grub_term_unregister_output): Likewise.
14540 (grub_term_set_current_input): Likewise.
14541 (grub_term_set_current_output): Likewise.
14542 (grub_term_get_current_input): Likewise.
14543 (grub_term_get_current_output): Likewise.
14544 (grub_term_iterate_input): Removed.
14545 (grub_term_iterate_output): Likewise.
14546
14547 * kern/term.c (grub_term_list_input): Removed.
14548 (grub_term_list_output): Likewise.
14549 (grub_term_input_class): New variable.
14550 (grub_term_output_class): Likewise.
14551 (grub_cur_term_input): Change variable as macro.
14552 (grub_cur_term_output): Likewise.
14553 (grub_term_register_input): Removed.
14554 (grub_term_register_output): Likewise.
14555 (grub_term_unregister_input): Likewise.
14556 (grub_term_unregister_output): Likewise.
14557 (grub_term_set_current_input): Likewise.
14558 (grub_term_set_current_output): Likewise.
14559 (grub_term_iterate_input): Likewise.
14560 (grub_term_iterate_output): Likewise.
14561 (grub_term_get_current_input): Likewise.
14562 (grub_term_get_current_output): Likewise.
14563
14564 * util/grub-editenv.c: Include header file <grub/handler.h>.
14565 (grub_term_get_current_input): Removed.
14566 (grub_term_get_current_output): Likewise.
14567 (grub_term_input_class): New variable.
14568 (grub_term_output_class): Likewise.
14569
14570 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14571 (grub_term_get_current_output): Likewise.
14572 (grub_term_input_class): New variable.
14573 (grub_term_output_class): Likewise.
14574
14575 * util/grub-probe.c (grub_term_get_current_input): Removed.
14576 (grub_term_get_current_output): Likewise.
14577 (grub_term_input_class): New variable.
14578 (grub_term_output_class): Likewise.
14579
14580 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14581 (grub_term_get_current_output): Likewise.
14582 (grub_term_input_class): New variable.
14583 (grub_term_output_class): Likewise.
14584
14585 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14586 (terminal_mod_SOURCES): Likewise.
14587 (terminal_mod_CFLAGS): Likewise.
14588 (terminal_mod_LDFLAGS): Likewise.
14589
14590 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14591 handler.c.
14592 (kernel_img_SOURCES): Add list.c and handler.c.
14593 (kernel_img_HEADERS): Add list.h and handler.h.
14594
14595 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14596 handler.c.
14597 (kernel_mod_SOURCES): Add list.c and handler.c.
14598 (kernel_mod_HEADERS): Add list.h and handler.h.
14599
14600 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14601 handler.c.
14602 (kernel_elf_SOURCES): Add list.c and handler.c.
14603 (kernel_elf_HEADERS): Add list.h and handler.h.
14604
14605 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14606 handler.c.
14607 (kernel_elf_SOURCES): Add list.c and handler.c.
14608 (kernel_elf_HEADERS): Add list.h and handler.h.
14609
14610 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14611 handler.c.
14612 (kernel_mod_SOURCES): Add list.c and handler.c.
14613 (kernel_mod_HEADERS): Add list.h and handler.h.
14614
14615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14616 handler.c.
14617 (kernel_elf_SOURCES): Add list.c and handler.c.
14618 (kernel_elf_HEADERS): Add list.h and handler.h.
14619
14620 2009-02-27 Robert Millan <rmh@aybabtu.com>
14621
14622 Factorize elf32 / elf64 code in Multiboot loader. This will
14623 prevent it from getting out of sync again.
14624
14625 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14626 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14627 grub_multiboot_load_elf64): Move from here ...
14628 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14629 grub_multiboot_load_elf): ... to here (new file).
14630
14631 2009-02-27 Robert Millan <rmh@aybabtu.com>
14632
14633 * util/grub.d/10_linux.in: Rename "single-user mode" to
14634 "recovery mode".
14635
14636 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 Don't leak in SCSI code.
14639 * disk/scsi.c (grub_scsi_close): free `scsi'.
14640
14641 2009-02-27 Robert Millan <rmh@aybabtu.com>
14642
14643 * loader/i386/pc/multiboot.c: Move from here ...
14644 * loader/i386/multiboot.c: ... to here. Update all users.
14645
14646 2009-02-27 Robert Millan <rmh@aybabtu.com>
14647
14648 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14649 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14650
14651 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14652
14653 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14654 b-tree.
14655
14656 2009-02-27 Robert Millan <rmh@aybabtu.com>
14657
14658 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14659 `0x' qualifier as 0 when base is specified as parameter).
14660
14661 2009-02-24 Bean <bean123ch@gmail.com>
14662
14663 * configure.ac: Check for -mcmodel=large in x86_64 target.
14664
14665 * include/grub/efi/api.h (efi_call_10): New macro.
14666 (efi_wrap_10): New function.
14667
14668 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14669 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14670 (GRUB_PE32_REL_BASED_LOW): Likewise.
14671 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14672 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14673 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14674 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14675 (GRUB_PE32_REL_BASED_REL): Likewise.
14676 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14677 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14678 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14679
14680 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14681 issue.
14682
14683 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14684 (efi_wrap_10): New function.
14685
14686 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14687
14688 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14689 MB/MBP model (NV chipset).
14690 (devdata_devs): Add devpath_5 to the list.
14691
14692 * load/i386/efi/linux.c (video_base): Remove variable.
14693 (RGB_MASK): New macro.
14694 (RGB_MAGIC): Likewise.
14695 (LINE_MIN): Likewise.
14696 (LINE_MAX): Likewise.
14697 (FBTEST_STEP): Likewise.
14698 (FBTEST_COUNT): Likewise.
14699 (fb_list): New variable.
14700 (grub_find_video_card): Remove function.
14701 (find_framebuf): New function.
14702 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14703 line length.
14704
14705 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14706 problem for x86_64.
14707
14708 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14709
14710 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14711
14712 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14713 coding tool name.
14714
14715 2009-02-22 Robert Millan <rmh@aybabtu.com>
14716
14717 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14718 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14719 in our relocation, instead of using it directly from heap. Also
14720 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14721
14722 2009-02-21 Robert Millan <rmh@aybabtu.com>
14723
14724 Implement USB keyboard support (based on patch by Marco Gerards)
14725
14726 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14727 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14728 (usb_keyboard_mod_LDFLAGS): New variables.
14729
14730 * term/usb_keyboard.c: New file.
14731
14732 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 Corrected wrong declaration
14735
14736 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14737
14738 2009-02-14 Christian Franke <franke@computer.org>
14739
14740 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14741 (grub_lspci_iter): Print class code and programming interface byte.
14742
14743 2009-02-14 Christian Franke <franke@computer.org>
14744
14745 * gendistlist.sh: Ignore `.svn' directories.
14746
14747 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14748
14749 * fs/fat.c: Add 2009 to Copyright line.
14750
14751 2009-02-14 Christian Franke <franke@computer.org>
14752
14753 * commands/hdparm.c: New file. Provides `hdparm' command
14754 which sends ATA commands via grub_disk_ata_pass_through ().
14755
14756 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14757
14758 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14759 and <grub/cpu/io.h> to include/grub/ata.h.
14760 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14761 (GRUB_CDROM_SECTOR_SIZE): Remove.
14762 (GRUB_ATA_*): Move to include/grub/ata.h.
14763 (GRUB_ATAPI_*): Likewise.
14764 (enum grub_ata_commands): Likewise.
14765 (enum grub_ata_timeout_milliseconds): Likewise.
14766 (struct grub_ata_device): Likewise.
14767 (grub_ata_regset): Likewise.
14768 (grub_ata_regget): Likewise.
14769 (grub_ata_regset2): Likewise.
14770 (grub_ata_regget2): Likewise.
14771 (grub_ata_check_ready): Likewise.
14772 (grub_ata_wait_not_busy): Remove static, exported in
14773 include/grub/ata.h.
14774 (grub_ata_wait_drq): Likewise.
14775 (grub_ata_pio_read): Likewise.
14776
14777 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14778 function for hdparm.mod.
14779
14780 * include/grub/ata.h: New file, contains declarations from
14781 disk/ata.c.
14782 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14783
14784 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14785 (grub_disk_ata_pass_through): New exported variable.
14786
14787 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14788
14789 2009-02-13 Colin D Bennett <colin@gibibit.com>
14790
14791 Support multiple fallback entries, and provide an API to support
14792 executing default+fallback menu entries. Renamed the `terminal' menu
14793 viewer to `text'.
14794
14795 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14796 variable declaration.
14797 (grub_menu_execute_callback): New structure declaration.
14798 (grub_menu_execute_callback_t): New typedef.
14799 (grub_menu_execute_with_fallback): New function declaration.
14800 (grub_menu_get_entry): Likewise.
14801 (grub_menu_get_timeout): Likewise.
14802 (grub_menu_set_timeout): Likewise.
14803
14804 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14805
14806 * normal/menu.c (grub_wait_after_message): Moved to
14807 `normal/menu_text.c'.
14808 (draw_border): Likewise.
14809 (print_message): Likewise.
14810 (print_entry): Likewise.
14811 (print_entries): Likewise.
14812 (grub_menu_init_page): Likewise.
14813 (get_entry_number): Likewise.
14814 (print_timeout): Likewise.
14815 (run_menu): Likewise.
14816 (grub_menu_execute_entry): Likewise.
14817 (show_text_menu): Likewise.
14818 (get_and_remove_first_entry_number): New function.
14819 (grub_menu_execute_with_fallback): Likewise.
14820 (get_entry): Renamed to ...
14821 (grub_menu_get_entry): .. this and made it global.
14822 (get_timeout): Renamed to ...
14823 (grub_menu_get_timeout): ... this and made it global.
14824 (set_timeout): Renamed to ...
14825 (grub_menu_set_timeout): ... this and made it global.
14826 (grub_normal_terminal_menu_viewer): Renamed to ...
14827 (grub_normal_text_menu_viewer): ... this.
14828
14829 * normal/menu_text.c: New file. Extracted text-menu-specific code
14830 from normal/menu.c.
14831
14832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14833 (normal_mod_SOURCES): Likewise.
14834
14835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14836 (normal_mod_SOURCES): Likewise.
14837
14838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14839 (normal_mod_SOURCES): Likewise.
14840
14841 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14842 (normal_mod_SOURCES): Likewise.
14843
14844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14845 (normal_mod_SOURCES): Likewise.
14846
14847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14848 (normal_mod_SOURCES): Likewise.
14849
14850 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14851 (normal_mod_SOURCES): Likewise.
14852
14853 2009-02-11 Robert Millan <rmh@aybabtu.com>
14854
14855 * util/grub.d/00_header.in: Update old reference to `font' command.
14856
14857 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14858
14859 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14860
14861 Based on patch from Javier Martín.
14862
14863 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14864
14865 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14866 to avoid false positives with FAT.
14867 (grub_fstest_SOURCES): Likewise.
14868 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14871 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14872 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14873 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14874
14875 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14876
14877 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14878 bpb.version_specific.fat12_or_fat16.fstype and
14879 bpb.version_specific.fat32.fstype.
14880
14881 2009-02-08 Robert Millan <rmh@aybabtu.com>
14882
14883 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14884
14885 2009-02-08 Robert Millan <rmh@aybabtu.com>
14886
14887 * Makefile.in (host_os, host_cpu): New variables.
14888 (target_os): Remove. Update all users.
14889
14890 2009-02-08 Marco Gerards <marco@gnu.org>
14891
14892 * Makefile.in (enable_grub_emu_usb): New variable.
14893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14894 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14895 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14896 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14897 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14898 `usbtest.mod' and `usbms.mod'.
14899 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14900 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14901 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14902 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14903 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14904 variables.
14905
14906 * disk/usbms.c: New file.
14907
14908 * include/grub/usb.h: Likewise.
14909
14910 * include/grub/usbtrans.h: Likewise.
14911
14912 * include/grub/usbdesc.h: Likewise.
14913
14914 * bus/usb/usbtrans.c: Likewise.
14915
14916 * bus/usb/ohci.c: Likewise.
14917
14918 * bus/usb/uhci.c: Likewise.
14919
14920 * bus/usb/usbhub.c: Likewise.
14921
14922 * bus/usb/usb.c: Likewise.
14923
14924 * commands/usbtest.c: Likewise.
14925
14926 * util/usb.c: Likewise.
14927
14928 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14929
14930 * configure.ac: Test for libusb presence.
14931
14932 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14933
14934 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14935
14936 * kern/mm.c: Add more comments.
14937
14938 2009-02-08 Robert Millan <rmh@aybabtu.com>
14939
14940 Patch from Javier Martín.
14941 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14942 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14943
14944 2009-02-08 Robert Millan <rmh@aybabtu.com>
14945
14946 * fs/cpio.c: Split tar functionality to ...
14947 * fs/tar.c: ... here (new file). Update all users.
14948
14949 2009-02-07 Robert Millan <rmh@aybabtu.com>
14950
14951 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14952 backward-incompatible features.
14953
14954 Based on patch from Javier Martín, with some adjustments.
14955
14956 2009-02-07 Michael Scherer <misc@mandriva.org>
14957
14958 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14959
14960 2009-02-07 Robert Millan <rmh@aybabtu.com>
14961
14962 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14963 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14964 after the RAID stuff.
14965
14966 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14967
14968 Fixes problem when running vbetest command as reported by
14969 Vladimir Serbinenko <phcoder@gmail.com>.
14970
14971 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14972
14973 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14974
14975 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14976 /dev/md/NpN style mdraid devices.
14977
14978 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14979
14980 * util/unifont2pff.rb: Remove.
14981
14982 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14983
14984 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14985 `#'.
14986
14987 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14988
14989 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14990 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14991 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14994 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14996
14997 2009-02-02 Christian Franke <franke@computer.org>
14998
14999 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15000
15001 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
15002
15003 * INSTALL: Note that we now require at least autoconf 2.59 and
15004 that LZO is optional.
15005
15006 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15007
15008 Base on patch on bug #24154 created by Tomas Tintera
15009 <trosos@seznam.cz>.
15010
15011 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15012
15013 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15014
15015 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
15016 <bero@arklinux.org>.
15017
15018 * normal/parser.y (script_init): Add missing semicolon.
15019
15020 2009-01-31 Colin D Bennett <colin@gibibit.com>
15021
15022 * normal/main.c: Add include to grub/menu_viewer.h.
15023 (free_menu_entry_classes): Added.
15024 (grub_normal_menu_addentry): Added class property handling.
15025 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15026 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15027
15028 * normal/menu_viewer.c: New file.
15029
15030 * normal/menu.c (run_menu_entry): Renamed to ...
15031 (grub_menu_execute_entry): ... this and made it as global.
15032 (grub_menu_run): Renamed to ...
15033 (show_text_menu): ... this and made it local.
15034 (show_text_menu): Adapt to new function names.
15035 (grub_normal_terminal_menu_viewer): New global variable.
15036
15037 * include/grub/menu.h: New file.
15038
15039 * include/grub/menu_viewer.h: New file.
15040
15041 * include/grub/normal.h: Added include to grub/menu.h.
15042 (grub_menu_entry): Moved to include/grub/menu.h.
15043 (grub_menu_entry_t): Likewise.
15044 (grub_menu): Likewise.
15045 (grub_menu_t): Likewise.
15046 (grub_normal_terminal_menu_viewer): Added.
15047 (grub_menu_execute_entry): Likewise.
15048 (grub_menu_run): Removed.
15049
15050 * DISTLIST: Added include/grub/menu.h.
15051 Added include/grub/menu_viewer.h.
15052 Added normal/menu_viewer.c.
15053
15054 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15055
15056 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15057 arglist for menutitle arguments.
15058
15059 * normal/main.c (grub_normal_menu_addentry): Likewise.
15060
15061 * normal/parser.y (menuentry): Likewise.
15062
15063 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15064
15065 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15066 (grub_script_create_cmdmenu): Likewise.
15067
15068 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15069
15070 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15071 changes.
15072
15073 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15074
15075 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15076
15077 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15078
15079 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15080
15081 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15082
15083 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15084
15085 2009-01-30 Christian Franke <franke@computer.org>
15086
15087 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15088 in option help text.
15089
15090 2009-01-27 Pavel Roskin <proski@gnu.org>
15091
15092 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15093
15094 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15095
15096 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15097
15098 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15099
15100 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15101 unregister function.
15102
15103 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15104
15105 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15106
15107 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15108
15109 * util/grub-mkfont.c (usage): Fix typo.
15110
15111 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15112
15113 2009-01-26 Daniel Mierswa <impulze@impulze.org>
15114
15115 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15116
15117 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15118
15119 * kern/misc.c (grub_strcasecmp): New function.
15120 (grub_strcasecmp): Use grub_size_t instead of int for length.
15121 Fix return value.
15122 * include/grub/misc.h: Update function prototypes.
15123
15124 2009-01-26 Robert Millan <rmh@aybabtu.com>
15125
15126 * configure.ac: Fix cross-compilation check.
15127
15128 2009-01-22 Christian Franke <franke@computer.org>
15129
15130 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15131 (precision) digit string. Allow `.format2' without `format1' (width).
15132 Limit input chars for `%s' output to `format2' if specified. This is
15133 compatible with standard printf ().
15134
15135 2009-01-22 Christian Franke <franke@computer.org>
15136
15137 * disk/ata.c (grub_ata_wait_status): Replace by ...
15138 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15139 other status bits may be invalid while BSY is asserted.
15140 (grub_ata_check_ready): New function.
15141 (grub_ata_cmd): Removed.
15142 (grub_ata_wait_drq): New function.
15143 (grub_ata_strncpy): Remove inline.
15144 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15145 and error check now done by grub_ata_wait_drq ().
15146 (grub_ata_pio_write): Likewise.
15147 (grub_atapi_identify): Set DEV before check for !BSY. Use
15148 grub_ata_wait_drq () to wait for data.
15149 (grub_ata_device_initialize): Add status register check to
15150 detect missing SATA slave devices. Add debug messages.
15151 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15152 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15153 transfer loop by grub_ata_pio_write ().
15154 (grub_ata_identify): Set DEV before check for !BSY. Use
15155 grub_ata_wait_drq () to wait for data.
15156 (grub_ata_setaddress): Set DEV before check for !BSY.
15157 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15158 read/write in one loop. Fix invalid command on write. Fix incomplete
15159 command on (size % batch) == 0. Add missing error check after write of
15160 last block. Add debug messages.
15161 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15162
15163 2009-01-19 Christian Franke <franke@computer.org>
15164
15165 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15166 (GRUB_ATAPI_IREASON_*): Likewise.
15167 (grub_ata_pio_write): Fix timeout error return.
15168 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15169 (grub_atapi_wait_drq): New function.
15170 (grub_atapi_packet): New parameter `size'.
15171 Use grub_atapi_wait_drq () and direct write instead of
15172 grub_ata_pio_write ().
15173 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15174 reads the number of bytes requested by the device for each DRQ
15175 assertion.
15176 (grub_atapi_write): Remove old implementation, return not
15177 implemented instead.
15178
15179 2009-01-19 Christian Franke <franke@computer.org>
15180
15181 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15182 of 512 to calculate data size.
15183 (grub_scsi_read12): Likewise.
15184 (grub_scsi_write10): Likewise.
15185 (grub_scsi_write12): Likewise.
15186 (grub_scsi_read): Adjust size according to blocksize.
15187 Add checks for invalid blocksize and unaligned transfer.
15188
15189 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15190
15191 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15192
15193 * term/gfxterm.c (write_char): Fix background rendering for wide
15194 width glyphs.
15195
15196 2009-01-19 Robert Millan <rmh@aybabtu.com>
15197
15198 * config.guess: Update to latest version from config git.
15199 * config.sub: Likewise.
15200
15201 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
15202
15203 * Makefile.in: Change font compilation to use new grub-mkfont instead
15204 of java version.
15205
15206 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15207 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15208 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15209 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15210 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15211 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15212 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15213 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15214 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15215
15216 2009-01-16 Christian Franke <franke@computer.org>
15217
15218 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15219 (enum grub_ata_timeout_milliseconds): New enum.
15220 (grub_ata_wait_status): Add parameter milliseconds.
15221 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15222 recovery from timed-out commands.
15223 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15224 return grub_errno instead of REG_ERROR.
15225 (grub_ata_pio_write): Add parameter milliseconds.
15226 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15227 Pass milliseconds to grub_ata_wait_status () and
15228 grub_ata_pio_read ().
15229 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15230 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15231 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15232 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15233 It is not suitable for device detection, because DEV bit is ignored,
15234 the command may run too long, and not all devices set the signature
15235 properly.
15236 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15237 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15238 Fix device selection, DEV bit must be set first to address the registers
15239 of the correct device.
15240 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15241 grub_ata_pio_read/write ().
15242 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15243 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15244
15245 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15246
15247 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15248
15249 2009-01-13 Bean <bean123ch@gmail.com>
15250
15251 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15252
15253 2009-01-13 Bean <bean123ch@gmail.com>
15254
15255 * Makefile.in: (enable_grub_mkfont): New variable.
15256 (freetype_cflags): Likewise.
15257 (freetype_libs): Likewise.
15258
15259 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15260 (grub_mkfont_SOURCES): New variable.
15261 (grub_mkfont_CFLAGS): Likewise.
15262 (grub_mkfont_LDFLAGS): Likewise.
15263
15264 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15265 library if `--enable-grub-mkfont' is requested.
15266 (enable_grub_mkfont): New variable.
15267 (freetype_cflags): Likewise.
15268 (freetype_libs): Likewise.
15269
15270 * util/grub-mkfont.c: New file.
15271
15272 2009-01-12 Christian Franke <franke@computer.org>
15273
15274 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15275 mode check. Fix setting of compat_use[].
15276
15277 2009-01-10 Robert Millan <rmh@aybabtu.com>
15278
15279 Update a few copyright years which we forgot to do in 2008 (only for
15280 files whose changes made in 2008 were copyright-significant)
15281
15282 * Makefile.in: Add 2008 to Copyright line.
15283 * disk/ieee1275/ofdisk.c: Likewise.
15284 * disk/efi/efidisk.c: Likewise.
15285 * kern/dl.c: Likewise.
15286 * kern/sparc64/ieee1275/init.c: Likewise.
15287 * kern/mm.c: Likewise.
15288 * kern/efi/mm.c: Likewise.
15289 * boot/i386/pc/boot.S: Likewise.
15290 * genfslist.sh: Likewise.
15291 * fs/iso9660.c: Likewise.
15292 * fs/hfs.c: Likewise.
15293 * fs/jfs.c: Likewise.
15294 * fs/minix.c: Likewise.
15295 * fs/ufs.c: Likewise.
15296 * gensymlist.sh.in: Likewise.
15297 * genkernsyms.sh.in: Likewise.
15298 * include/grub/misc.h: Likewise.
15299 * include/grub/types.h: Likewise.
15300 * include/grub/symbol.h: Likewise.
15301 * include/grub/elf.h: Likewise.
15302 * include/grub/kernel.h: Likewise.
15303 * include/grub/disk.h: Likewise.
15304 * include/grub/dl.h: Likewise.
15305 * include/grub/i386/linux.h: Likewise.
15306 * include/grub/i386/pc/biosdisk.h: Likewise.
15307 * include/grub/efi/api.h: Likewise.
15308 * include/grub/efi/pe32.h: Likewise.
15309 * include/grub/util/misc.h: Likewise.
15310 * normal/execute.c: Likewise.
15311 * normal/arg.c: Likewise.
15312 * normal/completion.c: Likewise.
15313 * normal/lexer.c: Likewise.
15314 * normal/parser.y: Likewise.
15315 * normal/misc.c: Likewise.
15316 * commands/i386/pc/vbeinfo.c: Likewise.
15317 * commands/hexdump.c: Likewise.
15318 * commands/terminal.c: Likewise.
15319 * commands/ls.c: Likewise.
15320 * commands/help.c: Likewise.
15321 * partmap/pc.c: Likewise.
15322 * loader/efi/chainloader.c: Likewise.
15323 * loader/multiboot_loader.c: Likewise.
15324 * loader/i386/pc/multiboot2.c: Likewise.
15325 * term/efi/console.c: Likewise.
15326 * term/i386/pc/serial.c: Likewise.
15327 * util/lvm.c: Likewise.
15328 * util/console.c: Likewise.
15329 * util/i386/efi/grub-mkimage.c: Likewise.
15330 * util/raid.c: Likewise.
15331
15332 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15333
15334 * commands/videotest.c: Removed include to grub/machine/memory.h.
15335
15336 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15337 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15338 (video_mod_SOURCES): Removed.
15339 (video_mod_CFLAGS): Likewise.
15340 (video_mod_LDFLAGS): Likewise.
15341 (gfxterm_mod_SOURCES): Likewise.
15342 (gfxterm_mod_CFLAGS): Likewise.
15343 (gfxterm_mod_LDFLAGS): Likewise.
15344 (videotest_mod_SOURCES): Likewise.
15345 (videotest_mod_CFLAGS): Likewise.
15346 (videotest_mod_LDFLAGS): Likewise.
15347 (bitmap_mod_SOURCES): Likewise.
15348 (bitmap_mod_CFLAGS): Likewise.
15349 (bitmap_mod_LDFLAGS): Likewise.
15350 (tga_mod_SOURCES): Likewise.
15351 (tga_mod_CFLAGS): Likewise.
15352 (tga_mod_LDFLAGS): Likewise.
15353 (jpeg_mod_SOURCES): Likewise.
15354 (jpeg_mod_CFLAGS): Likewise.
15355 (jpeg_mod_LDFLAGS): Likewise.
15356 (png_mod_SOURCES): Likewise.
15357 (png_mod_CFLAGS): Likewise.
15358 (png_mod_LDFLAGS): Likewise.
15359
15360 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15361 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15362 (video_mod_SOURCES): Added.
15363 (video_mod_CFLAGS): Likewise.
15364 (video_mod_LDFLAGS): Likewise.
15365 (videotest_mod_SOURCES): Likewise.
15366 (videotest_mod_CFLAGS): Likewise.
15367 (videotest_mod_LDFLAGS): Likewise.
15368 (bitmap_mod_SOURCES): Likewise.
15369 (bitmap_mod_CFLAGS): Likewise.
15370 (bitmap_mod_LDFLAGS): Likewise.
15371 (tga_mod_SOURCES): Likewise.
15372 (tga_mod_CFLAGS): Likewise.
15373 (tga_mod_LDFLAGS): Likewise.
15374 (jpeg_mod_SOURCES): Likewise.
15375 (jpeg_mod_CFLAGS): Likewise.
15376 (jpeg_mod_LDFLAGS): Likewise.
15377 (png_mod_SOURCES): Likewise.
15378 (png_mod_CFLAGS): Likewise.
15379 (png_mod_LDFLAGS): Likewise.
15380 (gfxterm_mod_SOURCES): Likewise.
15381 (gfxterm_mod_CFLAGS): Likewise.
15382 (gfxterm_mod_LDFLAGS): Likewise.
15383
15384 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15385 grub/machine/console.h.
15386
15387 2009-01-04 Jerone Young <jerone@gmail.com>
15388
15389 Make on screen instructions clearer
15390
15391 Based on patch created by Jidanni <jidanni@jidanni.org>
15392
15393 * normal/menu.c: print clearer instructions on the screen
15394
15395 2009-01-02 Colin D Bennett <colin@gibibit.com>
15396
15397 New font engine.
15398
15399 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15400 build system and fixed gfxterm.c to work with different sized fonts.
15401
15402 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15403
15404 * configure: Re-generated.
15405
15406 * DISTLIST: Removed font/manager.c.
15407 Added font/font.c.
15408 Added font/font_cmd.c.
15409
15410 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15411 compilation.
15412
15413 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15414
15415 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15416
15417 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15418
15419 * normal/menu.c: Likewise.
15420
15421 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15422 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15423
15424 * include/grub/font.h: Replaced with new file.
15425
15426 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15427 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15428 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15429 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15430 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15431 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15432 fg_red, fg_green, fg_blue, fg_alpha.
15433 (grub_video_adapter): Removed blit_glyph.
15434 (grub_video_blit_glyph): Removed.
15435
15436 * font/manager.c: Removed file.
15437
15438 * font/font.c: New file.
15439
15440 * font/font_cmd.c: Likewise.
15441
15442 * video/video.c (grub_video_blit_glyph): Removed.
15443
15444 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15445 (grub_video_vbe_map_rgba): Likewise.
15446 (grub_video_vbe_unmap_color_int): Likewise.
15447 (grub_video_vbe_blit_glyph): Removed.
15448 (grub_video_vbe_adapter): Removed blit_glyph.
15449
15450 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15451 (get_pixel): Likewise.
15452 (set_pixel): Likewise.
15453
15454 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15455
15456 * term/gfxterm.c: Adapted to new font engine.
15457
15458 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15459
15460 * term/i386/pc/vga.c: Likewise.
15461
15462 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15463
15464 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15465
15466 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15467
15468 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15469
15470 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15471
15472 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15473
15474 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15475
15476 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15477
15478 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15479
15480 * util/grub.d/00_header.in: Changed to use new loadfont command.
15481
15482 * util/grub-mkconfig_lib.in: Changed font extension.
15483
15484 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15485
15486 * util/getroot.c (grub_util_get_grub_dev): Add support for
15487 /dev/md/dNNpNN style partitionable mdraid devices.
15488
15489 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15490
15491 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15492 at a time limit of the PXE TFTP API correctly.
15493 (grub_pxefs_close): Likewise.
15494
15495 2008-11-29 Robert Millan <rmh@aybabtu.com>
15496
15497 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15498 grub_ata_device_initialize() calls.
15499
15500 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15501
15502 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15503 iteration failed.
15504 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15505
15506 2008-11-28 Robert Millan <rmh@aybabtu.com>
15507
15508 Fix build on powerpc-ieee1275. Based on patch created by
15509 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15510 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15511 `kern/ieee1275/mmap.c'.
15512 * include/grub/powerpc/ieee1275/memory.h: New file.
15513
15514 Provide grub-install on coreboot.
15515 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15516 (grub_install_SOURCES): New variable.
15517 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15518 usable on coreboot.
15519
15520 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15521
15522 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15523 to `grub_term_input_t'.
15524 (grub_term_get_current_output): Change return type to
15525 `grub_term_output_t'.
15526
15527 2008-11-22 Robert Millan <rmh@aybabtu.com>
15528
15529 Fix breakage on coreboot due to declaration mismatch.
15530 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15531 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15532 grub_vga_text_cls().
15533
15534 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15535 comments. Avoid copying one more byte than necessary (just in case).
15536
15537 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15538 to 0x200000 (avoids trouble with some OFW implementations, and matches
15539 with the one in Yaboot).
15540 Reported by Manoel Abranches
15541
15542 2008-11-20 Robert Millan <rmh@aybabtu.com>
15543
15544 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15545 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15546
15547 * util/grub-mkconfig_lib.in (grub_warn): New function.
15548 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15549 warnings, to obtain consistent formatting.
15550 * util/grub.d/00_header.in: Likewise.
15551 * util/update-grub_lib.in: Likewise.
15552
15553 * loader/i386/linux.c (allocate_pages): Fix a warning.
15554 Move comment text to `#error' stanza.
15555
15556 Harmonize ieee1275's grub_available_iterate() with the generic
15557 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15558 build problem on i386-ieee1275):
15559 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15560 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15561 parameter `type'. Update all users of this function.
15562 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15563 `kern/ieee1275/mmap.c'.
15564 * kern/ieee1275/init.c
15565 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15566 with ...
15567 (grub_machine_mmap_iterate): ... this.
15568 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15569 return type to `grub_err_t'. Update all implementations of this
15570 function prototype.
15571 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15572 Likewise.
15573
15574 Add `lsmmap' command (lists firmware-provided memory map):
15575 * commands/lsmmap.c: New file.
15576 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15577 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15578 variables.
15579 * conf/powerpc-ieee1275.rmk: Likewise.
15580 * conf/i386-coreboot.rmk: Likewise.
15581 * conf/i386-ieee1275.rmk: Likewise.
15582
15583 2008-11-19 Robert Millan <rmh@aybabtu.com>
15584
15585 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15586 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15587 constraints to initrd allocation (based on code from
15588 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15589 for Linux to find it.
15590
15591 2008-11-14 Robert Millan <rmh@aybabtu.com>
15592
15593 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15594 order to cope with duplicate slashes.
15595
15596 2008-11-14 Robert Millan <rmh@aybabtu.com>
15597
15598 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15599 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15600 don't want to mess with lower memory, because it is used in the Linux
15601 loader.
15602
15603 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15604 an appropriate place in lower memory, between 0x10000 and 0x90000,
15605 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15606 is in our heap (probably as a result of it being corrupted during
15607 decompression). Add #error instance with comment to explain why this
15608 loader isn't currently usable on PC/BIOS.
15609
15610 2008-11-14 Robert Millan <rmh@aybabtu.com>
15611
15612 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15613 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15614
15615 2008-11-12 Robert Millan <rmh@aybabtu.com>
15616
15617 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15618
15619 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15620 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15621 from here ...
15622 * include/grub/i386/pc/memory.h: ... to here.
15623
15624 2008-11-12 Robert Millan <rmh@aybabtu.com>
15625
15626 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15627 split).
15628
15629 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15630 (grub_console_cur_color, grub_console_real_putchar)
15631 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15632 (grub_console_setcolorstate, grub_console_setcolor)
15633 (grub_console_getcolor): Move from here ...
15634 * include/grub/i386/vga_common.h: ... to here (new file).
15635
15636 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15637 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15638 `<grub/i386/io.h>'.
15639 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15640 `<grub/i386/vga_common.h>'.
15641
15642 2008-11-12 Robert Millan <rmh@aybabtu.com>
15643
15644 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15645 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15646 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15647 variables.
15648 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15649 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15650
15651 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15652 grub_console_init() with call to grub_vga_text_init().
15653 (grub_machine_fini): Replace call to
15654 grub_console_fini() with call to grub_vga_text_fini() and
15655 grub_at_keyboard_fini().
15656
15657 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15658 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15659 (grub_console_setcolorstate, grub_console_setcolor)
15660 (grub_console_getcolor): New function prototypes.
15661
15662 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15663 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15664 (grub_vga_text_setcursor): Static-ize.
15665 (grub_vga_text_term): New structure.
15666 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15667
15668 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15669 (grub_console_cur_color, grub_console_standard_color)
15670 (grub_console_normal_color, grub_console_highlight_color)
15671 (map_char, grub_console_putchar, grub_console_getcharwidth)
15672 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15673 (grub_console_getcolor): Move from here ...
15674 * term/i386/vga_common.c: ... to here (same function names).
15675
15676 2008-11-12 Robert Millan <rmh@aybabtu.com>
15677
15678 Use newly-added Multiboot support in coreboot.
15679
15680 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15681 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15682
15683 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15684 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15685 (codestart): Store the MBI in `startup_multiboot_info' when we're
15686 being loaded using Multiboot.
15687
15688 * kern/i386/coreboot/init.c (grub_machine_init): Move
15689 grub_at_keyboard_init() call to beginning of function (useful for
15690 debugging). Call grub_machine_mmap_init() before attempting to use
15691 grub_machine_mmap_iterate().
15692 (grub_lower_mem, grub_upper_mem): Move from here ...
15693 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15694 here (new file).
15695
15696 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15697 function prototype.
15698
15699 2008-11-12 Robert Millan <rmh@aybabtu.com>
15700
15701 Fix a regression introduced by the at_keyboard.mod split. Because
15702 some terminals are default on some platforms and non-default on
15703 others, the first terminal being registered determines which is
15704 going to be default.
15705
15706 * kern/term.c (grub_term_register_input): If this is the first
15707 terminal being registered, set it as the current one.
15708 (grub_term_register_output): Likewise.
15709
15710 * term/efi/console.c (grub_console_init): Do not call
15711 grub_term_set_current_output() or grub_term_set_current_input().
15712 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15713 * term/i386/pc/console.c (grub_console_init): Likewise.
15714 (grub_console_fini): Do not call grub_term_set_current_input()
15715 (but leave grub_term_set_current_output() to restore text mode).
15716
15717 2008-11-10 Robert Millan <rmh@aybabtu.com>
15718
15719 * util/grub.d/00_header.in: Add backward compatibility check for
15720 versions of terminal.mod that don't understand `terminal_input' or
15721 `terminal_output'.
15722
15723 2008-11-09 Robert Millan <rmh@aybabtu.com>
15724
15725 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15726 `terminal_input' / `terminal_output', not `terminal'.
15727
15728 2008-11-08 Robert Millan <rmh@aybabtu.com>
15729
15730 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15731 (DISTCLEANFILES): Add `build_env.mk'.
15732
15733 2008-11-08 Robert Millan <rmh@aybabtu.com>
15734
15735 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15736 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15737 members. Update all users.
15738 * util/console.c (grub_ncurses_term): Split in ...
15739 (grub_ncurses_term_input): ... this, and ...
15740 (grub_ncurses_term_output): ... this. Update all users.
15741 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15742
15743 2008-11-08 Robert Millan <rmh@aybabtu.com>
15744
15745 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15746 (PKGDATA): Add $(pkgdata_SRCDIR).
15747 (pkglib_BUILDDIR): New variable.
15748 (pkgdata_SRCDIR): New variable.
15749 (build_env.mk): New target.
15750 (include_DATA): New variable.
15751 (install-local): Install $(include_DATA) files in $(includedir).
15752
15753 2008-11-07 Pavel Roskin <proski@gnu.org>
15754
15755 * gendistlist.sh: Use C locale for sorting to ensure consistent
15756 output on all systems.
15757
15758 * util/grub.d/00_header.in: Remove incorrect space before
15759 "serial".
15760
15761 2008-11-07 Robert Millan <rmh@aybabtu.com>
15762
15763 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15764 per specification.
15765 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15766 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15767 (based on find_multi_boot1_header).
15768 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15769 using find_multi_boot2_header(), and abort if neither Multiboot or
15770 Multiboot headers were found.
15771
15772 2008-11-07 Robert Millan <rmh@aybabtu.com>
15773
15774 Modularize at_keyboard.mod:
15775
15776 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15777 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15778 (at_keyboard_mod_LDFLAGS): New variables.
15779
15780 Actual terminal split:
15781
15782 * include/grub/term.h (struct grub_term): Split in ...
15783 (struct grub_term_input): ... this, and ...
15784 (struct grub_term_output): ... this. Update all users.
15785 (grub_term_set_current): Split in ...
15786 (grub_term_set_current_input): ... this, and ...
15787 (grub_term_set_current_output): ... this.
15788 (grub_term_get_current): Split in ...
15789 (grub_term_get_current_input): ... this, and ...
15790 (grub_term_get_current_output): ... this.
15791 (grub_term_register): Split in ...
15792 (grub_term_register_input): ... this, and ...
15793 (grub_term_register_output): ... this.
15794 (grub_term_unregister): Split in ...
15795 (grub_term_unregister_input): ... this, and ...
15796 (grub_term_unregister_output): ... this.
15797 (grub_term_iterate): Split in ...
15798 (grub_term_iterate_input): ... this, and ...
15799 (grub_term_iterate_output): ... this.
15800
15801 * kern/term.c (grub_term_list): Split in ...
15802 (grub_term_list_input): ... this, and ...
15803 (grub_term_list_output): ... this. Update all users.
15804 (grub_cur_term): Split in ...
15805 (grub_cur_term_input): ... this, and ...
15806 (grub_cur_term_output): ... this. Update all users.
15807 (grub_term_set_current): Split in ...
15808 (grub_term_set_current_input): ... this, and ...
15809 (grub_term_set_current_output): ... this.
15810 (grub_term_get_current): Split in ...
15811 (grub_term_get_current_input): ... this, and ...
15812 (grub_term_get_current_output): ... this.
15813 (grub_term_register): Split in ...
15814 (grub_term_register_input): ... this, and ...
15815 (grub_term_register_output): ... this.
15816 (grub_term_unregister): Split in ...
15817 (grub_term_unregister_input): ... this, and ...
15818 (grub_term_unregister_output): ... this.
15819 (grub_term_iterate): Split in ...
15820 (grub_term_iterate_input): ... this, and ...
15821 (grub_term_iterate_output): ... this.
15822
15823 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15824 a check for input and one for output (and only attempt to get keys
15825 from user when input works).
15826
15827 * util/grub-probe.c (grub_term_get_current): Split in ...
15828 (grub_term_get_current_input): ... this, and ...
15829 (grub_term_get_current_output): ... this.
15830 * util/grub-fstest.c: Likewise.
15831 * util/i386/pc/grub-setup.c: Likewise.
15832 * util/grub-editenv.c: Likewise.
15833
15834 Portability adjustments:
15835
15836 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15837 `term/i386/pc/at_keyboard.c'.
15838 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15839 grub_keyboard_controller_init() (now handled by terminal .init).
15840 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15841 grub_at_keyboard_init().
15842 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15843 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15844 at_keyboard.mod via input terminal interface).
15845 * include/grub/i386/coreboot/console.h: Convert into a stub for
15846 `<grub/i386/pc/console.h>'.
15847
15848 Migrate full terminals to new API:
15849
15850 * term/efi/console.c (grub_console_term): Split into ...
15851 (grub_console_term_input): ... this, and ...
15852 (grub_console_term_output): ... this. Update all users.
15853 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15854 (grub_ofconsole_init): Split into ...
15855 (grub_ofconsole_init_input): ... this, and ...
15856 (grub_ofconsole_init_output): ... this.
15857 (grub_ofconsole_term): Split into ...
15858 (grub_ofconsole_term_input): ... this, and ...
15859 (grub_ofconsole_term_output): ... this. Update all users.
15860 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15861 (grub_serial_term_input): ... this, and ...
15862 (grub_serial_term_output): ... this. Update all users.
15863 * term/i386/pc/console.c (grub_console_term): Split into ...
15864 (grub_console_term_input): ... this, and ...
15865 (grub_console_term_output): ... this. Update all users.
15866 (grub_console_term_input): Only enable it on PC/BIOS platform.
15867 (grub_console_init): Remove grub_keyboard_controller_init() call.
15868
15869 Migrate input terminals to new API:
15870
15871 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15872 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15873 i386-specific anyway).
15874 (grub_console_checkkey): Rename to ...
15875 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15876 users.
15877 (grub_keyboard_controller_orig): New variable.
15878 (grub_console_getkey): Rename to ...
15879 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15880 users.
15881 (grub_keyboard_controller_init): Static-ize. Save original
15882 controller value so that it can be restored ...
15883 (grub_keyboard_controller_fini): ... here (new function).
15884 (grub_at_keyboard_term): New structure.
15885 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15886 functions.
15887
15888 Migrate output terminals to new API:
15889
15890 * term/i386/pc/vga.c (grub_vga_term): Change type to
15891 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15892 members. Update all users.
15893 * term/gfxterm.c (grub_video_term): Change type to
15894 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15895 members. Update all users.
15896 * include/grub/i386/pc/console.h (grub_console_checkkey)
15897 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15898 etc).
15899
15900 Migrate `terminal' command and userland tools to new API:
15901
15902 * commands/terminal.c (grub_cmd_terminal): Split into ...
15903 (grub_cmd_terminal_input): ... this, and ...
15904 (grub_cmd_terminal_output): ... this.
15905 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15906 `terminal_input' and `terminal_output'.
15907 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15908 `terminal_input' / `terminal_output' API.
15909 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15910 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15911 provided ${GRUB_TERMINAL}, convert it).
15912
15913 2008-11-04 Robert Millan <rmh@aybabtu.com>
15914
15915 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15916 for FreeBSD.
15917 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15918
15919 2008-11-03 Bean <bean123ch@gmail.com>
15920
15921 * kern/elf.c (grub_elf32_load): Revert to previous code.
15922 (grub_elf64_load): Likewise.
15923
15924 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15925
15926 2008-11-01 Robert Millan <rmh@aybabtu.com>
15927
15928 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15929 (TARGET_CPPFLAGS): Likewise.
15930 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15931
15932 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15933
15934 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15935
15936 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15937
15938 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15939 addition of objects until the code is not going to be able to fail.
15940
15941 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15942
15943 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15944 (add a missing NULL check, and correct them by moving the pointer
15945 operations after the actual check).
15946
15947 2008-10-29 Robert Millan <rmh@aybabtu.com>
15948
15949 * util/i386/pc/grub-install.in: Handle empty string as output from
15950 make_system_path_relative_to_its_root().
15951
15952 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15953
15954 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15955 circular metadata worst case scenario. If the metadata is circular
15956 then copy the wrap in place.
15957 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15958 project lib/format_text/layout.h
15959 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15960
15961 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15962
15963 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15964
15965 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15966
15967 * util/update-grub_lib.in: Mention filename in warning message.
15968
15969 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15970
15971 * NEWS: Update for rename of update-grub to grub-mkconfig.
15972
15973 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15974
15975 * util/update-grub_lib.in: Copy to ...
15976 * util/grub-mkconfig_lib.in: ... this. Update all users.
15977 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15978 * util/update-grub.in: Rename to ...
15979 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15980 option. Add `--output' option to allow users to specify the generated
15981 configuration file. Default to stdout.
15982 (update_grub_dir): Rename to ...
15983 (grub_mkconfig_dir): ... this.
15984 (grub_cfg): Default to an empty string.
15985 * conf/common.rmk (update-grub): Rename to ...
15986 (grub-mkconfig): ... this.
15987 (update-grub_lib): Copy to ...
15988 (grub-mkconfig_lib): ... this.
15989 (update-grub_SCRIPTS): Copy to ...
15990 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15991 (update-grub_DATA): Rename to ...
15992 (grub-mkconfig_DATA): ... this.
15993
15994 2008-09-28 Robert Millan <rmh@aybabtu.com>
15995
15996 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15997 to `modified'. Add the real `created' field.
15998 (grub_iso9660_uuid): Use `modified' rather than `created' for
15999 constructing the UUID.
16000
16001 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
16002
16003 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16004 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16005
16006 2008-09-28 Bean <bean123ch@gmail.com>
16007
16008 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16009 Thanks to Christian Franke for finding this bug.
16010
16011 2008-09-25 Robert Millan <rmh@aybabtu.com>
16012
16013 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16014 instances of grub_util_get_disk_name() (see previous commit).
16015
16016 2008-09-25 Robert Millan <rmh@aybabtu.com>
16017
16018 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16019 `util/i386/get_disk_name.c'.
16020 * conf/i386-efi.rmk: Likewise.
16021 * conf/x86_64-efi.rmk: Likewise.
16022 * conf/i386-coreboot.rmk: Likewise.
16023 * conf/i386-ieee1275.rmk: Likewise.
16024 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16025 `util/ieee1275/get_disk_name.c'.
16026 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16027 * util/ieee1275/get_disk_name.c: Remove file.
16028 * util/i386/get_disk_name.c: Remove file.
16029 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16030 "hd%d" for device.map entries, rather than using
16031 grub_util_get_disk_name().
16032
16033 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16034
16035 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16036 warning.
16037 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16038
16039 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16040
16041 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16042 Changed to 0x5100.
16043 (GRUB_TERM_PPAGE): Changed to 0x4900.
16044
16045 2008-09-24 Robert Millan <rmh@aybabtu.com>
16046
16047 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16048 macros (they were i386-pc specific).
16049 * include/grub/sparc64/ieee1275/console.h: Likewise.
16050 * include/grub/efi/console.h: Likewise.
16051
16052 2008-09-22 Bean <bean123ch@gmail.com>
16053
16054 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16055 resident and in attribute list.
16056
16057 * include/grub/ntfs.h (BMP_LEN): Removed.
16058
16059 2008-09-22 Bean <bean123ch@gmail.com>
16060
16061 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
16062 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16063
16064 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16065 error occurs, as grub_disk_open will call grub_disk_close, which will
16066 call p->close (scsi).
16067
16068 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16069
16070 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16071 (AC_PREREQ): Bumped to 2.59.
16072 (AC_TRY_COMPILE): Replace obsolete macro with ...
16073 (AC_COMPILE_IFELSE): ... this.
16074 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16075 (AC_LINK_IFELSE): ... this.
16076
16077 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16078
16079 * autogen.sh: Add a call to `gendistlist.sh'.
16080
16081 2008-09-19 Christian Franke <franke@computer.org>
16082
16083 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16084 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16085 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16086 Export __enable_execute_stack() to modules.
16087 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16088 New function.
16089
16090 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16091
16092 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16093 Sort the list.
16094
16095 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16096
16097 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
16098 #include <grub/util/hostdisk.h>.
16099
16100 2008-09-08 Robert Millan <rmh@aybabtu.com>
16101
16102 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16103 segments when their filesz is zero (grub_file_read() interprets
16104 zero-size as "read until EOF", which results in memory corruption).
16105 Use `lowest_segment' rather than 0 for calculating the current
16106 segment load address.
16107
16108 2008-09-08 Robert Millan <rmh@aybabtu.com>
16109
16110 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16111 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16112 clobbered useful information.
16113
16114 2008-09-08 Robert Millan <rmh@aybabtu.com>
16115
16116 * include/grub/util/biosdisk.h: Move to ...
16117 * include/grub/util/hostdisk.h: ... here. Update all users.
16118 * util/biosdisk.c: Move to ...
16119 * util/hostdisk.c: ... here. Update all users.
16120
16121 2008-09-07 Robert Millan <rmh@aybabtu.com>
16122
16123 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16124 variables.
16125 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16126 and length can be stored directly in the `mbi->mmap_addr' and
16127 `mbi->mmap_length' struct fields.
16128
16129 2008-09-07 Robert Millan <rmh@aybabtu.com>
16130
16131 * conf/i386.rmk: New file. Provides declaration for building
16132 `cpuid.mod'.
16133 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16134 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16135 variables.
16136 Include `conf/i386.mk'.
16137 * conf/i386-efi.rmk: Likewise.
16138 * conf/x86_64-efi.rmk: Likewise.
16139 * conf/i386-coreboot.rmk: Likewise.
16140 * conf/i386-ieee1275.rmk: Likewise.
16141
16142 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16143
16144 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16145 Adds optimization support for BGR based modes.
16146
16147 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16148 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16149 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16150 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16151 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16152 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16153 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16154 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16155 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16156 (grub_video_i386_vbeblit_index_index): Likewise.
16157 (grub_video_i386_vbeblit_replace_directN): Added.
16158 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16159 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16160 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16161 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16162 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16163 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16164 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16165 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16166 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16167 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16168 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16169 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16170 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16171
16172 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16173 (grub_video_i386_vbefill_R8G8B8): Likewise.
16174 (grub_video_i386_vbefill_index): Likewise.
16175 (grub_video_i386_vbefill_direct32): Added.
16176 (grub_video_i386_vbefill_direct24): Likewise.
16177 (grub_video_i386_vbefill_direct16): Likewise.
16178 (grub_video_i386_vbefill_direct8): Likewise.
16179
16180 * include/grub/video.h (grub_video_blit_format): Removed
16181 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16182 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16183 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16184 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16185 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
16186
16187 * video/video.c (grub_video_get_blit_format): Updated to use new
16188 blit formats. Added handling for 16 bit color modes.
16189
16190 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
16191 fillers.
16192 (common_blitter): Updated to use new blitters.
16193
16194 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16195 Removed.
16196 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16197 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16198 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16199 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16200 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16201 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16202 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16203 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16204 (grub_video_i386_vbeblit_index_index): Likewise.
16205 (grub_video_i386_vbeblit_replace_directN): Added.
16206 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16207 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16208 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16209 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16210 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16211 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16212 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16213 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16214 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16215 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16216 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16217 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16218 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16219
16220 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16221 (grub_video_i386_vbefill_R8G8B8): Likewise.
16222 (grub_video_i386_vbefill_index): Likewise.
16223 (grub_video_i386_vbefill_direct32): Added.
16224 (grub_video_i386_vbefill_direct24): Likewise.
16225 (grub_video_i386_vbefill_direct16): Likewise.
16226 (grub_video_i386_vbefill_direct8): Likewise.
16227
16228 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16229 types.
16230
16231 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16232 types.
16233
16234 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16235 blitter types.
16236
16237 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16238 types.
16239
16240 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16241
16242 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16243 RAID level 1.
16244
16245 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16246
16247 * fs/iso9660.c (grub_iso9660_date): New structure.
16248 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16249 (grub_iso9660_uuid): New function.
16250
16251 2008-09-05 Bean <bean123ch@gmail.com>
16252
16253 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16254
16255 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16256 insensitive bit for names in Win32 and Win32 & DOS namespace.
16257
16258 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16259
16260 * include/grub/types.h (LONG_MAX): Likewise.
16261
16262 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16263
16264 * util/getroot.c: Include <config.h>.
16265 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16266 add support for /dev/md/N devices and handle LVM double dash escaping.
16267
16268 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16269
16270 * config.guess: Update to latest version from config git.
16271 * config.sub: Likewise.
16272
16273 2008-09-03 Robert Millan <rmh@aybabtu.com>
16274
16275 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16276 `disk->total_sectors'.
16277
16278 2008-09-01 Colin D Bennett <colin@gibibit.com>
16279
16280 * include/grub/normal.h: Fixed incorrect comment for
16281 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16282
16283 2008-09-01 Colin D Bennett <colin@gibibit.com>
16284
16285 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16286 values with defines.
16287
16288 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16289 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16290 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16291 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16292 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16293 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16294 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16295 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16296 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16297 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16298 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16299 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16300 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16301 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16302 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16303 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16304 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16305 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16306 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16307
16308 2008-08-31 Robert Millan <rmh@aybabtu.com>
16309
16310 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16311 declaration.
16312 (grub_multiboot): Fix a few warnings.
16313
16314 2008-08-31 Robert Millan <rmh@aybabtu.com>
16315
16316 * loader/i386/pc/multiboot.c: Update comment not to say that
16317 boot_device support is unimplemented.
16318
16319 2008-08-31 Robert Millan <rmh@aybabtu.com>
16320
16321 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16322 or memory map support are unimplemented.
16323
16324 2008-08-31 Colin D Bennett <colin@gibibit.com>
16325
16326 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16327
16328 2008-08-31 Colin D Bennett <colin@gibibit.com>
16329
16330 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16331 total video memory in 'vbeinfo' output; show color format details for
16332 each video mode.
16333
16334 2008-08-30 Pavel Roskin <proski@gnu.org>
16335
16336 * util/genmoddep.c: Remove for real this time.
16337 * DISTLIST: Remove util/genmoddep.c.
16338
16339 2008-08-30 Robert Millan <rmh@aybabtu.com>
16340
16341 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16342 as required by Multiboot spec (it was already 4-byte aligned, but
16343 only by chance).
16344
16345 2008-08-29 Pavel Roskin <proski@gnu.org>
16346
16347 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16348 * kern/powerpc/ieee1275/startup.S: ... this.
16349 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16350 * DISTLIST: Likewise.
16351
16352 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16353 grub/cpu/kernel.h. Add start label for consistency with other
16354 platforms. Add grub_prefix immediately after start. Add jump
16355 to the code after grub_prefix.
16356 * include/grub/powerpc/kernel.h: Provide valid values for
16357 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16358
16359 2008-08-29 Bean <bean123ch@gmail.com>
16360
16361 * configure.ac: Change host_os to cygwin for mingw.
16362 (asprintf): New check for function.
16363
16364 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16365 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16366
16367 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16368 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16369 sync, sleep and grub_util_get_disk_size for mingw.
16370
16371 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16372 to get size in mingw.
16373 (open_device): Use flag O_BINARY if it's defined.
16374 (find_root_device): Add dummy code for mingw.
16375
16376 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16377 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16378 (get_scsi_disk_name): Return 0 for mingw.
16379
16380 * util/hostfs.c: #include <grub/util/misc.h>.
16381 (grub_hostfs_open): Use "rb" flag to open file, use
16382 grub_util_get_disk_size to get disk size for mingw.
16383
16384 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16385 (asprintf): New function if HAVE_ASPRINTF is not set.
16386 (sync): New function for mingw.
16387 (sleep): Likewise.
16388 (grub_util_get_disk_size): Likewise.
16389
16390 2008-08-28 Pavel Roskin <proski@gnu.org>
16391
16392 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16393 kern/time.c.
16394
16395 2008-08-28 Robert Millan <rmh@aybabtu.com>
16396
16397 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16398
16399 2008-08-28 Robert Millan <rmh@aybabtu.com>
16400
16401 Change find_grub_drive() syntax so it doesn't prevent it from
16402 detecting NULL names as errors.
16403
16404 * util/biosdisk.c (find_grub_drive): Move free slot search code
16405 from here ...
16406 (find_free_slot): ... to here.
16407 (read_device_map): Use find_free_slot() to search for free slots.
16408
16409 2008-08-27 Marco Gerards <marco@gnu.org>
16410
16411 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16412 (scsi_mod_SOURCES): New variable.
16413 (scsi_mod_CFLAGS): Likewise
16414 (scsi_mod_LDFLAGS): Likewise.
16415
16416 * disk/scsi.c: New file.
16417
16418 * include/grub/scsi.h: Likewise.
16419
16420 * include/grub/scsicmd.h: Likewise.
16421
16422 * disk/ata.c: Include <grub/scsi.h>.
16423 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16424 instead.
16425 (grub_ata_iterate): Skip ATAPI devices.
16426 (grub_ata_open): Only handle ATAPI devices.
16427 (struct grub_atapi_read): Removed.
16428 (grub_atapi_readsector): Likewise.
16429 (grub_ata_read): No longer handle ATAPI devices.
16430 (grub_ata_write): Likewise.
16431 (grub_atapi_iterate): New function.
16432 (grub_atapi_read): Likewise.
16433 (grub_atapi_write): Likewise.
16434 (grub_atapi_open): Likewise.
16435 (grub_atapi_close): Likewise.
16436 (grub_atapi_dev): New variable.
16437 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16438 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16439
16440 * include/grub/disk.h (enum grub_disk_dev_id): Add
16441 `GRUB_DISK_DEVICE_SCSI_ID'.
16442
16443 2008-08-26 Robert Millan <rmh@aybabtu.com>
16444
16445 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16446 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16447 descriptive.
16448
16449 2008-08-23 Bean <bean123ch@gmail.com>
16450
16451 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16452 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16453 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16454 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16455 dm_nv.mod.
16456 (raid5rec_mod_SOURCES): New macro.
16457 (raid5rec_mod_CFLAGS): Likewise.
16458 (raid5rec_mod_LDFLAGS): Likewise.
16459 (raid6rec_mod_SOURCES): Likewise.
16460 (raid6rec_mod_CFLAGS): Likewise.
16461 (raid6rec_mod_LDFLAGS): Likewise.
16462 (mdraid_mod_SOURCES): Likewise.
16463 (mdraid_mod_CFLAGS): Likewise.
16464 (mdraid_mod_LDFLAGS): Likewise.
16465 (dm_nv_mod_SOURCES): Likewise.
16466 (dm_nv_mod_CFLAGS): Likewise.
16467 (dm_nv_mod_LDFLAGS): Likewise.
16468
16469 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16470 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16471 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16472
16473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16474 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16475
16476 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16477
16478 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16479
16480 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16481
16482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16483
16484 * disk/raid5_recover.c: New file.
16485
16486 * disk/raid6_recover.c: Likewise.
16487
16488 * disk/mdraid_linux.c: Likewise.
16489
16490 * disk/dmraid_nvidia.c: Likewise.
16491
16492 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16493 ULONG_MAX.
16494
16495 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16496 calculate the size of raid device.
16497 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16498 different layout of raid5.
16499 (grub_raid_scan_device): Remove code specific to mdraid.
16500 (grub_raid_list): New variable.
16501 (free_array): New function.
16502 (grub_raid_register): Likewise.
16503 (grub_raid_unregister): Likewise.
16504 (grub_raid_rescan): Likewise.
16505 (GRUB_MOD_INIT): Don't iterate device here.
16506 (GRUB_MOD_FINI): Use free_array to release resource.
16507
16508 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16509 (grub_raid5_recover_func_t): New function variable type.
16510 (grub_raid6_recover_func_t): Likewise.
16511 (grub_raid5_recover_func): New variable.
16512 (grub_raid6_recover_func): Likewise.
16513 (grub_raid_register): New function.
16514 (grub_raid_unregister): Likewise.
16515 (grub_raid_rescan): Likewise.
16516 (grub_raid_block_xor): Likewise.
16517
16518 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16519 (CMD_CRC): New macro.
16520 (part): Removed.
16521 (read_file): Handle device as well as file.
16522 (cmd_crc): New function.
16523 (fstest): Handle multiple disks.
16524 (options): Remove part, raw and long, add root and diskcount.
16525 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16526 (main): Find the first non option entry and ignore subsequent options,
16527 add handling for the new options, support multiple disks.
16528
16529 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16530
16531 2008-08-23 Bean <bean123ch@gmail.com>
16532
16533 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16534
16535 * genfslist.sh: Ignore kernel.mod.
16536
16537 * genpartmaplist.sh: Likewise.
16538
16539 2008-08-23 Robert Millan <rmh@aybabtu.com>
16540
16541 * util/getroot.c (find_root_device): Skip anything that starts with
16542 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16543
16544 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16545
16546 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16547 * util/grub.d/00_header.in: Allow the administrator to change default
16548 gfxmode via ${GRUB_GFXMODE}.
16549
16550 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16551
16552 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16553
16554 2008-08-21 Robert Millan <rmh@aybabtu.com>
16555
16556 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16557 loader.
16558 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16559 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16560
16561 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16562
16563 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16564 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16565
16566 2008-08-19 Robert Millan <rmh@aybabtu.com>
16567
16568 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16569 (struct grub_virtual_screen): Remove `cursor_color'.
16570 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16571 initialization.
16572 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16573
16574 2008-08-18 Robert Millan <rmh@aybabtu.com>
16575
16576 Unify (identical) linux_normal.c files.
16577 * loader/i386/efi/linux_normal.c: Move from here ...
16578 * loader/linux_normal.c: ... to here. Update all users.
16579 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16580 * loader/i386/ieee1275/linux_normal.c: Likewise.
16581
16582 2008-08-18 Robert Millan <rmh@aybabtu.com>
16583
16584 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16585 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16586 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16587 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16588 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16589 New macros.
16590 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16591 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16592 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16593 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16594 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16595 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16596 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16597 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16598 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16599 portably using grub_getxy().
16600 Replace `-EFI' with `-bzImage' in boot message.
16601
16602 2008-08-17 Robert Millan <rmh@aybabtu.com>
16603
16604 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16605
16606 2008-08-17 Robert Millan <rmh@aybabtu.com>
16607
16608 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16609
16610 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16611 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16612 (grub_machine_mmap_iterate): New function declaration.
16613 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16614 structure.
16615 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16616 macros.
16617
16618 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16619 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16620 Move e820 parsing from here ...
16621 * kern/i386/pc/mmap.c: New file.
16622 (grub_machine_mmap_iterate): ... to here.
16623
16624 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16625 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16626 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16627 (grub_available_iterate): Redeclare to return `void', and redeclare
16628 its hook to use grub_uint64_t as addr and size parameters, and rename
16629 to ...
16630 (grub_machine_mmap_iterate): ... this. Update all users.
16631
16632 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16633 to make it more readable. Rename to ...
16634 (grub_machine_mmap_iterate): ... this.
16635
16636 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16637 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16638 (grub_multiboot): Allocate an extra region after the payload, and fill
16639 it with a Multiboot memory map. Adjust a.out loader to calculate size
16640 with the extra space.
16641 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16642 with the extra space.
16643
16644 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16645
16646 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16647
16648 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16649
16650 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16651 mdate-sh to the list `find' searches for.
16652 * DISTLIST: Regenerated.
16653
16654 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16655
16656 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16657 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16658 genmoddep.awk, gensymlist.sh.in.
16659 (DISTDIRS): Add bus, docs, hook, lib.
16660 * DISTLIST: Regenerated.
16661 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16662
16663 2008-08-16 Robert Millan <rmh@aybabtu.com>
16664
16665 * disk/raid.c (grub_raid_init): Handle/report errors set by
16666 grub_device_iterate().
16667 * disk/lvm.c (grub_lvm_init): Likewise.
16668
16669 2008-08-15 Bean <bean123ch@gmail.com>
16670
16671 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16672 and datehook.mod.
16673 (datetime_mod_SOURCES): New macro.
16674 (datetime_mod_CFLAGS): Likewise.
16675 (datetime_mod_LDFLAGS): Likewise.
16676 (date_mod_SOURCES): Likewise.
16677 (date_mod_CFLAGS): Likewise.
16678 (date_mod_LDFLAGS): Likewise.
16679 (datehook_mod_SOURCES): Likewise.
16680 (datehook_mod_CFLAGS): Likewise.
16681 (datehook_mod_LDFLAGS): Likewise.
16682
16683 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16684 and datehook.mod.
16685 (datetime_mod_SOURCES): New macro.
16686 (datetime_mod_CFLAGS): Likewise.
16687 (datetime_mod_LDFLAGS): Likewise.
16688 (date_mod_SOURCES): Likewise.
16689 (date_mod_CFLAGS): Likewise.
16690 (date_mod_LDFLAGS): Likewise.
16691 (datehook_mod_SOURCES): Likewise.
16692 (datehook_mod_CFLAGS): Likewise.
16693 (datehook_mod_LDFLAGS): Likewise.
16694
16695 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16696 and datehook.mod.
16697 (datetime_mod_SOURCES): New macro.
16698 (datetime_mod_CFLAGS): Likewise.
16699 (datetime_mod_LDFLAGS): Likewise.
16700 (date_mod_SOURCES): Likewise.
16701 (date_mod_CFLAGS): Likewise.
16702 (date_mod_LDFLAGS): Likewise.
16703 (datehook_mod_SOURCES): Likewise.
16704 (datehook_mod_CFLAGS): Likewise.
16705 (datehook_mod_LDFLAGS): Likewise.
16706
16707 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16708 and datehook.mod.
16709 (datetime_mod_SOURCES): New macro.
16710 (datetime_mod_CFLAGS): Likewise.
16711 (datetime_mod_LDFLAGS): Likewise.
16712 (date_mod_SOURCES): Likewise.
16713 (date_mod_CFLAGS): Likewise.
16714 (date_mod_LDFLAGS): Likewise.
16715 (datehook_mod_SOURCES): Likewise.
16716 (datehook_mod_CFLAGS): Likewise.
16717 (datehook_mod_LDFLAGS): Likewise.
16718
16719 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16720 and datehook.mod.
16721 (datetime_mod_SOURCES): New macro.
16722 (datetime_mod_CFLAGS): Likewise.
16723 (datetime_mod_LDFLAGS): Likewise.
16724 (date_mod_SOURCES): Likewise.
16725 (date_mod_CFLAGS): Likewise.
16726 (date_mod_LDFLAGS): Likewise.
16727 (datehook_mod_SOURCES): Likewise.
16728 (datehook_mod_CFLAGS): Likewise.
16729 (datehook_mod_LDFLAGS): Likewise.
16730
16731 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16732
16733 * commands/date.c: New file.
16734
16735 * hook/datehook.c: Likewise.
16736
16737 * include/grub/lib/datetime.h: Likewise.
16738
16739 * include/grub/i386/cmos.h: Likewise.
16740
16741 * lib/datetime.c: Likewise.
16742
16743 * lib/i386/datetime.c: Likewise.
16744
16745 * lib/efi/datetime.c: Likewise.
16746
16747 2008-08-14 Robert Millan <rmh@aybabtu.com>
16748
16749 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16750 (grub_mkelfimage_SOURCES): New variable.
16751 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16752
16753 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16754 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16755 * conf/powerpc-ieee1275.rmk: Likewise.
16756 * conf/i386-ieee1275.rmk: Likewise.
16757
16758 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16759 * kern/i386/coreboot/init.c: Likewise.
16760
16761 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16762 with `<grub/cpu/kernel.h>'.
16763 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16764 to ...
16765 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16766 * kern/i386/coreboot/startup.S: Likewise.
16767
16768 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16769 (GRUB_MOD_GAP): Remove.
16770 * include/grub/powerpc/kernel.h: New file.
16771 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16772 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16773 * include/grub/i386/kernel.h: New file.
16774 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16775 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16776 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16777
16778 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16779 `grub-mkelfimage'.
16780 Use --directory when invoking grub_mkimage.
16781
16782 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16783 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16784 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16785 and GRUB_KERNEL_CPU_PREFIX.
16786
16787 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16788
16789 * include/grub/err.h (grub_err_printf): New function prototype.
16790 * util/misc.c (grub_err_printf): New function.
16791 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16792 grub_printf.
16793 * kern/err.c (grub_print_error): Use grub_err_printf.
16794
16795 2008-08-13 Robert Millan <rmh@aybabtu.com>
16796
16797 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16798
16799 2008-08-13 Robert Millan <rmh@aybabtu.com>
16800
16801 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16802 boot entry.
16803
16804 2008-08-12 Robert Millan <rmh@aybabtu.com>
16805
16806 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16807 of the relocation code from here ...
16808 (grub_multiboot): ... to here.
16809 (forward_relocator, backward_relocator): Move from here ...
16810 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16811 (grub_multiboot_backward_relocator): ... to here.
16812 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16813 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16814 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16815 (grub_multiboot_forward_relocator_end)
16816 (grub_multiboot_backward_relocator)
16817 (grub_multiboot_backward_relocator_end): New variables.
16818
16819 2008-08-12 Bean <bean123ch@gmail.com>
16820
16821 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16822
16823 2008-08-11 Robert Millan <rmh@aybabtu.com>
16824
16825 * kern/i386/linuxbios/startup.S: Move from here ...
16826 * kern/i386/coreboot/startup.S: ... to here.
16827
16828 * kern/i386/linuxbios/init.c: Move from here ...
16829 * kern/i386/coreboot/init.c: ... to here.
16830
16831 * kern/i386/linuxbios/table.c: Move from here ...
16832 * kern/i386/coreboot/mmap.c: ... to here.
16833
16834 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16835
16836 2008-08-11 Robert Millan <rmh@aybabtu.com>
16837
16838 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16839 errors. Leave it to the upper layer to handle them.
16840
16841 2008-08-09 Christian Franke <franke@computer.org>
16842
16843 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16844 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16845 Install `grub.d/10_windows' only on Cygwin.
16846 * configure.ac: Add subst of `target_os'.
16847 Check `target_os' also before setting TARGET_OBJ2ELF.
16848 Add `--enable-grub-pe2elf'.
16849
16850 2008-08-08 Robert Millan <rmh@aybabtu.com>
16851
16852 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16853 (grub_last_time): Change type to grub_uint64_t.
16854 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16855 (grub_disk_close): Likewise.
16856
16857 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16858 (run_menu): Migrate code from to using grub_get_time_ms().
16859
16860 * util/misc.c (grub_get_time_ms): New function.
16861
16862 2008-08-08 Marco Gerards <marco@gnu.org>
16863
16864 * disk/ata.c (grub_ata_regget): Change return type to
16865 `grub_uint8_t'.
16866 (grub_ata_regget2): Likewise.
16867 (grub_ata_wait_status): New function.
16868 (grub_ata_wait_busy): Removed function, updated all users to use
16869 `grub_ata_wait_status'.
16870 (grub_ata_wait_drq): Likewise.
16871 (grub_ata_cmd): New function.
16872 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16873 error handling.
16874 (grub_ata_pio_write): Add error handling.
16875 (grub_atapi_identify): Likewise.
16876 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16877 handling.
16878 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16879 handling. Actually use the detected registers. Reorder the
16880 detection logic such that it is easier to read.
16881 (grub_ata_pciinit): Do not assign the same ID to each controller.
16882 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16883 handling.
16884 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16885
16886 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16887
16888 2008-08-08 Marco Gerards <marco@gnu.org>
16889
16890 * NEWS: Update.
16891
16892 2008-08-07 Bean <bean123ch@gmail.com>
16893
16894 * include/grub/x86_64/pci.h: New file.
16895
16896 2008-08-07 Christian Franke <franke@computer.org>
16897
16898 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16899 (TIMER2_GATE): Likewise.
16900 (grub_pit_wait): Add enable/disable of the timer2 gate
16901 bit of port 0x61. This fixes a possible infinite loop.
16902
16903 2008-08-07 Bean <bean123ch@gmail.com>
16904
16905 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16906 kern/i386/tsc.c and kern/i386/pit.c.
16907
16908 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16909 x86_64 platform.
16910
16911 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16912 <grub/i386/tsc.h>.
16913
16914 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16915
16916 2008-08-07 Bean <bean123ch@gmail.com>
16917
16918 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16919
16920 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16921
16922 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16923 multiple inclusion. Add #include <grub/types.h>.
16924
16925 2008-08-06 Christian Franke <franke@computer.org>
16926
16927 * conf/common.rmk: Build and install `10_windows'.
16928 * util/grub.d/10_windows.in: New script.
16929
16930 2008-08-06 Pavel Roskin <proski@gnu.org>
16931
16932 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16933
16934 2008-08-06 Robert Millan <rmh@aybabtu.com>
16935
16936 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16937 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16938
16939 2008-08-06 Bean <bean123ch@gmail.com>
16940
16941 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16942 (grub_pxefs_fs_int): Remove dummy definition.
16943 (grub_pxefs_open): Use data->block_size to store the current block
16944 size setting.
16945 (grub_pxefs_read): Use block size stored in data->block_size. As the
16946 value of grub_pxe_blksize can be changed after the file is opened.
16947
16948 2008-08-06 Bean <bean123ch@gmail.com>
16949
16950 * fs/i386/pc/pxe.c (curr_file): new variable.
16951 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16952 require the dummy internal file system anymore.
16953 (grub_pxefs_read): Removed.
16954 (grub_pxefs_close): Likewise.
16955 (grub_pxefs_fs_int): Likewise.
16956 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16957 connection when we switch file.
16958 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16959
16960 2008-08-06 Robert Millan <rmh@aybabtu.com>
16961
16962 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16963 `halt.mod'.
16964 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16965 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16966
16967 * kern/i386/halt.c: New file.
16968 * kern/i386/reboot.c: Likewise.
16969 * include/grub/i386/reboot.h: Likewise.
16970 * include/grub/i386/halt.h: Likewise.
16971
16972 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16973 Include `<grub/cpu/halt.h>'.
16974 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16975 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16976
16977 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16978 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16979 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16980 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16981 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16982 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16983 from here ...
16984 * include/grub/i386/at_keyboard.h: ... to here.
16985
16986 2008-08-05 Robert Millan <rmh@aybabtu.com>
16987
16988 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16989 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16990 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16991 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16992 `kern/generic/millisleep.c'.
16993
16994 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16995 instead of grub_get_rtc().
16996 (grub_tsc_init): Initialize `tsc_boot_time'.
16997
16998 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16999 (grub_machine_init): Use grub_tsc_init() rather than
17000 installing an RTC-based handler via grub_install_get_time_ms().
17001
17002 * kern/i386/pit.c: New file.
17003 * include/grub/i386/pit.h: Likewise.
17004
17005 2008-08-05 Bean <bean123ch@gmail.com>
17006
17007 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17008
17009 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17010 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17011 (pxe_mod_SOURCES): New macro.
17012 (pxe_mod_CFLAGS): Likewise.
17013 (pxe_mod_LDFLAGS): Likewise.
17014 (pxecmd_mod_SOURCES): Likewise.
17015 (pxecmd_mod_CFLAGS): Likewise.
17016 (pxecmd_mod_LDFLAGS): Likewise.
17017
17018 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17019 (grub_pxe_call): Likewise.
17020
17021 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17022
17023 * commands/i386/pc/pxecmd.c: New file.
17024
17025 * fs/i386/pc/pxe.c: Likewise.
17026
17027 * include/grub/i386/pc/pxe.h: Likewise.
17028
17029 2008-08-05 Bean <bean123ch@gmail.com>
17030
17031 * util/console.c (grub_console_cur_color): New variable.
17032 (grub_console_standard_color): Likewise.
17033 (grub_console_normal_color): Likewise.
17034 (grub_console_highlight_color): Likewise.
17035 (color_map): Likewise.
17036 (use_color): Likewise.
17037 (NUM_COLORS): New macro.
17038 (grub_ncurses_setcolorstate): Handle color properly.
17039 (grub_ncurses_setcolor): Don't change color here, just remember the
17040 settings, color will be set in grub_ncurses_setcolorstate.
17041 (grub_ncurses_getcolor): New function.
17042 (grub_ncurses_init): Initialize color pairs.
17043 (grub_ncurses_term): New member grub_ncurses_getcolor.
17044
17045 2008-08-05 Colin D Bennett <colin@gibibit.com>
17046
17047 High resolution timer support. Implemented for x86 CPUs using TSC.
17048 Extracted generic grub_millisleep() so it's linked in only as needed.
17049 This requires a Pentium compatible CPU; if the RDTSC instruction is
17050 not supported, then it falls back on the generic grub_get_time_ms()
17051 implementation that uses the machine's RTC.
17052
17053 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17054 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17055 `kern/generic/millisleep.c'.
17056
17057 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17058 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17059
17060 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17061 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17062
17063 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17064
17065 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17066 `kern/generic/millisleep.c'.
17067
17068 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17069
17070 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17071
17072 * kern/generic/rtc_get_time_ms.c: New file.
17073
17074 * kern/generic/millisleep.c: New file.
17075
17076 * kern/misc.c: Don't include
17077 <kern/time.h> anymore.
17078 (grub_millisleep_generic): Removed.
17079
17080 * commands/sleep.c (grub_interruptible_millisleep): Uses
17081 grub_get_time_ms() instead of grub_get_rtc().
17082
17083 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17084 function.
17085 (grub_cpu_is_cpuid_supported): New inline function.
17086 (grub_cpu_is_tsc_supported): New inline function.
17087 (grub_tsc_init): New function prototype.
17088 (grub_tsc_get_time_ms): New function prototype.
17089
17090 * kern/i386/tsc.c (grub_get_time_ms): New file.
17091
17092 * include/grub/time.h: Include <grub/types.h.
17093 (grub_millisleep_generic): Removed.
17094 (grub_get_time_ms): New prototype.
17095 (grub_install_get_time_ms): New prototype.
17096 (grub_rtc_get_time_ms): New prototype.
17097
17098 * kern/time.c (grub_get_time_ms): New function.
17099 (grub_install_get_time_ms): New function.
17100
17101 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17102 <grub/time.h> anymore.
17103 (grub_millisleep): Removed.
17104 (grub_machine_init): Call grub_tsc_init.
17105
17106 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17107 get_time_ms() implementation.
17108
17109 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17110 (ieee1275_get_time_ms): New function.
17111 (grub_machine_init): Install get_time_ms() implementation.
17112
17113 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17114 (grub_machine_init): Call grub_tsc_init().
17115 (grub_millisleep): Removed.
17116
17117 * kern/ieee1275/init.c (grub_millisleep): Removed.
17118 (grub_machine_init): Install ieee1275_get_time_ms()
17119 implementation.
17120 (ieee1275_get_time_ms): New function.
17121 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17122 real work.
17123
17124 2008-08-05 Marco Gerards <marco@gnu.org>
17125
17126 * disk/ata.c: Include <grub/pci.h>.
17127 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17128 (grub_ata_initialize): Rewritten.
17129 (grub_ata_device_initialize): New function.
17130
17131 2008-08-04 Pavel Roskin <proski@gnu.org>
17132
17133 * kern/main.c: Include grub/mm.h.
17134
17135 2008-08-04 Robert Millan <rmh@aybabtu.com>
17136
17137 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17138 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17139 corruption problem).
17140
17141 2008-08-04 Robert Millan <rmh@aybabtu.com>
17142
17143 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17144 warnings introduced in my last commit.
17145
17146 2008-08-03 Robert Millan <rmh@aybabtu.com>
17147
17148 Make PCI available on all i386 architectures.
17149
17150 * include/grub/i386/pc/pci.h: Move from here ...
17151 * include/grub/i386/pci.h: ... to here.
17152
17153 * include/grub/i386/pc/pci.h: Remove.
17154 * include/grub/i386/efi/pci.h: Remove.
17155 * include/grub/x86_64/efi/pci.h: Remove.
17156
17157 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17158 `<grub/cpu/pci.h>'.
17159
17160 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17161 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17162 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17163
17164 * conf/i386-ieee1275.rmk: Likewise.
17165
17166 2008-08-03 Robert Millan <rmh@aybabtu.com>
17167
17168 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17169 (grub_console_setcursor): Make it possible to set cursor off.
17170
17171 2008-08-03 Robert Millan <rmh@aybabtu.com>
17172
17173 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17174 of modules instead of assuming which platform provides what.
17175 * util/update-grub.in: Likewise.
17176
17177 2008-08-03 Robert Millan <rmh@aybabtu.com>
17178
17179 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17180 instead of `grub_install_dos_part' to determine whether a drive needs
17181 to be prepended to prefix (`grub_install_dos_part' is not reliable,
17182 because it can be overridden when loading GRUB via Multiboot).
17183
17184 2008-08-02 Robert Millan <rmh@aybabtu.com>
17185
17186 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17187
17188 2008-08-02 Robert Millan <rmh@aybabtu.com>
17189
17190 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17191 of informational grub_dprintf() calls.
17192
17193 2008-08-02 Robert Millan <rmh@aybabtu.com>
17194
17195 * disk/memdisk.c (memdisk_size): Don't initialize.
17196 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17197
17198 * include/grub/i386/pc/kernel.h
17199 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17200 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17201 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17202 (grub_arch_memdisk_size): Remove.
17203
17204 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17205 field (was only used to transfer a constant). Add `type' field to
17206 support multiple module types.
17207 (grub_module_iterate): New function.
17208
17209 * kern/device.c (grub_device_open): Do not hide error messages
17210 when grub_disk_open() fails. Use grub_print_error() instead.
17211
17212 * kern/i386/pc/init.c (grub_arch_modules_addr)
17213 (grub_arch_memdisk_size): Remove functions.
17214 (grub_arch_modules_addr): Return the module address in high memory
17215 (now that it isn't copied anymore).
17216
17217 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17218 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17219 decompression routine (grub_total_module_size already includes that
17220 now). Don't copy modules back to low memory.
17221
17222 * kern/main.c: Include `<grub/mm.h>'.
17223 (grub_load_modules): Split out (and use) ...
17224 (grub_module_iterate): ... this function, which iterates through
17225 module objects and runs a hook.
17226 Comment out grub_mm_init_region() call, as it would cause non-ELF
17227 modules to be overwritten.
17228
17229 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17230 the memdisk image in its own region, make it part of the module list.
17231 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17232 (main): Parse --memdisk|-m option, and pass user-provided path as
17233 parameter to generate_image().
17234 (add_segments): Pass `memdisk_path' down to load_modules().
17235 (load_modules): Embed memdisk image in module section when requested.
17236 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17237 `header.type' instead of `header.offset'.
17238
17239 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17240 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17241 (memdisk_mod_LDFLAGS): New variables.
17242 * conf/i386-coreboot.rmk: Likewise.
17243 * conf/i386-ieee1275.rmk: Likewise.
17244
17245 2008-08-02 Robert Millan <rmh@aybabtu.com>
17246
17247 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17248 (backward_relocator): New variables. Used to allocate and relocate
17249 the payload, respectively.
17250 (grub_multiboot_load_elf32): Load into heap instead of requested
17251 address, install the appropriate relocator code in each bound of
17252 the payload, and set the entry point such that
17253 grub_multiboot_real_boot() will jump to one of them.
17254
17255 * kern/i386/loader.S (grub_multiboot_payload_size)
17256 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17257 (grub_multiboot_payload_entry_offset): New variables.
17258 (grub_multiboot_real_boot): Set cpu context to what the relocator
17259 expects, and jump to the relocator instead of the payload.
17260
17261 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17262 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17263 (grub_multiboot_payload_entry_offset): Export.
17264
17265 2008-08-01 Bean <bean123ch@gmail.com>
17266
17267 * normal/menu_entry.c (editor_getline): Don't return the original
17268 string as result, as it will be released by lexer once it has done
17269 using it.
17270
17271 2008-08-01 Robert Millan <rmh@aybabtu.com>
17272
17273 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17274 within menuentries, not before them.
17275 util/grub.d/10_hurd.in: Likewise.
17276
17277 2008-08-01 Bean <bean123ch@gmail.com>
17278
17279 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17280 (bufio_mod_SOURCES): New macro.
17281 (bufio_mod_CFLAGS): Likewise.
17282 (bufio_mod_LDFLAGS): Likewise.
17283
17284 * include/grub/bufio.h: New file.
17285
17286 * io/bufio.c: Likewise.
17287
17288 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17289 (grub_video_reader_png): Use grub_buffile_open to open file.
17290
17291 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17292 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17293
17294 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17295 (grub_video_reader_tga): Use grub_buffile_open to open file.
17296
17297 * font/manager.c: Include <grub/bufio.h>.
17298 (add_font): Use grub_buffile_open to open file.
17299
17300 2008-07-31 Robert Millan <rmh@aybabtu.com>
17301
17302 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17303 ELF segments, use a macro for arbitrarily accessing any of them instead
17304 of preparing a pointer that allows access to one at a time.
17305 (grub_multiboot_load_elf64): Likewise.
17306
17307 2008-07-31 Bean <bean123ch@gmail.com>
17308
17309 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17310 GRUB_KERNEL_MACHINE_DATA_END.
17311
17312 2008-07-30 Robert Millan <rmh@aybabtu.com>
17313
17314 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17315 Increase from 0x50 to 0x60.
17316 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17317 use UUIDs to identify the root drive for them. If that's not
17318 possible, abort.
17319 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17320 check, for cross-disk installs.
17321
17322 2008-07-30 Robert Millan <rmh@aybabtu.com>
17323
17324 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17325 is non-empty, use it to set the `prefix' environment variable instead
17326 of the usual approach.
17327 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17328 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17329 environment variable instead of dummy make_install_device().
17330
17331 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17332 (start): Insert a data section, with `grub_prefix' variable.
17333 * kern/i386/linuxbios/startup.S: Likewise.
17334
17335 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17336 New variable reference.
17337 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17338 New macro. Defines offset of `grub_prefix' within startup.S (relative
17339 to `start').
17340 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17341 section within startup.S (relative to `start').
17342 * include/grub/i386/coreboot/kernel.h: Likewise.
17343
17344 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17345 Overwrite grub_prefix with its contents, at the beginning of the
17346 first segment.
17347 (main): Understand -p|--prefix.
17348
17349 2008-07-30 Robert Millan <rmh@aybabtu.com>
17350
17351 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17352
17353 2008-07-30 Robert Millan <rmh@aybabtu.com>
17354
17355 * term/i386/pc/vga_text.c (grub_console_cls): Use
17356 grub_console_gotoxy() to go back to beginning of the screen.
17357 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17358
17359 2008-07-29 Christian Franke <franke@computer.org>
17360
17361 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17362 Add conversion of emulated mount points on Cygwin.
17363
17364 2008-07-29 Christian Franke <franke@computer.org>
17365
17366 * util/update-grub.in: Add a check for admin
17367 group on Cygwin.
17368 Remove old `grub.cfg.new' before creation.
17369 Add `-f' to `mv' to handle the different filesystem
17370 semantics of Windows.
17371
17372 2008-07-29 Bean <bean123ch@gmail.com>
17373
17374 * normal/main.c (get_line): Fix buffer overflow bug.
17375
17376 2008-07-28 Robert Millan <rmh@aybabtu.com>
17377
17378 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17379 (struct grub_apple_header): New struct. Describes the layout of
17380 the partmap header.
17381 (apple_partition_map_iterate): Check the header magic as well as the
17382 partition magic (which was already being checked).
17383
17384 2008-07-28 Pavel Roskin <proski@gnu.org>
17385
17386 * genmk.rb: Add a warning to the beginning of the output that
17387 it's a generated file and should not be edited.
17388
17389 2008-07-28 Robert Millan <rmh@aybabtu.com>
17390
17391 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17392 with the same number are found, just use issue a warning with
17393 grub_dprintf(), as this error has been reported to be non-fatal.
17394
17395 2008-07-27 Robert Millan <rmh@aybabtu.com>
17396
17397 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17398 information.
17399
17400 2008-07-27 Bean <bean123ch@gmail.com>
17401
17402 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17403 (grub_fat_find_dir): Ignore case when comparing filename.
17404
17405 2008-07-27 Bean <bean123ch@gmail.com>
17406
17407 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17408 smallino, as it's more descriptive, and i8count can be confused with
17409 the other field count.
17410 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17411 inode type.
17412
17413 2008-07-27 Bean <bean123ch@gmail.com>
17414
17415 * commands/crc.c: New file.
17416
17417 * lib/crc.c: Likewise.
17418
17419 * include/grub/lib/crc.h: Likewise.
17420
17421 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17422
17423 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17424 (hexdump): Move this function to ...
17425
17426 * lib/hexdump.c: ... here.
17427
17428 * include/grub/hexdump.h: Renamed to ...
17429
17430 * include/grub/lib/hexdump.h: ... this.
17431
17432 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17433
17434 * util/grub-editenv.c: Likewise.
17435
17436 * include/envblk.h: Renamed to ...
17437
17438 * include/lib/envblk.h: ... this.
17439
17440 * util/envblk.c: Renamed to ...
17441
17442 * lib/envblk.c: ... this.
17443
17444 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17445 lib/hexdump.c.
17446 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17447 (pkglib_MODULES): Add crc.mod.
17448 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17449 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17450 (crc_mod_SOURCES): New macro.
17451 (crc_mod_CFLAGS): Likewise.
17452 (crc_mod_LDFLAGS): Likewise.
17453
17454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17455
17456 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17457
17458 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17459
17460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17461
17462 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17463
17464 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17465
17466 * commands/help.c: Include <grub/term.h>.
17467 (TERM_WIDTH): Removed. Updated all users.
17468
17469 2008-07-27 Pavel Roskin <proski@gnu.org>
17470
17471 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17472 spurious warnings about a comment within a comment.
17473
17474 2008-07-25 Robert Millan <rmh@aybabtu.com>
17475
17476 * util/getroot.c (find_root_device): Skip devices that match
17477 /dev/dm-[0-9]. This lets the real device be found for any type of
17478 abstraction (LVM, EVMS, RAID..).
17479 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17480 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17481 device is found first, find_root_device() will now skip it.
17482
17483 2008-07-24 Pavel Roskin <proski@gnu.org>
17484
17485 * include/grub/types.h: Use __builtin_bswap32() and
17486 __builtin_bswap64() with gcc 4.3 and newer.
17487
17488 2008-07-24 Christian Franke <franke@computer.org>
17489
17490 * util/i386/pc/grub-install.in: If `--debug' is specified,
17491 pass `--verbose' to grub-setup.
17492 Abort script if make_system_path_relative_to_its_root() fails.
17493
17494 2008-07-24 Bean <bean123ch@gmail.com>
17495
17496 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17497 variable `target_platform' should be `platform'.
17498
17499 2008-07-24 Bean <bean123ch@gmail.com>
17500
17501 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17502 (grub_png_init_fixed_block): New function.
17503 (grub_png_decode_image_data): Handle fixed huffman code compression.
17504
17505 2008-07-24 Bean <bean123ch@gmail.com>
17506
17507 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17508 (grub_pe2elf_SOURCES): New macro.
17509 (CLEANFILES): Add grub-pe2elf.
17510
17511 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17512 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17513 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17514 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17515 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17516 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17517 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17518 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17519 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17520 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17521 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17522 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17523 (GRUB_PE32_DT_FUNCTION): Likewise.
17524 (GRUB_PE32_REL_I386_DIR32): Likewise.
17525 (GRUB_PE32_REL_I386_REL32): Likewise.
17526 (grub_pe32_symbol): New structure.
17527 (grub_pe32_reloc): Likewise.
17528
17529 * util/grub-pe2elf.c: New file.
17530
17531 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17532 start symbol in non pc platform.
17533
17534 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17535
17536 The following patches are from Christian Franke.
17537
17538 * include/grub/dl.h: Remove .previous, gas supports this only
17539 for ELF format.
17540
17541 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17542 Remove .type, gas supports this only for ELF format.
17543
17544 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17545 nullbytes in symbol table. This fixes an infinite loop if table is
17546 zero filled.
17547
17548 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17549 TARGET_IMG_LDFLAGS and EXEEXT.
17550
17551 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17552 TARGET_IMG_LDFLAGS_AC.
17553 (grub_CHECK_STACK_ARG_PROBE): New function.
17554
17555 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17556
17557 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17558
17559 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17560 to set TARGET_IMG_LD* accordingly.
17561 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17562 Add call to grub_CHECK_STACK_ARG_PROBE.
17563 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17564
17565 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17566
17567 * genmk.rb: Add EXEEXT to CLEANFILES.
17568
17569 2008-07-23 Robert Millan <rmh@aybabtu.com>
17570
17571 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17572 define the codes for arrows and lines used for the menu).
17573 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17574 as well.
17575
17576 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17577 fonts, because the latter are too slow.
17578
17579 2008-07-21 Bean <bean123ch@gmail.com>
17580
17581 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17582 a20. Run keyboard test last, as it will cause macbook to halt.
17583
17584 2008-07-18 Pavel Roskin <proski@gnu.org>
17585
17586 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17587 load foreign architecture modules correctly anyway. Keep
17588 support for loading host architecture modules, whether we
17589 compile them or not.
17590
17591 2008-07-17 Pavel Roskin <proski@gnu.org>
17592
17593 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17594 change target_cpu. The compiler default can mismatch target_cpu
17595 in any case.
17596
17597 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17598 * kern/efi/efi.c: Likewise.
17599
17600 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17601 target compiler is functional.
17602 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17603 are set up.
17604
17605 * configure.ac: Default to efi platform for x86_64-apple. Allow
17606 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17607 adjustments from the rest, only do them if target is not
17608 explicitly given. Merge other adjustments with the final sanity
17609 check. Remove an extraneous check for supported CPU. Be
17610 specific which CPU and which platform is not supported.
17611
17612 * configure.ac: Default to pc platform for x86_64.
17613
17614 2008-07-17 Robert Millan <rmh@aybabtu.com>
17615
17616 Partial LinuxBIOS -> Coreboot rename.
17617
17618 * conf/i386-linuxbios.rmk: Renamed to ...
17619 * conf/i386-coreboot.rmk: ... this.
17620 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17621 * configure.ac: Accept "coreboot" as input platform (but maintain
17622 compatibility with "linuxbios").
17623 * include/grub/i386/linuxbios: Renamed to ...
17624 * include/grub/i386/coreboot: ... this.
17625
17626 2008-07-17 Bean <bean123ch@gmail.com>
17627
17628 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17629 (appleldr_mod_SOURCE): New variable.
17630 (appleldr_mod_CFLAGS): Likewise.
17631 (appleldr_mod_LDFLAGS): Likewise.
17632 (pci_mod_SOURCES): Likewise.
17633 (pci_mod_CFLAGS): Likewise.
17634 (pci_mod_LDFLAGS): Likewise.
17635 (lspci_mod_SOURCES): Likewise.
17636 (lspci_mod_CFLAGS): Likewise.
17637 (lspci_mod_LDFLAGS): Likewise.
17638
17639 * conf/x86_64-efi.rmk: New file.
17640
17641 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17642 macro.
17643 (grub_efidisk_write): Likewise.
17644
17645 * include/efi/api.h (efi_call_0): New macro.
17646 (efi_call_1): Likewise.
17647 (efi_call_2): Likewise.
17648 (efi_call_3): Likewise.
17649 (efi_call_4): Likewise.
17650 (efi_call_5): Likewise.
17651 (efi_call_6): Likewise.
17652
17653 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17654 grub_rescue_cmd_chainloader.
17655
17656 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17657 (grub_pe32_optional_header): Change some fields based on i386 or
17658 x86_64 platform.
17659 (GRUB_PE32_PE32_MAGIC): Likewise.
17660
17661 * include/grub/efi/uga_draw.h: New file.
17662
17663 * include/grub/elf.h (STN_ABS): New constant.
17664 (R_X86_64_NONE): Relocation constant for x86_64.
17665 (R_X86_64_64): Likewise.
17666 (R_X86_64_PC32): Likewise.
17667 (R_X86_64_GOT32): Likewise.
17668 (R_X86_64_PLT32): Likewise.
17669 (R_X86_64_COPY): Likewise.
17670 (R_X86_64_GLOB_DAT): Likewise.
17671 (R_X86_64_JUMP_SLOT): Likewise.
17672 (R_X86_64_RELATIVE): Likewise.
17673 (R_X86_64_GOTPCREL): Likewise.
17674 (R_X86_64_32): Likewise.
17675 (R_X86_64_32S): Likewise.
17676 (R_X86_64_16): Likewise.
17677 (R_X86_64_PC16): Likewise.
17678 (R_X86_64_8): Likewise.
17679 (R_X86_64_PC8): Likewise.
17680
17681 * include/grub/i386/efi/pci.h: New file.
17682
17683 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17684 Change it value based on platform.
17685 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17686 (GRUB_E820_RAM): Likewise.
17687 (GRUB_E820_RESERVED): Likewise.
17688 (GRUB_E820_ACPI): Likewise.
17689 (GRUB_E820_NVS): Likewise.
17690 (GRUB_E820_EXEC_CODE): Likewise.
17691 (GRUB_E820_MAX_ENTRY): Likewise.
17692 (grub_e820_mmap): New structure.
17693 (linux_kernel_header): Change the efi field according to different
17694 kernel version, also field from linux_kernel_header.
17695
17696 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17697
17698 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17699 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17700 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17701 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17702 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17703 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17704 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17705 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17706 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17707 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17708
17709 * include/grub/x86_64/efi/kernel.h: New file.
17710
17711 * include/grub/x86_64/efi/loader.h: Likewise.
17712
17713 * include/grub/x86_64/efi/machine.h: Likewise.
17714
17715 * include/grub/x86_64/efi/pci.h: Likewise.
17716
17717 * include/grub/x86_64/efi/time.h: Likewise.
17718
17719 * include/grub/x86_64/linux.h: Likewise.
17720
17721 * include/grub/x86_64/setjmp.h: Likewise.
17722
17723 * include/grub/x86_64/time.h: Likewise.
17724
17725 * include/grub/x86_64/types.h: Likewise.
17726
17727 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17728 GRUB_TARGET_SIZEOF_VOID_P.
17729
17730 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17731 (grub_efi_locate_handle): Likewise.
17732 (grub_efi_open_protocol): Likewise.
17733 (grub_efi_set_text_mode): Likewise.
17734 (grub_efi_stall): Likewise.
17735 (grub_exit): Likewise.
17736 (grub_reboot): Likewise.
17737 (grub_halt): Likewise.
17738 (grub_efi_exit_boot_services): Likewise.
17739 (grub_get_rtc): Likewise.
17740
17741 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17742 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17743 (grub_efi_allocate_pages): Wrap efi calls.
17744 (grub_efi_free_pages): Wrap efi calls.
17745 (grub_efi_get_memory_map): Wrap efi calls.
17746
17747 * kern/x86_64/dl.c: New file.
17748
17749 * kern/x86_64/efi/callwrap.S: Likewise.
17750
17751 * kern/x86_64/efi/startup.S: Likewise.
17752
17753 * loader/efi/appleloader.c: Likewise.
17754
17755 * loader/efi/chainloader.c (cmdline): New variable.
17756 (grub_chainloader_unload): Wrap efi calls.
17757 (grub_chainloader_boot): Likewise.
17758 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17759 command line.
17760
17761 * loader/efi/chainloader_normal.c (chainloader_command):
17762 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17763 command line.
17764
17765 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17766 method.
17767 (grub_e820_add_region): New function.
17768 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17769 booting.
17770 (grub_find_video_card): New function.
17771 (grub_linux_setup_video): New function.
17772 (grub_rescue_cmd_linux): Probe for video information.
17773
17774 * normal/x86_64/setjmp.S: New file.
17775
17776 * term/efi/console.c (map_char): New function.
17777 (grub_console_putchar): Map unicode char.
17778 (grub_console_checkkey): Wrap efi calls.
17779 (grub_console_getkey): Likewise.
17780 (grub_console_getwh): Likewise.
17781 (grub_console_gotoxy): Likewise.
17782 (grub_console_cls): Likewise.
17783 (grub_console_setcolorstate): Likewise.
17784 (grub_console_setcursor): Likewise.
17785
17786 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17787
17788 2008-07-16 Pavel Roskin <proski@gnu.org>
17789
17790 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17791 format strings.
17792
17793 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17794 pointer, not an integer. This fixes a warning and prevents
17795 precision loss on 64-bit systems.
17796 (relocate_addresses): Remove unneeded cast.
17797
17798 2008-07-15 Pavel Roskin <proski@gnu.org>
17799
17800 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17801
17802 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17803
17804 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17805 Fix comparison between signed and unsigned.
17806
17807 * include/grub/i386/ieee1275/console.h: Declare
17808 grub_console_init() and grub_console_fini().
17809
17810 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17811 It's empty and unused.
17812
17813 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17814 beginning to avoid warnings with some compilers.
17815
17816 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17817 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17818
17819 2008-07-14 Pavel Roskin <proski@gnu.org>
17820
17821 * kern/env.c (grub_register_variable_hook): Don't copy empty
17822 string, it leaks memory. Pass "" to grub_env_set(), it should
17823 handle constant strings.
17824
17825 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17826 * commands/cmp.c (grub_cmd_cmp): Likewise.
17827 * kern/dl.c (grub_dl_flush_cache): Likewise.
17828 (grub_dl_load_core): Likewise.
17829 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17830 (grub_elf64_load_phdrs): Likewise.
17831
17832 2008-07-13 Pavel Roskin <proski@gnu.org>
17833
17834 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17835 between signed and unsigned.
17836 (LzmaEnc_Finish): Fix warning about an unused parameter.
17837
17838 2008-07-13 Bean <bean123ch@gmail.com>
17839
17840 * Makefile.in (enable_lzo): New rule.
17841
17842 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17843
17844 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17845
17846 * boot/i386/pc/lnxboot.S: #include <config.h>.
17847
17848 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17849 its value according to the compression algorithm used, lzo or lzma.
17850
17851 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17852 compression algorithm according to configure macro.
17853
17854 * kern/i386/pc/startup.S (codestart): Likewise.
17855
17856 * kern/i386/pc/lzma_decode.S: New file.
17857
17858 * include/grub/lib/LzFind.h: Likewise.
17859
17860 * include/grub/lib/LzHash.h: Likewise.
17861
17862 * include/grub/lib/LzmaDec.h: Likewise.
17863
17864 * include/grub/lib/LzmaEnc.h: Likewise.
17865
17866 * include/grub/lib/LzmaTypes.h: Likewise.
17867
17868 * lib/LzFind.c: Likewise.
17869
17870 * lib/LzmaDec.c: Likewise.
17871
17872 * lib/LzmaEnc.c: Likewise.
17873
17874 2008-07-13 Bean <bean123ch@gmail.com>
17875
17876 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17877 (grub_ext4_extent_header): New structure.
17878 (grub_ext4_extent): Likewise.
17879 (grub_ext4_extent_idx): Likewise.
17880 (grub_ext4_find_leaf): New function.
17881 (grub_ext2_read_block): Handle extents.
17882
17883 2008-07-12 Robert Millan <rmh@aybabtu.com>
17884
17885 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17886
17887 2008-07-11 Robert Millan <rmh@aybabtu.com>
17888
17889 * util/grub.d/40_custom.in: New file. Example on how to add custom
17890 entries to /etc/grub.d.
17891 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17892 40_custom (implicitly, by merging all the grub.d rules).
17893
17894 2008-07-11 Pavel Roskin <proski@gnu.org>
17895
17896 * commands/read.c (grub_getline): Fix invalid memory access.
17897 Don't add newline to the variable value.
17898
17899 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17900 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17901 (serial_hw_get_port): Check validity of the port number.
17902 (grub_cmd_serial): Check return value of serial_hw_get_port().
17903
17904 2008-07-07 Pavel Roskin <proski@gnu.org>
17905
17906 * boot/i386/pc/diskboot.S (notification_string): Replace
17907 "Loading kernel" with just "loading". This is shorter, less
17908 confusing and saves a few bytes for possible future changes.
17909
17910 2008-07-05 Pavel Roskin <proski@gnu.org>
17911
17912 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17913 size for ATAPI devices, they are undefined. Output sector
17914 number in decimal form.
17915
17916 * disk/ata.c: Use named constants for status bits.
17917
17918 2008-07-04 Pavel Roskin <proski@gnu.org>
17919
17920 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17921 grub_addr_t before casting it to the void pointer to fix a
17922 warning. Non-addressable regions are discarded earlier.
17923 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17924 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17925 (check_signature): Don't shadow table_header.
17926 (grub_linuxbios_table_iterate): Cast numeric constants to
17927 grub_linuxbios_table_header_t.
17928 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17929 grub_stop().
17930
17931 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17932 prevent warnings.
17933
17934 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17935 pointer, which can cause warnings. Support 64-bit addresses.
17936
17937 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17938 of sizeof(long). This fixes PowerPC image generation on x86_64.
17939
17940 2008-07-04 Robert Millan <rmh@aybabtu.com>
17941
17942 This fixes a performance issue when pc & gpt partmap iterators
17943 didn't abort iteration even after our hook found what it was
17944 looking for (often causing expensive probes of non-existent drives).
17945
17946 Some callers relied on previous buggy behaviour, since they would
17947 raise an error when their own hooks caused early abortion of its
17948 iteration.
17949
17950 * kern/device.c (grub_device_open): Improve error message.
17951 * disk/lvm.c (grub_lvm_open): Likewise.
17952 * disk/raid.c (grub_raid_open): Likewise.
17953
17954 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17955 when hook requests it, independently of grub_errno.
17956 (pc_partition_map_probe): Do not fail when find_func() caused
17957 early abortion of pc_partition_map_iterate().
17958
17959 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17960 when hook requests it, independently of grub_errno.
17961 (gpt_partition_map_probe): Do not fail when find_func() caused
17962 early abortion of gpt_partition_map_iterate().
17963
17964 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17965 when hook requests it, independently of grub_errno. Do not fail when
17966 part_map_iterate_hook() caused early abortion of p->iterate().
17967
17968 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17969 when grub_partition_iterate() returned with non-zero.
17970
17971 2008-07-03 Pavel Roskin <proski@gnu.org>
17972
17973 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17974 like we do in grub_ata_pio_read().
17975 (grub_ata_readwrite): Always write individual sectors. Fix the
17976 sector count for the remainder.
17977 (grub_ata_write): Enable writing to ATA devices. Correctly
17978 report error for ATAPI devices.
17979
17980 2008-07-02 Pavel Roskin <proski@gnu.org>
17981
17982 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17983 warning.
17984
17985 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17986 for every read sector, we already increment it for the whole
17987 batch. This fixes reading more than 256 sectors at once.
17988
17989 * util/grub-editenv.c (cmd_info): Cast argument to long
17990 explicitly. ptrdiff_t reduces to int on i386.
17991
17992 * util/grub-editenv.c (main): Be specific which parameter is
17993 missing.
17994
17995 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17996 (memdisk): Make memdisk_orig_addr a pointer.
17997
17998 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17999 for file offsets, use grub_off_t instead. Fix printf format
18000 warnings.
18001
18002 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18003 there. Real unexpected warnings should not drown in the noise
18004 about known problems.
18005
18006 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18007 grub_disk_addr_t for memory addresses.
18008
18009 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18010 explicitly to fix a warning.
18011
18012 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18013
18014 * Makefile.in (MODULE_LDFLAGS): New variable.
18015 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18016 the linker accepts --build-id=none.
18017 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18018 MODULE_LDFLAGS.
18019 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18020
18021 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18022 those in Linux XFS code. Provide a way to access 64-bit parent
18023 inode.
18024 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18025 the end of struct grub_xfs_dir_header.
18026
18027 2008-07-02 Bean <bean123ch@gmail.com>
18028
18029 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18030 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18031 and GRUB_IEEE1275_FLAG_NO_ANSI.
18032
18033 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18034 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18035 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18036
18037 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18038 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18039
18040 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18041 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18042
18043 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18044 esc sequence on non ANSI terminal.
18045 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18046
18047 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18048 beginning of file.
18049
18050 2008-07-02 Bean <bean123ch@gmail.com>
18051
18052 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18053 (grub_editenv_SOURCES): New variable.
18054 (pkglib_MODULES): Add loadenv.mod.
18055 (loadenv_mod_SOURCES): New variable.
18056 (loadenv_mod_CFLAGS): Likewise.
18057 (loadenv_mod_LDFLAGS): Likewise.
18058
18059 * include/grub/envblk.h: New file.
18060
18061 * util/envblk.c: New file.
18062
18063 * util/grub-editenv.c: New file.
18064
18065 * commands/loadenv.c: New file.
18066
18067 2008-07-01 Pavel Roskin <proski@gnu.org>
18068
18069 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18070 not unsigned char. This fixes warnings and is consistent with
18071 other tags.
18072
18073 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18074
18075 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18076
18077 * term/tparm.c (analyze): Always set *popcount.
18078
18079 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18080 cast to fix a warning.
18081
18082 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18083 cast to suppress a warning.
18084
18085 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18086 grub_fshelp_read_file() expects.
18087
18088 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18089 write uuid as a 32-bit value in CPU byte order, so declare and
18090 use it as such.
18091
18092 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18093 long if the format specifier expects it.
18094 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18095 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18096 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18097 long to fix a warning.
18098 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18099 grub_dprintf() arguments to fix warnings.
18100
18101 2008-06-30 Pavel Roskin <proski@gnu.org>
18102
18103 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18104 install_bsd_part immediately before core.img is embedded or
18105 modified on disk. This fixes core.img verification if core.img
18106 cannot be embedded.
18107
18108 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18109 core_path to calculate the blocklist.
18110 Patch from Javier Martín <lordhabbit@gmail.com>
18111
18112 2008-06-29 Robert Millan <rmh@aybabtu.com>
18113
18114 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18115 block to disk block.
18116 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18117 Patch from Niels Böhm <bitbucket@arcor.de>
18118
18119 2008-06-29 Robert Millan <rmh@aybabtu.com>
18120
18121 * util/update-grub_lib.in (font_path): Search for fonts in
18122 /boot/grub first, which is more likely to be readable (we aren't
18123 deciding where fonts live, just looking for them).
18124
18125 2008-06-26 Pavel Roskin <proski@gnu.org>
18126
18127 * util/biosdisk.c (read_device_map): Don't leave dead map
18128 entries for devices failing stat() check.
18129
18130 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18131 core_path_dev for the core.img path on the target device.
18132
18133 2008-06-26 Robert Millan <rmh@aybabtu.com>
18134
18135 * disk/fs_uuid.c: New file.
18136 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18137 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18138 (fs_uuid_mod_LDFLAGS): New variables.
18139 * include/grub/disk.h (grub_disk_dev_id): Add
18140 `GRUB_DISK_DEVICE_UUID_ID'.
18141 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18142 implement iterate().
18143
18144 2008-06-26 Robert Millan <rmh@aybabtu.com>
18145
18146 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18147 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18148 Linux image includes no initrd.
18149
18150 2008-06-21 Javier Martín <lordhabbit@gmail.com>
18151
18152 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18153 call to resolve the core image location that effectively appended the
18154 name twice.
18155
18156 2008-06-21 Robert Millan <rmh@aybabtu.com>
18157
18158 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18159 call from here ...
18160
18161 * util/grub.d/10_hurd.in: ... to here ...
18162 * util/grub.d/10_linux.in: ... and here.
18163
18164 2008-06-19 Robert Millan <rmh@aybabtu.com>
18165
18166 * kern/main.c (grub_main): Export `prefix' variable immediately
18167 after it has been set by grub_machine_set_prefix().
18168
18169 2008-06-19 Robert Millan <rmh@aybabtu.com>
18170
18171 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18172 search result when not saving to variable, not the other way around.
18173 When saving to variable, abort iteration as soon as a match is found.
18174
18175 2008-06-19 Robert Millan <rmh@aybabtu.com>
18176
18177 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18178 check for partition that provides /boot/grub. Its logic is flawed,
18179 as it prevents prepare_grub_to_access_device() from being called
18180 multiple times.
18181
18182 2008-06-19 Robert Millan <rmh@aybabtu.com>
18183
18184 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18185 "insmod" command directly when abstraction modules are needed,
18186 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
18187 since it had already been processed).
18188
18189 2008-06-19 Pavel Roskin <proski@gnu.org>
18190
18191 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18192 changed. This is needed in case GRUB_LIBDIR changes.
18193 * conf/i386-ieee1275.rmk: Likewise.
18194 * conf/i386-linuxbios.rmk: Likewise.
18195 * conf/i386-pc.rmk: Likewise.
18196 * conf/powerpc-ieee1275.rmk: Likewise.
18197
18198 2008-06-18 Pavel Roskin <proski@gnu.org>
18199
18200 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18201 kernel_elf_symlist.c to symlist.c for consistency with other
18202 architectures. Update all users.
18203 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18204
18205 2008-06-18 Robert Millan <rmh@aybabtu.com>
18206
18207 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18208 it in prefix.
18209
18210 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18211 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18212 a RAID device, run setup() for all members independently on whether
18213 LVM abstraction is being used.
18214 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18215 If grub-mkimage has set `*install_dos_part == -2', don't override this
18216 value.
18217 Perform *install_dos_part adjustments independently on whether
18218 we're embedding or not.
18219 Clarify error message when image is too big for embedding.
18220 Remove duplicate *install_dos_part stanza.
18221
18222 2008-06-17 Robert Millan <rmh@aybabtu.com>
18223
18224 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18225 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18226 variables.
18227 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18228 values in grub_ofconsole_normal_color and
18229 grub_ofconsole_highlight_color (they're not directly related to
18230 background and foreground).
18231 (grub_ofconsole_setcolorstate): Extract background and foreground
18232 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18233
18234 2008-06-17 Robert Millan <rmh@aybabtu.com>
18235
18236 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18237 /boot/grub for the check in last commit, not /boot (they could be
18238 different partitions).
18239
18240 2008-06-16 Robert Millan <rmh@aybabtu.com>
18241
18242 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18243 asked to setup access for the same partition that provides /boot,
18244 don't bother using UUIDs since our root already has the value we
18245 want.
18246
18247 2008-06-16 Robert Millan <rmh@aybabtu.com>
18248
18249 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18250 I2O devices.
18251 Patch from Sven Mueller <sven@debian.org>.
18252
18253 2008-06-16 Robert Millan <rmh@aybabtu.com>
18254
18255 * util/update-grub.in: Check for $EUID instead of $UID.
18256 Reported by Vincent Zweije.
18257
18258 2008-06-16 Bean <bean123ch@gmail.com>
18259
18260 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18261 (grub_ext2_read_block): Likewise.
18262 (grub_ext2_read_inode): Likewise.
18263 (grub_ext2_mount): Likewise.
18264 (grub_ext2_close): Likewise.
18265 (grub_ext3_get_journal): Removed.
18266
18267 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18268 (grub_reiserfs_read_symlink): Likewise.
18269 (grub_reiserfs_mount): Likewise.
18270 (grub_reiserfs_open): Likewise.
18271 (grub_reiserfs_read): Likewise.
18272 (grub_reiserfs_close): Likewise.
18273 (grub_reiserfs_get_journal): Removed.
18274
18275 * fs/fshelp.c (grub_fshelp_read): Removed.
18276 (grub_fshelp_map_block): Likewise.
18277
18278 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18279 (grub_fshelp_journal): Likewise.
18280 (grub_fshelp_read): Likewise.
18281 (grub_fshelp_map_block): Likewise.
18282
18283 2008-06-16 Pavel Roskin <proski@gnu.org>
18284
18285 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18286 floating point anymore.
18287 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18288
18289 2008-06-15 Pavel Roskin <proski@gnu.org>
18290
18291 * commands/ls.c (grub_ls_list_files): Use integer calculations
18292 for human readable format, avoid floating point use.
18293 * kern/misc.c (grub_ftoa): Remove.
18294 (grub_vsprintf): Remove floating point support.
18295
18296 2008-06-15 Robert Millan <rmh@aybabtu.com>
18297
18298 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18299 devices.
18300 Reported by Max Vozeler.
18301
18302 2008-06-15 Robert Millan <rmh@aybabtu.com>
18303
18304 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18305 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18306 skipped later.
18307 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18308 the beginning of the prefix.
18309
18310 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18311 It is assumed that if we have a memdisk, grub-mkimage has set
18312 grub_prefix to include the "(memdisk)" drive in it.
18313
18314 2008-06-15 Robert Millan <rmh@aybabtu.com>
18315
18316 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18317 Initialize keyboard controller after registering the terminal, so that
18318 grub_printf() can be called from grub_keyboard_controller_init().
18319
18320 2008-06-15 Robert Millan <rmh@aybabtu.com>
18321
18322 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18323 extent-btree which is written as big endian on disk.
18324 Reported by Alain Greppin <al@chilibi.org>.
18325
18326 2008-06-14 Robert Millan <rmh@aybabtu.com>
18327
18328 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18329 * util/i386/pc/grub-install.in (modules): Likewise.
18330
18331 2008-06-13 Pavel Roskin <proski@gnu.org>
18332
18333 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18334
18335 2008-06-13 Bean <bean123ch@gmail.com>
18336
18337 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18338
18339 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18340
18341 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18342 to indicate sparse block.
18343
18344 2008-06-12 Pavel Roskin <proski@gnu.org>
18345
18346 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18347 number, grub_fshelp_read() does it for us.
18348
18349 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18350 linear disk read with journal translation.
18351 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18352 * include/grub/fshelp.h: Declare grub_fshelp_read().
18353
18354 2008-06-09 Pavel Roskin <proski@gnu.org>
18355
18356 * fs/minix.c (grub_minix_mount): Handle error reading
18357 superblock.
18358
18359 2008-06-08 Robert Millan <rmh@aybabtu.com>
18360
18361 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18362 don't append the RAID prefix afterwards.
18363 Reported by Clint Adams.
18364
18365 2008-06-08 Robert Millan <rmh@aybabtu.com>
18366
18367 Based on description from Pavel:
18368 * kern/disk.c (grub_disk_check_range): Rename to ...
18369 (grub_disk_adjust_range): ... this. Add a comment explaining the
18370 tasks performed by this function.
18371
18372 2008-06-08 Robert Millan <rmh@aybabtu.com>
18373
18374 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18375 `num_serial' (for consistency with other variables).
18376 (struct grub_ntfs_data): Add `uuid' member.
18377 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18378 (grub_ntfs_uuid): New function.
18379 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18380
18381 2008-06-07 Pavel Roskin <proski@gnu.org>
18382
18383 * util/biosdisk.c (open_device): Revert last change to the
18384 function, it broke installation. The sector needs to be
18385 different dependent on which device is opened.
18386
18387 2008-06-06 Robert Millan <rmh@aybabtu.com>
18388
18389 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18390 rest of GRUB, and breakage doesn't happen if its value were modified.
18391
18392 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18393 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18394 a constant (same value).
18395 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18396 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18397
18398 2008-06-06 Robert Millan <rmh@aybabtu.com>
18399
18400 * util/biosdisk.c (open_device): Do not modify sector offset when
18401 accessing a partition. kern/disk.c already handles this for us.
18402
18403 2008-06-06 Robert Millan <rmh@aybabtu.com>
18404
18405 * util/grub-emu.c (grub_machine_init): Move code in this function from
18406 here ...
18407 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18408 segfault in case grub_printf() is called).
18409
18410 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18411 grub_probe. Update all users not to explicitly add it again.
18412 (grub_device): New variable; contains corresponding device for grubdir.
18413 (fs_module, partmap_module, devabstraction_module): Pass
18414 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18415 every time.
18416
18417 2008-06-05 Robert Millan <rmh@aybabtu.com>
18418
18419 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18420 is found, print it (same layout as with labels).
18421
18422 2008-06-04 Robert Millan <rmh@aybabtu.com>
18423
18424 * util/biosdisk.c (get_drive): Rename to ...
18425 (find_grub_drive): ... this. Update all users.
18426
18427 (get_os_disk): Rename to ...
18428 (convert_system_partition_to_system_disk): ... this. Update all users.
18429
18430 (find_drive): Rename to ...
18431 (find_system_device): ... this. Update all users.
18432
18433 2008-06-04 Robert Millan <rmh@aybabtu.com>
18434
18435 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18436 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18437 (make_device_map): Likewise.
18438
18439 2008-06-01 Robert Millan <rmh@aybabtu.com>
18440
18441 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18442 before dereferencing it.
18443
18444 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18445 union with fat12/fat16-specific ones. Add some new fields, including
18446 `num_serial' for both versions.
18447 (struct grub_fat_data): Add `uuid' member.
18448 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18449 names. Initialize `data->uuid' using `num_serial'.
18450 (grub_fat_uuid): New function.
18451 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18452
18453 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18454 (grub_reiserfs_uuid): New function.
18455 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18456 member.
18457
18458 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18459 (grub_xfs_uuid): New function.
18460 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18461
18462 2008-06-01 Robert Millan <rmh@aybabtu.com>
18463
18464 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18465 code that is backward compatible with pre-uuid search command.
18466
18467 2008-05-31 Robert Millan <rmh@aybabtu.com>
18468
18469 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18470 floppies after everything else, to ensure floppy drive isn't accessed
18471 unnecessarily (patch from Bean).
18472
18473 2008-05-31 Robert Millan <rmh@aybabtu.com>
18474
18475 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18476 not print device names when we were asked to set a variable.
18477
18478 2008-05-31 Robert Millan <rmh@aybabtu.com>
18479
18480 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18481 using "cursor-on" and "cursor-off" commands (understood at least by
18482 the Open Firmware flavour on OLPC).
18483
18484 2008-05-31 Michael Gorven <michael@gorven.za.net>
18485
18486 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18487 on and off sequences.
18488
18489 2008-05-31 Robert Millan <rmh@aybabtu.com>
18490
18491 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18492 * util/update-grub.in: Likewise.
18493
18494 2008-05-30 Pavel Roskin <proski@gnu.org>
18495
18496 * util/biosdisk.c (linux_find_partition): Simplify logic and
18497 make the code more universal. Keep special processing for
18498 devfs, but use a simple rule for all other devices. If the
18499 device ends with a number, append 'p' and the partition number.
18500 Otherwise, append only the partition number.
18501
18502 2008-05-30 Robert Millan <rmh@aybabtu.com>
18503
18504 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18505 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18506 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18507 the `root' parameter to Linux.
18508
18509 2008-05-30 Robert Millan <rmh@aybabtu.com>
18510
18511 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18512 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18513 --fs_uuid with --fs-uuid.
18514 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18515 all filesystems support them).
18516
18517 2008-05-30 Robert Millan <rmh@aybabtu.com>
18518
18519 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18520 grub_printf() flags, since we're printing in units of 2 bytes.
18521
18522 2008-05-30 Robert Millan <rmh@aybabtu.com>
18523
18524 * util/grub.d/00_header.in: Remove obsolete comment referencing
18525 convert_system_path_to_grub_path().
18526 * util/update-grub.in: Likewise.
18527 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18528 (convert_system_path_to_grub_path): Add a warning message explaining
18529 that this function is deprecated. Rely on is_path_readable_by_grub()
18530 for the readability checks.
18531 (font_path): Use is_path_readable_by_grub() for the readability
18532 check rather than convert_system_path_to_grub_path().
18533
18534 2008-05-30 Robert Millan <rmh@aybabtu.com>
18535
18536 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18537 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18538 converting it first.
18539 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18540 grub.cfg for access to font file, and afterwards call it again to set
18541 the root device.
18542
18543 2008-05-30 Robert Millan <rmh@aybabtu.com>
18544
18545 * commands/search.c (options): Add --fs_uuid option.
18546 (search_fs_uuid): New function.
18547 (grub_cmd_search): Fix --set argument passing.
18548 Use search_fs_uuid() when requested via --fs_uuid.
18549 (grub_search_init): Update help message.
18550 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18551 and redeclare it as an array of 16-bit words.
18552 (grub_ext2_uuid): New function.
18553 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18554 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18555 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18556 (GRUB_DEVICE_BOOT_UUID): New variables.
18557 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18558 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18559 whenever possible.
18560 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18561 just assume `root' variable has the right value.
18562 * util/grub.d/10_linux.in: Likewise.
18563 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18564 via PRINT_FS_UUID.
18565 (main): Recognise `-t fs_uuid' argument.
18566
18567 2008-05-30 Robert Millan <rmh@aybabtu.com>
18568
18569 * util/biosdisk.c (map): Redefine structure to hold information
18570 about GRUB drive name.
18571 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18572 drive names.
18573 (call_hook): Remove.
18574 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18575 member. Assume drive has partitions.
18576 (grub_util_biosdisk_open): Access device names via `.device' struct
18577 member.
18578 (open_device): Likewise.
18579 (find_drive): Likewise.
18580 (read_device_map): Adjust map[] usage to match the new struct
18581 definition. Don't check for duplicates (still possible, but not cheap
18582 anymore).
18583 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18584 (make_device_name): Remove assumption of BIOS-like drive names.
18585
18586 2008-05-30 Pavel Roskin <proski@gnu.org>
18587
18588 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18589 compiling execute.c doesn't need grub_script.tab.h anymore.
18590 (normal/command.c_DEPENDENCIES): Likewise.
18591 (normal/function.c_DEPENDENCIES): Likewise.
18592 * conf/i386-ieee1275.rmk: Likewise.
18593 * conf/i386-linuxbios.rmk: Likewise.
18594 * conf/i386-pc.rmk: Likewise.
18595 * conf/powerpc-ieee1275.rmk: Likewise.
18596 * conf/sparc64-ieee1275.rmk: Likewise.
18597
18598 2008-05-29 Pavel Roskin <proski@gnu.org>
18599
18600 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18601 when scanning metadata for volume group name.
18602
18603 * include/grub/script.h: Don't include grub_script.tab.h. It's
18604 a generated file, which may only be included from the files with
18605 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18606 use union YYSTYPE, as the later allows forward declaration.
18607 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18608
18609 2008-05-29 Robert Millan <rmh@aybabtu.com>
18610
18611 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18612 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18613 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18614 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18615 scan codes.
18616
18617 2008-05-29 Robert Millan <rmh@aybabtu.com>
18618
18619 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18620 control key combinations.
18621
18622 2008-05-29 Robert Millan <rmh@aybabtu.com>
18623
18624 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18625 * util/ieee1275/grub-install.in: ... to here.
18626 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18627 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18628 (grub_install_SOURCES): Likewise.
18629
18630 2008-05-29 Robert Millan <rmh@aybabtu.com>
18631
18632 * fs/affs.c: Update copyright year.
18633 * fs/ext2.c: Likewise.
18634 * fs/fshelp.c: Likewise.
18635 * fs/hfsplus.c: Likewise.
18636 * fs/ntfs.c: Likewise.
18637 * fs/xfs.c: Likewise.
18638 * include/grub/fshelp.h: Likewise.
18639 * util/grub-mkdevicemap.c: Likewise.
18640
18641 2008-05-28 Robert Millan <rmh@aybabtu.com>
18642
18643 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18644 might need to be fatfs to support some firmware implementations
18645 (e.g. OFW or EFI).
18646
18647 2008-05-28 Robert Millan <rmh@aybabtu.com>
18648
18649 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18650 devices.
18651 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18652 (make_device_map): Likewise.
18653
18654 2008-05-20 Bean <bean123ch@gmail.com>
18655
18656 * fs/fshelp.c (grub_fshelp_map_block): New function.
18657 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18658 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18659
18660 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18661 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18662 (grub_fshelp_journal): New structure.
18663 (grub_fshelp_map_block): New function prototype.
18664 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18665 (grub_fshelp_map_block): Likewise.
18666
18667 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18668 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18669 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18670 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18671 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18672 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18673 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18674 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18675 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18676 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18677 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18678 (grub_ext2_sblock): New members for journal support.
18679 (grub_ext3_journal_header): New structure.
18680 (grub_ext3_journal_revoke_header): Likewise.
18681 (grub_ext3_journal_block_tag): Likewise.
18682 (grub_ext3_journal_sblock): Likewise.
18683 (grub_fshelp_node): New members logfile and journal.
18684 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18685 grub_fshelp_map_block to get real block number.
18686 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18687 number.
18688 (grub_ext2_read_inode): Likewise.
18689 (grub_ext3_get_journal): New function.
18690 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18691 (grub_ext2_close): Release memory used by journal.
18692
18693 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18694 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18695 (grub_reiserfs_transaction_header): Renamed to
18696 grub_reiserfs_description_block, replace field data with real_blocks.
18697 (grub_reiserfs_commit_block): New structure.
18698 (grub_reiserfs_data): New member journal.
18699 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18700 number.
18701 (grub_reiserfs_read_symlink): Likewise.
18702 (grub_reiserfs_iterate_dir): Likewise.
18703 (grub_reiserfs_open): Likewise.
18704 (grub_reiserfs_read): Likewise.
18705 (grub_reiserfs_get_journal): New function.
18706 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18707 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18708 using grub_reiserfs_get_journal.
18709 (grub_reiserfs_close): Release memory used by journal.
18710
18711 * fs/affs.c (grub_affs_read_block): Change block type to
18712 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18713
18714 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18715
18716 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18717
18718 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18719
18720 * fs/udf.c (grub_udf_read_block): Change block type to
18721 grub_disk_addr_t. Use type cast to avoid warning.
18722
18723 * fs/xfs.c (grub_xfs_read_block): Likewise.
18724
18725 2008-05-16 Christian Franke <franke@computer.org>
18726
18727 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18728 to ensure that break with ESC will always work.
18729 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18730 Remove ESC from keyboard queue.
18731
18732 2008-05-16 Christian Franke <franke@computer.org>
18733
18734 * util/biosdisk.c: [__CYGWIN__] Add includes.
18735 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18736 (get_os_disk): Move variable declarations to OS specific
18737 parts to avoid warning.
18738 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18739 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18740 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18741 Cygwin.
18742 * util/getroot.c: [__CYGWIN__] Add includes.
18743 (strip_extra_slashes): Fix "/" case.
18744 [__CYGWIN__] (get_win32_path): New function.
18745 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18746 [__CYGWIN__] (find_root_device): Disable.
18747 [__CYGWIN__] (get_bootsec_serial): New function.
18748 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18749 [__linux__] (grub_guess_root_device): Add early returns to simplify
18750 structure.
18751 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18752 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18753 check for Linux only.
18754
18755 2008-05-15 Bean <bean123ch@gmail.com>
18756
18757 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18758 keyboard hang problem in apple's intel mac.
18759
18760 2008-05-09 Robert Millan <rmh@aybabtu.com>
18761
18762 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18763 devices.
18764 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18765 (make_device_map): Likewise.
18766 Reported by Aurelien Jarno <aurel32@debian.org>
18767
18768 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18769
18770 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18771 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18772 (make_device_map): Output entries for xvd type disks.
18773
18774 2008-05-07 Robert Millan <rmh@aybabtu.com>
18775
18776 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18777 devices.
18778 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18779 (make_device_map): Likewise.
18780 Reported by Roland Dreier <rdreier@cisco.com>
18781
18782 2008-05-07 Robert Millan <rmh@aybabtu.com>
18783
18784 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18785 grub_strstr() call. Correct a few mistakes in failure path handling.
18786
18787 2008-05-06 Robert Millan <rmh@aybabtu.com>
18788
18789 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18790 Do not print a trailing slash (therefore, the root directory is an
18791 empty string).
18792 (convert_system_path_to_grub_path): Do not remove trailing slash
18793 from make_system_path_relative_to_its_root() output.
18794
18795 * util/i386/pc/grub-install.in: Add trailing slash to output from
18796 make_system_path_relative_to_its_root().
18797
18798 2008-05-06 Robert Millan <rmh@aybabtu.com>
18799
18800 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18801 ensures that output lines aren't intermangled with those sent to
18802 stderr (via grub_util_info()).
18803 * util/grub-probe.c (grub_refresh): Likewise.
18804 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18805
18806 2008-05-05 Christian Franke <franke@computer.org>
18807
18808 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18809 Add Cygwin device names.
18810 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18811 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18812 (check_device): Return error instead of success on empty name.
18813 (make_device_map): Move label inside linux specific code to
18814 prevent compiler warning.
18815
18816 2008-04-30 Robert Millan <rmh@aybabtu.com>
18817
18818 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18819 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18820 first boot option.
18821 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18822
18823 2008-04-29 Robert Millan <rmh@aybabtu.com>
18824
18825 * docs/grub.cfg: New file (example GRUB configuration).
18826
18827 2008-04-26 Robert Millan <rmh@aybabtu.com>
18828
18829 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18830 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18831 and `disk/ieee1275/nand.c'.
18832
18833 2008-04-25 Bean <bean123ch@gmail.com>
18834
18835 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18836 i386-linuxbios.
18837
18838 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18839 change the buffer size to 4096 for cdrom device.
18840
18841 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18842 and nand.mod.
18843 (_linux_mod_SOURCES): New variable.
18844 (_linux_mod_CFLAGS): Likewise.
18845 (_linux_mod_LDFLAGS): Likewise.
18846 (linux_mod_SOURCES): Likewise.
18847 (linux_mod_CFLAGS): Likewise.
18848 (linux_mod_LDFLAGS): Likewise.
18849 (nand_mod_SOURCES): Likewise.
18850 (nand_mod_CFLAGS): Likewise.
18851 (nand_mod_LDFLAGS): Likewise.
18852
18853 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18854 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18855 type property. (nand device in olpc don't have this property)
18856
18857 * include/grub/disk.h (grub_disk_dev_id): New macro
18858 GRUB_DISK_DEVICE_NAND_ID.
18859
18860 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18861 function prototype.
18862 (grub_rescue_cmd_initrd): Likewise.
18863
18864 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18865 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18866 ofw_cif_handler and ofw_idt, adjust padding number.
18867
18868 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18869 GRUB_MACHINE_IEEE1275 is defined.
18870
18871 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18872 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18873
18874 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18875 on nested function heap_init.
18876 (grub_upper_mem): New variable for i386-ieee1275.
18877 (grub_get_extended_memory): New function for i386-ieee1275.
18878 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18879
18880 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18881 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18882 property.
18883
18884 * loader/i386/ieee1275/linux.c: New file.
18885
18886 * loader/i386/ieee1275/linux_normal.c: New file.
18887
18888 * disk/ieee1275/nand.c: New file.
18889
18890 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18891
18892 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18893 value.
18894 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18895
18896 2008-04-18 Robert Millan <rmh@aybabtu.com>
18897
18898 Restructures early code path on ieee1275 to unify grub_main() as
18899 the first C function that is executed in every platform.
18900
18901 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18902 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18903 cmain().
18904 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18905 * kern/ieee1275/cmain.c (cmain): Rename to ...
18906 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18907 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18908 at the beginning.
18909
18910 2008-04-18 Robert Millan <rmh@aybabtu.com>
18911
18912 * util/update-grub.in: Fix syntax error when setting
18913 `GRUB_PRELOAD_MODULES'.
18914 Reported by Stephane Chazelas <stephane@artesyncp.com>
18915
18916 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18917
18918 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18919 section into account, newer toolchains generate unique build ids
18920 * configure.ac: remove the test for --build-id=none acceptance,
18921 we want build ids to be preserved
18922 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18923 far from other sections don't cause the raw binary images grow
18924 size
18925
18926 2008-04-15 Robert Millan <rmh@aybabtu.com>
18927
18928 * disk/lvm.c: Update copyright year.
18929 * kern/misc.c: Likewise.
18930
18931 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18932
18933 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18934 there is no memory left for physical volume name.
18935
18936 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18937
18938 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18939 volume name mapping to support bigger than 9 character names properly.
18940
18941 2008-04-13 Robert Millan <rmh@aybabtu.com>
18942
18943 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18944 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18945
18946 2008-04-13 Christian Franke <franke@computer.org>
18947
18948 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18949 to create a floppy emulation boot CD when non emulation mode
18950 does not work.
18951 Enable Joliet CD filesystem extension.
18952
18953 2008-04-13 Robert Millan <rmh@aybabtu.com>
18954
18955 * kern/misc.c (grub_strncat): Fix off-by-one error.
18956 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18957
18958 * kern/env.c (grub_env_context_close): Clear current context, not
18959 previous one.
18960 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18961
18962 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18963
18964 2008-04-13 Robert Millan <rmh@aybabtu.com>
18965
18966 Improve robustness when handling LVM.
18967
18968 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18969 (and leave `*p' unmodified).
18970 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18971 through it.
18972 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18973 iterating through it.
18974 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18975 through it.
18976 (grub_lvm_scan_device): Check the return value (and fail gracefully
18977 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18978 Don't assume `vg->pvs != NULL' when iterating through it.
18979
18980 2008-04-13 Robert Millan <rmh@aybabtu.com>
18981
18982 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18983 * genmk.rb (partmap): New variable.
18984 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18985 (#{partmap}): New target rule.
18986 * genpartmaplist.sh: New file.
18987 * Makefile.in (pkglib_DATA): Add partmap.lst.
18988 (partmap.lst): New target rule.
18989 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18990 modules (including all partition maps), instead of preloading them.
18991
18992 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18993
18994 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18995 `linux-boot-prober' (if installed) to detect other operating
18996 systems which are installed on the computer and add them to
18997 the boot menu.
18998 * conf/common.rmk: Build and install 30_os-prober.
18999
19000 2008-04-12 Robert Millan <rmh@aybabtu.com>
19001
19002 * kern/powerpc/ieee1275/init.c: Move from here ...
19003 * kern/ieee1275/init.c: ... to here. Update all users.
19004
19005 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19006 * kern/ieee1275/cmain.c: ... to here. Update all users.
19007
19008 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19009 * kern/ieee1275/openfw.c: ... to here. Update all users.
19010
19011 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19012 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19013
19014 2008-04-10 Pavel Roskin <proski@gnu.org>
19015
19016 * configure.ac: Always use "_cv_" in cache variables for
19017 compatibility with Autoconf 2.62.
19018
19019 2008-04-07 Robert Millan <rmh@aybabtu.com>
19020
19021 Revert grub/machine/init.h addition by Pavel (since it breaks on
19022 i386-ieee1275 and others):
19023 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19024 * util/powerpc/ieee1275/misc.c: Likewise.
19025
19026 2008-04-07 Robert Millan <rmh@aybabtu.com>
19027
19028 * util/grub-probe.c (probe): Improve error message.
19029
19030 2008-04-07 Robert Millan <rmh@aybabtu.com>
19031
19032 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19033 (this prevents the presence of a bogus entry from ruining the whole
19034 thing).
19035
19036 2008-04-06 Pavel Roskin <proski@gnu.org>
19037
19038 * util/biosdisk.c: Include grub/util/biosdisk.h.
19039 * util/grub-fstest.c (execute_command): Make static.
19040 * util/grub-mkdevicemap.c (check_device): Likewise.
19041 * util/i386/pc/misc.c: Include grub/machine/init.h.
19042 * util/powerpc/ieee1275/misc.c: Likewise.
19043 * util/lvm.c: Include grub/util/lvm.h.
19044 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19045 grub/cache.h.
19046 * util/raid.c: Include grub/util/raid.h.
19047 (grub_util_getdiskname): Make static.
19048
19049 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19050 grub_hostfs_fini(), as they are called from grub_init_all() and
19051 grub_fini_all() respectively. This fixes an infinite loop in
19052 grub-fstest due to double registration of hostfs.
19053 Reported by Christian Franke <Christian.Franke@t-online.de>
19054
19055 2008-04-05 Pavel Roskin <proski@gnu.org>
19056
19057 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19058 all 8 functions. Otherwise, probe function 0 only.
19059
19060 2008-04-04 Pavel Roskin <proski@gnu.org>
19061
19062 * commands/lspci.c (grub_lspci_iter): Print the bus number
19063 correctly.
19064
19065 * commands/lspci.c (grub_pci_classes): Fix typos.
19066 (grub_lspci_iter): Don't print func twice. Print vendor ID
19067 before device ID, as it's normally done.
19068
19069 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19070 Fix signedness warnings.
19071 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19072 Likewise.
19073 * util/ieee1275/get_disk_name.c: Include config.h so that
19074 _GNU_SOURCE is defined and getline() is declared. Mark an
19075 unused argument as such. Fix a signedness warning.
19076
19077 2008-04-02 Pavel Roskin <proski@gnu.org>
19078
19079 * genkernsyms.sh.in: Use more robust assignments for CC and
19080 srcdir. Quote srcdir.
19081 * gensymlist.sh.in: Likewise. Assert at the compile time that
19082 the symbol table is not empty.
19083
19084 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19085 * fs/cpio.c (grub_cpio_read): Likewise.
19086
19087 2008-04-01 Pavel Roskin <proski@gnu.org>
19088
19089 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19090 * disk/host.c (grub_host_open): Likewise.
19091 * disk/loopback.c (grub_loopback_open): Likewise.
19092 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19093 disk->id as in disk/host.c, not a multi-character constant.
19094
19095 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19096 later is obsolete, potentially dangerous and sets a bad example.
19097 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19098 * util/misc.c (grub_util_get_image_size): Likewise.
19099
19100 * disk/loopback.c (options): Improve help for "--partitions".
19101
19102 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19103 options to align them with the short options, e.g. "echo -e".
19104
19105 2008-03-31 Bean <bean123ch@gmail.com>
19106
19107 * video/reader/png.c (grub_png_data): New member is_16bit and
19108 image_data.
19109 (grub_png_decode_image_header): Detect 16 bit png image.
19110 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19111 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19112 (grub_video_reader_png): Release memory occupied by image_data.
19113
19114 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19115 4096 bytes.
19116 (grub_nfs_mount): Skip the test for sector per cluster.
19117
19118 * include/grub/ntfs.h (MAX_SPC): Removed.
19119
19120 2008-03-31 Bean <bean123ch@gmail.com>
19121
19122 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19123 (grub_probe_SOURCES): Add fs/afs.c.
19124 (grub_fstest_SOURCES): Likewise.
19125 (afs_mod_SOURCES): New variable.
19126 (afs_mod_CFLAGS): Likewise.
19127 (afs_mod_LDFLAGS): Likewise.
19128
19129 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19130 (grub_emu_SOURCES): Likewise.
19131
19132 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19133
19134 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19135
19136 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19137
19138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19139
19140 * fs/afs.c: New file.
19141
19142 2008-03-30 Pavel Roskin <proski@gnu.org>
19143
19144 * disk/host.c: Include grub/misc.h to fix a warning.
19145 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19146 warnings about implicit declarations.
19147
19148 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19149 variable.
19150 * include/grub/i386/loader.h: Change declaration of
19151 grub_linux_boot() to match what grub_loader_set() expects.
19152 * util/getroot.c (grub_guess_root_device): Return const char* to
19153 fix a warning.
19154 * util/grub-probe.c (probe): Fix a warning about uninitialized
19155 abstraction_name variable.
19156 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19157 second argument as unused to fix a warning.
19158
19159 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19160 missing grub_error() call.
19161
19162 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19163 2.60 and newer uses it to define datadir.
19164
19165 * commands/sleep.c: Fix warning about implicit declaration.
19166 * disk/memdisk.c: Likewise.
19167 * loader/aout.c: Likewise.
19168 * loader/i386/bsd_normal.c: Likewise.
19169 * util/grub-probe.c: Likewise.
19170
19171 * commands/i386/cpuid.c (has_longmode): Make static.
19172 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19173 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19174
19175 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19176 GDT. This is more robust, as %ds can change.
19177 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19178 calling real_to_prot().
19179 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19180
19181 2008-03-28 Pavel Roskin <proski@gnu.org>
19182
19183 * kern/i386/pc/startup.S: Assert that uncompressed functions
19184 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19185 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19186 code, as they push parts of the code (error handlers) beyond
19187 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19188 code as correctness and size.
19189
19190 2008-03-28 Pavel Roskin <proski@gnu.org>
19191
19192 * kern/i386/pc/startup.S
19193 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19194 data block address to the real mode, keep offset minimal. This
19195 works around a bug in AWARD BIOS on old Athlon systems, which
19196 makes CD detection hang.
19197
19198 2008-03-26 Pavel Roskin <proski@gnu.org>
19199
19200 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19201 const.
19202 * include/grub/normal.h: Add grub_parse_color_name_pair()
19203 declaration.
19204
19205 2008-03-24 Bean <bean123ch@gmail.com>
19206
19207 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19208 (cd_count): Removed.
19209 (cd_drive): New variable.
19210 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19211 (grub_biosdisk_call_hook): Likewise.
19212 (grub_biosdisk_iterate): Change cdrom detection method.
19213 (grub_biosdisk_open): Replace cd_start with cd_drive.
19214 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19215 detect cdrom device.
19216
19217 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19218 Removed.
19219 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19220 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19221 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19222 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19223 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19224 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19225 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19226 (grub_biosdisk_cdrp): New structure.
19227 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19228
19229 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19230
19231 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19232 device.
19233
19234 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19235 New function.
19236
19237 2008-03-20 Robert Millan <rmh@aybabtu.com>
19238
19239 Remove 2 TiB limit in ata.mod.
19240 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19241 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19242 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19243 grub_uint64_t instead of grub_uint32_t.
19244
19245 2008-03-05 Bean <bean123ch@gmail.com>
19246
19247 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19248 (grub_multiboot): Set boot device.
19249
19250 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19251
19252 2008-03-02 Bean <bean123ch@gmail.com>
19253
19254 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19255 symlink_buffer.
19256
19257 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19258
19259 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19260 texinfo.tex.
19261
19262 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19263 modified.
19264
19265 * docs/fdl.texi: New file.
19266
19267 * docs/mdate-sh: New file. Copied from gnulib.
19268 * docs/texinfo.tex: Likewise.
19269
19270 * config.guess: Updated from gnulib.
19271 * install-sh: Likewise.
19272
19273 2008-02-28 Robert Millan <rmh@aybabtu.com>
19274
19275 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19276 (aout_mod_SOURCES): New variable.
19277 (aout_mod_CFLAGS): Likewise.
19278 (aout_mod_LDFLAGS): Likewise.
19279
19280 * conf/i386-ieee1275.rmk: Likewise.
19281
19282 2008-02-28 Robert Millan <rmh@aybabtu.com>
19283
19284 * util/update-grub.in: Reorganise terminal validity check. Accept
19285 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19286 Based on suggestion by Franklin PIAT.
19287
19288 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19289
19290 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19291 function.
19292 * util/getroot.c (grub_util_check_block_device): New function that
19293 returns the given argument if it is a block device and returns NULL else.
19294 * util/grub-probe.c (argument_is_device): New variable.
19295 (probe): Promote device_name from a variable to an argument. Receive
19296 device_name from grub_util_check_block_device() if path is NULL and from
19297 grub_guess_root_device() else. Do not free() device_name anymore.
19298 (options): Introduce new parameter '-d, --device'.
19299 (main): Add description of the new parameter to the help screen.
19300 Rename path variable to argument. Set argument_is_device if the '-d'
19301 option is given. Pass argument to probe() depending on
19302 argument_is_device.
19303
19304 2008-02-24 Bean <bean123ch@gmail.com>
19305
19306 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19307 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19308 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19309 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19310 (GRUB_ISO9660_VOLDESC_END): Likewise.
19311 (grub_iso9660_primary_voldesc): New member escape.
19312 (grub_iso9660_data): New member joliet.
19313 (grub_iso9660_convert_string): New function.
19314 (grub_iso9660_mount): Detect joliet extension.
19315 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19316 (grub_iso9660_iso9660_label): Likewise.
19317
19318 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19319 (grub_setup_SOURCES): Add fs/udf.c.
19320 (grub_fstest_SOURCES): Likewise.
19321 (udf_mod_SOURCES): New variable.
19322 (udf_mod_CFLAGS): Likewise.
19323 (udf_mod_LDFLAGS): Likewise.
19324
19325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19326 (grub_emu_SOURCES): Likewise.
19327
19328 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19329
19330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19331
19332 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19333
19334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19335
19336 * fs/udf.c: New file.
19337
19338 2008-02-24 Robert Millan <rmh@aybabtu.com>
19339
19340 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19341 (normal/lexer.c_DEPENDENCIES): New variables.
19342 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19343 (normal/lexer.c_DEPENDENCIES): Likewise.
19344 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19345 (normal/lexer.c_DEPENDENCIES): Likewise.
19346 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19347 (normal/lexer.c_DEPENDENCIES): Likewise.
19348 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19349 (normal/lexer.c_DEPENDENCIES): Likewise.
19350 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19351 (normal/lexer.c_DEPENDENCIES): Likewise.
19352
19353 2008-02-23 Robert Millan <rmh@aybabtu.com>
19354
19355 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19356 since they were intended to be in hex. This didn't break previously
19357 because of a bug in gpt_partition_map_iterate() (see below).
19358
19359 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19360 when checking the validity of GPT header.
19361 Remove `partno', since it always provides the same information as `i'.
19362
19363 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19364
19365 * include/grub/efi/time.h: Fix a wrong comment.
19366
19367 2008-02-19 Pavel Roskin <proski@gnu.org>
19368
19369 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19370 message.
19371
19372 2008-02-19 Bean <bean123ch@gmail.com>
19373
19374 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19375 (aout_mod_SOURCES): New variable.
19376 (aout_mod_CFLAGS): Likewise.
19377 (aout_mod_LDFLAGS): Likewise.
19378 (_bsd_mod_SOURCES): New variable.
19379 (_bsd_mod_CFLAGS): Likewise.
19380 (_bsd_mod_LDFLAGS): Likewise.
19381 (bsd_mod_SOURCES): New variable.
19382 (bsd_mod_CFLAGS): Likewise.
19383 (bsd_mod_LDFLAGS): Likewise.
19384
19385 * include/grub/aout.h: New file.
19386
19387 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19388
19389 * include/grub/i386/bsd.h: New file.
19390
19391 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19392 to make it public.
19393
19394 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19395 function is called, so that it's possible to change it inside the hook.
19396 (grub_elf64_load): Likewise.
19397 (grub_elf_file): Don't close the file if elf header is not found.
19398 (grub_elf_close): Close the file if grub_elf_file fails (The new
19399 grub_elf_file won't close it).
19400 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19401 (grub_elf64_size): Likewise.
19402
19403 * kern/i386/loader.S (grub_unix_real_boot): New function.
19404
19405 * loader/aout.c: New file.
19406
19407 * loader/i386/bsd.c: New file.
19408
19409 * loader/i386/bsd_normal.c: New file.
19410
19411 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19412
19413 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19414 can test other formats.
19415
19416 2008-02-19 Robert Millan <rmh@aybabtu.com>
19417
19418 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19419 (grub_gpt_partition_type_empty): Redefine with macro from
19420 `<grub/gpt_partition.h>'.
19421 (gpt_partition_map_iterate): Adjust partition type comparison.
19422
19423 Export `entry' as partmap-specific `part.data' struct.
19424 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19425
19426 * include/grub/gpt_partition.h (grub_gpt_header)
19427 (grub_gpt_partentry): ... to here (new file).
19428
19429 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19430
19431 (grub_gpt_partition_type_bios_boot): New const variable, defined
19432 with macro from `<grub/gpt_partition.h>'.
19433
19434 (setup): Replace `first_start' with `embed_region', which keeps
19435 track of the embed region (and is partmap-agnostic).
19436
19437 Replace find_first_partition_start() with find_usable_region(),
19438 which finds a usable region for embedding using partmap-specific
19439 knowledge (supports PC/MSDOS and GPT).
19440
19441 Fix all assumptions that the embed region start at sector 1, using
19442 `embed_region.start' from now on. Similarly, use `embed_region.end'
19443 rather than `first_start' to calculate available size.
19444
19445 In grub_util_info() message, replace "into after the MBR" with an
19446 indication of the specific sector our embed region starts at.
19447
19448 2008-02-19 Robert Millan <rmh@aybabtu.com>
19449
19450 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19451 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19452 `commands/reboot.c'.
19453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19454 (halt_mod_SOURCES): Likewise.
19455 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19456 (halt_mod_SOURCES): Likewise.
19457
19458 2008-02-17 Christian Franke <franke@computer.org>
19459
19460 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19461
19462 2008-02-17 Robert Millan <rmh@aybabtu.com>
19463
19464 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19465 set `first_start' to 0 for non-PC/MSDOS partition maps.
19466
19467 2008-02-16 Robert Millan <rmh@aybabtu.com>
19468
19469 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19470 do not assume partition map is PC/MSDOS before performing checks that
19471 are specific to that layout.
19472
19473 2008-02-13 Robert Millan <rmh@aybabtu.com>
19474
19475 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19476 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19477 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19478
19479 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19480
19481 * configure.ac: Only a cosmetic change on the handling of
19482 -fno-stack-protector.
19483
19484 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19485
19486 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19487 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19488 reboot.c.
19489 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19490 (halt_mod_SOURCES): New variable.
19491 (halt_mod_CFLAGS): Likewise.
19492 (halt_mod_LDFLAGS): Likewise.
19493 (reboot_mod_SOURCES): Likewise.
19494 (reboot_mod_CFLAGS): Likewise.
19495 (reboot_mod_LDFLAGS): Likewise.
19496
19497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19498 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19499 reboot.c.
19500 (halt_mod_SOURCES): Likewise.
19501 (reboot_mod_SOURCES): Likewise.
19502
19503 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19504 commands/i386/pc/reboot.c by commands/reboot.c.
19505 (reboot_mod_SOURCES): Likewise.
19506
19507 * commands/i386/pc/reboot.c: merge this file ...
19508
19509 * commands/ieee1275/reboot.c: ... and this file ...
19510
19511 * commands/reboot.c: ... to this file.
19512 Add some precompiler directive to include the correct header for
19513 each machine.
19514
19515 * commands/ieee1275/halt.c: move this file ...
19516
19517 * commands/halt.c: ... to here.
19518 Add some precompiler directive to include the correct header for
19519 each machine.
19520
19521 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19522 (grub_halt): Likewise.
19523
19524 * kern/efi/efi.c (grub_reboot): New function.
19525 (grub_halt): Likewise.
19526
19527 2008-02-12 Robert Millan <rmh@aybabtu.com>
19528
19529 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19530 /dev (like it is done for /dev/mapper). This doesn't provide support
19531 for EVMS, but at least it is now easy to identify the problem when it
19532 arises.
19533
19534 2008-02-11 Robert Millan <rmh@aybabtu.com>
19535
19536 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19537 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19538 comparing it with -1, not 0.
19539
19540 2008-02-10 Robert Millan <rmh@aybabtu.com>
19541
19542 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19543 `disk/lvm.c'.
19544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19545 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19546
19547 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19548 `disk/lvm.c' to the end of the list.
19549 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19550 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19551
19552 2008-02-10 Robert Millan <rmh@aybabtu.com>
19553
19554 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19555 grub_print_error() instead. This will let user know why we're entering
19556 rescue mode.
19557 Based on suggestions from Sam Morris.
19558
19559 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19560
19561 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19562 on remaining N args, instead of "--" arg N times.
19563
19564 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19565
19566 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19567 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19568 pattern for unknown glyphs.
19569
19570 2008-02-09 Robert Millan <rmh@aybabtu.com>
19571
19572 * configure.ac: Probe for `help2man'.
19573 * Makefile.in (builddir): New variable.
19574 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19575 or otherwise add a few flags/options to it.
19576 (install-local): For every executable utility or script that is
19577 installed, invoke $(HELP2MAN) to install a manpage based on --help
19578 output.
19579
19580 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19581 that it doesn't prevent --help from working in build tree.
19582
19583 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19584 with `bug-grub@gnu.org'.
19585 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19586 * util/update-grub.in (usage): New function.
19587 Implement proper argument check, with support for --help and --version
19588 (as well as existing -y).
19589
19590 2008-02-09 Christian Franke <franke@computer.org>
19591
19592 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19593 avoid overwriting previous output.
19594 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19595
19596 2008-02-09 Robert Millan <rmh@aybabtu.com>
19597
19598 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19599 drawing the menu.
19600
19601 2008-02-09 Robert Millan <rmh@aybabtu.com>
19602
19603 * commands/sleep.c: New file.
19604 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19605 (sleep_mod_SOURCES): New variable.
19606 (sleep_mod_CFLAGS): Likewise.
19607 (sleep_mod_LDFLAGS): Likewise.
19608
19609 2008-02-09 Robert Millan <rmh@aybabtu.com>
19610
19611 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19612 situations in which we can deduce the RAID size and the superblock
19613 doesn't match it.
19614
19615 2008-02-09 Robert Millan <rmh@aybabtu.com>
19616
19617 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19618 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19619 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19620
19621 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19622 and return a grub_diskmemberlist_t composed of physical array members.
19623 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19624
19625 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19626 prototype.
19627 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19628 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19629 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19630
19631 * util/grub-probe.c (probe): Move partmap probing code from here ...
19632 (probe_partmap): ... to here.
19633 (probe): Use probe_partmap() once for the disk we're probing, and
19634 additionally, when such disk contains a memberlist() struct member,
19635 once for each disk that is contained in the structure returned by
19636 memberlist().
19637
19638 2008-02-09 Robert Millan <rmh@aybabtu.com>
19639
19640 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19641 environment variable to 'all' in order to obtain debug output from
19642 non-util/ code.
19643 * util/i386/pc/grub-setup.c (main): Likewise.
19644
19645 2008-02-08 Robert Millan <rmh@aybabtu.com>
19646
19647 * disk/raid.c (grub_raid_scan_device): Check for
19648 `array->device[sb.this_disk.number]' rather than for
19649 `array->device[sb.this_disk.number]->name', since the latter is not
19650 guaranteed to be accessible.
19651
19652 2008-02-08 Robert Millan <rmh@aybabtu.com>
19653
19654 * disk/raid.c: Update copyright.
19655 * fs/cpio.c: Likewise.
19656 * include/grub/raid.h: Likewise.
19657 * loader/i386/pc/multiboot.c: Likewise.
19658 * util/hostfs.c: Likewise.
19659
19660 2008-02-08 Robert Millan <rmh@aybabtu.com>
19661
19662 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19663 to a grub_disk_t array.
19664 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19665 `device[x]'.
19666 (grub_raid_scan_device): Replace `device[x].name' accesses with
19667 `device[x]->name'. Simplify initialization of `array->device[x]'.
19668
19669 2008-02-08 Robert Millan <rmh@aybabtu.com>
19670
19671 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19672 grub_dprintf() calls.
19673 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19674 error message.
19675
19676 2008-02-07 Christian Franke <franke@computer.org>
19677
19678 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19679 instead of fseek and ftell to support large files.
19680 (grub_hostfs_read): Likewise.
19681
19682 2008-02-07 Robert Millan <rmh@aybabtu.com>
19683
19684 Patch from Jeroen Dekkers.
19685 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19686 failure, since successfully reading all array members might not be
19687 required.
19688
19689 2008-02-06 Robert Millan <rmh@aybabtu.com>
19690
19691 * util/grub-probe.c (probe): Simplify partmap probing (with the
19692 assumption that the first word up to the underscore equals to
19693 the module name).
19694
19695 2008-02-06 Christian Franke <franke@computer.org>
19696
19697 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19698 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19699 last block of a cpio or tar stream.
19700 Check for "TRAILER!!!" instead of any empty data
19701 block to detect last block of a cpio stream.
19702 (grub_cpio_dir): Fix constness of variable np.
19703 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19704 cpio or tar trailer is detected. This fixes a crash
19705 on open of a non existing file.
19706
19707 2008-02-05 Bean <bean123ch@gmail.com>
19708
19709 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19710 address of entry.
19711 (grub_multiboot_load_elf64): Likewise.
19712 (grub_multiboot): Initialize mbi structure.
19713
19714 * util/grub-fstest.c: Don't include unused header file script.h.
19715
19716 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19717 of file.
19718 (grub_fstest_SOURCES): Likewise.
19719
19720 2008-02-05 Robert Millan <rmh@aybabtu.com>
19721
19722 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19723 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19724 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19725 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19726
19727 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19728 (translation_table): Replace hardcoded values with macros
19729 provided by `<grub/term.h>'.
19730
19731 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19732 (keyboard_map): Correct/add a few values, with macros provided
19733 by `<grub/term.h>'.
19734 (keyboard_map_shift): Zero values that don't differ from their
19735 `keyboard_map' equivalents.
19736 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19737 Discard the second scan code that is always sent by Caps lock.
19738 Only use `keyboard_map_shift' when it provides a non-zero value,
19739 otherwise fallback to `keyboard_map'.
19740
19741 2008-02-04 Bean <bean123ch@gmail.com>
19742
19743 * Makefile.in (enable_grub_fstest): New variable.
19744
19745 * conf/common.rmk (grub_fstest_init.lst): New rule.
19746 (grub_fstest_init.h): Likewise.
19747 (grub_fstest_init.c): Likewise.
19748 (util/grub-fstest.c_DEPENDENCIES): New variable.
19749 (grub_fstest_SOURCES): Likewise.
19750
19751 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19752
19753 * util/grub-fstest.c: New file.
19754
19755 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19756
19757 Make grub-setup handle a separate root device.
19758
19759 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19760 so that the root device can be compared with the destination
19761 device.
19762 When embedding the core image, if the root and destination devices
19763 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19764 0xFF.
19765 When not embedding, set ROOT_DRIVE to 0xFF.
19766
19767 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19768
19769 Add support for having a grub directory in a different drive. This
19770 is still only the data handling part.
19771
19772 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19773 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19774 (grub_root_drive): New variable.
19775
19776 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19777 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19778 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19779 as it was.
19780
19781 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19782
19783 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19784 macro.
19785 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19786
19787 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19788 is bogus, because PXE booting does not specify any drive
19789 correctly.
19790
19791 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19792 am not sure if this is really correct.
19793
19794 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19795 is always identical to the boot drive when booting from a CD.
19796
19797 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19798 longer.
19799 (root_drive): New variable.
19800 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19801 (setup_sectors): Push %dx right after popping it, because %dh will
19802 be modified later.
19803 (copy_buffer): Restore %dx.
19804
19805 2008-02-03 Robert Millan <rmh@aybabtu.com>
19806
19807 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19808 use `cdboot.img' for cdrom images.
19809
19810 2008-02-03 Robert Millan <rmh@aybabtu.com>
19811
19812 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19813 only setup gfxterm when `font' command has succeeded.
19814
19815 2008-02-03 Robert Millan <rmh@aybabtu.com>
19816
19817 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19818 (grub_rescue_cmd_multiboot_loader)
19819 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19820
19821 2008-02-03 Pavel Roskin <proski@gnu.org>
19822
19823 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19824 %edx and %esi from stack only after grub_gate_a20() is called.
19825 grub_gate_a20() clobbers %edx.
19826
19827 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19828
19829 * configure.ac (AC_INIT): Bumped to 1.96.
19830
19831 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19832 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19833 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19834 video/readers/png.c.
19835
19836 2008-02-03 Bean <bean123ch@gmail.com>
19837
19838 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19839 (cdboot_img_SOURCES): New variable.
19840 (cdboot_img_ASFLAGS): New variable.
19841 (cdboot_img_LDFLAGS): New variable.
19842
19843 * boot/i386/pc/cdboot.S: New file.
19844
19845 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19846 (cd_count): Likewise.
19847 (grub_biosdisk_get_drive): Add support for cd device.
19848 (grub_biosdisk_call_hook): Likewise.
19849 (grub_biosdisk_iterate): Likewise.
19850 (grub_biosdisk_open): Likewise.
19851 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19852 (grub_biosdisk_rw): Support reading from cd device.
19853 (GRUB_MOD_INIT): Iterate cd devices.
19854
19855 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19856 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19857 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19858
19859 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19860
19861 2008-02-02 Robert Millan <rmh@aybabtu.com>
19862
19863 * commands/read.c: New file.
19864 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19865 (read_mod_SOURCES): New variable.
19866 (read_mod_CFLAGS): Likewise.
19867 (read_mod_LDFLAGS): Likewise.
19868
19869 2008-02-02 Robert Millan <rmh@aybabtu.com>
19870
19871 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19872 determining whether menu has to be displayed.
19873
19874 2008-02-02 Marco Gerards <marco@gnu.org>
19875
19876 * bus/pci.c: New file.
19877
19878 * include/grub/pci.h: Likewise.
19879
19880 * include/grub/i386/pc/pci.h: Likewise.
19881
19882 * commands/lspci.c: Likewise.
19883
19884 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19885 `lspci.mod'.
19886 (pci_mod_SOURCES): New variable.
19887 (pci_mod_CFLAGS): Likewise.
19888 (pci_mod_LDFLAGS): Likewise.
19889 (lspci_mod_SOURCES): Likewise.
19890 (lspci_mod_CFLAGS): Likewise.
19891 (lspci_mod_LDFLAGS): Likewise.
19892
19893 2008-02-02 Bean <bean123ch@gmail.com>
19894
19895 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19896 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19897
19898 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19899 (grub_xfs_btree_node): New structure.
19900 (grub_xfs_btree_root): New structure.
19901 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19902 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19903 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19904 (GRUB_XFS_EXTENT_SIZE): Likewise.
19905 (grub_xfs_read_block): Support btree format type.
19906 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19907 Use directory block as basic unit.
19908
19909 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19910
19911 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19912 __attribute__ ((__regparm__ (1))).
19913
19914 2008-02-01 Robert Millan <rmh@aybabtu.com>
19915
19916 Correct a mistake in previous commit.
19917
19918 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19919 top.
19920 (normal/command.c_DEPENDENCIES): New variable.
19921
19922 2008-02-01 Robert Millan <rmh@aybabtu.com>
19923
19924 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19925 top.
19926 (normal/command.c_DEPENDENCIES): New variable.
19927 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19928 * conf/i386-ieee1275.rmk: Likewise.
19929 * conf/i386-linuxbios.rmk: Likewise.
19930 * conf/i386-pc.rmk: Likewise.
19931 * conf/sparc64-ieee1275.rmk: Likewise.
19932 * conf/powerpc-ieee1275.rmk: Likewise.
19933 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19934
19935 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19936
19937 2008-02-01 Robert Millan <rmh@aybabtu.com>
19938
19939 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19940 call at beginning of function.
19941
19942 2008-01-31 Pavel Roskin <proski@gnu.org>
19943
19944 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19945 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19946 (grub_mkrescue_SOURCES): Likewise.
19947 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19948
19949 2008-01-30 Robert Millan <rmh@aybabtu.com>
19950
19951 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19952 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19953 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19954 (grub_probe_SOURCES): ... to here.
19955
19956 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19957 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19958 * conf/i386-ieee1275.rmk: Likewise.
19959 * conf/i386-linuxbios.rmk: Likewise.
19960 * conf/powerpc-ieee1275.rmk: Likewise.
19961
19962 2008-01-30 Tristan Gingold <gingold@free.fr>
19963
19964 * kern/rescue.c: Silently accept empty lines.
19965
19966 2008-01-29 Bean <bean123ch@gmail.com>
19967
19968 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19969 (real_code_2): Code cleanup and change comment style.
19970 (move_memory): Avoid using 32-bit address mode.
19971
19972 2008-01-29 Bean <bean123ch@gmail.com>
19973
19974 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19975 (png_mod_SOURCES): New variable.
19976 (png_mod_CFLAGS): Likewise.
19977 (png_mod_LDFLAGS): Likewise.
19978
19979 * video/readers/png.c: New file.
19980
19981 2008-01-28 Robert Millan <rmh@aybabtu.com>
19982
19983 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19984 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19985 `ifndef GRUB_MOD_GAP' hack.
19986 * util/elf/grub-mkimage.c (add_segments): Likewise.
19987
19988 2008-01-27 Robert Millan <rmh@aybabtu.com>
19989
19990 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19991 `GRUB_MOD_GAP' for platforms in which it's not defined.
19992 * util/elf/grub-mkimage.c (add_segments): Likewise.
19993
19994 2008-01-27 Robert Millan <rmh@aybabtu.com>
19995
19996 Get grub-emu to build again (including parallel builds).
19997
19998 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19999 Split into ...
20000 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20001 (normal/execute.c_DEPENDENCIES): ... this, ...
20002 (grub-emu_DEPENDENCIES): ... and this.
20003
20004 * conf/i386-efi.rmk: Likewise.
20005 * conf/i386-linuxbios.rmk: Likewise.
20006 * conf/i386-ieee1275.rmk: Likewise.
20007 * conf/powerpc-ieee1275.rmk: Likewise.
20008 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20009
20010 2008-01-27 Robert Millan <rmh@aybabtu.com>
20011
20012 * NEWS: Add a few items.
20013
20014 2008-01-27 Robert Millan <rmh@aybabtu.com>
20015
20016 Fix parallel builds with grub-emu. Based on earlier commit for
20017 grub-probe and grub-setup.
20018
20019 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20020 (util/grub-emu.c_DEPENDENCIES): ... this.
20021 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20022 (util/grub-emu.c_DEPENDENCIES): ... this.
20023 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20024 (util/grub-emu.c_DEPENDENCIES): ... this.
20025 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20026 (util/grub-emu.c_DEPENDENCIES): ... this.
20027 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20028 (util/grub-emu.c_DEPENDENCIES): ... this.
20029
20030 2008-01-27 Pavel Roskin <proski@gnu.org>
20031
20032 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20033 to create a gap between _end and the modules added to the image
20034 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20035 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20036 * util/elf/grub-mkimage.c (add_segments): Likewise.
20037
20038 2008-01-26 Pavel Roskin <proski@gnu.org>
20039
20040 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20041 just return an error.
20042
20043 2008-01-26 Bean <bean123ch@gmail.com>
20044
20045 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20046 (grub_reiserfs_get_item): Save offset of the next item.
20047 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20048
20049 2008-01-25 Robert Millan <rmh@aybabtu.com>
20050
20051 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20052 make all filesystem sources appear together (possibly fixing omissions
20053 while at it).
20054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20055 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20056 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20058
20059 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20060 add `kern/file.c'.
20061 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20062 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20063 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20064 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20065
20066 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20067 (probe): Add a sanity check to make sure of our ability to read
20068 requested files when probing for filesystem type.
20069
20070 * genmk.rb: Update copyright year (2007).
20071
20072 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20073 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20074 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20075 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20076 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20077 : Remove function prototypes.
20078
20079 2008-01-25 Robert Millan <rmh@aybabtu.com>
20080
20081 Revert my previous commits (based on wrong assumption of how grub_errno
20082 works).
20083
20084 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
20085 * kern/file.c (grub_file_open): Likewise.
20086
20087 2008-01-24 Pavel Roskin <proski@gnu.org>
20088
20089 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20090 that hang if GRUB tries to setup colors.
20091 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20092 colors for firmwares that don't support it.
20093 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20094 Recognize Open Hack'Ware, set flags to work around its
20095 limitations.
20096
20097 2008-01-24 Robert Millan <rmh@aybabtu.com>
20098
20099 * kern/file.c (grub_file_open): Do not account previous failures of
20100 unrelated functions when grub_errno is checked for.
20101 Reported by Oleg Strikov.
20102
20103 2008-01-24 Bean <bean123ch@gmail.com>
20104
20105 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20106 (grub_ufs_sblock): New member volume name.
20107 (grub_ufs_find_file): Fix string copy bug.
20108 (grub_ufs_label): Implement this function properly.
20109
20110 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20111 (grub_hfs_iterate_records): Use the correct file number for extents
20112 and catalog file. Fix problem in next index calculation.
20113 (grub_hfs_find_node): Replace recursive function call with loop.
20114 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20115
20116 2008-01-23 Robert Millan <rmh@aybabtu.com>
20117
20118 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20119 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20120 (grub_multiboot2_real_boot): New function prototype.
20121
20122 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20123 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20124
20125 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20126 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20127
20128 2008-01-23 Robert Millan <rmh@aybabtu.com>
20129
20130 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20131 #ifdef'ed out grub_printf().
20132
20133 2008-01-23 Robert Millan <rmh@aybabtu.com>
20134
20135 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20136 grub_dprintf calls, since they make "debug=all" mode unusable.
20137 (grub_console_checkkey): Likewise.
20138
20139 2008-01-23 Robert Millan <rmh@aybabtu.com>
20140
20141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20142 `term/i386/pc/at_keyboard.c'.
20143 (pkglib_MODULES): Add `serial.mod'.
20144 (serial_mod_SOURCES): New variable.
20145 (serial_mod_CFLAGS): Likewise.
20146 (serial_mod_LDFLAGS): Likewise.
20147
20148 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20149 `<grub/powerpc/ieee1275/console.h>'.
20150 (grub_keyboard_controller_init): New function prototype.
20151 (grub_console_checkkey): Likewise.
20152 (grub_console_getkey): Likewise.
20153
20154 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20155 keyboard on i386.
20156
20157 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20158 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20159
20160 2008-01-23 Robert Millan <rmh@aybabtu.com>
20161
20162 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20163 present, "(memdisk)/boot/grub" becomes the default prefix.
20164
20165 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20166 a memdisk tarball with all the modules. Add --overlay=DIR option that
20167 allows users to overlay additional files into the image.
20168
20169 2008-01-23 Robert Millan <rmh@aybabtu.com>
20170
20171 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20172 and `machine/memory.h'.
20173 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20174 (_multiboot_mod_SOURCES): New variable.
20175 (_multiboot_mod_CFLAGS): Likewise.
20176 (_multiboot_mod_LDFLAGS): Likewise.
20177 (multiboot_mod_SOURCES): Likewise.
20178 (multiboot_mod_CFLAGS): Likewise.
20179 (multiboot_mod_LDFLAGS): Likewise.
20180
20181 * include/grub/i386/ieee1275/loader.h: New file.
20182
20183 * include/grub/i386/ieee1275/machine.h: Likewise.
20184
20185 * include/grub/i386/ieee1275/memory.h: Likewise.
20186
20187 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20188 variable declaration.
20189 (grub_os_area_size): Likewise.
20190
20191 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20192 (grub_lower_mem, grub_upper_mem): New variables.
20193 (grub_stop_floppy): New function (just to make
20194 grub_multiboot2_real_boot() happy).
20195
20196 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20197 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20198 (grub_stop): New function.
20199 Include `"../realmode.S"' and `"../loader.S"'.
20200
20201 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20202 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20203
20204 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20205 rely on grub_multiboot2_real_boot() for final boot.
20206
20207 2008-01-22 Robert Millan <rmh@aybabtu.com>
20208
20209 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20210 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20211 device that doesn't look like an SD card.
20212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20213 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20214 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20215 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20216 found.
20217
20218 2008-01-22 Robert Millan <rmh@aybabtu.com>
20219
20220 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20221 avoid claiming over our own code.
20222
20223 2008-01-22 Bean <bean123ch@gmail.com>
20224
20225 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20226 (jpeg_mod_SOURCES): New variable.
20227 (jpeg_mod_CFLAGS): Likewise.
20228 (jpeg_mod_LDFLAGS): Likewise.
20229
20230 * video/readers/jpeg.c : New file.
20231
20232 2008-01-22 Bean <bean123ch@gmail.com>
20233
20234 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20235 there are no more items.
20236
20237 2008-01-21 Robert Millan <rmh@aybabtu.com>
20238
20239 * kern/mm.c (grub_mm_init_region): Improve debug message.
20240
20241 2008-01-21 Robert Millan <rmh@aybabtu.com>
20242
20243 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20244 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20245 address.
20246 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20247 a C macro.
20248 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20249 Indicates start of upper memory.
20250 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20251 (generate_image): Abort when image size is big enough to corrupt
20252 upper memory.
20253
20254 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20255 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20256 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20257 instead of hardcoding 0xA0000.
20258 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20259 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20260 instead of hardcoding 0xA0000.
20261
20262 2008-01-21 Robert Millan <rmh@aybabtu.com>
20263
20264 * disk/memdisk.c (memdisk_size): New variable.
20265 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20266 `memdisk_size'.
20267 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20268 image to dynamic memory.
20269 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20270 `memdisk_size'. Free memdisk block.
20271
20272 2008-01-21 Robert Millan <rmh@aybabtu.com>
20273
20274 Fix detection of very small filesystems (like tar).
20275
20276 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20277 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20278 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20279 a problem with this disk).
20280
20281 2008-01-21 Robert Millan <rmh@aybabtu.com>
20282
20283 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20284 on grub_biosdisk_rw_standard() error.
20285
20286 2008-01-21 Robert Millan <rmh@aybabtu.com>
20287
20288 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20289 recent changes.
20290 * kern/elf.c: Likewise.
20291 * kern/ieee1275/ieee1275.c: Likewise.
20292 * kern/powerpc/ieee1275/openfw.c: Likewise.
20293 * term/ieee1275/ofconsole.c: Likewise.
20294
20295 2008-01-21 Robert Millan <rmh@aybabtu.com>
20296
20297 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20298
20299 * include/grub/kernel.h (grub_arch_memdisk_addr)
20300 (grub_arch_memdisk_size): Moved from here ...
20301
20302 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20303 (grub_arch_memdisk_size): ... to here.
20304
20305 2008-01-21 Robert Millan <rmh@aybabtu.com>
20306
20307 Mostly based on bugfix from Bean.
20308
20309 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20310 attribute with hook() parameter.
20311 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20312 declaration.
20313 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20314 attribute with hook() parameter.
20315 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20316 declaration.
20317
20318 2008-01-21 Robert Millan <rmh@aybabtu.com>
20319
20320 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20321 (pkglib_MODULES): Add `memdisk.mod'.
20322 (memdisk_mod_SOURCES): New variable.
20323 (memdisk_mod_CFLAGS): Likewise.
20324 (memdisk_mod_LDFLAGS): Likewise.
20325
20326 * disk/memdisk.c: New file.
20327
20328 * include/grub/disk.h (grub_disk_dev_id): Add
20329 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20330
20331 * include/grub/i386/pc/kernel.h
20332 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20333 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20334 (grub_kernel_image_size): New variable declaration.
20335 (grub_total_module_size): Likewise.
20336 (grub_memdisk_image_size): Likewise.
20337
20338 * include/grub/i386/pc/memory.h
20339 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20340
20341 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20342 (grub_arch_memdisk_addr): New variable declaration.
20343 (grub_arch_memdisk_size): Likewise.
20344
20345 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20346 (grub_arch_memdisk_size): Likewise.
20347
20348 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20349 (codestart): Replace hardcoded `0x100000' with
20350 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20351
20352 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20353 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20354 not NULL, append the contents of the file it refers to, at the end of
20355 the compressed kernel image. Initialize `grub_memdisk_image_size'
20356 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20357 (options): Add "memdisk"|'m' option.
20358 (main): Parse --memdisk|-m option, and pass user-provided path as
20359 parameter to generate_image().
20360
20361 2008-01-20 Robert Millan <rmh@aybabtu.com>
20362
20363 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20364 grub_dprintf() calls from here ...
20365 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20366
20367 2008-01-20 Robert Millan <rmh@aybabtu.com>
20368
20369 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20370
20371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20372 declaration.
20373 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20374 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20375 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20376 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20377 property).
20378 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20379 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20380
20381 2008-01-19 Robert Millan <rmh@aybabtu.com>
20382
20383 Get rid of confusing function (superseded by
20384 `grub_ieee1275_get_integer_property')
20385 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20386 prototype.
20387 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20388 function.
20389 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20390 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20391 in native endianness from grub_ieee1275_get_integer_property().
20392
20393 2008-01-19 Robert Millan <rmh@aybabtu.com>
20394
20395 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20396 command after "shut-down", since implementations differ on which
20397 the command for halt is.
20398
20399 2008-01-19 Robert Millan <rmh@aybabtu.com>
20400
20401 * include/grub/i386/linuxbios/console.h: Add header protection.
20402 (grub_keyboard_controller_init): New function prototype.
20403 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20404 (KEYBOARD_COMMAND_READ): Likewise.
20405 (KEYBOARD_COMMAND_WRITE): Likewise.
20406 (KEYBOARD_SCANCODE_SET1): Likewise.
20407 (grub_keyboard_controller_write): New function.
20408 (grub_keyboard_controller_read): Likewise.
20409 (grub_keyboard_controller_init): Likewise.
20410
20411 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20412 (grub_console_init): On coreboot/LinuxBIOS, call
20413 grub_keyboard_controller_init().
20414
20415 2008-01-19 Robert Millan <rmh@aybabtu.com>
20416
20417 PowerPC changes provided by Pavel Roskin.
20418
20419 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20420 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20421 don't rely on cmain() doing it.
20422 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20423 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20424
20425 2008-01-16 Robert Millan <rmh@aybabtu.com>
20426
20427 * include/grub/i386/linuxbios/memory.h
20428 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20429 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20430 receive `table_header' as argument. Instead, probe for it in the
20431 known memory ranges where it can be present.
20432 (grub_available_iterate): Do not pass a fixed `table_header' address
20433 to grub_linuxbios_table_iterate().
20434
20435 2008-01-15 Robert Millan <rmh@aybabtu.com>
20436
20437 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20438 * conf/i386-ieee1275.rmk: New file.
20439 * include/grub/i386/ieee1275/console.h: Likewise.
20440 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20441 * include/grub/i386/ieee1275/kernel.h: Likewise.
20442 * include/grub/i386/ieee1275/time.h: Likewise.
20443 * kern/i386/ieee1275/init.c: Likewise.
20444 * kern/i386/ieee1275/startup.S: Likewise.
20445
20446 2008-01-15 Robert Millan <rmh@aybabtu.com>
20447
20448 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20449 when pointers are 32-bit (but still do set it to one when they are
20450 64-bit).
20451
20452 2008-01-15 Robert Millan <rmh@aybabtu.com>
20453
20454 * include/grub/ieee1275/ieee1275.h
20455 (grub_ieee1275_get_integer_property): New function prototype.
20456
20457 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20458 (grub_ieee1275_get_integer_property): New function. Wraps around
20459 grub_ieee1275_get_property() to handle endianness.
20460
20461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20462 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20463 where appropriate.
20464 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20465 (grub_map): Likewise.
20466 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20467
20468 2008-01-15 Bean <bean123ch@gmail.com>
20469
20470 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20471 (grub_script_execute_cmdline): Reset grub_errno.
20472
20473 * normal/main.c (read_config_file): Reset grub_errno.
20474
20475 * normal/parse.y (script_init): New.
20476 (script): Move function and menuentry here.
20477 (delimiter): New.
20478 (command): Add delimiter at the end of command.
20479 (commands): Adjust to match the new command.
20480 (commandblock): Remove grub_script_lexer_record_start.
20481 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20482 (if): Use the new commands.
20483
20484 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20485
20486 2008-01-15 Robert Millan <rmh@aybabtu.com>
20487
20488 * normal/menu.c (run_menu): Move timeout message from here ...
20489 (print_timeout): ... to here.
20490 (run_menu): Use print_timeout() once during initial draw to print
20491 the whole message, and again in every clock tick to update only
20492 the number of seconds.
20493
20494 2008-01-15 Robert Millan <rmh@aybabtu.com>
20495
20496 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20497 actual size of `available' from grub_ieee1275_get_property(), and
20498 restrict parsing to that bound.
20499
20500 2008-01-15 Christian Franke <franke@computer.org>
20501
20502 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20503 (argp_program_version): Remove variable.
20504 (argp_program_bug_address): Likewise.
20505 (options): Convert from struct argp_option to struct option.
20506 (struct arguments): Remove.
20507 (parse_opt): Remove.
20508 (usage): New function.
20509 (main): Replace struct args members by simple variables.
20510 Replace argp_parse() by getopt_long().
20511 Add switch to evaluate options.
20512 Add missing "(...)" around root_dev in prefix string.
20513
20514 2008-01-14 Robert Millan <rmh@aybabtu.com>
20515
20516 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20517 for grub_ieee1275_exit(), in order to improve portability.
20518
20519 2008-01-14 Robert Millan <rmh@aybabtu.com>
20520
20521 * util/grub.d/10_linux.in (prefix): Define.
20522 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20523
20524 2008-01-13 Pavel Roskin <proski@gnu.org>
20525
20526 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20527 grub_errno if no errors have been detected.
20528
20529 2008-01-12 Robert Millan <rmh@aybabtu.com>
20530
20531 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20532 (grub_util_get_dev_abstraction): New function prototype.
20533
20534 * util/getroot.c: Include `<grub/util/getroot.h>'
20535 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20536 (grub_util_get_dev_abstraction): ... here (new function).
20537
20538 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20539 `PRINT_ABSTRACTION'.
20540 (probe): Probe for abstraction type when requested.
20541 (main): Understand `--target=abstraction'.
20542
20543 * util/i386/efi/grub-install.in: Add abstraction module to core
20544 image when it is found to be necessary.
20545 * util/i386/pc/grub-install.in: Likewise.
20546 * util/powerpc/ieee1275/grub-install.in: Likewise.
20547
20548 * util/update-grub_lib.in (font_path): Return system path without
20549 converting to GRUB path.
20550 * util/update-grub.in: Convert system path returned by font_path()
20551 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20552 abstraction module is needed for loading fonts (if any). Export
20553 that as `GRUB_PRELOAD_MODULES'.
20554 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20555 insmod commands).
20556
20557 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20558
20559 Remove some unused code from reiserfs.
20560
20561 * fs/reiserfs.c (struct grub_reiserfs_key)
20562 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20563 (struct grub_reiserfs_node_body): Removed.
20564 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20565 Likewise.
20566 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20567 Likewise.
20568 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20569 Likewise.
20570 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20571 Likewise.
20572 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20573 Likewise.
20574 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20575 Likewise.
20576 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20577 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20578 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20579
20580 2008-01-10 Robert Millan <rmh@aybabtu.com>
20581
20582 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20583 Determines if a file is garbage left by packaging systems, etc.
20584 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20585 for processing /etc/grub.d scripts.
20586 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20587 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20588 as a condition for processing Linux images.
20589
20590 2008-01-10 Pavel Roskin <proski@gnu.org>
20591
20592 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20593 to compile reiserfs.c on PowerPC.
20594
20595 2008-01-10 Robert Millan <rmh@aybabtu.com>
20596
20597 * kern/device.c (grub_device_iterate): Do not abort device iteration
20598 when one of the devices cannot be opened.
20599 * kern/disk.c (grub_disk_open): Do not account previous failures of
20600 unrelated functions when grub_errno is checked for.
20601
20602 2008-01-08 Robert Millan <rmh@aybabtu.com>
20603
20604 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20605 `! grub_linux_is_bzimage', change order of address comparison to make
20606 it more intuitive, and improve "too big zImage" error message.
20607
20608 2008-01-08 Robert Millan <rmh@aybabtu.com>
20609
20610 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20611 `$(update-grub_DATA)'.
20612 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20613 targets.
20614
20615 2008-01-07 Robert Millan <rmh@aybabtu.com>
20616
20617 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20618 which instruction is modified by grub-setup during installation
20619 (since it wasn't obvious by only looking at this file).
20620
20621 2008-01-07 Robert Millan <rmh@aybabtu.com>
20622
20623 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20624 listing actual TODO items.
20625
20626 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20627
20628 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20629 correctly.
20630 (grub_reiserfs_get_key_offset): Likewise.
20631 (grub_reiserfs_set_key_offset): Likewise.
20632 (grub_reiserfs_set_key_type): Likewise.
20633 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20634
20635 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20636 better to remove the bitfield version completely.
20637
20638 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20639
20640 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20641 allocated from the heap, due to the fshelp implementation.
20642 (grub_reiserfs_dir): Free NODE, due to the same reason.
20643
20644 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20645
20646 Mostly from Vincent Pelletier:
20647
20648 * fs/reiserfs.c: New file.
20649
20650 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20651 (reiserfs_mod_SOURCES): New variable.
20652 (reiserfs_mod_CFLAGS): Likewise.
20653 (reiserfs_mod_LDFLAGS): Likewise.
20654
20655 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20656 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20657 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20658 normal/color.c.
20659
20660 2008-01-06 Robert Millan <rmh@aybabtu.com>
20661
20662 * normal/color.c: Remove `<grub/env.h>'.
20663
20664 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20665
20666 * include/grub/normal.h: Include <grub/env.h>.
20667
20668 2008-01-05 Robert Millan <rmh@aybabtu.com>
20669
20670 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20671 usage example with `(hd0,1)'.
20672 Reported by Samuel Thibault.
20673
20674 2008-01-05 Robert Millan <rmh@aybabtu.com>
20675
20676 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20677 (grub_linux_boot_zimage): Rename to ...
20678 (grub_linux_boot): ... this.
20679 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20680 (grub_linux_boot_zimage): Conditionalize zImage copy.
20681
20682 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20683 (grub_linux_boot_bzimage): Remove prototype.
20684 (grub_linux_boot_zimage): Rename to ...
20685 (grub_linux_boot): ... this.
20686
20687 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20688 (grub_linux_boot): Remove function.
20689
20690 2008-01-05 Robert Millan <rmh@aybabtu.com>
20691
20692 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20693 (grub_env_write_color_highlight): Likewise.
20694 (grub_wait_after_message): Likewise.
20695
20696 * normal/color.c: New file.
20697
20698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20699 (normal_mod_DEPENDENCIES): Likewise.
20700
20701 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20702 (normal_mod_DEPENDENCIES): Likewise.
20703
20704 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20705 (normal_mod_DEPENDENCIES): Likewise.
20706
20707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20708 (normal_mod_DEPENDENCIES): Likewise.
20709
20710 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20711 for waiting after a message is printed.
20712 * normal/main.c (read_config_file): Likewise.
20713 (grub_normal_init): Register grub_env_write_color_normal() and
20714 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20715 `color_highlight' variables as global.
20716
20717 * normal/menu.c (grub_wait_after_message): New function.
20718 (grub_color_menu_normal): New variable. Replaces ...
20719 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20720 (grub_color_menu_highlight): New variable. Replaces ...
20721 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20722 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20723 `GRUB_TERM_COLOR_STANDARD'.
20724 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20725 `normal_code' and `highlight_code' to `old_color_normal' and
20726 `old_color_highlight', respectively.
20727 (grub_menu_init_page): Update colors when drawing the menu, based on
20728 `menu_color_normal' and `menu_color_highlight' variables.
20729 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20730 a message is printed.
20731
20732 2008-01-05 Robert Millan <rmh@aybabtu.com>
20733
20734 * kern/env.c (grub_env_context_open): Propagate hooks for global
20735 variables to new context.
20736
20737 * kern/main.c (grub_set_root_dev): Export `root' variable.
20738
20739 2008-01-05 Robert Millan <rmh@aybabtu.com>
20740
20741 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20742 discs unconditionally, since udev and others have options to provide
20743 them.
20744
20745 2008-01-05 Robert Millan <rmh@aybabtu.com>
20746
20747 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20748
20749 2008-01-04 Christian Franke <franke@computer.org>
20750
20751 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20752 of eisa_mmap.
20753
20754 2008-01-03 Pavel Roskin <proski@gnu.org>
20755
20756 * kern/i386/linuxbios/init.c: Put "void" to all function
20757 declarations with no arguments.
20758 * kern/powerpc/ieee1275/init.c: Likewise.
20759 * term/i386/pc/at_keyboard.c: Likewise.
20760 * term/i386/pc/vga_text.c: Likewise.
20761 * util/grub-mkdevicemap.c: Likewise.
20762
20763 2008-01-02 Robert Millan <rmh@aybabtu.com>
20764
20765 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20766 message when loaded image is out of bounds.
20767 (grub_multiboot_load_elf64): Likewise.
20768
20769 2008-01-02 Pavel Roskin <proski@gnu.org>
20770
20771 * util/grub.d/10_linux.in: Try version without ".old" when
20772 looking for initrd. It's better to use initrd from the newer
20773 kernel of the same version than no initrd at all.
20774
20775 2008-01-01 Robert Millan <rmh@aybabtu.com>
20776
20777 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20778
20779 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20780
20781 * include/grub/video.h: Added grub_video_unmap_color and
20782 grub_video_get_active_render_target.
20783 (grub_video_adapter): Added unmap_color and get_active_render_target.
20784
20785 * video/video.c: Added grub_video_unmap_color and
20786 grub_video_get_active_render_target.
20787 (grub_video_get_info): Changed method to accept NULL pointer as an
20788 argument to allow detection of active video adapter.
20789
20790 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20791 grub_video_vbe_unmap_color_int.
20792 Added grub_video_vbe_unmap_color and
20793 grub_video_vbe_get_active_render_target.
20794 (grub_video_vbe_adapter): Added unmap_color and
20795 get_active_render_target.
20796
20797 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20798 with grub_video_vbe_unmap_color_int.
20799
20800 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20801 (DEFAULT_NORMAL_COLOR): Likewise.
20802 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20803 (DEFAULT_FG_COLOR): Removed.
20804 (DEFAULT_BG_COLOR): Likewise.
20805 (DEFAULT_CURSOR_COLOR): Changed value.
20806 (grub_virtual_screen): Added standard_color_setting,
20807 normal_color_setting, highlight_color_setting and term_color.
20808 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20809 (bitmap_width): Added.
20810 (bitmap_height): Likewise.
20811 (bitmap): Likewise.
20812 (set_term_color): Likewise.
20813 (grub_virtual_screen_setup): Changed to use new terminal coloring
20814 settings.
20815 (grub_gfxterm_init): Added init for bitmap.
20816 (grub_gfxterm_fini): Added destroy for bitmap.
20817 (redraw_screen_rect): Updated to use background bitmap and new
20818 terminal coloring.
20819 (scroll_up): Added optimization for case when there is no bitmap.
20820 (grub_gfxterm_cls): Fixed to use correct background color.
20821 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20822 coloring.
20823 (grub_virtual_screen_setcolor): Likewise.
20824 (grub_virtual_screen_getcolor): Added.
20825 (grub_gfxterm_background_image_cmd): Likewise.
20826 (grub_video_term): Added setcolor and getcolor.
20827 (MOD_INIT): Added registration of background_image command.
20828 (MOD_TERM): Added unregistration for background_image command.
20829
20830 2007-12-30 Pavel Roskin <proski@gnu.org>
20831
20832 * loader/multiboot_loader.c: Fix multiboot command
20833 unregistration. Fix all typos in the word "multiboot".
20834
20835 2007-12-29 Pavel Roskin <proski@gnu.org>
20836
20837 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20838 support for initrd names used in Fedora.
20839
20840 2007-12-26 Bean <bean123ch@gmail.com>
20841
20842 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20843 (cpio_mod_SOURCES): New variable.
20844 (cpio_mod_CFLAGS): Likewise.
20845 (cpio_mod_LDFLAGS): Likewise.
20846
20847 * fs/cpio.c: New file.
20848
20849 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20850
20851 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20852
20853 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20854
20855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20856
20857 2007-12-25 Robert Millan <rmh@aybabtu.com>
20858
20859 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20860 (grub_getcolor): New function.
20861
20862 * kern/term.c (grub_getcolor): New function.
20863 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20864 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20865 (print_entry): Set normal and highlight colors to
20866 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20867 respectively, before printing and restore them to old
20868 values afterwards.
20869 (grub_menu_init_page): Likewise. Fill an additional colored space
20870 that would otherwise be left blank.
20871
20872 * term/efi/console.c (grub_console_getcolor): New function.
20873 (struct grub_console_term.getcolor): New variable.
20874 * term/i386/pc/console.c (grub_console_getcolor): New function.
20875 (struct grub_console_term.getcolor): New variable.
20876 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20877 (struct grub_console_term.getcolor): New variable.
20878
20879 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20880 (struct grub_console_term.setcolor): Remove variable.
20881 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20882 (struct grub_console_term.setcolor): Remove variable.
20883 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20884 (struct grub_console_term.setcolor): Remove variable.
20885 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20886 (struct grub_console_term.setcolor): Remove variable.
20887
20888 2007-12-25 Robert Millan <rmh@aybabtu.com>
20889
20890 * configure.ac: Search for possible unifont.hex locations, and
20891 define UNIFONT_HEX if found.
20892
20893 * Makefile.in (UNIFONT_HEX): Define variable.
20894 (DATA): Rename to ...
20895 (PKGLIB): ... this. Update all users.
20896 (PKGDATA): New variable.
20897 (pkgdata_IMAGES): Rename to ...
20898 (pkglib_IMAGES): ... this. Update all users.
20899 (pkgdata_MODULES): Rename to ...
20900 (pkglib_MODULES): ... this. Update all users.
20901 (pkgdata_PROGRAMS): Rename to ...
20902 (pkglib_PROGRAMS): ... this. Update all users.
20903 (pkgdata_DATA): Rename to ...
20904 (pkglib_DATA): ... this. Update all users.
20905 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20906 (unicode.pff, ascii.pff): New rules.
20907 (all-local): Add `$(PKGDATA)' dependency.
20908 (install-local): Process `$(PKGDATA)'.
20909
20910 * util/update-grub_lib.in (font_path): Search for *.pff files in
20911 a few more locations, including `${pkgdata}'.
20912
20913 2007-12-23 Robert Millan <rmh@aybabtu.com>
20914
20915 Patch from Bean <bean123ch@gmail.com>:
20916 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20917 `size'.
20918
20919 2007-12-21 Bean <bean123ch@gmail.com>
20920
20921 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20922 (ntfscomp_mod_SOURCES): New variable.
20923 (ntfscomp_mod_CFLAGS): Likewise.
20924 (ntfscomp_mod_LDFLAGS): Likewise.
20925
20926 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20927 (grub_probe_SOURCES): Likewise.
20928 (grub_emu_SOURCES): Likewise.
20929
20930 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20931 (grub_emu_SOURCES): Likewise.
20932
20933 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20934 (grub_emu_SOURCES): Likewise.
20935
20936 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20937 (grub_emu_SOURCES): Likewise.
20938
20939 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20940 (read_run_list): Renamed to grub_ntfs_read_run_list.
20941 (decomp_nextvcn): Moved to ntfscomp.c.
20942 (decomp_getch): Likewise.
20943 (decomp_get16): Likewise.
20944 (decomp_block): Likewise.
20945 (read_block): Likewise.
20946 (read_data): Partially moved to ntfscomp.c.
20947 (fixup): Change unsigned to grub_uint16_t.
20948 (read_mft): Change unsigned long to grub_uint32_t.
20949 (read_attr): Likewise.
20950 (read_data): Likewise.
20951 (read_run_data): Likewise.
20952 (read_run_list): Likewise.
20953 (read_mft): Likewise.
20954
20955 * fs/ntfscomp.c: New file.
20956
20957 * include/grub/ntfs.h: New file.
20958
20959 2007-12-16 Robert Millan <rmh@aybabtu.com>
20960
20961 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20962 IDE disk check, since Linux is known to support 20 IDE disks.
20963 Reported by Colin Watson.
20964
20965 2007-12-15 Bean <bean123ch@gmail.com>
20966
20967 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20968 (lnxboot_img_SOURCES): New variable.
20969 (lnxboot_img_ASFLAGS): Likewise.
20970 (lnxboot_img_LDFLAGS): Likewise.
20971
20972 * boot/i386/pc/lnxboot.S: New file.
20973
20974 2007-11-24 Pavel Roskin <proski@gnu.org>
20975
20976 * configure.ac: Test if '--build-id=none' is supported by the
20977 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20978 objcopy to generate incorrect binary files (binutils
20979 2.17.50.0.18-1 as shipped by Fedora 8).
20980 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20981 linking, so that build ID doesn't break the test.
20982
20983 2007-11-24 Pavel Roskin <proski@gnu.org>
20984
20985 * include/grub/i386/time.h: use "void" in the argument list
20986 of grub_cpu_idle().
20987 * include/grub/powerpc/time.h: Likewise.
20988 * include/grub/sparc64/time.h: Likewise.
20989
20990 2007-11-18 Christian Franke <franke@computer.org>
20991
20992 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20993 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20994 This fixes the problem that function keys did not work in grub-emu.
20995
20996 2007-11-18 Christian Franke <franke@computer.org>
20997
20998 * disk/host.c (grub_host_open): Remove attribute unused from
20999 name parameter. Add check for "host". This fixes the problem
21000 that grub-emu does not find partitions.
21001
21002 2007-11-18 Christian Franke <franke@computer.org>
21003
21004 * util/hostfs.c (is_dir): New function.
21005 (grub_hostfs_dir): Handle missing dirent.d_type case.
21006 (grub_hostfs_read): Add missing fseek().
21007 (grub_hostfs_label): Clear label pointer. This fixes a crash
21008 of grub-emu on "ls (host)".
21009
21010 2007-11-18 Christian Franke <franke@computer.org>
21011
21012 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21013 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21014 to 64 bit boundary by default.
21015
21016 2007-11-18 Bean <bean123ch@gmail.com>
21017
21018 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21019 (hexdump_mod_SOURCES): New variable.
21020 (hexdump_mod_CFLAGS): Likewise.
21021 (hexdump_mod_LDFLAGS): Likewise.
21022
21023 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21024
21025 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21026
21027 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21028
21029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21030
21031 * include/grub/hexdump.h: New file.
21032
21033 * commands/hexdump.c: New file.
21034
21035 2007-11-10 Robert Millan <rmh@aybabtu.com>
21036
21037 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21038 in grub_outb() calls.
21039 (beep_on): Likewise.
21040
21041 2007-11-10 Christian Franke <franke@computer.org>
21042
21043 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21044 (grub_menu_run): Likewise.
21045
21046 2007-11-10 Robert Millan <rmh@aybabtu.com>
21047
21048 * include/grub/i386/efi/machine.h: New file.
21049 * include/grub/i386/linuxbios/machine.h: Likewise.
21050 * include/grub/i386/pc/machine.h: Likewise.
21051 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21052 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21053
21054 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21055 (serial_hw_io_addr): New variable.
21056 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21057 instead of `(unsigned short *) 0x400'.
21058
21059 2007-11-10 Bean <bean123ch@gmail.com>
21060
21061 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21062
21063 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21064
21065 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21066 (vga_mod_SOURCES): Added.
21067 (vga_mod_CFLAGS): Likewise.
21068 (vga_mod_LDFLAGS): Likewise.
21069
21070 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21071 grub_outb() calls.
21072 (set_map_mask): Likewise.
21073 (set_read_map): Likewise.
21074 (set_read_address): Likewise.
21075 (vga_font): Removed variable.
21076 (get_vga_glyph): Removed function.
21077 (invalidate_char): Likewise.
21078 (write_char): Changed to use grub_font_get_glyph() for font
21079 information.
21080 (grub_vga_putchar): Likewise.
21081 (grub_vga_getcharwidth): Likewise.
21082
21083 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21084
21085 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21086 flags.
21087 (pxeboot_img_LDFLAGS): Likewise.
21088 (diskboot_img_LDFLAGS): Likewise.
21089 (kernel_img_LDFLAGS): Likewise.
21090
21091 2007-11-06 Robert Millan <rmh@aybabtu.com>
21092
21093 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21094 in grub_outb() calls.
21095 (serial_hw_init): Likewise.
21096
21097 2007-11-05 Robert Millan <rmh@aybabtu.com>
21098
21099 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21100 spaces. Skip non-regular files.
21101
21102 2007-11-05 Robert Millan <rmh@aybabtu.com>
21103
21104 * kern/disk.c (grub_disk_firmware_fini)
21105 (grub_disk_firmware_is_tainted): New variables.
21106
21107 * include/grub/disk.h (grub_disk_firmware_fini)
21108 (grub_disk_firmware_is_tainted): Likewise.
21109
21110 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21111 (grub_disk_biosdisk_fini): ... to here.
21112 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21113 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21114 is set. Register grub_disk_biosdisk_fini() in
21115 `grub_disk_firmware_fini'.
21116
21117 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21118 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21119 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21120 to finish existing firmware disk interface.
21121
21122 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21123 (ata_mod_SOURCES): New variable.
21124 (ata_mod_CFLAGS): Likewise.
21125 (ata_mod_LDFLAGS): Likewise.
21126
21127 2007-11-05 Robert Millan <rmh@aybabtu.com>
21128
21129 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21130 (grub_ata_wait): Reimplement using grub_millisleep().
21131
21132 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21133 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21134
21135 2007-11-03 Marco Gerards <marco@gnu.org>
21136
21137 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21138 (CRTC_ADDR_PORT): New macro.
21139 (CRTC_DATA_PORT): Likewise.
21140 (CRTC_CURSOR): Likewise.
21141 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21142 (CRTC_CURSOR_ADDR_LOW): Likewise.
21143 (update_cursor): New function.
21144 (grub_console_real_putchar): Call `update_cursor'.
21145 (grub_console_gotoxy): Likewise.
21146 (grub_console_cls): Set the default color when clearing the
21147 screen.
21148 (grub_console_setcursor): Implemented.
21149
21150 2007-11-03 Marco Gerards <marco@gnu.org>
21151
21152 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21153 become activate.
21154 (grub_ata_pio_write): Likewise.
21155
21156 (grub_atapi_identify): Wait after issuing an ATA command.
21157 (grub_atapi_packet): Likewise.
21158 (grub_ata_identify): Likewise.
21159 (grub_ata_readwrite): Likewise.
21160
21161 2007-11-03 Marco Gerards <marco@gnu.org>
21162
21163 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21164 (grub_ata_pio_write): Likewise.
21165 (grub_ata_readwrite): Use `grub_error', instead of
21166 returning `grub_errno'.
21167
21168 2007-11-03 Marco Gerards <marco@gnu.org>
21169
21170 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21171 grub_ata_pio_write once for every single sector, instead of for
21172 multiple sectors.
21173
21174 2007-10-31 Robert Millan <rmh@aybabtu.com>
21175
21176 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21177
21178 * conf/i386-linuxbios.rmk: New file.
21179
21180 * kern/i386/pc/hardware.c: Likewise.
21181 * term/i386/pc/at_keyboard.c: Likewise.
21182 * term/i386/pc/vga_text.c: Likewise.
21183
21184 * include/grub/i386/linuxbios/boot.h: Likewise.
21185 * include/grub/i386/linuxbios/console.h: Likewise.
21186 * include/grub/i386/linuxbios/init.h: Likewise.
21187 * include/grub/i386/linuxbios/kernel.h: Likewise.
21188 * include/grub/i386/linuxbios/loader.h: Likewise.
21189 * include/grub/i386/linuxbios/memory.h: Likewise.
21190 * include/grub/i386/linuxbios/serial.h: Likewise.
21191 * include/grub/i386/linuxbios/time.h: Likewise.
21192
21193 * kern/i386/linuxbios/init.c: Likewise.
21194 * kern/i386/linuxbios/startup.S: Likewise.
21195 * kern/i386/linuxbios/table.c: Likewise.
21196
21197 2007-10-31 Marco Gerards <marco@gnu.org>
21198
21199 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21200 (ata_mod_SOURCES): New variable.
21201 (ata_mod_CFLAGS): Likewise.
21202 (ata_mod_LDFLAGS): Likewise.
21203
21204 * disk/ata.c: New file.
21205
21206 * include/grub/disk.h (grub_disk_dev_id): Add
21207 `GRUB_DISK_DEV_ATA_ID'.
21208
21209 2007-10-31 Robert Millan <rmh@aybabtu.com>
21210
21211 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21212 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21213
21214 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21215 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21216
21217 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21218 `<grub/types.h>'.
21219
21220 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21221
21222 2007-10-27 Robert Millan <rmh@aybabtu.com>
21223
21224 * include/grub/types.h (ULONG_MAX): Define macro.
21225
21226 2007-10-22 Robert Millan <rmh@aybabtu.com>
21227
21228 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21229 `"../realmode.S"'.
21230 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21231
21232 2007-10-22 Robert Millan <rmh@aybabtu.com>
21233
21234 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21235 (pkgdata_MODULES): Add `biosdisk.mod'.
21236 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21237 variables.
21238
21239 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21240 (grub_biosdisk_init): Replace with ...
21241 (GRUB_MOD_INIT(biosdisk)): ... this.
21242 (grub_biosdisk_fini): Replace with ...
21243 (GRUB_MOD_FINI(biosdisk)): ... this.
21244
21245 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21246 (grub_machine_init): Remove call to grub_biosdisk_init().
21247 (grub_machine_fini): Remove call to grub_machine_fini().
21248
21249 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21250
21251 2007-10-22 Robert Millan <rmh@aybabtu.com>
21252
21253 * include/grub/time.h: New file.
21254 * include/grub/i386/time.h: Likewise.
21255 * include/grub/powerpc/time.h: Likewise.
21256 * include/grub/sparc64/time.h: Likewise.
21257
21258 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21259 instances to ...
21260 (KERNEL_MACHINE_TIME_HEADER): ... this.
21261 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21262 instances to ...
21263 (KERNEL_MACHINE_TIME_HEADER): ... this.
21264 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21265 instances to ...
21266 (KERNEL_MACHINE_TIME_HEADER): ... this.
21267
21268 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21269 (grub_millisleep): New function.
21270 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21271 (grub_millisleep): New function.
21272 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21273 Remove `grub/machine/time.h' include.
21274 (grub_millisleep): New function.
21275 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21276 Remove `grub/machine/time.h' include.
21277 (grub_millisleep): New function.
21278
21279 * include/grub/misc.h (grub_div_roundup): New function.
21280
21281 * kern/misc.c: Include `<grub/time.h>'.
21282 (grub_millisleep_generic): New function.
21283
21284 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21285 Add `time.h'.
21286 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21287 Add `time.h'.
21288 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21289 `machine/time.h'. Add `time.h'.
21290 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21291
21292 2007-10-21 Robert Millan <rmh@aybabtu.com>
21293
21294 * include/grub/misc.h (grub_max): New function.
21295
21296 2007-10-21 Robert Millan <rmh@aybabtu.com>
21297
21298 * util/misc.c (grub_util_info): Call fflush() before returning.
21299
21300 2007-10-20 Robert Millan <rmh@aybabtu.com>
21301
21302 * genmk.rb (Image): Copy `extra_flags' from here ...
21303 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21304
21305 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21306 to `argc' and `args' arguments.
21307
21308 2007-10-17 Robert Millan <rmh@aybabtu.com>
21309
21310 * kern/i386/loader.S: New file.
21311
21312 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21313 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21314 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21315 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21316 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21317 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21318 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21319 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21320 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21321 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21322 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21323 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21324 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21325 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21326
21327 * kern/i386/realmode.S: New file.
21328
21329 * kern/i386/pc/startup.S (protstack): Moved from here ...
21330 * kern/i386/realmode.S (protstack)... to here.
21331 * kern/i386/pc/startup.S (gdt): Moved from here ...
21332 * kern/i386/realmode.S (gdt)... to here.
21333 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21334 * kern/i386/realmode.S (prot_to_real)... to here.
21335
21336 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21337 `kern/i386/realmode.S'.
21338
21339 2007-10-17 Robert Millan <rmh@aybabtu.com>
21340
21341 * include/grub/i386/loader.h: New file.
21342
21343 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21344 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21345 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21346 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21347 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21348 * include/grub/i386/loader.h (grub_linux_prot_size)
21349 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21350 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21351 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21352 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21353
21354 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21355
21356 2007-10-15 Robert Millan <rmh@aybabtu.com>
21357
21358 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21359 filesystem when dev->disk is unset.
21360 Do probe for filesystem even when dev->disk->has_partitions is set.
21361 In case a filesystem is found, always report it.
21362 In case it isn't, if dev->disk->has_partitions is set, report that
21363 a partition table was found instead of reporting that no filesystem
21364 could be identified.
21365
21366 2007-10-12 Robert Millan <rmh@aybabtu.com>
21367
21368 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21369 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21370
21371 * include/grub/types.h (grub_host_to_target16): New macro.
21372 (grub_host_to_target32): Likewise.
21373 (grub_host_to_target64): Likewise.
21374 (grub_target_to_host16): Likewise.
21375 (grub_target_to_host32): Likewise.
21376 (grub_target_to_host64): Likewise.
21377
21378 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21379 Renamed from to ...
21380 (GRUB_MOD_ALIGN): ...this. Update all users.
21381
21382 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21383 grub_host_to_target32.
21384 Replace grub_be_to_cpu32 with grub_target_to_host32.
21385 (load_modules): Likewise.
21386 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21387 Replace grub_be_to_cpu32 with grub_target_to_host32.
21388 Replace grub_cpu_to_be16 with grub_host_to_target16.
21389 Replace grub_cpu_to_be32 grub_host_to_target32.
21390
21391 2007-10-12 Robert Millan <rmh@aybabtu.com>
21392
21393 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21394 * util/elf/grub-mkimage.c: ... here.
21395
21396 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21397 `util/powerpc/ieee1275/grub-mkimage.c'.
21398
21399 2007-10-07 Robert Millan <rmh@aybabtu.com>
21400
21401 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21402 and make it easier to figure out.
21403 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21404 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21405 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21406 leave us with less than HEAP_MIN_SIZE total heap.
21407 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21408
21409 2007-10-03 Robert Millan <rmh@aybabtu.com>
21410
21411 * include/grub/i386/io.h: New file.
21412 * commands/i386/pc/play.c (inb): Removed.
21413 (outb): Removed.
21414 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21415 with grub_outb().
21416 * term/i386/pc/serial.c (inb): Removed.
21417 (outb): Removed.
21418 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21419 with grub_outb().
21420 * term/i386/pc/vga.c (inb): Removed.
21421 (outb): Removed.
21422 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21423 with grub_outb().
21424
21425 2007-10-02 Robert Millan <rmh@aybabtu.com>
21426
21427 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21429 Reported by Marcin Kurek.
21430
21431 2007-09-07 Robert Millan <rmh@aybabtu.com>
21432
21433 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21434 SmartFirmware version updates (as released by Sven Luther), and avoid
21435 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21436 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21437 known broken.
21438
21439 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21440
21441 From Hitoshi Ozeki:
21442 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21443 when merging two regions.
21444
21445 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21446
21447 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21448 * normal/completion.c (grub_normal_do_completion): Likewise.
21449 Reported by Hitoshi Ozeki.
21450
21451 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21452
21453 Do not use devices at boot in chainloading.
21454
21455 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21456 (boot_part_addr): Likewise.
21457 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21458 with BOOT_DRIVE and BOOT_PART_ADDR.
21459 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21460 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21461
21462 2007-08-29 Robert Millan <rmh@aybabtu.com>
21463
21464 Patch from Simon Peter <dn.tlp@gmx.net>:
21465 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21466 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21467 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21468 util/i386/pc/grub-setup.c_DEPENDENCIES.
21469 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21470 util/grub-probe.c_DEPENDENCIES.
21471 * conf/powerpc-ieee1275.rmk: Likewise.
21472
21473 2007-08-28 Robert Millan <rmh@aybabtu.com>
21474
21475 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21476 to tell grub-mkdevicemap how to name devices.
21477 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21478 feature).
21479
21480 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21481 util/i386/get_disk_name.c.
21482 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21483 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21484 util/ieee1275/get_disk_name.c.
21485
21486 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21487
21488 * DISTLIST: Add util/i386/get_disk_name.c and
21489 util/ieee1275/get_disk_name.c.
21490
21491 * util/grub-mkdevicemap.c: Replace device naming logic with
21492 grub_util_get_disk_name() calls.
21493
21494 2007-08-20 Robert Millan <rmh@aybabtu.com>
21495
21496 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21497 (so that it works for both plural and singular quantities).
21498
21499 2007-08-05 Robert Millan <rmh@aybabtu.com>
21500
21501 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21502 so that [xz] isn't taken into account when determining order.
21503
21504 2007-08-02 Marco Gerards <marco@gnu.org>
21505
21506 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21507 `include/multiboot2.h', `include/grub/elfload.h',
21508 `include/multiboot.h', `include/grub/multiboot.h',
21509 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21510 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21511 `kern/elf.c', `loader/multiboot_loader.c',
21512 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21513 `loader/i386/pc/multiboot2.c',
21514 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21515 `util/i386/pc/grub-mkrescue.in'. Remove
21516 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21517 `include/grub/i386/pc/util/biosdisk.h' and
21518 `include/grub/powerpc/ieee1275/multiboot.h'.
21519
21520 2007-08-02 Bean <bean123ch@gmail.com>
21521
21522 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21523 (ntfs_mod_SOURCES): New variable.
21524 (ntfs_mod_CFLAGS): Likewise.
21525 (ntfs_mod_LDFLAGS): Likewise.
21526
21527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21528 (grub_probe_SOURCES): Likewise.
21529 (grub_emu_SOURCES): Likewise.
21530
21531 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21532 (grub_emu_SOURCES): Likewise.
21533
21534 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21535 (grub_emu_SOURCES): Likewise.
21536
21537 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21538
21539 * fs/ntfs.c: New file.
21540
21541 2007-08-02 Bean <bean123ch@gmail.com>
21542
21543 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21544
21545 * file.h (grub_file): Likewise.
21546
21547 * fshelp.h (grub_fshelp_read_file): Likewise.
21548
21549 * util/i386/pc/grub-setup.c (setup): Likewise.
21550 (save_first_sector): Likewise.
21551 (save_blocklists): Likewise.
21552
21553 * fs/affs.c (grub_affs_read_file): Likewise.
21554
21555 * fs/ext2.c (grub_ext2_read_file): Likewise.
21556
21557 * fs/fat.c (grub_fat_read_data): Likewise.
21558
21559 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21560
21561 * fs/hfs.c (grub_hfs_read_file): Likewise.
21562
21563 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21564
21565 * fs/jfs.c (grub_jfs_read_file): Likewise.
21566
21567 * fs/minix.c (grub_minix_read_file): Likewise.
21568
21569 * fs/sfs.c (grub_sfs_read_file): Likewise.
21570
21571 * fs/ufs.c (grub_ufs_read_file): Likewise.
21572
21573 * fs/xfs.c (grub_xfs_read_file): Likewise.
21574
21575 * command/blocklist.c (read_blocklist): Likewise.
21576 (print_blocklist): Likewise.
21577
21578 2007-08-02 Marco Gerards <marco@gnu.org>
21579
21580 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21581 `util/hostfs.c'.
21582
21583 * disk/host.c: New file.
21584
21585 * util/hostfs.c: Likewise.
21586
21587 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21588 return `GRUB_ERR_BAD_FS'.
21589 * fs/sfs.c (grub_sfs_mount): Likewise.
21590 * fs/xfs.c (grub_xfs_mount): Likewise.
21591
21592 * include/grub/disk.h (enum grub_disk_dev_id): Add
21593 `GRUB_DISK_DEVICE_HOST_ID'.
21594
21595 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21596
21597 2007-07-24 Jerone Young <jerone@gmail.com>
21598
21599 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21600 modules for compilation.
21601 * conf/powerpc-ieee1275.rmk: Likewise.
21602
21603 * include/multiboot.h: Move multiboot definitions to one file. Rename
21604 many definitions to not get grub specific.
21605 * include/multiboot2.h: Create header with multiboot 2 definitions.
21606 * include/grub/multiboot.h: Header for grub specific function
21607 prototypes and definitions.
21608 * include/grub/multiboot2.h: Likewise.
21609 * include/grub/multiboot_loader.h: Likewise.
21610 * include/grub/i386/pc/multiboot.h: Removed.
21611 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21612
21613 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21614 and 2 to allow for one multiboot and module commands.
21615 * loader/multiboot2.c: Add multiboot2 functionality.
21616 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21617 and definition names.
21618 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21619 2 functions.
21620 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21621 ieee1275 specific multiboot2 code.
21622
21623 * kern/i386/pc/startup.S: Change headers and definition names for
21624 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21625
21626 2007-07-22 Robert Millan <rmh@aybabtu.com>
21627
21628 * geninitheader.sh: Process file specified in first parameter rather
21629 than hardcoding grub_modules_init.lst.
21630 * geninit.sh: Likewise. Also, construct header name dynamically rather
21631 than hardcoding grub_modules_init.h.
21632
21633 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21634 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21635 grub_probe_init.[ch] and grub_setup_init.[ch].
21636
21637 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21638 grub_modules_init.h with grub_emu_init.h.
21639 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21640 grub_probe_init.[ch] files.
21641 * conf/i386-efi.rmk: Likewise.
21642 * conf/i386-pc.rmk: Likewise.
21643 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21644 grub_setup_init.[ch] files.
21645
21646 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21647 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21648 to initialize modules rather than a list of hardcoded functions.
21649 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21650 grub_init_all() to initialize modules rather than a list of hardcoded
21651 functions.
21652
21653 2007-07-22 Robert Millan <rmh@aybabtu.com>
21654
21655 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21656 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21657
21658 2007-07-22 Robert Millan <rmh@aybabtu.com>
21659
21660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21661 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21662 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21663 flag when running on SmartFirmware.
21664 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21665 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21666 was set.
21667
21668 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21669 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21670 rather than decreasing it.
21671
21672 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21673 there's not enough space to do it, fail in the same way as when it
21674 can't be done because there are no partitions.
21675
21676 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21677 when nvsetenv failed.
21678
21679 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21680
21681 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21682 because this rule is automatically generated.
21683 (grub-mkrescue): Removed for the same reason as above.
21684
21685 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21686
21687 Migrate to GNU General Public License Version 3.
21688
21689 * COPYING: Replaced with the plain text version of GPLv3.
21690
21691 * config.guess: Updated from gnulib.
21692 * config.sub: Likewise.
21693
21694 * geninit.sh: Output a GPLv3 copyright notice.
21695 * geninitheader.sh: Likewise.
21696 * genmodsrc.sh: Likewise.
21697 * gensymlist.sh.in: Likewise.
21698
21699 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21700 * boot/i386/pc/diskboot.S: Likewise.
21701 * boot/i386/pc/pxeboot.S: Likewise.
21702 * commands/blocklist.c: Likewise.
21703 * commands/boot.c: Likewise.
21704 * commands/cat.c: Likewise.
21705 * commands/cmp.c: Likewise.
21706 * commands/configfile.c: Likewise.
21707 * commands/echo.c: Likewise.
21708 * commands/help.c: Likewise.
21709 * commands/ls.c: Likewise.
21710 * commands/search.c: Likewise.
21711 * commands/terminal.c: Likewise.
21712 * commands/test.c: Likewise.
21713 * commands/videotest.c: Likewise.
21714 * commands/i386/cpuid.c: Likewise.
21715 * commands/i386/pc/halt.c: Likewise.
21716 * commands/i386/pc/play.c: Likewise.
21717 * commands/i386/pc/reboot.c: Likewise.
21718 * commands/i386/pc/vbeinfo.c: Likewise.
21719 * commands/i386/pc/vbetest.c: Likewise.
21720 * commands/ieee1275/halt.c: Likewise.
21721 * commands/ieee1275/reboot.c: Likewise.
21722 * commands/ieee1275/suspend.c: Likewise.
21723 * disk/loopback.c: Likewise.
21724 * disk/lvm.c: Likewise.
21725 * disk/raid.c: Likewise.
21726 * disk/efi/efidisk.c: Likewise.
21727 * disk/i386/pc/biosdisk.c: Likewise.
21728 * disk/ieee1275/ofdisk.c: Likewise.
21729 * font/manager.c: Likewise.
21730 * fs/affs.c: Likewise.
21731 * fs/ext2.c: Likewise.
21732 * fs/fat.c: Likewise.
21733 * fs/fshelp.c: Likewise.
21734 * fs/hfs.c: Likewise.
21735 * fs/hfsplus.c: Likewise.
21736 * fs/iso9660.c: Likewise.
21737 * fs/jfs.c: Likewise.
21738 * fs/minix.c: Likewise.
21739 * fs/sfs.c: Likewise.
21740 * fs/ufs.c: Likewise.
21741 * fs/xfs.c: Likewise.
21742 * hello/hello.c: Likewise.
21743 * include/grub/acorn_filecore.h: Likewise.
21744 * include/grub/arg.h: Likewise.
21745 * include/grub/bitmap.h: Likewise.
21746 * include/grub/boot.h: Likewise.
21747 * include/grub/cache.h: Likewise.
21748 * include/grub/device.h: Likewise.
21749 * include/grub/disk.h: Likewise.
21750 * include/grub/dl.h: Likewise.
21751 * include/grub/elfload.h: Likewise.
21752 * include/grub/env.h: Likewise.
21753 * include/grub/err.h: Likewise.
21754 * include/grub/file.h: Likewise.
21755 * include/grub/font.h: Likewise.
21756 * include/grub/fs.h: Likewise.
21757 * include/grub/fshelp.h: Likewise.
21758 * include/grub/gzio.h: Likewise.
21759 * include/grub/hfs.h: Likewise.
21760 * include/grub/kernel.h: Likewise.
21761 * include/grub/loader.h: Likewise.
21762 * include/grub/lvm.h: Likewise.
21763 * include/grub/misc.h: Likewise.
21764 * include/grub/mm.h: Likewise.
21765 * include/grub/net.h: Likewise.
21766 * include/grub/normal.h: Likewise.
21767 * include/grub/parser.h: Likewise.
21768 * include/grub/partition.h: Likewise.
21769 * include/grub/pc_partition.h: Likewise.
21770 * include/grub/raid.h: Likewise.
21771 * include/grub/rescue.h: Likewise.
21772 * include/grub/script.h: Likewise.
21773 * include/grub/setjmp.h: Likewise.
21774 * include/grub/symbol.h: Likewise.
21775 * include/grub/term.h: Likewise.
21776 * include/grub/terminfo.h: Likewise.
21777 * include/grub/tparm.h: Likewise.
21778 * include/grub/types.h: Likewise.
21779 * include/grub/video.h: Likewise.
21780 * include/grub/efi/api.h: Likewise.
21781 * include/grub/efi/chainloader.h: Likewise.
21782 * include/grub/efi/console.h: Likewise.
21783 * include/grub/efi/console_control.h: Likewise.
21784 * include/grub/efi/disk.h: Likewise.
21785 * include/grub/efi/efi.h: Likewise.
21786 * include/grub/efi/pe32.h: Likewise.
21787 * include/grub/efi/time.h: Likewise.
21788 * include/grub/i386/linux.h: Likewise.
21789 * include/grub/i386/setjmp.h: Likewise.
21790 * include/grub/i386/types.h: Likewise.
21791 * include/grub/i386/efi/kernel.h: Likewise.
21792 * include/grub/i386/efi/loader.h: Likewise.
21793 * include/grub/i386/efi/time.h: Likewise.
21794 * include/grub/i386/pc/biosdisk.h: Likewise.
21795 * include/grub/i386/pc/boot.h: Likewise.
21796 * include/grub/i386/pc/chainloader.h: Likewise.
21797 * include/grub/i386/pc/console.h: Likewise.
21798 * include/grub/i386/pc/init.h: Likewise.
21799 * include/grub/i386/pc/kernel.h: Likewise.
21800 * include/grub/i386/pc/loader.h: Likewise.
21801 * include/grub/i386/pc/memory.h: Likewise.
21802 * include/grub/i386/pc/multiboot.h: Likewise.
21803 * include/grub/i386/pc/serial.h: Likewise.
21804 * include/grub/i386/pc/time.h: Likewise.
21805 * include/grub/i386/pc/vbe.h: Likewise.
21806 * include/grub/i386/pc/vbeblit.h: Likewise.
21807 * include/grub/i386/pc/vbefill.h: Likewise.
21808 * include/grub/i386/pc/vbeutil.h: Likewise.
21809 * include/grub/i386/pc/vga.h: Likewise.
21810 * include/grub/ieee1275/ieee1275.h: Likewise.
21811 * include/grub/ieee1275/ofdisk.h: Likewise.
21812 * include/grub/powerpc/libgcc.h: Likewise.
21813 * include/grub/powerpc/setjmp.h: Likewise.
21814 * include/grub/powerpc/types.h: Likewise.
21815 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21816 * include/grub/powerpc/ieee1275/console.h: Likewise.
21817 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21818 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21819 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21820 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21821 * include/grub/powerpc/ieee1275/time.h: Likewise.
21822 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21823 * include/grub/sparc64/libgcc.h: Likewise.
21824 * include/grub/sparc64/setjmp.h: Likewise.
21825 * include/grub/sparc64/types.h: Likewise.
21826 * include/grub/sparc64/ieee1275/console.h: Likewise.
21827 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21828 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21829 * include/grub/sparc64/ieee1275/time.h: Likewise.
21830 * include/grub/util/biosdisk.h: Likewise.
21831 * include/grub/util/getroot.h: Likewise.
21832 * include/grub/util/lvm.h: Likewise.
21833 * include/grub/util/misc.h: Likewise.
21834 * include/grub/util/raid.h: Likewise.
21835 * include/grub/util/resolve.h: Likewise.
21836 * io/gzio.c: Likewise.
21837 * kern/device.c: Likewise.
21838 * kern/disk.c: Likewise.
21839 * kern/dl.c: Likewise.
21840 * kern/elf.c: Likewise.
21841 * kern/env.c: Likewise.
21842 * kern/err.c: Likewise.
21843 * kern/file.c: Likewise.
21844 * kern/fs.c: Likewise.
21845 * kern/loader.c: Likewise.
21846 * kern/main.c: Likewise.
21847 * kern/misc.c: Likewise.
21848 * kern/mm.c: Likewise.
21849 * kern/parser.c: Likewise.
21850 * kern/partition.c: Likewise.
21851 * kern/rescue.c: Likewise.
21852 * kern/term.c: Likewise.
21853 * kern/efi/efi.c: Likewise.
21854 * kern/efi/init.c: Likewise.
21855 * kern/efi/mm.c: Likewise.
21856 * kern/i386/dl.c: Likewise.
21857 * kern/i386/efi/init.c: Likewise.
21858 * kern/i386/efi/startup.S: Likewise.
21859 * kern/i386/pc/init.c: Likewise.
21860 * kern/i386/pc/lzo1x.S: Likewise.
21861 * kern/i386/pc/startup.S: Likewise.
21862 * kern/ieee1275/ieee1275.c: Likewise.
21863 * kern/powerpc/cache.S: Likewise.
21864 * kern/powerpc/dl.c: Likewise.
21865 * kern/powerpc/ieee1275/cmain.c: Likewise.
21866 * kern/powerpc/ieee1275/crt0.S: Likewise.
21867 * kern/powerpc/ieee1275/init.c: Likewise.
21868 * kern/powerpc/ieee1275/openfw.c: Likewise.
21869 * kern/sparc64/cache.S: Likewise.
21870 * kern/sparc64/dl.c: Likewise.
21871 * kern/sparc64/ieee1275/init.c: Likewise.
21872 * kern/sparc64/ieee1275/openfw.c: Likewise.
21873 * loader/efi/chainloader.c: Likewise.
21874 * loader/efi/chainloader_normal.c: Likewise.
21875 * loader/i386/efi/linux.c: Likewise.
21876 * loader/i386/efi/linux_normal.c: Likewise.
21877 * loader/i386/pc/chainloader.c: Likewise.
21878 * loader/i386/pc/chainloader_normal.c: Likewise.
21879 * loader/i386/pc/linux.c: Likewise.
21880 * loader/i386/pc/linux_normal.c: Likewise.
21881 * loader/i386/pc/multiboot.c: Likewise.
21882 * loader/i386/pc/multiboot_normal.c: Likewise.
21883 * loader/powerpc/ieee1275/linux.c: Likewise.
21884 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21885 * normal/arg.c: Likewise.
21886 * normal/cmdline.c: Likewise.
21887 * normal/command.c: Likewise.
21888 * normal/completion.c: Likewise.
21889 * normal/execute.c: Likewise.
21890 * normal/function.c: Likewise.
21891 * normal/lexer.c: Likewise.
21892 * normal/main.c: Likewise.
21893 * normal/menu.c: Likewise.
21894 * normal/menu_entry.c: Likewise.
21895 * normal/misc.c: Likewise.
21896 * normal/parser.y: Likewise.
21897 * normal/script.c: Likewise.
21898 * normal/i386/setjmp.S: Likewise.
21899 * normal/powerpc/setjmp.S: Likewise.
21900 * normal/sparc64/setjmp.S: Likewise.
21901 * partmap/acorn.c: Likewise.
21902 * partmap/amiga.c: Likewise.
21903 * partmap/apple.c: Likewise.
21904 * partmap/gpt.c: Likewise.
21905 * partmap/pc.c: Likewise.
21906 * partmap/sun.c: Likewise.
21907 * term/gfxterm.c: Likewise.
21908 * term/terminfo.c: Likewise.
21909 * term/efi/console.c: Likewise.
21910 * term/i386/pc/console.c: Likewise.
21911 * term/i386/pc/serial.c: Likewise.
21912 * term/i386/pc/vesafb.c: Likewise.
21913 * term/i386/pc/vga.c: Likewise.
21914 * term/ieee1275/ofconsole.c: Likewise.
21915 * util/biosdisk.c: Likewise.
21916 * util/console.c: Likewise.
21917 * util/genmoddep.c: Likewise.
21918 * util/getroot.c: Likewise.
21919 * util/grub-emu.c: Likewise.
21920 * util/grub-mkdevicemap.c: Likewise.
21921 * util/grub-probe.c: Likewise.
21922 * util/lvm.c: Likewise.
21923 * util/misc.c: Likewise.
21924 * util/raid.c: Likewise.
21925 * util/resolve.c: Likewise.
21926 * util/update-grub.in: Likewise.
21927 * util/update-grub_lib.in: Likewise.
21928 * util/grub.d/00_header.in: Likewise.
21929 * util/grub.d/10_hurd.in: Likewise.
21930 * util/grub.d/10_linux.in: Likewise.
21931 * util/i386/efi/grub-install.in: Likewise.
21932 * util/i386/efi/grub-mkimage.c: Likewise.
21933 * util/i386/pc/grub-install.in: Likewise.
21934 * util/i386/pc/grub-mkimage.c: Likewise.
21935 * util/i386/pc/grub-mkrescue.in: Likewise.
21936 * util/i386/pc/grub-setup.c: Likewise.
21937 * util/i386/pc/misc.c: Likewise.
21938 * util/powerpc/ieee1275/grub-install.in: Likewise.
21939 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21940 * util/powerpc/ieee1275/misc.c: Likewise.
21941 * video/bitmap.c: Likewise.
21942 * video/video.c: Likewise.
21943 * video/i386/pc/vbe.c: Likewise.
21944 * video/i386/pc/vbeblit.c: Likewise.
21945 * video/i386/pc/vbefill.c: Likewise.
21946 * video/i386/pc/vbeutil.c: Likewise.
21947 * video/readers/tga.c: Likewise.
21948
21949 2007-07-02 Robert Millan <rmh@aybabtu.com>
21950
21951 * conf/i386-efi.rmk: Replace obsolete reference to
21952 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21953 with util/getroot.c.
21954 * conf/powerpc-ieee1275.rmk: Likewise.
21955 * conf/sparc64-ieee1275.rmk: Likewise.
21956
21957 * util/grub-emu.c (main): Fix unchecked pointer handling.
21958
21959 2007-07-02 Robert Millan <rmh@aybabtu.com>
21960
21961 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21962 invocation to fail, in order to support partition-less media.
21963
21964 * util/i386/pc/grub-install.in: Likewise.
21965
21966 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21967 which fs or partmap modules are needed (akin to its sister scripts).
21968
21969 Also use grub-probe to get rid of unportable /proc/mounts check.
21970
21971 Print the same informational message that the other scripts do, before
21972 exiting.
21973
21974 2007-06-23 Robert Millan <rmh@aybabtu.com>
21975
21976 * util/update-grub_lib.in (font_path): New function. Determine whether
21977 a font file can be found and, if so, echo the GRUB path to it.
21978
21979 * util/update-grub.in: Handle multiple terminals depending on user
21980 input, platform availability and font file presence. Propagate
21981 variables of our findings to /etc/grub.d/ children.
21982
21983 * util/grub.d/00_header.in: Handle multiple terminals, based on
21984 environment setup by update-grub.
21985
21986 2007-06-23 Robert Millan <rmh@aybabtu.com>
21987
21988 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21989
21990 2007-06-21 Robert Millan <rmh@aybabtu.com>
21991
21992 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21993 indicate end of data section in kernel image.
21994 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21995 GRUB_KERNEL_MACHINE_DATA_END.
21996
21997 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21998 space for it.
21999 * kern/i386/efi/startup.S: Likewise.
22000
22001 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22002 during image generation. Implement --prefix option to override this
22003 patch.
22004 * util/i386/efi/grub-mkimage.c: Likewise.
22005
22006 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22007 code to make path relative to its root into a separate function.
22008
22009 * util/i386/pc/grub-install.in: Use newly provided
22010 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22011 pass the result to grub-install --prefix.
22012
22013 2007-06-13 Robert Millan <rmh@aybabtu.com>
22014
22015 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22016 DEFAULT_DEVICE_MAP.
22017 * util/grub-emu.c: Use above definitions from misc.h instead of
22018 defining them.
22019 * util/grub-mkdevicemap.c: Likewise.
22020 * util/i386/pc/grub-setup.c: Likewise.
22021 * util/grub-probe.c: Likewise.
22022 (probe): Abort with grub_util_error() when either
22023 grub_guess_root_device or grub_util_get_grub_dev fails.
22024
22025 2007-06-12 Robert Millan <rmh@aybabtu.com>
22026
22027 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22028 "pager" assignment.
22029 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22030 "pcdata".
22031 * util/grub-probe.c (probe): Likewise for "drive_name".
22032
22033 2007-06-11 Robert Millan <rmh@aybabtu.com>
22034
22035 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22036 not just the cdrom one.
22037
22038 2007-06-11 Robert Millan <rmh@aybabtu.com>
22039
22040 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22041 Add --pkglibdir=DIR option to override pkglibdir.
22042 Mention --image-type=TYPE in help output.
22043 Fix --grub-mkimage (it was a no-op).
22044 Abort gracefully when no parameter is given.
22045
22046 2007-06-11 Robert Millan <rmh@aybabtu.com>
22047
22048 * util/i386/pc/grub-mkrescue.in: New file.
22049 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22050 * Makefile.in: Handle bin_SCRIPTS.
22051
22052 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22053
22054 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22055 list of video modes.
22056
22057 2007-06-06 Robert Millan <rmh@aybabtu.com>
22058
22059 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22060 file doesn't exist, or if it is in a filesystem grub can't read.
22061
22062 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22063 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22064 header comment to fit in 80 columns when the variables are resolved.
22065
22066 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22067 could be identified by update-grub. Remove redundant check for
22068 unifont.pff existence (since convert_system_path_to_grub_path now
22069 handles that).
22070
22071 2007-06-04 Robert Millan <rmh@aybabtu.com>
22072
22073 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22074
22075 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22076
22077 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22078
22079 2007-06-04 Robert Millan <rmh@aybabtu.com>
22080
22081 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22082
22083 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22084 grub_apple_partition_map_fini.
22085
22086 * util/biosdisk.c
22087 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22088 to access >2 TiB disks).
22089
22090 Print disk->total_sectors with %llu instead of %lu, since this
22091 variable is always 64-bit (prevents wrong disk size from being displayed
22092 on either >2 TiB disk or big-endian CPU).
22093
22094 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22095 into a generic case that supports all (sane) partition maps.
22096
22097 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22098 breaks big-endian.
22099
22100 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22101 and grub_apple_partition_map_fini() after that.
22102
22103 2007-06-01 Robert Millan <rmh@aybabtu.com>
22104
22105 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22106
22107 * util/grub.d/00_header.in: Only enable gfxterm when
22108 convert_system_path_to_grub_path() succeeds.
22109
22110 2007-05-20 Robert Millan <rmh@aybabtu.com>
22111
22112 * util/update-grub_lib.in: New file.
22113 * DISTLIST: Add update-grub_lib.in.
22114 * conf/common.rmk: Generate update-grub_lib and install it in
22115 $(lib_DATA).
22116 * Makefile.in: Add install routine for $(lib_DATA).
22117
22118 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22119 function provided by update-grub_lib to support arbitrary paths of
22120 unifont.pff.
22121 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22122 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22123
22124 2007-05-19 Robert Millan <rmh@aybabtu.com>
22125
22126 * commands/i386/cpuid.c: New module.
22127 * DISTLIST: Add it.
22128 * conf/i386-efi.rmk: Enable cpuid.mod.
22129 * conf/i386-pc.rmk: Likewise.
22130
22131 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22132
22133 * kern/disk.c (grub_disk_read): Check return value of
22134 grub_realloc().
22135
22136 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22137
22138 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22139 arrays.
22140 * disk/raid.c (grub_raid_open): Likewise.
22141
22142 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22143
22144 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22145 stack instead of on the heap.
22146
22147 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22148 before doing a read on it.
22149
22150 * configure.ac: Only use -fno-stack-protector for the target
22151 environment.
22152
22153 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22154
22155 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22156 __attribute_ ((unused)) to mode_type argument.
22157
22158 * util/getroot.c (grub_guess_root_device): Fix #endif.
22159
22160 * kern/misc.c (memcmp): Fix prototype.
22161
22162 * include/grub/partition.h [GRUB_UTIL]
22163 (grub_gpt_partition_map_init): Add prototype.
22164 (grub_gpt_partition_map_fini): Likewise.
22165
22166 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22167 at the right place.
22168
22169 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22170 (grub_fat_read_data): Likewise.
22171 (grub_fat_find_dir): Likewise.
22172
22173 * font/manager.c (find_glyph): Make table a const.
22174 (grub_font_get_glyph): Remove bitmap from if statement.
22175
22176 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22177
22178 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22179 code, first search for device in /dev/mapper, then in /dev.
22180 (grub_util_get_grub_dev): New function.
22181 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22182 prototype.
22183 * util/grub-probe.c (probe): Remove check for RAID, call
22184 grub_util_get_grub_dev() instead of
22185 grub_util_biosdisk_get_grub_dev().
22186 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22187 grub_util_biosdisk_get_grub_dev().
22188 * util/i386/pc/grub-setup.c (main): Likewise.
22189
22190 2007-05-16 Robert Millan <rmh@aybabtu.com>
22191
22192 * DISTLIST: Update for the latest changes.
22193 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22194 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22195 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22196 grub/util/biosdisk.h.
22197 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22198 grub/util/biosdisk.h.
22199
22200 2007-05-16 Robert Millan <rmh@aybabtu.com>
22201
22202 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22203
22204 2007-05-16 Robert Millan <rmh@aybabtu.com>
22205
22206 * util/i386/efi/grub-install.in: New.
22207 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22208 newly added grub-install.
22209 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22210 include.
22211 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22212 grub/util/biosdisk.h.
22213 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22214 grub/util/biosdisk.h.
22215
22216 2007-05-16 Robert Millan <rmh@aybabtu.com>
22217
22218 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22219 * include/grub/util/biosdisk.h: ... here.
22220 * util/i386/pc/biosdisk.c: Moved to ...
22221 * util/biosdisk.c: ... here.
22222 * util/i386/pc/getroot.c: Moved to ...
22223 * util/getroot.c: ... here.
22224 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22225 * util/grub-mkdevicemap.c: ... here.
22226 * util/i386/pc/grub-probe.c: Moved to ...
22227 * util/grub-probe.c: ... here.
22228
22229 2007-05-15 Robert Millan <rmh@aybabtu.com>
22230
22231 * util/update-grub.in: Remove duplicated line in grub.cfg header
22232 message.
22233
22234 2007-05-13 Robert Millan <rmh@aybabtu.com>
22235
22236 * util/update-grub.in: Fix a few assumptions about the devices holding
22237 /, /boot and /boot/grub being the same.
22238 * util/grub.d/00_header.in: Likewise.
22239 * util/grub.d/10_hurd.in: Likewise.
22240 * util/grub.d/10_linux.in: Likewise.
22241
22242 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22243 patterns. Use that to define the `.old' suffix as older than `'.
22244
22245 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22246
22247 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22248 the grub.cfg header message.
22249
22250 2007-05-11 Robert Millan <rmh@aybabtu.com>
22251
22252 * util/update-grub.in: Create device.map if it doesn't already exist,
22253 before attempting to run grub-probe.
22254 Check for grub-probe and grub-mkdevicemap with the same code
22255 grub-install is using.
22256 Remove test mode.
22257
22258 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22259
22260 * Makefile.in: Add the datarootdir autoconf variable.
22261
22262 2007-05-09 Robert Millan <rmh@aybabtu.com>
22263
22264 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22265 fail gracefully if dev->disk->partition == NULL.
22266
22267 2007-05-07 Robert Millan <rmh@aybabtu.com>
22268
22269 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22270 determine partition map module.
22271 * util/i386/pc/grub-install.in: Use this feature to decide which
22272 partition module to load, instead of hardcoding pc and gpt.
22273
22274 2007-05-07 Robert Millan <rmh@aybabtu.com>
22275
22276 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22277 source directory differs from build directory.
22278
22279 2007-05-05 Robert Millan <rmh@aybabtu.com>
22280
22281 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22282 initialisation.
22283
22284 2007-05-05 Robert Millan <rmh@aybabtu.com>
22285
22286 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22287
22288 2007-05-05 Robert Millan <rmh@aybabtu.com>
22289
22290 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22291 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22292
22293 2007-05-05 Robert Millan <rmh@aybabtu.com>
22294
22295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22296 (grub_probe_SOURCES): Likewise.
22297 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22298 GPT and initialize dos_part and bsd_part accordingly.
22299 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22300 install_bsd_part.
22301 (main): Activate gpt module for use during partition identification,
22302 and deactivate it afterwards.
22303 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22304 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22305 partition identification, and deactivate it afterwards.
22306
22307 2007-05-05 Robert Millan <rmh@aybabtu.com>
22308
22309 * term/i386/pc/console.c (grub_console_fini): Call
22310 grub_term_set_current() before grub_term_unregister().
22311
22312 2007-05-04 Robert Millan <rmh@aybabtu.com>
22313
22314 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22315 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22316 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22317 and update-grub_DATA.
22318 * conf/common.rmk: Build and install update-grub components.
22319 * conf/common.mk: Regenerate.
22320 * util/update-grub.in: New. Core of update-grub.
22321 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22322 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22323 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22324 * util/grub.d/README: New. Document grub.d directory layout.
22325
22326 2007-05-01 Robert Millan <rmh@aybabtu.com>
22327
22328 * util/grub-emu.c: Move initialization functions
22329 grub_util_biosdisk_init() and grub_init_all() before
22330 grub_util_biosdisk_get_grub_dev(), which relies on them.
22331
22332 2007-04-19 Robert Millan <rmh@aybabtu.com>
22333
22334 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22335 it is used later.
22336
22337 2007-04-18 Jerone Young <jerone@gmail.com>
22338
22339 * kernel/elf.c: Add missing parenthesis for conditional statement
22340 stanza.
22341
22342 2007-04-10 Jerone Young <jerone@gmail.com>
22343
22344 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22345 continue on and look for device node with real device name.
22346
22347 2007-04-10 Jerone Young <jerone@gmail.com>
22348
22349 * configure.ac: Add argument for autoconf to use transformation
22350 ability.
22351 * Makefile.in: Add autoconf package transformation code.
22352 * util/i386/pc/grub-install.in: Likewise.
22353 * util/powerpc/ieee1275/grub-install.in: Likewise.
22354
22355 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22356
22357 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22358 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22359 (EXT2_REVISION): Likewise.
22360 (EXT2_INODE_SIZE): Likewise.
22361 (struct grub_ext2_block_group): Added a missing member
22362 "used_dirs".
22363 (grub_ext2_read_inode): Divide by the inode size in a superblock
22364 instead of 128 to obtain INODES_PER_BLOCK.
22365 Use the macro EXT2_INODE_SIZE instead of directly using
22366 SBLOCK->INODE_SIZE.
22367
22368 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22369
22370 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22371 superblock instead of the structure size to compute an
22372 offset. This fixes the problem that GRUB could not read a
22373 filesystem when inode size is different from 128-byte.
22374
22375 2007-03-05 Marco Gerards <marco@gnu.org>
22376
22377 * normal/main.c (read_config_file): When "menu" is not set, create
22378 an initial context.
22379
22380 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22381
22382 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22383 (HEAP_LIMIT): New macro.
22384 (grub_claim_heap): Claim memory up to `heaplimit'.
22385
22386 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22387
22388 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22389 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22390 (_start): Likewise.
22391 (grub_arch_modules_addr): Return address after `_end'.
22392 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22393 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22394 (add_segments): Calculate `_end' from phdr size and location.
22395 (ALIGN_UP): Moved to ...
22396 * include/grub/misc.h: here.
22397 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22398 New macro.
22399 (GRUB_IEEE1275_MODULE_BASE): Removed.
22400
22401 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22402
22403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22404 loop boundary.
22405
22406 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22407
22408 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22409 All users updated.
22410 (grub_elf64_load_hook_t): Likewise.
22411 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22412 debug output.
22413
22414 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22415
22416 * kern/mm.c: Update copyright.
22417 (grub_mm_debug): Correct syntax error.
22418 (grub_mm_dump_free): New function.
22419 (grub_debug_free): Call `grub_free'.
22420 * include/grub/mm.h: Update copyright.
22421 (grub_mm_dump_free): Add declaration.
22422
22423 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22424
22425 * include/grub/ieee1275/ieee1275.h: Update copyright.
22426 * kern/powerpc/ieee1275/init.c: Likewise.
22427 * kern/powerpc/ieee1275/openfw.c: Likewise.
22428
22429 * loader/powerpc/ieee1275/linux.c: Likewise.
22430 * include/grub/elfload.h: Likewise.
22431 * kern/elf.c: Likewise.
22432 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22433 callers.
22434 (grub_elf64_load): Likewise.
22435 (grub_elf32_load_segment): Move to a nested function.
22436 (grub_elf64_load_segment): Likewise.
22437
22438 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22439
22440 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22441 prototype.
22442 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22443 (grub_heap_len): Likewise.
22444 (HEAP_SIZE): New macro.
22445 (grub_claim_heap): New function.
22446 (grub_machine_init): Don't claim heap directly. Call
22447 `grub_claim_heap'.
22448 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22449 (grub_available_iterate): New function.
22450
22451 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22452
22453 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22454 * configure.ac: Use it for testing the HOST and TARGET compilers.
22455
22456 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22457
22458 * Makefile.in (enable_grub_emu): New variable.
22459 * configure.ac (--enable-grub-emu): New option.
22460 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22461 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22462 * conf/i386-pc.rmk: Likewise.
22463 * conf/powerpc-ieee1275.rmk: Likewise.
22464 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22465
22466 2006-12-12 Marco Gerards <marco@gnu.org>
22467
22468 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22469
22470 * kern/env.c (grub_env_unset): Don't free the member `value' when
22471 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22472 pointer.
22473
22474 * normal/main.c (current_menu): Removed.
22475 (free_menu): Unset the `menu' environment variable.
22476 (grub_normal_menu_addentry): Make use of the environment variable
22477 `menu', instead of using the global `current_menu'. Allocate
22478 memory for the sourcecode of this entry.
22479 (read_config_file): New argument `nested', changed all callers.
22480 Only in the case of a new context, initialize a new menu. Set the
22481 `menu' environment variable.
22482 (grub_normal_execute): Don't set and unset the environment
22483 variable `menu' here anymore. Only free the menu when leaving the
22484 context.
22485
22486 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22487 leak.
22488
22489 2006-12-11 Marco Gerards <marco@gnu.org>
22490
22491 * normal/menu_entry.c (run): Fix off by one bug so the last line
22492 is executed. Move the loader check to outside the loop.
22493
22494 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22495
22496 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22497
22498 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22499
22500 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22501 the number of sectors. Reported by Andrey Shuvikov
22502 <mr_hyro@yahoo.com>.
22503
22504 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22505
22506 * kern/disk.c (grub_disk_read): When there is a read error, always
22507 try to read only the necessary data.
22508
22509 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22510 disk/raid.c.
22511 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22512 prototype.
22513 [GRUB_UTIL] (grub_raid_fini): Likewise.
22514 [GRUB_UTIL] (grub_lvm_init): Likewise.
22515 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22516 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22517 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22518 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22519 and grub_raid_fini().
22520
22521 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22522
22523 * include/grub/types.h (__unused): Rename to UNUSED.
22524 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22525 (grub_elf64_size): Likewise.
22526
22527 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22528
22529 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22530 grub_error_push and grub_error_pop in the error-handling path.
22531 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22532 length.
22533
22534 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22535
22536 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22537 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22539 (kernel_elf_SOURCES): Likewise.
22540 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22541 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22542 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22543 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22544 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22545 (elf_mod_SOURCES): New variable.
22546 (elf_mod_CFLAGS): Likewise.
22547 (elf_mod_LDFLAGS): Likewise.
22548 * include/grub/types.h (__unused): New macro.
22549 * include/grub/elfload.h: New file.
22550 * kern/elf.c: Likewise.
22551 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22552 (ELF32_LOADMASK): New macro.
22553 (ELF64_LOADMASK): Likewise.
22554 (vmlinux): Removed.
22555 (grub_linux_load32): New function.
22556 (grub_linux_load64): Likewise.
22557 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22558 Use grub_elf_t instead of grub_file_t.
22559
22560 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22561
22562 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22563 `catch_result' to struct set_color_args.
22564
22565 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22566
22567 * normal/menu.c: Include grub/script.h.
22568 * normal/menu_entry.c: Likewise.
22569 * include/grub/normal.h: Do not include grub/script.h.
22570
22571 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22572
22573 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22574
22575 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22576
22577 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22578 disk.
22579 (grub_disk_close): Print debug messages when closing a disk.
22580 (grub_disk_read): Print debug messages when disk read fails.
22581 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22582 filesystem type.
22583 * kern/partition.c: Include misc.h.
22584 (grub_partition_iterate): Print debug messages when detecting
22585 partition type.
22586
22587 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22588
22589 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22590 is negative.
22591 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22592
22593 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22594
22595 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22596 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22597
22598 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22599
22600 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22601 instead of sizeof(lv). Patch by Michael Guntsche.
22602
22603 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22604
22605 * disk/lvm.c: Rename VGS to VG_LIST.
22606 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22607 (grub_lvm_open): Likewise.
22608 Thanks to Michael Guntsche for finding this bug.
22609
22610 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22611
22612 * configure.ac (AC_INIT): Bumped to 1.95.
22613
22614 2006-10-14 Robert Millan <rmh@aybabtu.com>
22615
22616 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22617 with "/dev/.static/dev/md".
22618
22619 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22620
22621 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22622 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22623 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22624 DRIVE_NAME are always freed.
22625
22626 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22627 DOS_PART, as a DOS partition is counted from one instead of zero
22628 now. Reported by Robert Millan.
22629
22630 2006-10-14 Robert Millan <rmh@aybabtu.com>
22631
22632 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22633 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22634 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22635 string returned by grub_guess_root_device.
22636 * util/i386/pc/grub-setup.c: Likewise.
22637 * util/i386/pc/grub-probefs.c: Likewise.
22638
22639 * util/i386/pc/grub-probefs.c: Rename to ...
22640 * util/i386/pc/grub-probe.c: ... this.
22641 * DISTLIST: Remove grub-probefs, add grub-probe.
22642 * conf/i386-efi.rmk: Likewise.
22643 * conf/i386-pc.rmk: Likewise.
22644 * util/i386/pc/grub-install.in: Likewise.
22645
22646 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22647 choose which information we want to print.
22648
22649 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22650
22651 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22652 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22653 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22654 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22655 video/readers/tga.c and video/i386/pc/vbeutil.c.
22656
22657 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22658
22659 Added support for RAID and LVM.
22660
22661 * disk/lvm.c: New file.
22662 * disk/raid.c: Likewise.
22663 * include/grub/lvm.h: Likewise.
22664 * include/grub/raid.h: Likewise.
22665 * include/grub/util/lvm.h: Likewise.
22666 * include/grub/util/raid.h: Likewise.
22667 * util/lvm.c: Likewise.
22668 * util/raid.c: Likewise.
22669
22670 * include/grub/disk.h (grub_disk_dev_id): Add
22671 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22672 (grub_disk_get_size): New prototype.
22673 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22674 returns a partition.
22675 (grub_disk_get_size): New function.
22676
22677 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22678 verbatim if grub_install_dos_part is -2.
22679
22680 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22681 and LVM devices.
22682
22683 * util/i386/pc/grub-setup.c (setup): New argument
22684 MUST_EMBED. Force embedding of GRUB when the argument is
22685 true. Close FILE before returning.
22686 (main): Add support for RAID and LVM.
22687
22688 * conf/common.rmk: Add RAID and LVM modules.
22689 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22690 util/lvm.c.
22691 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22692
22693 * kern/misc.c (grub_strstr): New function.
22694 * include/grub/misc.h (grub_strstr): New prototype.
22695
22696 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22697
22698 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22699
22700 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22701
22702 * kern/misc.c (grub_strtoull): Guess the base only if not
22703 specified.
22704
22705 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22706
22707 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22708 PowerMac support.
22709
22710 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22711
22712 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22713
22714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22715 Remove `flags' argument. All callers changed.
22716 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22717 (IEEE1275_IHANDLE_INVALID): New variable.
22718 (IEEE1275_CELL_INVALID): New variable.
22719 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22720 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22721 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22722 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22723 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22724 codes from Open Firmware. All callers updated.
22725 (grub_ieee1275_next_property): Directly return Open Firmware return
22726 code.
22727 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22728 Standardize error checking from `grub_ieee1275_get_property'.
22729 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22730 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22731
22732 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22733
22734 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22735 `instance_to_package_args' to `instance_to_path_args'.
22736
22737 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22738 `grub_ieee1275_chosen'.
22739
22740 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22741 `grub_ieee1275_interpret'.
22742
22743 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22744
22745 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22746
22747 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22748
22749 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22750 (__cmpdi): Likewise.
22751
22752 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22753 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22754 `grub_ssize_t'.
22755
22756 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22757
22758 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22759 to type `grub_ssize_t'.
22760 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22761
22762 2006-09-22 Marco Gerards <marco@gnu.org>
22763
22764 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22765 newlines.
22766
22767 2006-09-22 Marco Gerards <marco@gnu.org>
22768
22769 * commands/echo.c: New file.
22770
22771 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22772
22773 * conf/common.rmk (echo_mod_SOURCES): New variable.
22774 (echo_mod_CFLAGS): Likewise.
22775 (echo_mod_LDFLAGS): Likewise.
22776
22777 2006-09-22 Marco Gerards <marco@gnu.org>
22778
22779 * normal/main.c (get_line): Malloc memory instead of using
22780 preallocated memory. Removed the arguments `cmdline' and
22781 `max_len'. Updated all callers.
22782
22783 2006-09-22 Marco Gerards <marco@gnu.org>
22784
22785 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22786 (normal_mod_DEPENDENCIES): Likewise.
22787
22788 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22789 (normal_mod_DEPENDENCIES): Likewise.
22790
22791 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22792
22793 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22794
22795 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22796 programs.
22797 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22798 (normal_mod_DEPENDENCIES): Likewise.
22799 * conf/i386-pc.mk: Regenerate.
22800 * conf/i386-efi.mk: Likewise
22801 * conf/common.mk: Likewise.
22802 * conf/powerpc-ieee1275.mk: Likewise.
22803 * conf/sparc64-ieee1275.mk: Likewise.
22804
22805 2006-09-22 Robert Millan <rmh@aybabtu.com>
22806
22807 Sync with i386 version.
22808 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22809 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22810
22811 2006-09-21 Robert Millan <rmh@aybabtu.com>
22812
22813 Import from GRUB Legacy (lib/device.c):
22814 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22815 (init_device_map) [__linux__]: Add support for I2O devices.
22816
22817 2006-09-14 Marco Gerards <marco@gnu.org>
22818
22819 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22820 `-melf_i386'.
22821
22822 2006-09-14 Robert Millan <rmh@aybabtu.com>
22823
22824 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22825 /boot/grub/*.lst.
22826
22827 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22828
22829 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22830 before adding it to device.map.
22831
22832 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22833
22834 * genmk.rb: Let GCC generate dependencies the first time it
22835 compiles a file; using the -MD option.
22836 * conf/common.mk: Regenerate.
22837 * conf/i386-pc.mk: Likewise.
22838 * conf/i386-efi.mk: Likewise.
22839 * conf/powerpc-ieee1275.mk: Likewise.
22840 * conf/sparc64-ieee1275.mk: Likewise.
22841
22842 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22843
22844 Move the prototypes of grub_setjmp and grub_longjmp to
22845 cpu/setjmp.h, so that each architecture may specify different
22846 attributes.
22847
22848 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22849 (grub_longjmp): Likewise.
22850 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22851 (grub_longjmp): Likewise.
22852 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22853 (grub_longjmp): Likewise.
22854
22855 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22856 [!GRUB_UTIL] (grub_longjmp): Removed.
22857
22858 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22859
22860 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22861 "color!" method does not return any value.
22862
22863 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22864
22865 * include/grub/bitmap.h: New file.
22866
22867 * include/grub/i386/pc/vbeutil.h: Likewise.
22868
22869 * video/bitmap.c: Likewise.
22870
22871 * video/readers/tga.c: Likewise.
22872
22873 * video/i386/pc/vbeutil.c: Likewise.
22874
22875 * commands/videotest.c: Code cleanup and updated to reflect to new
22876 video API.
22877
22878 * term/gfxterm.c: Likewise.
22879
22880 * video/video.c: Likewise.
22881
22882 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22883 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22884 (bitmap_mod_SOURCES): New entry.
22885 (bitmap_mod_CFLAGS): Likewise.
22886 (bitmap_mod_LDFLAGS): Likewise.
22887 (tga_mod_SOURCES): Likewise.
22888 (tga_mod_CFLAGS): Likewise.
22889 (tga_mod_LDFLAGS): Likewise.
22890
22891 * include/grub/video.h (grub_video_blit_operators): New enum type.
22892 (grub_video_render_target): Changed as forward declaration and moved
22893 actual definition to be video driver specific.
22894 (grub_video_adapter.blit_bitmap): Added blitting operator.
22895 (grub_video_adapter.blit_render_target): Likewise.
22896 (grub_video_blit_bitmap): Likewise.
22897 (grub_video_blit_render_target): Likewise.
22898
22899 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22900 driver specific render target definition.
22901 (grub_video_vbe_map_rgba): Added driver internal helper.
22902 (grub_video_vbe_unmap_color): Updated to use
22903 grub_video_i386_vbeblit_info.
22904 (grub_video_vbe_get_video_ptr): Likewise.
22905
22906 * include/grub/i386/pc/vbeblit.h
22907 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22908 grub_video_i386_vbeblit_info.
22909 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22910 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22911 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22912 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22913 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22914 (grub_video_i386_vbeblit_index_index): Likewise.
22915 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22916 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22917 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22918 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22919 operator.
22920 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22921 operator.
22922
22923 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22924 include/grub/i386/pc/vbeblit.h.
22925
22926 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22927 Updated to use grub_video_i386_vbeblit_info.
22928 (grub_video_i386_vbefill_R8G8B8): Likewise.
22929 (grub_video_i386_vbefill_index): Likewise.
22930 (grub_video_i386_vbefill): Added generic filler.
22931
22932 * video/i386/pc/vbefill.c: Updated to reflect changes on
22933 include/grub/i386/pc/vbefill.h.
22934
22935 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22936 grub_video_i386_vbeblit_info.
22937 (grub_video_vbe_unmap_color): Likewise.
22938 (grub_video_vbe_blit_glyph): Likewise.
22939 (grub_video_vbe_scroll): Likewise.
22940 (grub_video_vbe_draw_pixel): Removed function.
22941 (grub_video_vbe_get_pixel): Likewise.
22942 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22943 updated code to use it.
22944 (common_blitter): Added common blitter for render target and bitmap.
22945 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22946 (grub_video_vbe_blit_render_target): Likewise.
22947
22948 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22949
22950 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22951 is in text mode if there is no console control protocol instance
22952 available.
22953
22954 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22955
22956 * include/grub/video.h: Code cleanup.
22957
22958 * include/grub/i386/pc/vbe.h: Likewise.
22959
22960 * video/i386/pc/vbe.c: Likewise.
22961
22962 * video/i386/pc/vbeblit.c: Likewise.
22963
22964 * video/i386/pc/vbefill.c: Likewise.
22965
22966 * video/video.c: Likewise. Also added more comments.
22967
22968 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22969
22970 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22971 (struct grub_biosdisk_dap): Likewise.
22972
22973 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22974 linkage settings for all functions.
22975
22976 2006-07-12 Marco Gerards <marco@gnu.org>
22977
22978 * configure.ac (--enable-mm-debug): Fix typo.
22979
22980 * genkernsyms.sh.in: Use proper quoting for `CC'.
22981
22982 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22983
22984 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22985 (normal_mod_ASFLAGS): Remove "-m32".
22986
22987 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22988
22989 * util/misc.c: Include config.h.
22990 [!HAVE_MEMALIGN]: Do not include malloc.h.
22991 (grub_memalign): Use posix_memalign, if present. Then, use
22992 memalign, if present. Otherwise, emit an error.
22993
22994 * util/grub-emu.c: Do not include malloc.h.
22995
22996 * include/grub/util/misc.h: Include unistd.h. This is required for
22997 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22998 D. Eades III <hde@foobar-qux.org>.
22999
23000 * configure.ac (AC_GNU_SOURCE): Added.
23001 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23002 type.
23003
23004 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23005
23006 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23007 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23008
23009 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23010
23011 * include/grub/types.h (grub_host_addr_t): Rename to
23012 grub_target_addr_t.
23013 (grub_host_off_t): Rename to grub_target_off_t.
23014 (grub_host_size_t): Rename to grub_target_size_t.
23015 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23016 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23017
23018 * include/grub/kernel.h (struct grub_module_header): Change type
23019 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23020 (grub_module_info): Likewise.
23021
23022 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23023
23024 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23025 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23026 Velazquez <jesus.velazquez@gmail.com>.
23027
23028 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23029
23030 Count partitions from 1 instead of 0 in the string representation
23031 of partitions. Still use 0-based internally.
23032
23033 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23034 (sun_partition_map_iterate): Use grub_partition_t instead of
23035 struct grub_partition *. Cast DESC->START_CYLINDER to
23036 grub_uint64_t after converting the endian.
23037 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23038 (sun_partition_map_get_name): Add 1 to P->INDEX.
23039
23040 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23041 PCDATA->DOS_PART.
23042 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23043
23044 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23045 zero instead of one.
23046 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23047 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23048
23049 * partmap/apple.c (apple_partition_map_iterate): Change the type
23050 of POS to unsigned.
23051 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23052 (apple_partition_map_get_name): Add 1 into P->INDEX.
23053
23054 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23055 of POS to unsigned.
23056 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23057 calculate the offset of a partition.
23058 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23059 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23060
23061 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23062 SECTOR to grub_disk_addr_t.
23063 (acorn_partition_map_iterate): Likewise.
23064 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23065 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23066 top.
23067 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23068
23069 * kern/i386/pc/init.c (make_install_device): Add 1 into
23070 GRUB_INSTALL_DOS_PART.
23071
23072 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23073 conditional.
23074
23075 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23076
23077 Clean up the code to support 64-bit addressing in disks and
23078 files. This change is not enough for filesystems yet.
23079
23080 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23081 type of "start" to grub_uint64_t.
23082 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23083 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23084 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23085 convert addresses.
23086
23087 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23088 to grub_disk_addr_t.
23089
23090 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23091 string.
23092
23093 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23094
23095 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23096 to char *.
23097
23098 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23099
23100 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23101
23102 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23103
23104 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23105 to grub_off_t, to detect an error from grub_file_seek.
23106 (grub_multiboot_load_elf32): Likewise.
23107
23108 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23109 maximum unsigned long value when an overflow is detected.
23110 (grub_strtoull): New function.
23111 (grub_divmod64): Likewise.
23112 (grub_lltoa): use grub_divmod64.
23113
23114 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23115 grub_disk_addr_t.
23116 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23117 the pointer to next character. Use grub_strtoull instead of
23118 grub_strtoul.
23119 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23120 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23121 respectively.
23122
23123 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
23124 return value is signed.
23125 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23126 test if OFFSET is less than zero, as OFFSET is unsigned now.
23127
23128 * kern/disk.c (struct grub_disk_cache): Change the type of
23129 "sector" to grub_disk_addr_t.
23130 (grub_disk_cache_get_index): Change the type of SECTOR to
23131 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23132 unsigned after shifting.
23133 (grub_disk_cache_invalidate): Change the type of SECTOR to
23134 grub_disk_addr_t.
23135 (grub_disk_cache_unlock): Likewise.
23136 (grub_disk_cache_store): Likewise.
23137 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23138 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23139 grub_disk_addr_t and grub_uint64_t, respectively.
23140 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23141 body, as the value of OFFSET is tweaked by
23142 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23143 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23144 respectively.
23145 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23146 body, as the value of OFFSET is tweaked by
23147 grub_disk_check_range. Change the types of LEN and N to
23148 grub_size_t.
23149
23150 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23151 and "saved_offset" to grub_off_t.
23152 (test_header): Cast BUF to char *.
23153 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23154 to char *.
23155 (grub_gzio_read): Change the types of OFFSET and SIZE to
23156 grub_off_t and grub_size_t, respectively.
23157
23158 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23159 Removed.
23160 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23161 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23162 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23163 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23164 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23165
23166 * include/grub/types.h (grub_off_t): Unconditionally set to
23167 grub_uint64_t.
23168 (grub_disk_addr_t): Changed to grub_uint64_t.
23169
23170 * include/grub/partition.h (struct grub_partition): Change the
23171 types of "start", "len" and "offset" to grub_disk_addr_t,
23172 grub_uint64_t and grub_disk_addr_t, respectively.
23173 (grub_partition_get_start): Return grub_disk_addr_t.
23174 (grub_partition_get_len): Return grub_uint64_t.
23175
23176 * include/grub/misc.h (grub_strtoull): New prototype.
23177 (grub_divmod64): Likewise.
23178
23179 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23180 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23181 grub_off_t, respectively.
23182 All callers and references changed.
23183
23184 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23185 grub_size_t in "read".
23186 All callers and references changed.
23187
23188 * include/grub/file.h (struct grub_file): Change the types of
23189 "offset" and "size" to grub_off_t and grub_off_t,
23190 respectively. Change the type of SECTOR to grub_disk_addr_t in
23191 "read_hook".
23192 (grub_file_read): Change the type of LEN to grub_size_t.
23193 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23194 grub_off_t.
23195 (grub_file_size): Return grub_off_t.
23196 (grub_file_tell): Likewise.
23197 All callers and references changed.
23198
23199 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23200 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23201 "write".
23202 (struct grub_disk): Change the type of "total_sectors" to
23203 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
23204 "read_hook".
23205 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23206 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23207 (grub_disk_write): Likewise.
23208 All callers and references changed.
23209
23210 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23211 char * for grub_strncmp to silence gcc.
23212 (grub_iso9660_mount): Likewise.
23213 (grub_iso9660_mount): Likewise.
23214 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23215 return statement.
23216 (grub_iso9660_iterate_dir): Likewise.
23217 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23218
23219 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23220 LEN to grub_disk_addr_t and grub_size_t, respectively.
23221
23222 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23223
23224 * fs/jfs.c (grub_jfs_read_file): Likewise.
23225
23226 * fs/minix.c (grub_jfs_read_file): Likewise.
23227
23228 * fs/sfs.c (grub_jfs_read_file): Likewise.
23229
23230 * fs/ufs.c (grub_jfs_read_file): Likewise.
23231
23232 * fs/xfs.c (grub_jfs_read_file): Likewise.
23233
23234 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23235 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23236 respectively.
23237
23238 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23239 BLKNR to -1 instead of returning GRUB_ERRNO.
23240 (grub_ext2_read_file): Change the types of SECTOR and
23241 LEN to grub_disk_addr_t and grub_size_t, respectively.
23242
23243 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23244 LEN to grub_disk_addr_t and grub_size_t, respectively.
23245
23246 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23247 grub_file_read.
23248
23249 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23250 string. Do not cast SECTOR explicitly.
23251
23252 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23253 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23254 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23255 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23256 over 2TB and LBA mode is not supported, raise an error.
23257 (get_safe_sectors): New function.
23258 (grub_biosdisk_read): Use get_safe_sectors.
23259 (grub_biosdisk_write): Likewise.
23260
23261 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23262 (grub_efidisk_write): Likewise.
23263
23264 * disk/loopback.c (delete_loopback): Cosmetic changes.
23265 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23266 correctly.
23267 (grub_loopback_open): Likewise.
23268 (grub_loopback_read): Likewise. Also, change the type of POS to
23269 grub_off_t, and fix the usage of grub_memset.
23270
23271 * commands/i386/pc/play.c: Include grub/machine/time.h.
23272
23273 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23274 print FILE->SIZE.
23275
23276 * commands/configfile.c: Include grub/env.h.
23277
23278 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23279 GRUB_ERRNO directly instead. Change the type of POS to
23280 grub_off_t. Follow the coding standard.
23281
23282 * commands/blocklist.c: Include grub/partition.h.
23283 (grub_cmd_blocklist): Return an error if the underlying device is
23284 not a disk. Take the starting sector of a partition into account,
23285 if a partition is used.
23286
23287 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23288 a length field.
23289 (lba_mode): Support 64-bit addresses.
23290 (chs_mode): Likewise.
23291 (copy_buffer): Adapted to the new offsets of a length field and a
23292 segment field.
23293 (blocklist_default_start): Allocate 64-bit space.
23294
23295 * boot/i386/pc/boot.S (force_lba): Removed.
23296 (boot_drive): Moved to under KERNEL_SECTOR.
23297 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23298 space.
23299 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23300 is useless.
23301 (lba_mode): Refactored to support a 64-bit address. More size
23302 optimization.
23303 (setup_sectors): Likewise.
23304
23305 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23306
23307 * DISTLIST: Added include/grub/i386/linux.h. Removed
23308 include/grub/i386/pc/linux.h
23309
23310 * configure.ac (AC_INIT): Bumped to 1.94.
23311
23312 * config.guess: Updated from gnulib.
23313 * config.sub: Likewise.
23314 * install-sh: Likewise.
23315 * mkinstalldirs: Likewise.
23316
23317 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23318
23319 * conf/common.rmk (grub_modules_init.lst): Depended on
23320 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23321 MODSRCFILES.
23322
23323 * genmk.rb (PModule::rule): Reverted the previous change.
23324
23325 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23326
23327 * conf/common.rmk (grub_modules_init.lst): Depends on
23328 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23329 that the target does not exist before producing.
23330 (grub_modules_init.h): Remove the target before generating.
23331 (grub_emu_init.c): Likewise.
23332
23333 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23334
23335 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23336
23337 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23338 for the target-specific tests. Make sure that we also have the
23339 up-to-date target variables for those tests.
23340
23341 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23342
23343 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23344 (PModule::rule): Likewise.
23345
23346 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23347
23348 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23349 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23350 target-specific flags should be prefixed.
23351 (PModule::rule): Likewise.
23352
23353 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23354
23355 * configure.ac (CMP): Check if cmp is available explicitly.
23356
23357 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23358
23359 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23360 (target_cpu): New variable.
23361 (pkglibdir): Use target_cpu instead of host_cpu.
23362
23363 * util/i386/pc/grub-install.in (host_cpu): Removed.
23364 (target_cpu): New variable.
23365 (pkglibdir): Use target_cpu instead of host_cpu.
23366
23367 * util/genmoddep.c: Removed.
23368
23369 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23370 instead of GRUB_HOST_SIZEOF_VOID_P.
23371 * kern/dl.c: Likewise.
23372
23373 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23374 ...
23375 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23376 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23377 (GRUB_TARGET_SIZEOF_LONG): ... this.
23378 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23379 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23380 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23381 to ...
23382 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23383 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23384 (GRUB_TARGET_SIZEOF_LONG): ... this.
23385 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23386 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23387 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23388 to ...
23389 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23390 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23391 (GRUB_TARGET_SIZEOF_LONG): ... this.
23392 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23393 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23394
23395 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23396 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23397 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23398 instead of GRUB_HOST_SIZEOF_LONG.
23399 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23400 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23401 GRUB_CPU_WORDS_BIGENDIAN.
23402 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23403 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23404 grub_host_ssize_t.
23405
23406 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23407 (genmoddep_SOURCES): Likewise.
23408 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23409 (genmoddep_SOURCES): Likewise.
23410 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23411 (genmoddep_SOURCES): Likewise.
23412 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23413 Likewise.
23414 (genmoddep_SOURCES): Likewise.
23415
23416 * genmoddep.awk: New file.
23417
23418 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23419 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23420 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23421 (PModule::rule): Likewise.
23422 (Program::rule): Likewise.
23423 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23424 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23425 respectively.
23426
23427 * configure.ac: Rewritten intensively to use host and target
23428 instead of build and host, respectively.
23429
23430 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23431 (host_cpu): Removed.
23432 (target_cpu): New variable.
23433 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23434 (BUILD_CC): Removed.
23435 (BUILD_CFLAGS): Likewise.
23436 (BUILD_CPPFLAGS): Likewise.
23437 (TARGET_CC): New variable.
23438 (TARGET_CFLAGS): Likewise.
23439 (TARGET_CPPFLAGS): Likewise.
23440 (TARGET_LDFLAGS): Likewise.
23441 (AWK): Likewise.
23442 (include): Use target_cpu instead of host_cpu.
23443 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23444
23445 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23446
23447 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23448
23449 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23450 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23451 field 'false' to 'exec_on_false'.
23452 (grub_script_create_cmdif): Renamed argument names to reflect above
23453 changes.
23454
23455 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23456
23457 * normal/script.c (grub_script_create_cmdif): Likewise.
23458
23459 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23460
23461 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23462 top.
23463 (grub_hfsplus_btree_recptr): Likewise.
23464 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23465 FILEBLOCK both to pass a block number and store next block
23466 number.
23467 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23468 overflow file correctly. Specify errors appropriately, because
23469 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23470 grub_hfsplus_btree_recptr to get the pointer to a found key.
23471 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23472 is found.
23473
23474 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23475 linux.mod.
23476 (_linux_mod_SOURCES): New variable.
23477 (_linux_mod_CFLAGS): Likewise.
23478 (_linux_mod_LDFLAGS): Likewise.
23479 (linux_mod_SOURCES): Likewise.
23480 (linux_mod_CFLAGS): Likewise.
23481 (linux_mod_LDFLAGS): Likewise.
23482
23483 * DISTLIST: Added loader/i386/efi/linux.c,
23484 loader/i386/efi/linux_normal.c and
23485 include/grub/i386/efi/loader.h.
23486
23487 * loader/i386/efi/linux.c: New file.
23488 * loader/i386/efi/linux_normal.c: Likewise.
23489 * include/grub/i386/efi/loader.h: Likewise.
23490
23491 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23492
23493 * commands/blocklist.c: New file.
23494
23495 * DISTLIST: Added commands/blocklist.c.
23496
23497 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23498 color for the background, and a darker color for the foreground.
23499 (grub_console_checkkey): Return READ_KEY.
23500 (grub_console_cls): Set the background to
23501 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23502
23503 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23504
23505 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23506 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23507
23508 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23509 prototype.
23510
23511 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23512 BG. The spec is wrong again.
23513
23514 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23515 prototype.
23516 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23517
23518 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23519 commands/blocklist.c.
23520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23521
23522 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23523 (blocklist_mod_SOURCES): New variable.
23524 (blocklist_mod_CFLAGS): Likewise.
23525 (blocklist_mod_LDFLAGS): Likewise.
23526
23527 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23528
23529 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23530 duplication.
23531 (lba_mode): Use %eax more intensively to reduce the code size.
23532
23533 2006-05-20 Marco Gerards <marco@gnu.org>
23534
23535 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23536
23537 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23538 for `menuentry'.
23539 (script): Accept leading newlines.
23540 (newlines): New rule to describe 0 or more newlines.
23541 (commands): Accept `command' with trailing newline. Fixed the
23542 order in which arguments were passed to `grub_script_add_cmd'.
23543 Accept commands separated by newlines.
23544 (function): Changed to accept newlines.
23545 (menuentry) Rewritten.
23546
23547 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23548 front of the list, instead of to the end.
23549
23550 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23551
23552 * util/i386/pc/grub-install.in (bindir): New variable.
23553 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23554 Shaver <lbgwjl@gmail.com>.
23555
23556 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23557
23558 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23559 grub/machine/linux.h
23560 * loader/i386/pc/linux.c: Likewise.
23561
23562 * include/grub/i386/pc/linux.h: Moved to ...
23563 * include/grub/i386/linux.h: ... here.
23564
23565 * include/grub/i386/linux.h (struct linux_kernel_params): New
23566 struct.
23567
23568 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23569
23570 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23571 checking.
23572 (grub_video_vbe_blit_glyph): Likewise.
23573 (grub_video_vbe_blit_bitmap): Likewise.
23574 (grub_video_vbe_blit_render_target): Likewise.
23575
23576 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23577
23578 * configure.ac (--with-platform): Properly quote the square
23579 brackets.
23580
23581 2006-05-08 Marco Gerards <marco@gnu.org>
23582
23583 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23584 this...
23585 (kernel_elf_HEADERS): ...to this. Updated all users.
23586 (grubof_symlist.c): Renamed from this...
23587 (kernel_elf_symlist.c): ...to this. Updated all users.
23588 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23589 (grubof_SOURCES): Renamed from this...
23590 (kernel_elf_SOURCES): ...to this.
23591 (grubof_HEADERS): Renamed from this...
23592 (kernel_elf_HEADERS): ...to this.
23593 (grubof_CFLAGS): Renamed from this...
23594 (kernel_elf_CFLAGS): ...to this.
23595 (grubof_ASFLAGS): Renamed from this...
23596 (kernel_elf_ASFLAGS): ...to this.
23597 (grubof_LDFLAGS): Renamed from this...
23598 (kernel_elf_LDFLAGS): ...to this.
23599
23600 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23601 this...
23602 (kernel_elf_HEADERS): ...to this. Updated all users.
23603 (grubof_symlist.c): Renamed from this...
23604 (kernel_elf_symlist.c): ...to this. Updated all users.
23605 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23606 (grubof_SOURCES): Renamed from this...
23607 (kernel_elf_SOURCES): ...to this.
23608 (grubof_HEADERS): Renamed from this...
23609 (kernel_elf_HEADERS): ...to this.
23610 (grubof_CFLAGS): Renamed from this...
23611 (kernel_elf_CFLAGS): ...to this.
23612 (grubof_ASFLAGS): Renamed from this...
23613 (kernel_elf_ASFLAGS): ...to this.
23614 (grubof_LDFLAGS): Renamed from this...
23615 (kernel_elf_LDFLAGS): ...to this.
23616
23617 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23618 `kernel.elf' instead of `grubof'.
23619
23620 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23621
23622 Add --with-platform to configure. Use pkglibdir instead of
23623 pkgdatadir. This is reported by Roger Leigh.
23624
23625 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23626 (host_vendor): Likewise.
23627 (host_os): Likewise.
23628 (pkgdatadir): Likewise.
23629 (platform): New variable.
23630 (pkglibdir): Likewise.
23631 Use PKGLIBDIR instead of PKGDATADIR.
23632
23633 * util/i386/pc/grub-install.in (datadir): Removed.
23634 (host_vendor): Likewise.
23635 (host_os): Likewise.
23636 (pkgdatadir): Likewise.
23637 (platform): New variable.
23638 (pkglibdir): Likewise.
23639 Use PKGLIBDIR instead of PKGDATADIR.
23640
23641 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23642 instead of GRUB_DATADIR.
23643 (main): Likewise.
23644 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23645 (main): Likewise.
23646 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23647 (main): Likewise.
23648
23649 * configure.ac (--with-platform): New option.
23650 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23651
23652 * Makefile.in: Include a makefile based on PLATFORM instead of
23653 HOST_VENDOR.
23654 (pkgdatadir): Not appended by the machine type.
23655 (pkglibdir): Appended by the machine type.
23656 (host_vendor): Removed.
23657 (platform): New variable.
23658 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23659 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23660 (uninstall): Likewise.
23661
23662 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23663
23664 Use the environment context in the menu. Remove the commands
23665 "default" and "timeout", and use variables instead.
23666
23667 * normal/menu.c: Include grub/env.h.
23668 (print_entry): Cast TITLE to silence gcc.
23669 (get_timeout): New function.
23670 (set_timeout): Likewise.
23671 (get_entry_number): Likewise.
23672 (run_menu): Use a default entry, a fallback entry and a timeout
23673 in the environment variables "default", "fallback" and
23674 "timeout". Also, tweak the default entry if it is not within the
23675 current menu entries.
23676 (grub_menu_run): Use a fallback entry in the environment variable
23677 "fallback".
23678
23679 * normal/main.c (read_config_file): Do not initialize
23680 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23681 NEWMENU->TIMEOUT.
23682 (grub_normal_execute): Use a data slot to store the menu.
23683
23684 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23685 fallback_entry and timeout.
23686 (struct grub_menu_list): Removed.
23687 (grub_menu_list_t): Likewise.
23688 (struct grub_context): Likewise.
23689 (grub_context_t): Likewise.
23690 (grub_context_get): Likewise.
23691 (grub_context_get_current_menu): Likewise.
23692 (grub_context_push_menu): Likewise.
23693 (grub_context_pop_menu): Likewise.
23694 (grub_default_init): Likewise.
23695 (grub_default_fini): Likewise.
23696 (grub_timeout_init): Likewise.
23697 (grub_timeout_fini): Likewise.
23698
23699 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23700 and timeout.mod.
23701 (normal_mod_SOURCES): Removed normal/context.c.
23702
23703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23704 commands/default.c, commands/timeout.c and normal/context.c.
23705 (normal_mod_SOURCES): Removed normal/context.c.
23706
23707 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23708 commands/timeout.c and normal/context.c.
23709 (normal_mod_SOURCES): Removed normal/context.c.
23710
23711 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23712 commands/default.c, commands/timeout.c and normal/context.c.
23713 (normal_mod_SOURCES): Removed normal/context.c.
23714
23715 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23716 timeout.mod.
23717 (default_mod_SOURCES): Removed.
23718 (default_mod_CFLAGS): Likewise.
23719 (default_mod_LDFLAGS): Likewise.
23720 (timeout_mod_SOURCES): Removed.
23721 (timeout_mod_CFLAGS): Likewise.
23722 (timeout_mod_LDFLAGS): Likewise.
23723
23724 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23725 normal/context.c.
23726
23727 * commands/default.c: Removed.
23728 * commands/timeout.c: Likewise.
23729 * normal/context.c: Likewise.
23730
23731 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23732
23733 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23734
23735 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23736
23737 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23738 "next" to "prev" for readability.
23739 (struct grub_env_sorted_var): New struct.
23740 (grub_env_context): Renamed to ...
23741 (initial_context): ... this.
23742 (grub_env_var_context): Renamed to ...
23743 (current_context): ... this.
23744 (grub_env_find): Look only at CURRENT_CONTEXT.
23745 (grub_env_context_open): Rewritten to copy exported variables from
23746 previous context.
23747 (grub_env_context_close): Rewritten according to the new
23748 scheme. Also, add an assertion to prevent the initial context from
23749 removed.
23750 (grub_env_insert): Removed the code for the sorted list.
23751 (grub_env_remove): Likewise.
23752 (grub_env_export): Simply mark the variable with
23753 GRUB_ENV_VAR_GLOBAL.
23754 (grub_env_set): A cosmetic change for naming consistency.
23755 (grub_env_get): Likewise.
23756 (grub_env_unset): Likewise.
23757 (grub_env_iterate): Rewritten to sort variables within this
23758 function.
23759 (grub_register_variable_hook): Fixed for naming consistency. Call
23760 grub_env_find again, only if NAME is not found at the first time.
23761 (mangle_data_slot_name): New function.
23762 (grub_env_set_data_slot): Likewise.
23763 (grub_env_get_data_slot): Likewise.
23764 (grub_env_unset_data_slot): Likewise.
23765
23766 * include/grub/env.h (grub_env_var_type): New enum.
23767 (GRUB_ENV_VAR_LOCAL): New constant.
23768 (GRUB_ENV_VAR_GLOBAL): Likewise.
23769 (GRUB_ENV_VAR_DATA): Likewise.
23770 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23771 "type".
23772 (grub_env_set): Replace VAR with NAME for consistency.
23773 (grub_register_variable_hook): Likewise.
23774 (grub_env_export): Specify the name of the argument.
23775 (grub_env_set_data_slot): New prototype.
23776 (grub_env_get_data_slot): Likewise.
23777 (grub_env_unset_data_slot): Likewise.
23778
23779 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23780
23781 Extend the loader so that GRUB can accept a loader which comes
23782 back to GRUB when a loaded image exits. Also, this change adds
23783 support for a chainloader on EFI.
23784
23785 * term/efi/console.c: Include grub/misc.h.
23786 (grub_console_checkkey): Display a scan code on the top for
23787 debugging. This will be removed once the EFI port gets stable.
23788 Correct the scan code mapping.
23789
23790 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23791 allocate memory from larger regions, in order to reduce the number
23792 of allocated regions. Otherwise, the MacOSX loader panics.
23793 (filter_memory_map): Avoid less than 1MB for compatibility with
23794 other loaders.
23795 (add_memory_regions): Allocate from the tail of a region, if
23796 possible, to avoid allocating a region near to 1MB, for the MacOSX
23797 loader.
23798
23799 * kern/efi/init.c (grub_efi_set_prefix): Specify
23800 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23801
23802 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23803 argument IMAGE_HANDLE and specify it to get a loaded image.
23804 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23805 grub_efi_get_loaded_image.
23806 (grub_efi_get_filename): Divide the length by the size of
23807 grub_efi_char16_t.
23808 (grub_efi_get_device_path): New function.
23809 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23810 the length by the size of grub_efi_char16_t for a file path device
23811 path node.
23812
23813 * kern/loader.c (grub_loader_noreturn): New variable.
23814 (grub_loader_set): Accept a new argument NORETURN. Set
23815 GRUB_LOADER_NORETURN to NORETURN.
23816 All callers changed.
23817 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23818 grub_machine_fini.
23819
23820 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23821 prototype.
23822 (grub_efi_get_loaded_image): Take an argument to specify an image
23823 handle.
23824
23825 * include/grub/loader.h (grub_loader_set): Added one more argument
23826 NORETURN.
23827
23828 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23829 instead of grub_efi_open_protocol.
23830 (grub_efidisk_get_device_name): Likewise.
23831 (grub_efidisk_close): Print a newline.
23832 (grub_efidisk_get_device_handle): Fixed to use
23833 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23834 GRUB_EFI_DEVICE_PATH_TYPE.
23835
23836 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23837 * kern/efi/efi.c (device_path_guid): ... here.
23838
23839 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23840 chain.mod.
23841 (kernel_mod_HEADERS): Added efi/disk.h.
23842 (_chain_mod_SOURCES): New variable.
23843 (_chain_mod_CFLAGS): Likewise.
23844 (_chain_mod_LDFLAGS): Likewise.
23845 (chain_mod_SOURCES): Likewise.
23846 (chain_mod_CFLAGS): Likewise.
23847 (chain_mod_LDFLAGS): Likewise.
23848
23849 * DISTLIST: Added include/grub/efi/chainloader.h,
23850 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23851
23852 * include/grub/efi/chainloader.h: New file.
23853 * loader/efi/chainloader.c: Likewise.
23854 * loader/efi/chainloader_normal.c: Likewise.
23855
23856 2006-04-30 Marco Gerards <marco@gnu.org>
23857
23858 * commands/configfile.c (grub_cmd_source): New function.
23859 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23860 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23861
23862 2006-04-30 Marco Gerards <marco@gnu.org>
23863
23864 * normal/execute.c (grub_script_execute_cmd): Change the return
23865 type to `grub_err_t'. Correctly return the error.
23866 (grub_script_execute_cmdline): In case a command line is not a
23867 command or a function, try to interpret it as an assignment.
23868
23869 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23870
23871 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23872 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23873 skip a node whose name is obviously invalid as UTF-16,
23874 i.e. contains a NUL character. Stop the iteration when the last
23875 directory entry is found. Instead of using the return value of
23876 grub_hfsplus_btree_iterate_node, store the value in RET and use
23877 it, because the iterator can be stopped by the last directory
23878 entry.
23879
23880 2006-04-30 Marco Gerards <marco@gnu.org>
23881
23882 * include/grub/env.h (grub_env_export): New prototype. Reported
23883 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23884
23885 2006-04-30 Marco Gerards <marco@gnu.org>
23886
23887 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23888 size of the extents in a catalog file record.
23889
23890 2006-04-29 Marco Gerards <marco@gnu.org>
23891
23892 * commands/configfile.c (grub_cmd_configfile): Execute the
23893 configfile within its own context.
23894
23895 * include/grub/env.h (grub_env_context_open): New prototype.
23896 (grub_env_context_close): Likewise.
23897
23898 * kern/env.c (grub_env): Removed.
23899 (grub_env_sorted): Likewise.
23900 (grub_env_context): New variable.
23901 (grub_env_var_context): Likewise.
23902 (grub_env_find): Search both the active context and the global
23903 context.
23904 (grub_env_context_open): New function.
23905 (grub_env_context_close): Likewise.
23906 (grub_env_insert): Likewise.
23907 (grub_env_remove): Likewise.
23908 (grub_env_export): Likewise.
23909 (grub_env_set): Changed to use helper functions to avoid code
23910 duplication.
23911 (grub_env_iterate): Rewritten so both the current context and the
23912 global context are being used.
23913
23914 * normal/command.c (export_command): New function.
23915 (grub_command_init): Register the `export' function.
23916
23917 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23918
23919 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23920 explicitly to suppress gcc's warnings.
23921 * fs/fat.c (grub_fat_find_dir): Likewise.
23922 (grub_fat_label): Likewise.
23923 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23924 (grub_xfs_mount): Likewise.
23925 (grub_xfs_label): Likewise.
23926 * fs/affs.c (grub_affs_mount): Likewise.
23927 (grub_affs_label): Likewise.
23928 (grub_affs_iterate_dir): Likewise.
23929 * fs/sfs.c (grub_sfs_mount): Likewise.
23930 (grub_sfs_iterate_dir): Likewise.
23931 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23932 * fs/hfs.c (grub_hfs_mount): Likewise.
23933 (grub_hfs_cmp_catkeys): Likewise.
23934 (grub_hfs_find_dir): Likewise.
23935 (grub_hfs_dir): Likewise.
23936 (grub_hfs_label): Likewise.
23937 * fs/jfs.c (grub_jfs_mount): Likewise.
23938 (grub_jfs_opendir): Likewise.
23939 (grub_jfs_getent): Likewise.
23940 (grub_jfs_lookup_symlink): Likewise.
23941 (grub_jfs_label): Likewise.
23942 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23943 (grub_hfsplus_iterate_dir): Likewise.
23944 (grub_hfsplus_btree_iterate_node): Made static.
23945
23946 * util/grub-emu.c (prefix): New variable.
23947 (grub_machine_set_prefix): New function.
23948 (main): Do not set the environment variable "prefix" here. Only
23949 set PREFIX, which is used later by grub_machine_set_prefix.
23950
23951 * include/grub/video.h: Do not include grub/symbol.h.
23952 (grub_video_register): Not exported. This symbol is not defined in
23953 the kernel.
23954 (grub_video_unregister): Likewise.
23955 (grub_video_iterate): Likewise.
23956 (grub_video_setup): Likewise.
23957 (grub_video_restore): Likewise.
23958 (grub_video_get_info): Likewise.
23959 (grub_video_get_blit_format): Likewise.
23960 (grub_video_set_palette): Likewise.
23961 (grub_video_get_palette): Likewise.
23962 (grub_video_set_viewport): Likewise.
23963 (grub_video_get_viewport): Likewise.
23964 (grub_video_map_color): Likewise.
23965 (grub_video_map_rgb): Likewise.
23966 (grub_video_map_rgba): Likewise.
23967 (grub_video_fill_rect): Likewise.
23968 (grub_video_blit_glyph): Likewise.
23969 (grub_video_blit_bitmap): Likewise.
23970 (grub_video_blit_render_target): Likewise.
23971 (grub_video_scroll): Likewise.
23972 (grub_video_swap_buffers): Likewise.
23973 (grub_video_create_render_target): Likewise.
23974 (grub_video_delete_render_target): Likewise.
23975 (grub_video_set_active_render_target): Likewise.
23976
23977 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23978 Undefined.
23979 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23980
23981 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23982 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23983 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23984 instead of $(srcdir)/genkernsyms.sh.
23985
23986 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23987 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23988 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23989 instead of $(srcdir)/genkernsyms.sh.
23990
23991 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23992 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23993 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23994 instead of $(srcdir)/genkernsyms.sh.
23995
23996 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23997 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23998 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23999 instead of $(srcdir)/genkernsyms.sh.
24000
24001 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24002 genkernsyms.sh.
24003
24004 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24005 genkernsyms.sh.
24006 (gensymlist.sh): New target.
24007 (genkernsyms.sh): Likewise.
24008
24009 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24010 genkernsyms.sh.in and gensymlist.sh.in.
24011
24012 * genkernsyms.sh: Removed.
24013 * gensymlist.sh: Likewise.
24014
24015 * genkernsyms.sh.in: New file.
24016 * gensymlist.sh.in: Likewise.
24017
24018 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24019
24020 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24021 clobber "prefix", since we may have already set it manually.
24022
24023 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24024
24025 * kern/misc.c (abort): New alias for grub_abort.
24026
24027 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24028
24029 A new machine-specific function "grub_machine_set_prefix" is
24030 defined. This is called after loading modules, so that a prefix
24031 initialization can use modules. Also, this change adds an
24032 intensive debugging feature for the memory manager via the
24033 configure option "--enable-mm-debug".
24034
24035 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24036 PART.LEN.
24037
24038 * kern/sparc64/ieee1275/init.c (abort): Removed.
24039 (grub_stop): Likewise.
24040 (grub_exit): New function.
24041 (grub_set_prefix): Renamed to ...
24042 (grub_machine_set_prefix): ... this.
24043 (grub_machine_init): Do not call grub_set_prefix.
24044
24045 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24046 (grub_machine_set_prefix): ... this.
24047 (grub_machine_init): Do not call grub_set_prefix.
24048
24049 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24050 (grub_machine_init): Do not set the prefix here.
24051
24052 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24053
24054 * kern/efi/init.c: Include grub/mm.h.
24055 (grub_efi_set_prefix): New function.
24056
24057 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24058 (grub_efi_get_filename): New function.
24059 (grub_print_device_path): Renamed to ...
24060 (grub_efi_print_device_path): ... this.
24061
24062 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24063 [MM_DEBUG] (grub_realloc): Likewise.
24064 [MM_DEBUG] (grub_free): Likewise.
24065 [MM_DEBUG] (grub_memalign): Likewise.
24066 [MM_DEBUG] (grub_mm_debug): New variable.
24067 [MM_DEBUG] (grub_debug_malloc): New function.
24068 [MM_DEBUG] (grub_debug_free): New function.
24069 [MM_DEBUG] (grub_debug_realloc): New function.
24070 [MM_DEBUG] (grub_debug_memalign): New function.
24071
24072 * kern/misc.c (grub_abort): Print a newline to distinguish
24073 the message.
24074
24075 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24076 grub_set_root_dev after loading modules. This is necessary when
24077 setting a prefix depends on modules.
24078
24079 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24080 (grub_efi_print_device_path): ... this.
24081 (grub_efi_get_filename): New prototype.
24082 (grub_efi_set_prefix): Likewise.
24083
24084 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24085 and grub/disk.h.
24086 (grub_efidisk_get_device_handle): New prototype.
24087 (grub_efidisk_get_device_name): Likewise.
24088
24089 * include/grub/mm.h: Include config.h.
24090 (MM_DEBUG): Removed.
24091 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24092 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24093 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24094 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24095 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24096 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24097 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24098 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24099 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24100
24101 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24102
24103 * disk/efi/efidisk.c: Include grub/partition.h.
24104 (iterate_child_devices): New function.
24105 (add_device): First, compare only last device path nodes, so that
24106 devices are sorted by the types.
24107 (grub_efidisk_get_device_handle): New function.
24108 (grub_efidisk_get_device_name): Likewise.
24109
24110 * configure.ac (--enable-mm-debug): New option to enable the
24111 memory manager debugging feature. This makes the binary much
24112 bigger, so is disabled by default.
24113
24114 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24115
24116 Use grub_abort instead of grub_stop, and grub_exit must be
24117 define in each architecture now. Also, this change adds support
24118 for EFI disks.
24119
24120 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24121 (grub_getkey): New function.
24122 (grub_term_get_current): Likewise.
24123
24124 * util/i386/pc/grub-setup.c: Include grub/term.h.
24125 (grub_getkey): New function.
24126 (grub_term_get_current): Likewise.
24127
24128 * util/misc.c (grub_stop): Renamed to ...
24129 (grub_exit): ... this.
24130
24131 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24132 (grub_exit): ... this.
24133 (grub_machine_init): Use grub_abort instead of abort.
24134 (grub_stop): Removed.
24135
24136 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24137 abort.
24138
24139 * kern/i386/pc/startup.S (grub_exit): New function.
24140 (cold_reboot): New label.
24141
24142 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24143 (grub_efi_init): Call grub_efidisk_init.
24144 (grub_efi_fini): Call grub_efidisk_fini.
24145
24146 * kern/efi/efi.c: Include grub/mm.h.
24147 (grub_efi_console_control_guid): Renamed to ...
24148 (console_control_guid): ... this.
24149 (grub_efi_loaded_image_guid): Renamed to ...
24150 (loaded_image_guid): ... this.
24151 (grub_efi_locate_handle): New function.
24152 (grub_efi_open_protocol): Likewise.
24153 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24154 GRUB_EFI_CONSOLE_CONTROL_GUID.
24155 (grub_efi_exit): Removed.
24156 (grub_stop): Likewise.
24157 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24158 (grub_exit): New function.
24159 (grub_print_device_path): Likewise.
24160
24161 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24162 (grub_enter_rescue_mode): Register "exit".
24163
24164 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24165 (grub_abort): New function.
24166
24167 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24168
24169 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24170
24171 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24172
24173 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24174 (grub_print_device_path): New prototype.
24175 (grub_efi_locate_handle): Likewise.
24176 (grub_efi_open_protocol): Likewise.
24177
24178 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24179 * disk/efi/efidisk.c: Likewise.
24180
24181 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24182
24183 * include/grub/efi/console_control.h
24184 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24185
24186 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24187 last 8 bytes as an array.
24188 (GRUB_EFI_DISK_IO_GUID): New macro.
24189 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24190 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24191 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24192 grub_uint8_t.
24193 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24194 (struct grub_efi_device_path): Rename the member "sub_type" to
24195 "subtype".
24196 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24197 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24198 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24199 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24200 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24201 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24202 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24203 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24204 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24205 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24206 (struct grub_efi_pci_device_path): New structure.
24207 (grub_efi_pci_device_path_t): New type.
24208 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24209 (struct grub_efi_pccard_device_path): New structure.
24210 (grub_efi_pccard_device_path_t): New type.
24211 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24212 (struct grub_efi_memory_mapped_device_path): New structure.
24213 (grub_efi_memory_mapped_device_path_t): New type.
24214 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24215 (struct grub_efi_vendor_device_path): New structure.
24216 (grub_efi_vendor_device_path_t): New type.
24217 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24218 (struct grub_efi_controller_device_path): New structure.
24219 (grub_efi_controller_device_path_t): New type.
24220 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24221 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24222 (struct grub_efi_acpi_device_path): New structure.
24223 (grub_efi_acpi_device_path_t): New type.
24224 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24225 (struct grub_efi_expanded_acpi_device_path): New structure.
24226 (grub_efi_expanded_acpi_device_path_t): New type.
24227 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24228 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24229 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24230 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24231 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24232 (struct grub_efi_atapi_device_path): New structure.
24233 (grub_efi_atapi_device_path_t): New type.
24234 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24235 (struct grub_efi_fibre_channel_device_path): New structure.
24236 (grub_efi_fibre_channel_device_path_t): New type.
24237 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24238 (struct grub_efi_1394_device_path): New structure.
24239 (grub_efi_1394_device_path_t): New type.
24240 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24241 (struct grub_efi_usb_device_path): New structure.
24242 (grub_efi_usb_device_path_t): New type.
24243 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24244 (struct grub_efi_usb_class_device_path): New structure.
24245 (grub_efi_usb_class_device_path_t): New type.
24246 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24247 (struct grub_efi_i2o_device_path): New structure.
24248 (grub_efi_i2o_device_path_t): New type.
24249 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24250 (struct grub_efi_mac_address_device_path): New structure.
24251 (grub_efi_mac_address_device_path_t): New type.
24252 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24253 (struct grub_efi_ipv4_device_path): New structure.
24254 (grub_efi_ipv4_device_path_t): New type.
24255 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24256 (struct grub_efi_ipv6_device_path): New structure.
24257 (grub_efi_ipv6_device_path_t): New type.
24258 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24259 (struct grub_efi_infiniband_device_path): New structure.
24260 (grub_efi_infiniband_device_path_t): New type.
24261 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24262 (struct grub_efi_uart_device_path): New structure.
24263 (grub_efi_uart_device_path_t): New type.
24264 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24265 (struct grub_efi_vendor_messaging_device_path): New structure.
24266 (grub_efi_vendor_messaging_device_path_t): New type.
24267 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24268 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24269 (struct grub_efi_hard_drive_device_path): New structure.
24270 (grub_efi_hard_drive_device_path_t): New type.
24271 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24272 (struct grub_efi_cdrom_device_path): New structure.
24273 (grub_efi_cdrom_device_path_t): New type.
24274 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24275 (struct grub_efi_vendor_media_device_path): New structure.
24276 (grub_efi_vendor_media_device_path_t): New type.
24277 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24278 (struct grub_efi_file_path_device_path): New structure.
24279 (grub_efi_file_path_device_path_t): New type.
24280 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24281 (struct grub_efi_protocol_device_path): New structure.
24282 (grub_efi_protocol_device_path_t): New type.
24283 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24284 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24285 (struct grub_efi_bios_device_path): New structure.
24286 (grub_efi_bios_device_path_t): New type.
24287 (struct grub_efi_disk_io): New structure.
24288 (grub_efi_disk_io_t): New type.
24289 (struct grub_efi_block_io_media): New structure.
24290 (grub_efi_block_io_media_t): New type.
24291 (struct grub_efi_block_io): New structure.
24292 (grub_efi_block_io_t): New type.
24293
24294 * include/grub/misc.h (grub_stop): Removed.
24295 (grub_exit): New prototype.
24296 (grub_abort): Likewise.
24297
24298 * include/grub/disk.h (enum grub_disk_dev_id): Added
24299 GRUB_DISK_DEVICE_EFIDISK_ID.
24300
24301 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24302 disk/efi/efidisk.c.
24303 (kernel_syms.lst): Remove the target if an error occurs.
24304
24305 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24306
24307 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24308 as it was simply too buggy.
24309
24310 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24311
24312 * kern/misc.c (grub_lltoa): New function.
24313 (grub_vsprintf): Added support for the long long suffix,
24314 i.e. "ll".
24315
24316 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24317
24318 * Makefile.in (LDFLAGS): Add variable.
24319 (LD): Remove variable.
24320 * configure.ac: Add -m32 to LDFLAGS.
24321 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24322 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24323 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24324 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24325 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24326 variables.
24327 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24328 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24329 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24330
24331 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24332
24333 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24334 length for unknown glyph.
24335
24336 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24337
24338 Add support for pre-loaded modules into the EFI port.
24339
24340 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24341 completely. Accept one more argument DIR. The caller has changed.
24342
24343 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24344
24345 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24346 (grub_efi_loaded_image_guid): New variable.
24347 (grub_efi_get_loaded_image): New function.
24348 (grub_arch_modules_addr): Likewise.
24349
24350 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24351 prototype.
24352
24353 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24354 (struct grub_efi_loaded_image): New structure.
24355 (grub_efi_loaded_image_t): New type.
24356
24357 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24358
24359 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24360 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24361 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24362
24363 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24364
24365 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24366
24367 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24368
24369 * DISTLIST: Added include/grub/efi/console.h,
24370 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24371 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24372
24373 * include/grub/efi/console.h: New file.
24374 * include/grub/efi/time.h: Likewise.
24375 * include/grub/i386/efi/kernel.h: Likewise.
24376 * kern/efi/init.c: Likewise.
24377 * kern/efi/mm.c: Likewise.
24378 * term/efi/console.c: Likewise.
24379
24380 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24381 (grub_stop): Removed.
24382 (grub_get_rtc): Likewise.
24383 (grub_machine_init): Simply call grub_efi_init.
24384 (grub_machine_fini): Call grub_efi_fini.
24385
24386 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24387 (grub_efi_output_string): Removed.
24388 (grub_efi_stall): New function.
24389 (grub_stop): Likewise.
24390 (grub_get_rtc): Likewise.
24391
24392 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24393 (grub_efi_stall): New prototype.
24394 (grub_efi_allocate_pages): Likewise.
24395 (grub_efi_free_pages): Likewise.
24396 (grub_efi_get_memory_map): Likewise.
24397 (grub_efi_mm_init): Likewise.
24398 (grub_efi_mm_fini): Likewise.
24399 (grub_efi_init): Likewise.
24400 (grub_efi_fini): Likewise.
24401
24402 * include/grub/i386/efi/time.h: Do not include
24403 grub/symbol.h. Include grub/efi/time.h.
24404 (GRUB_TICKS_PER_SECOND): Removed.
24405 (grub_get_rtc): Likewise.
24406
24407 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24408 Added padding. The EFI spec is buggy.
24409 (GRUB_EFI_BLACK): New macro.
24410 (GRUB_EFI_BLUE): Likewise.
24411 (GRUB_EFI_GREEN): Likewise.
24412 (GRUB_EFI_CYAN): Likewise.
24413 (GRUB_EFI_RED): Likewise.
24414 (GRUB_EFI_MAGENTA): Likewise.
24415 (GRUB_EFI_BROWN): Likewise.
24416 (GRUB_EFI_LIGHTGRAY): Likewise.
24417 (GRUB_EFI_BRIGHT): Likewise.
24418 (GRUB_EFI_DARKGRAY): Likewise.
24419 (GRUB_EFI_LIGHTBLUE): Likewise.
24420 (GRUB_EFI_LIGHTGREEN): Likewise.
24421 (GRUB_EFI_LIGHTCYAN): Likewise.
24422 (GRUB_EFI_LIGHTRED): Likewise.
24423 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24424 (GRUB_EFI_YELLOW): Likewise.
24425 (GRUB_EFI_WHITE): Likewise.
24426 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24427 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24428 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24429 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24430 (GRUB_EFI_BACKGROUND_RED): Likewise.
24431 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24432 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24433 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24434 (GRUB_EFI_TEXT_ATTR): Likewise.
24435
24436 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24437 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24438 (kernel_mod_HEADERS): Added efi/time.h.
24439
24440 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24441
24442 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24443 include/grub/efi/api.h, include/grub/efi/console_control.h,
24444 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24445 include/grub/i386/efi/time.h, kern/efi/efi.c,
24446 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24447 and util/i386/efi/grub-mkimage.c.
24448
24449 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24450
24451 * genmk.rb (PModule#rule): Do not export symbols if
24452 #{prefix}_EXPORTS is set to "no".
24453
24454 * conf/i386-efi.mk: New file.
24455 * conf/i386-efi.rmk: Likewise.
24456 * include/grub/efi/api.h: Likewise.
24457 * include/grub/efi/console_control.h: Likewise.
24458 * include/grub/efi/efi.h: Likewise.
24459 * include/grub/efi/pe32.h: Likewise.
24460 * include/grub/i386/efi/time.h: Likewise.
24461 * kern/efi/efi.c: Likewise.
24462 * kern/i386/efi/init.c: Likewise.
24463 * kern/i386/efi/startup.S: Likewise.
24464 * util/i386/efi/grub-mkimage.c: Likewise.
24465
24466 2006-04-17 Marco Gerards <marco@gnu.org>
24467
24468 * include/grub/script.h: Include <grub/parser.h> and
24469 "grub_script.tab.h".
24470 (struct grub_lexer_param): New struct.
24471 (struct grub_parser_param): Likewise.
24472 (grub_script_create_arglist): Pass the state in an argument.
24473 (grub_script_add_arglist): Likewise.
24474 (grub_script_create_cmdline): Likewise.
24475 (grub_script_create_cmdblock): Likewise.
24476 (grub_script_create_cmdif): Likewise.
24477 (grub_script_create_cmdmenu): Likewise.
24478 (grub_script_add_cmd): Likewise.
24479 (grub_script_arg_add): Likewise.
24480 (grub_script_lexer_ref): Likewise.
24481 (grub_script_lexer_deref): Likewise.
24482 (grub_script_lexer_record_start): Likewise.
24483 (grub_script_lexer_record_stop): Likewise.
24484 (grub_script_mem_record): Likewise.
24485 (grub_script_mem_record_stop): Likewise.
24486 (grub_script_malloc): Likewise.
24487 (grub_script_yylex): Likewise.
24488 (grub_script_yyparse): Likewise.
24489 (grub_script_yyerror): Likewise.
24490 (grub_script_yylex): Likewise.
24491 (grub_script_lexer_init): Return the state.
24492
24493 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24494 (grub_script_lexer_done): Likewise.
24495 (grub_script_lexer_getline): Likewise.
24496 (grub_script_lexer_refs): Likewise.
24497 (script): Likewise.
24498 (newscript): Likewise.
24499 (record): Likewise.
24500 (recording): Likewise.
24501 (recordpos): Likewise.
24502 (recordlen): Likewise.
24503 (grub_script_lexer_init): Return the state instead of setting
24504 global variables.
24505 (grub_script_lexer_ref): Use the newly added argument for state
24506 instead of globals.
24507 (grub_script_lexer_deref): Likewise.
24508 (grub_script_lexer_record_start): Likewise.
24509 (grub_script_lexer_record_stop): Likewise.
24510 (recordchar): Likewise.
24511 (nextchar): Likewise.
24512 (grub_script_yylex2): Likewise.
24513 (grub_script_yylex): Likewise.
24514 (grub_script_yyerror): Likewise.
24515
24516 * normal/parser.y (func_mem): Removed variable.
24517 (menu_entry): Likewise.
24518 (err): Likewise.
24519 (%lex-param): New parser option.
24520 (%parse-param): Likewise.
24521 (script): Always return the AST.
24522 (argument): Pass the state around.
24523 (arguments): Likewise.
24524 (grubcmd): Likewise.
24525 (commands): Likewise.
24526 (function): Likewise.
24527 (menuentry): Likewise.
24528 (if_statement): Likewise.
24529 (if): Likewise.
24530
24531 * normal/script.c (grub_script_memused): Removed variable.
24532 (grub_script_parsed): Likewise.
24533 (grub_script_malloc): Added a state argument. Use that instead of
24534 global variables.
24535 (grub_script_mem_record): Likewise.
24536 (grub_script_mem_record_stop): Likewise.
24537 (grub_script_arg_add): Likewise.
24538 (grub_script_add_arglist): Likewise.
24539 (grub_script_create_cmdline): Likewise.
24540 (grub_script_create_cmdif): Likewise.
24541 (grub_script_create_cmdmenu): Likewise.
24542 (grub_script_add_cmd): Likewise.
24543 (grub_script_parse): Setup the state before calling the parser.
24544
24545 2006-04-16 Marco Gerards <marco@gnu.org>
24546
24547 * normal/command.c (grub_command_init): Remove the title command.
24548
24549 * normal/lexer.c (grub_script_yylex): Renamed from this...
24550 (grub_script_yylex2): ... to this.
24551 (grub_script_yylex): New function. Temporary
24552 introduced to filter some tokens.
24553 (grub_script_yyerror): Print a newline.
24554
24555 * normal/main.c (read_config_file): Output information about the
24556 lines that contain errors. Wait for a key after all lines have
24557 been processed. Don't return an empty menu.
24558
24559 * normal/parser.y (func_mem): Don't initialize.
24560 (menu_entry): Likewise.
24561 (err): New variable.
24562 (script): Don't return anything when an error was encountered.
24563 (ws, returns): Removed rules.
24564 (argument): Disabled concatenated variable support.
24565 (arguments): Remove explicit separators.
24566 (grubcmd): Likewise.
24567 (function): Likewise.
24568 (menuentry): Likewise.
24569 (if): Likewise.
24570 (commands): Likewise. Add error handling.
24571
24572 * normal/script.c (grub_script_create_cmdline): If
24573 `grub_script_parsed' is 0, assume the parser encountered an error.
24574
24575 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24576
24577 * configure.ac: Add support for EFI. Fix the typo
24578 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24579
24580 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24581
24582 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24583 foreign multibyte characters should be shown correctly.
24584
24585 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24586
24587 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24588 calculation.
24589 (read_config_file): Made it to close file before returning.
24590
24591 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24592
24593 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24594 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24595 video/i386/pc/vbefill.c.
24596
24597 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24598 video/i386/pc/vbefill.c.
24599
24600 * include/grub/video.h (grub_video_blit_format): New enum.
24601 (grub_video_mode_info): Added new member blit_format.
24602 (grub_video_get_blit_format): New function prototype.
24603
24604 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24605 function prototype.
24606 (grub_video_vbe_map_rgb): Likewise.
24607 (grub_video_vbe_unmap_color): Likewise.
24608
24609 * include/grub/i386/pc/vbeblit.h: New file.
24610
24611 * include/grub/i386/pc/vbefill.h: New file.
24612
24613 * video/video.c (grub_video_get_blit_format): New function.
24614 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24615 (grub_video_vbe_map_rgb): Likewise.
24616 (grub_video_vbe_unmap_color): Likewise.
24617
24618 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24619 optimized fills.
24620 (grub_video_vbe_blit_render_target): Changed to use more optimized
24621 blits.
24622 (grub_video_vbe_setup): Added detection for optimized settings.
24623 (grub_video_vbe_create_render_target): Likewise.
24624
24625 * video/i386/pc/vbeblit.c: New file.
24626
24627 * video/i386/pc/vbefill.c: New file.
24628
24629 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24630
24631 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24632 here...
24633
24634 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24635 parsing to support both hex and dec ranges. If filename was missing
24636 show usage information.
24637
24638 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24639
24640 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24641 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24642
24643 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24644 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24645 (video_mod_SOURCES): Added.
24646 (video_mod_CFLAGS): Likewise.
24647 (video_mod_LDFLAGS): Likewise.
24648 (gfxterm_mod_SOURCES): Likewise.
24649 (gfxterm_mod_CFLAGS): Likewise.
24650 (gfxterm_mod_LDFLAGS): Likewise.
24651 (videotest_mod_SOURCES): Likewise.
24652 (videotest_mod_CFLAGS): Likewise.
24653 (videotest_mod_LDFLAGS): Likewise.
24654 (vesafb_mod_SOURCES): Removed.
24655 (vesafb_mod_CFLAGS): Likewise.
24656 (vesafb_mod_LDFLAGS): Likewise.
24657 (vga_mod_SOURCES): Likewise.
24658 (vga_mod_CFLAGS): Likewise.
24659 (vga_mod_LDFLAGS): Likewise.
24660
24661 * commands/videotest.c: New file.
24662
24663 * font/manager.c (fill_with_default_glyph): Modified to use
24664 grub_font_glyph.
24665 (grub_font_get_glyph): Likewise.
24666 (fontmanager): Renamed from this...
24667 (font_manager): ... to this.
24668
24669 * include/grub/font.h (grub_font_glyph): Added new structure.
24670 (grub_font_get_glyph): Modified to use grub_font_glyph.
24671
24672 * include/grub/misc.h (grub_abs): Added as inline function.
24673
24674 * include/grub/video.h: New file.
24675
24676 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24677 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24678 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24679 (grub_vbe_get_controller_info): Renamed from this...
24680 (grub_vbe_bios_get_controller_info): ... to this.
24681 (grub_vbe_get_mode_info): Renamed from this...
24682 (grub_vbe_bios_get_mode_info): ... to this.
24683 (grub_vbe_set_mode): Renamed from this...
24684 (grub_vbe_bios_set_mode): ... to this.
24685 (grub_vbe_get_mode): Renamed from this...
24686 (grub_vbe_bios_get_mode): ... to this.
24687 (grub_vbe_set_memory_window): Renamed from this...
24688 (grub_vbe_bios_set_memory_window): ... to this.
24689 (grub_vbe_get_memory_window): Renamed from this...
24690 (grub_vbe_bios_get_memory_window): ... to this.
24691 (grub_vbe_set_scanline_length): Renamed from this...
24692 (grub_vbe_set_scanline_length): ... to this.
24693 (grub_vbe_get_scanline_length): Renamed from this...
24694 (grub_vbe_bios_get_scanline_length): ... to this.
24695 (grub_vbe_set_display_start): Renamed from this...
24696 (grub_vbe_bios_set_display_start): ... to this.
24697 (grub_vbe_get_display_start): Renamed from this...
24698 (grub_vbe_bios_get_display_start): ... to this.
24699 (grub_vbe_set_palette_data): Renamed from this...
24700 (grub_vbe_bios_set_palette_data): ... to this.
24701 (grub_vbe_set_pixel_rgb): Removed.
24702 (grub_vbe_set_pixel_index): Likewise.
24703
24704 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24705 from this...
24706 (grub_vbe_bios_get_controller_info): ... to this.
24707 (grub_vbe_get_mode_info): Renamed from this...
24708 (grub_vbe_bios_get_mode_info): ... to this.
24709 (grub_vbe_set_mode): Renamed from this...
24710 (grub_vbe_bios_set_mode): ... to this.
24711 (grub_vbe_get_mode): Renamed from this...
24712 (grub_vbe_bios_get_mode): ... to this.
24713 (grub_vbe_set_memory_window): Renamed from this...
24714 (grub_vbe_bios_set_memory_window): ... to this.
24715 (grub_vbe_get_memory_window): Renamed from this...
24716 (grub_vbe_bios_get_memory_window): ... to this.
24717 (grub_vbe_set_scanline_length): Renamed from this...
24718 (grub_vbe_set_scanline_length): ... to this.
24719 (grub_vbe_get_scanline_length): Renamed from this...
24720 (grub_vbe_bios_get_scanline_length): ... to this.
24721 (grub_vbe_set_display_start): Renamed from this...
24722 (grub_vbe_bios_set_display_start): ... to this.
24723 (grub_vbe_get_display_start): Renamed from this...
24724 (grub_vbe_bios_get_display_start): ... to this.
24725 (grub_vbe_set_palette_data): Renamed from this...
24726 (grub_vbe_bios_set_palette_data): ... to this.
24727 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24728 getting corrupted after calling it. Added more pushes and pops.
24729 (grub_vbe_bios_set_mode): Likewise.
24730 (grub_vbe_bios_get_mode): Likewise.
24731 (grub_vbe_bios_get_memory_window): Likewise.
24732 (grub_vbe_bios_set_scanline_length): Likewise.
24733 (grub_vbe_bios_get_scanline_length): Likewise.
24734 (grub_vbe_bios_get_display_start): Likewise.
24735 (grub_vbe_bios_set_palette_data): Likewise.
24736
24737 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24738 (cl_insert): Likewise.
24739 (cl_delete): Likewise.
24740
24741 * term/gfxterm.c: New file.
24742
24743 * term/i386/pc/vesafb.c: Removed file.
24744
24745 * video/video.c: New file.
24746
24747 * video/i386/pc/vbe.c (real2pm): Added new function.
24748 (grub_video_vbe_draw_pixel): Likewise.
24749 (grub_video_vbe_get_video_ptr): Likewise.
24750 (grub_video_vbe_get_pixel): Likewise
24751 (grub_video_vbe_init): Likewise.
24752 (grub_video_vbe_fini): Likewise.
24753 (grub_video_vbe_setup): Likewise.
24754 (grub_video_vbe_get_info): Likewise.
24755 (grub_video_vbe_set_palette): Likewise.
24756 (grub_video_vbe_get_palette): Likewise.
24757 (grub_video_vbe_set_viewport): Likewise.
24758 (grub_video_vbe_get_viewport): Likewise.
24759 (grub_video_vbe_map_color): Likewise.
24760 (grub_video_vbe_map_rgb): Likewise.
24761 (grub_video_vbe_map_rgba): Likewise.
24762 (grub_video_vbe_unmap_color): Likewise.
24763 (grub_video_vbe_fill_rect): Likewise.
24764 (grub_video_vbe_blit_glyph): Likewise.
24765 (grub_video_vbe_blit_bitmap): Likewise.
24766 (grub_video_vbe_blit_render_target): Likewise.
24767 (grub_video_vbe_scroll): Likewise.
24768 (grub_video_vbe_swap_buffers): Likewise.
24769 (grub_video_vbe_create_render_target): Likewise.
24770 (grub_video_vbe_delete_render_target): Likewise.
24771 (grub_video_vbe_set_active_render_target): Likewise.
24772 (grub_vbe_set_pixel_rgb): Remove function.
24773 (grub_vbe_set_pixel_index): Likewise.
24774 (index_color_mode): Remove static variable.
24775 (active_mode): Likewise.
24776 (framebuffer): Likewise.
24777 (bytes_per_scan_line): Likewise.
24778 (grub_video_vbe_adapter): Added new static variable.
24779 (framebuffer): Likewise.
24780 (render_target): Likewise.
24781 (initial_mode): Likewise.
24782 (mode_in_use): Likewise.
24783 (mode_list): Likewise.
24784
24785 2006-03-10 Marco Gerards <marco@gnu.org>
24786
24787 * configure.ac (AC_INIT): Bumped to 1.93.
24788
24789 * DISTLIST: Added `include/grub/hfs.h'.
24790
24791 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24792
24793 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24794 18H, which might help the BIOS falling back to next boot media.
24795
24796 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24797
24798 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24799 Poe Chen <poe.poechen@gmail.com>.
24800
24801 2006-01-17 Marco Gerards <marco@gnu.org>
24802
24803 * include/grub/normal.h: Include <grub/script.h>.
24804 (grub_command_list): Removed struct.
24805 (grub_command_list_t): Removed type.
24806 (grub_menu_entry): Remove members `num' and `command_list'. Add
24807 members `commands' and `sourcecode'.
24808 * include/grub/script.h: Add inclusion guards.
24809 (grub_script_cmd_menuentry): New struct.
24810 (grub_script_execute_menuentry): New prototype.
24811 (grub_script_lexer_record_start): Likewise.
24812 (grub_script_lexer_record_stop): Likewise.
24813 * normal/execute.c (grub_script_execute_menuentry): New function.
24814 * normal/lexer.c (record, recording, recordpos, recordlen): New
24815 variables.
24816 (grub_script_lexer_record_start): New function.
24817 (grub_script_lexer_record_stop): Likewise.
24818 (recordchar): Likewise.
24819 (nextchar): Likewise.
24820 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24821 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24822 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24823 (current_menu): New variable.
24824 (free_menu): Mainly rewritten.
24825 (grub_normal_menu_addentry): New function.
24826 (read_config_file): Rewritten.
24827 * normal/menu.c (run_menu_entry): Mainly rewritten.
24828 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24829 the menu entry.
24830 (run): Mainly rewritten.
24831 * normal/parser.y (menu_entry): New variable.
24832 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24833 (menuentry): New rule.
24834 (command): Add `menuentry'.
24835 (if_statement): Allow additional returns before `fi'.
24836 * normal/script.c (grub_script_create_cmdmenu): New function.
24837
24838 2006-01-03 Marco Gerards <marco@gnu.org>
24839
24840 * INSTALL: GNU Bison is required.
24841 * configure.ac: Rewritten the test to detect Bison.
24842 * Makefile.in (YACC): New variable. Reported by Xun Sun
24843 <xun.sun.cn@gmail.com>.
24844
24845 2006-01-03 Marco Gerards <marco@gnu.org>
24846
24847 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24848 the HFS+ filesystem to filesystem blocks.
24849 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24850 GCC warning is silenced.
24851
24852 2006-01-03 Marco Gerards <marco@gnu.org>
24853
24854 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24855 read from disk from big endian to host byte order.
24856
24857 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24858
24859 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24860 documentation.
24861 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24862 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24863 embedded HFS+ filesystem.
24864 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24865 (grub_hfs_sblock): Move from here...
24866 * include/grub/hfs.h: To here... New file.
24867 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24868 documentation.
24869 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24870 New macros.
24871 (grub_hfsplus_volheader): Change type of member `magic' to
24872 `grub_uint16_t'.
24873 (grub_hfsplus_data): Add new member `embedded_offset'.
24874 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24875 returned block.
24876 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24877 Calculate the offset.
24878
24879 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24880
24881 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24882 Removed.
24883 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24884
24885 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24886
24887 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24888 ENV->NAME is NULL after allocating ENV->VALUE.
24889
24890 2005-12-25 Marco Gerards <marco@gnu.org>
24891
24892 * kern/env.c (grub_env_set): Rewritten the error handling code.
24893
24894 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24895
24896 * geninit.sh: Made more robust, and more portable.
24897
24898 2005-12-25 Marco Gerards <marco@gnu.org>
24899
24900 Add support for Apple HFS+ filesystems.
24901
24902 * fs/hfsplus.c: New file.
24903
24904 * DISTLIST: Added `fs/hfsplus.c'.
24905
24906 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24907 (hfsplus_mod_SOURCES): New variable.
24908 (hfsplus_mod_CFLAGS): Likewise.
24909 (hfsplus_mod_LDFLAGS): Likewise.
24910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24911 (grub_setup_SOURCES): Likewise.
24912 (grub_mkdevicemap_SOURCES): Likewise.
24913 (grub_emu_SOURCES): Likewise.
24914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24915
24916 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24917
24918 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24919
24920 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24921
24922 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24923 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24924 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24925 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24926 normal/lexer.c, normal/parser.y, normal/script.c, and
24927 partmap/gpt.c.
24928 Removed kern/sparc64/cache.c.
24929
24930 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24931 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24932 grub_emu_init.c.
24933
24934 * configure.ac (AC_INIT): Bumped to 1.92.
24935
24936 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24937
24938 * kern/err.c (grub_error_push): Added new function to support error
24939 stacks.
24940 (grub_error_pop): Likewise.
24941 (grub_error_stack_items): New local variable to support error stacks.
24942 (grub_error_stack_pos): Likewise.
24943 (grub_error_stack_assert): Likewise.
24944 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24945 stack depth.
24946 (grub_print_error): Added support to print errors from error stack.
24947
24948 * include/grub/err.h (grub_error_push): Added function prototype.
24949 (grub_error_pop): Likewise.
24950
24951 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24952
24953 * configure.ac: Accept `powerpc64' as host_cpu.
24954 (amd64): Rename to `biarch32'.
24955
24956 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24957 non-cacheline-aligned addresses.
24958
24959 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24960 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24961 if `size' is non-zero.
24962
24963 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24964
24965 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24966 and `cd' to make sure the filename is not prefixed with a
24967 directory name.
24968 (pkgdata_MODULES): Add `gpt.mod'.
24969 (gpt_mod_SOURCES): New variable.
24970 (gpt_mod_CFLAGS): Likewise.
24971 (gpt_mod_LDFLAGS): Likewise.
24972
24973 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24974
24975 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24976 New macro.
24977
24978 * partmap/gpt.c: New file.
24979
24980 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24981 GPT partition map is detected.
24982
24983 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24984
24985 * commands/i386/pc/play.c: New file.
24986 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24987 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24988 macros.
24989
24990 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24991
24992 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24993 ((unused))' to silence gcc warning.
24994
24995 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24996
24997 * configure.ac: Correct `AC_PROG_YACC' test.
24998
24999 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25000
25001 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25002 check before installing files.
25003
25004 2005-11-22 Mike Small <smallm@panix.com>
25005
25006 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25007 number regex so multidigit numbers are recognized correctly.
25008
25009 2005-11-22 Mike Small <smallm@panix.com>
25010
25011 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25012 debugging message before attempting to claim memory.
25013 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25014 multiple addresses in case of failure.
25015
25016 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25017
25018 * term/tparm.c (get_space): Remove empty `if' statement.
25019
25020 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25021
25022 * kern/parser.c (check_varstate): Rename `state' to 's'.
25023
25024 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25025
25026 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25027 variable definitions to the beginning of each function. Sort stack
25028 variables by size.
25029 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25030 `buf' argument to `char *'.
25031
25032 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25033
25034 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25035 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25036 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25037 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25038 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25039 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25040 configfile.mod, search.mod, gzio.mod and test.mod.
25041 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25042 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25043 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25044 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25045 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25046 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25047 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25048 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25049 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25050 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25051 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25052 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25053 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25054 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25055 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25056 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25057 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25058 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25059 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25060 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25061 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25062 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25063 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25064
25065 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25066 `grep --include'.
25067 (pkgdata_MODULES): Add test.mod.
25068
25069 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25070
25071 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25072 appending to variables with "+=".
25073 (PModule): Use full pathname to generate *.lst filenames.
25074
25075 * Makefile.in: Fixed list rules moved from genmk.rb.
25076 (.DELETE_ON_ERROR): New special target.
25077 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25078
25079 * conf/i386-pc.rmk: Include conf/common.mk.
25080 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25081 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25082 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25083 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25084 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25085 configfile.mod, search.mod, gzio.mod and test.mod.
25086 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25087 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25088 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25089 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25090 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25091 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25092 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25093 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25094 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25095 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25096 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25097 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25098 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25099 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25100 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25101 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25102 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25103 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25104 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25105 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25106 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25107 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25108 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25109 here...
25110 * conf/common.rmk: ... to here. New file.
25111
25112 * conf/common.mk: New file.
25113
25114 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25115
25116 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25117 (grub_script.tab.c): ... here.
25118
25119 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25120 (grub_script.tab.c): ... here.
25121
25122 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25123 (grub_script.tab.c): ... here.
25124
25125 * normal/command.c (grub_command_find): Fixed a memory leak of
25126 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25127
25128 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25129
25130 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25131 "@" which marks the start of a comment on ARM.
25132 (VARIABLE): Likewise.
25133
25134 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25135
25136 Add support for Linux/ADFS partition tables.
25137
25138 * partmap/acorn.c: New file.
25139
25140 * include/grub/acorn_filecore.h: Likewise.
25141
25142 * DISTLIST: Added `partmap/acorn.c' and
25143 `include/grub/acorn_filecore.h'.
25144
25145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25146 `partmap/acorn.c'.
25147 (pkgdata_MODULES): Add `acorn.mod'.
25148 (acorn_mod_SOURCES): New variable.
25149 (acorn_mod_CFLAGS): Likewise.
25150
25151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25152 `partmap/acorn.c'.
25153 (pkgdata_MODULES): Add `acorn.mod'.
25154 (acorn_mod_SOURCES): New variable.
25155 (acorn_mod_CFLAGS): Likewise.
25156
25157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25158 (pkgdata_MODULES): Add `acorn.mod'.
25159 (acorn_mod_SOURCES): New variable.
25160 (acorn_mod_CFLAGS): Likewise.
25161 (acorn_mod_LDFLAGS): Likewise.
25162
25163 * include/types.h (grub_disk_addr_t): New typedef.
25164
25165 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
25166
25167 * geninit.sh: New file.
25168
25169 * geninitheader.sh: Likewise.
25170
25171 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25172 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25173 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25174 * commands/configfile.c (grub_configfile_init)
25175 (grub_configfile_fini): Likewise.
25176 * commands/default.c (grub_default_init, grub_default_fini):
25177 Likewise.
25178 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25179 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25180 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25181 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25182 Likewise.
25183 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25184 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25185 Likewise.
25186 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
25187 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
25188 Likewise.
25189 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25190 Likewise.
25191 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
25192 Likewise.
25193 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25194 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25195 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25196 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25197 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25198 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25199 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25200 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25201 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25202 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25203 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25204 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25205 * partmap/amiga.c (grub_amiga_partition_map_init)
25206 (grub_amiga_partition_map_fini): Likewise.
25207 * partmap/apple.c (grub_apple_partition_map_init)
25208 (grub_apple_partition_map_fini): Likewise.
25209 * partmap/pc.c (grub_pc_partition_map_init)
25210 (grub_pc_partition_map_fini): Likewise.
25211 * partmap/sun.c (grub_sun_partition_map_init,
25212 grub_sun_partition_map_fini): Likewise.
25213 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25214 Likewise.
25215
25216 * util/grub-emu.c: Include <grub_modules_init.h>.
25217 (main): Don't initialize and de-initialize any modules directly,
25218 use `grub_init_all' and `grub_fini_all' instead.
25219
25220 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25221 `grub_vesafb_mod_init'.
25222 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25223 all users.
25224 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25225 `grub_vga_mod_init'. Updated all users.
25226 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25227
25228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25229 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25230 rules.
25231
25232 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25233 Generate a function to initialize the module in utilities.
25234 Updated all callers.
25235 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25236 initialize the module in utilities. Updated all callers.
25237
25238 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25239
25240 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25241 escape sequence and a literal ^L to clear the screen.
25242
25243 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25244 when returning from Open Firmware.
25245
25246 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25247
25248 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25249 (grub_ofconsole_height): Likewise.
25250 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25251 manually insert a '\n'.
25252 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25253 `grub_ofconsole_height'. Return early if these are already set.
25254
25255 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25256
25257 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25258 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25259 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25260 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25261 and `normal/script.c'.
25262 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25263 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25264 (test_mod_SOURCES): New variable.
25265 (test_mod_CFLAGS): Likewise.
25266 (test_mod_LDFLAGS): Likewise.
25267 (pkgdata_MODULES): Add `test.mod'.
25268 (grub_script.tab.c): New rule.
25269 (grub_script.tab.h): Likewise.
25270
25271 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25272
25273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25274 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25275 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25276 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25277 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25278 (test_mod_SOURCES): New variable.
25279 (test_mod_CFLAGS): Likewise.
25280 (pkgdata_MODULES): Add `test.mod'.
25281 (grub_script.tab.c): New rule.
25282 (grub_script.tab.h): Likewise.
25283
25284 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25285
25286 Add initial scripting support.
25287
25288 * commands/test.c: New file.
25289 * include/grub/script.h: Likewise.
25290 * normal/execute.c: Likewise.
25291 * normal/function.c: Likewise.
25292 * normal/lexer.c: Likewise.
25293 * normal/parser.y: Likewise.
25294 * normal/script.c: Likewise.
25295
25296 * configure.ac: Add `AC_PROG_YACC' test.
25297
25298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25299 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25300 `normal/function.c' and `normal/script.c'.
25301 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25302 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25303 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25304 variables.
25305 (pkgdata_MODULES): Add `test.mod'.
25306 (grub_script.tab.c): New rule.
25307 (grub_script.tab.h): Likewise.
25308
25309 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25310
25311 * include/grub/normal.h (grub_test_init): New prototype.
25312 (grub_test_fini): Likewise.
25313
25314 * normal/command.c: Include <grub/script.h>.
25315 (grub_command_execute): Rewritten.
25316
25317 * util/grub-emu.c (main): Call `grub_test_init' and
25318 `grub_test_fini'.
25319
25320 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25321
25322 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25323 to 0.
25324 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25325 there are no pending characters.
25326
25327 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25328
25329 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25330 `grub_strndup' to drop device arguments. Replace unnecessary
25331 `grub_strndup' with `grub_strdup'.
25332
25333 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25334
25335 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25336 `debug' environment variable has been set.
25337
25338 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25339
25340 * Makefile.in (install-local): Use $(DATA).
25341 (uninstall): Likewise.
25342 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25343 (sbin_UTILITIES): ... to here.
25344 (sbin_SCRIPTS): New variable.
25345 (grub_install_SOURCES): New variable.
25346 * util/powerpc/ieee1275/grub-install.in: New file.
25347 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25348 variable.
25349 (add_segments): Call `grub_util_get_path'.
25350
25351 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25352
25353 From Timothy Baldwin:
25354 * commands/ls.c (grub_ls_list_files): Close FILE with
25355 grub_file_close.
25356 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25357
25358 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25359
25360 * include/grub/parser.h: New file.
25361
25362 * kern/parser.c: Likewise.
25363
25364 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25365 (grub_setup_SOURCES): Likewise.
25366 (grub_probefs_SOURCES): Likewise.
25367 (grub_emu_SOURCES): Likewise.
25368 (kernel_img_HEADERS): Add `parser.h'.
25369
25370 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25371 (grub_emu_SOURCES): Add `kern/parser.c'.
25372 (grubof_SOURCES): Likewise.
25373
25374 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25375 (grubof_SOURCES): Add `kern/parser.c'.
25376
25377 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25378
25379 * kern/misc.c (grub_split_cmdline): Removed function.
25380
25381 * kern/rescue.c: Include <grub/parser.h>.
25382 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25383 of `grub_split_cmdline'.
25384
25385 * normal/command.c: Include <grub/parser.h>.
25386 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25387 of `grub_split_cmdline'.
25388
25389 * normal/completion.c: Include <grub/parser.h>.
25390 (cmdline_state): New variable.
25391 (iterate_dir): End the filename with a quote depending on the
25392 command line state.
25393 (get_state): new function.
25394 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25395 split the arguments and determine the current argument. When the
25396 argument string is not quoted, escape all spaces.
25397
25398 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25399
25400 * normal/sparc64/setjmp.S: New file.
25401
25402 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25403
25404 * include/grub/sparc64/libgcc.h: New file.
25405 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25406 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25407 normal/sparc64/setjmp.c.
25408
25409 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25410
25411 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25412 * kern/sparc64/cache.S: New file.
25413 * kern/sparc64/cache.c: Removed.
25414 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25415 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25416 -mtune=ultrasparc.
25417 (COMMON_LDFLAGS): Add -melf64_sparc.
25418 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25419 (grubof_SOURCES): Use cache.S instead of cache.c.
25420 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25421 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25422 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25423 commented though.
25424 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25425 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25426 (linux_mod_CFLAGS): Commented out.
25427 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25428 out because module isn't built.
25429 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25430 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25431 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25432 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25433 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25434 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25435 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25436 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25437 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25438 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25439 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25440 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25441 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25442 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25443
25444 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25445
25446 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25447 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25448 longer, because HFS should not be used on PC.
25449
25450 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25451
25452 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25453 consistently within the loop.
25454
25455 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25456
25457 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25458 directory can not be read.
25459
25460 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25461
25462 * configure.ac (AC_INIT): Increase the version number to 1.91.
25463
25464 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25465 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25466 term/i386/pc/serial.c.
25467
25468 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25469
25470 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25471 file size must be permitted.
25472
25473 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25474 between %ah and %al.
25475
25476 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25477
25478 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25479 grub_uint64_t.
25480 Call the hook with a NUL-terminated filename.
25481 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25482 grub_cpu_to_be32.
25483
25484 * kern/term.c (cursor_state): New variable.
25485 (grub_term_set_current): Reset the cursor state on a new
25486 terminal.
25487 (grub_setcursor): Rewritten to use CURSOR_STATE.
25488 (grub_getcursor): New function.
25489
25490 * include/grub/term.h (grub_getcursor): New prototype.
25491
25492 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25493 integers on ARM. Reported by Timothy Baldwin
25494 <T.E.Baldwin99@members.leeds.ac.uk>.
25495
25496 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25497
25498 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25499 allocated.
25500 (grub_sfs_dir): Likewise.
25501
25502 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25503
25504 Add support for the SFS filesystem.
25505
25506 * fs/sfs.c: New file.
25507
25508 * DISTLIST: Added `fs/sfs.c'.
25509
25510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25511 (grub_probefs_SOURCES): Likewise.
25512 (grub_emu_SOURCES): Likewise.
25513 (pkgdata_MODULES): Add `sfs.mod'.
25514 (sfs_mod_SOURCES): New variable.
25515 (sfs_mod_CFLAGS): Likewise.
25516 (sfs_mod_LDFLAGS): Likewise.
25517
25518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25519 (pkgdata_MODULES): Add `sfs.mod'.
25520 (sfs_mod_SOURCES): New variable.
25521 (sfs_mod_CFLAGS): Likewise.
25522
25523 * util/grub-emu.c (main): Call `grub_sfs_init' and
25524 `grub_sfs_fini'.
25525
25526 * include/grub/fs.h (grub_sfs_init): New prototype.
25527 (grub_sfs_fini): Likewise.
25528
25529 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25530
25531 Add support for the AFFS filesystem.
25532
25533 * fs/affs.c: New file.
25534
25535 * DISTLIST: Added `fs/affs.c'.
25536
25537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25538 (grub_probefs_SOURCES): Likewise.
25539 (grub_emu_SOURCES): Likewise.
25540 (pkgdata_MODULES): Add `affs.mod'.
25541 (affs_mod_SOURCES): New variable.
25542 (affs_mod_CFLAGS): Likewise.
25543 (affs_mod_LDFLAGS): Likewise.
25544
25545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25546 (pkgdata_MODULES): Add `affs.mod'.
25547 (affs_mod_SOURCES): New variable.
25548 (affs_mod_CFLAGS): Likewise.
25549
25550 * util/grub-emu.c (main): Call `grub_affs_init' and
25551 `grub_affs_fini'.
25552
25553 * include/grub/fs.h (grub_affs_init): New prototype.
25554 (grub_affs_fini): Likewise.
25555
25556 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25557
25558 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25559
25560 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25561
25562 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25563 `-m32' to CFLAGS.
25564
25565 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25566 linking.
25567
25568 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25569 (COMMON_LDFLAGS): New variable.
25570 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25571 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25572 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25573 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25574 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25575 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25576 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25577 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25578 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25579 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25580 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25581 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25582 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25583 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25584 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25585 variables.
25586 (normal_mod_ASFLAGS): Add `-m32'.
25587
25588 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25589 (grub_host_size_t, grub_host_ssize_t): New types.
25590 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25591 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25592 `GRUB_HOST_SIZEOF_VOID_P'.
25593
25594 * include/grub/kernel.h (struct grub_module_header): Type of
25595 member offset changed to `grub_host_off_t'. Type of member size
25596 changed to `grub_host_size_t'.
25597 (struct grub_module_info): Type of member offset changed to
25598 `grub_host_off_t'. Type of member size changed to
25599 `grub_host_size_t'.
25600
25601 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25602
25603 Make GRUB's kernel compliant to Multiboot Specification.
25604
25605 * kern/i386/pc/startup.S (multiboot_header): New label.
25606 (multiboot_entry): Likewise.
25607 (multiboot_trampoline): Likewise.
25608
25609 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25610 Increased to 0x4A0.
25611
25612 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25613 put parentheses after a question mark.
25614 [!GRUB_UTIL] (my_mod): New variable.
25615
25616 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25617
25618 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25619
25620 Adds support for the XFS filesystem. Btrees are not supported
25621 yet.
25622
25623 * fs/xfs.c: New file.
25624
25625 * DISTLIST: Added `fs/xfs.c'.
25626
25627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25628 (grub_probefs_SOURCES): Likewise.
25629 (grub_emu_SOURCES): Likewise.
25630 (pkgdata_MODULES): Add `xfs.mod'.
25631 (xfs_mod_SOURCES): New variable.
25632 (xfs_mod_CFLAGS): Likewise.
25633
25634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25635 (pkgdata_MODULES): Add `xfs.mod'.
25636 (xfs_mod_SOURCES): New variable.
25637 (xfs_mod_CFLAGS): Likewise.
25638
25639 * util/grub-emu.c (main): Call `grub_xfs_init' and
25640 `grub_xfs_fini'.
25641
25642 * include/grub/fs.h (grub_xfs_init): New prototype.
25643 (grub_xfs_fini): Likewise.
25644
25645
25646 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25647
25648 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25649 color modes, allow greater than 16 colors to be configured as
25650 a default palette.
25651
25652 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25653
25654 * normal/completion.c (complete_arguments): Add the qualifier
25655 const into OPTIONS.
25656
25657 From Omniflux <omniflux+lists@omniflux.com>:
25658 * include/grub/terminfo.h: New file.
25659 * include/grub/tparm.h: Likewise.
25660 * include/grub/i386/pc/serial.h: Likewise.
25661 * term/terminfo.c: Likewise.
25662 * term/tparm.c: Likewise.
25663 * term/i386/pc/serial.c: Likewise.
25664 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25665 serial.mod.
25666 (terminfo_mod_SOURCES): New variable.
25667 (terminfo_mod_CFLAGS): Likewise.
25668 (serial_mod_SOURCES): Likewise.
25669 (serial_mod_CFLAGS): Likewise.
25670
25671 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25672
25673 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25674 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25675 and kern/powerpc/ieee1275/cmain.c, respectively.
25676
25677 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25678 * kern/powerpc/ieee1275/crt0.S: ... here.
25679
25680 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25681 * kern/powerpc/ieee1275/cmain.c: ... here.
25682
25683 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25684 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25685 instead of boot/powerpc/ieee1275/crt0.S and
25686 boot/powerpc/ieee1275/cmain.c, respectively.
25687
25688 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25689 sectors. It was not used anyway.
25690
25691 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25692
25693 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25694 `unused parameter' warning.
25695
25696 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25697
25698 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25699 function.
25700 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25701 getcharwidth.
25702
25703 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25704
25705 * include/grub/normal.h (enum grub_completion_type): Added
25706 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25707
25708 * normal/cmdline.c (print_completion): Handle
25709 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25710 * normal/menu_entry.c (store_completion): Likewise.
25711
25712 * normal/completion.c (complete_arguments): New function.
25713 (grub_normal_do_completion): Call `complete_arguments' when the
25714 current words start with a dash.
25715
25716 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25717
25718 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25719 `gzio.mod' instead of `io.mod').
25720
25721 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25722
25723 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25724 (DISTDIRS): Added io and video.
25725 Rewrite the search routine to make an output consistently.
25726
25727 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25728 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25729 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25730 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25731 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25732 util/powerpc/ieee1275/misc.c.
25733
25734 * include/grub/gzio.h: New file.
25735 * io/gzio.c: Likewise.
25736
25737 * kern/file.c (grub_file_close): Call grub_device_close only if
25738 FILE->DEVICE is not NULL.
25739
25740 * include/grub/mm.h [!NULL] (NULL): New macro.
25741
25742 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25743
25744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25745 (pkgdata_MODULES): Added gzio.mod.
25746 (gzio_mod_SOURCES): New variable.
25747 (gzio_mod_CFLAGS): Likewise.
25748
25749 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25750 (pkgdata_MODULES): Added gzio.mod.
25751 (gzio_mod_SOURCES): New variable.
25752 (gzio_mod_CFLAGS): Likewise.
25753
25754 * commands/cat.c: Include grub/gzio.h.
25755 (grub_cmd_cat): Use grub_gzfile_open instead of
25756 grub_file_open.
25757
25758 * commands/cmp.c: Include grub/gzio.h.
25759 (grub_cmd_cmp): Use grub_gzfile_open instead of
25760 grub_file_open.
25761
25762 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25763 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25764 grub_file_open.
25765 (grub_rescue_cmd_module): Likewise.
25766
25767 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25768
25769 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25770 kern/sparc64/ieee1275/init.c because it contains _start.
25771 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25772
25773 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25774
25775 * configure.ac: Add support for sparc64 host with ieee1275
25776 firmware.
25777 * configure: Generated from configure.ac.
25778 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25779 instead of int.
25780 (grub_ofdisk_read): Likewise.
25781 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25782 pointers as (void *) to remove a warning.
25783 (grub_ofdisk_close): Likewise.
25784 (grub_ofdisk_read): Likewise.
25785 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25786 returns, so make it return void to remove a warning.
25787 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25788 Corresponding prototype change.
25789 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25790 values, and cast the pointers as (void *) to remove a warning.
25791 (grub_mm_dump): Likewise.
25792 * conf/sparc64-ieee1275.mk: New file.
25793 * conf/sparc64-ieee1275.rmk: Likewise.
25794 * include/grub/sparc64/setjmp.h: Likewise.
25795 * include/grub/sparc64/types.h: Likewise.
25796 * include/grub/sparc64/ieee1275/console.h: Likewise.
25797 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25798 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25799 * include/grub/sparc64/ieee1275/time.h: Likewise.
25800 * kern/sparc64/cache.c: Likewise.
25801 * kern/sparc64/dl.c: Likewise.
25802 * kern/sparc64/ieee1275/init.c: Likewise.
25803 * kern/sparc64/ieee1275/openfw.c: Likewise.
25804
25805 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25806
25807 * util/console.c (grub_ncurses_putchar): If C is greater than
25808 0x7f, set C to a question mark.
25809 (grub_ncurses_getcharwidth): New function.
25810 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25811 getcharwidth.
25812
25813 * normal/menu.c (print_entry): Made aware of Unicode. First,
25814 convert TITLE to UCS-4, and predict the cursor position by
25815 grub_getcharwidth.
25816
25817 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25818 const to SRC.
25819 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25820
25821 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25822
25823 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25824 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25825 grub_strcat.
25826
25827 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25828 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25829 grub_strcpy and grub_strlen. Take it into account that a space
25830 character is inserted as a delimiter.
25831
25832 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25833
25834 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25835 invalid magic in the error.
25836
25837 * commands/search.c: New file.
25838
25839 * util/grub-emu.c (main): Call grub_search_init and
25840 grub_search_fini.
25841
25842 * kern/rescue.c (grub_rescue_print_disks): Removed.
25843 (grub_rescue_print_devices): New function.
25844 (grub_rescue_cmd_ls): Use grub_device_iterate with
25845 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25846 grub_rescue_print_disks.
25847
25848 * kern/partition.c (grub_partition_iterate): Return the result of
25849 PARTMAP->ITERATE instead of GRUB_ERRNO.
25850
25851 * kern/device.c: Include grub/partition.h.
25852 (grub_device_iterate): New function.
25853
25854 * include/grub/partition.h (grub_partition_iterate): Return int
25855 instead of grub_err_t.
25856
25857 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25858 prototype.
25859 [GRUB_UTIL] (grub_search_fini): Likewise.
25860
25861 * include/grub/device.h (grub_device_iterate): New prototype.
25862
25863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25864 commands/search.c.
25865 (pkgdata_MODULES): Added search.mod.
25866 (search_mod_SOURCES): New variable.
25867 (search_mod_CFLAGS): Likewise.
25868
25869 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25870 (pkgdata_MODULES): Added search.mod.
25871 (search_mod_SOURCES): New variable.
25872 (search_mod_CFLAGS): Likewise.
25873
25874 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25875 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25876 All callers changed.
25877
25878 * DISTLIST: Added commands/search.c.
25879
25880 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25881
25882 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25883 conversion.
25884 (grub_getcharwidth): New function.
25885
25886 * kern/misc.c (grub_utf8_to_ucs4): New function.
25887
25888 * include/grub/term.h (struct grub_term): Added a new member
25889 "getcharwidth".
25890 (grub_getcharwidth): New prototype.
25891
25892 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25893
25894 * term/i386/pc/console.c (map_char): New function. Segregated from
25895 grub_console_putchar.
25896 (grub_console_putchar): Use map_char.
25897 (grub_console_getcharwidth): New function.
25898 (grub_console_term): Specified grub_console_getcharwidth as
25899 getcharwidth.
25900
25901 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25902 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25903
25904 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25905 GRUB_ERRNO.
25906 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25907 on grub_strtoul completely.
25908 (write_char): Declare local variables in the beginning of the
25909 function.
25910 (grub_vesafb_getcharwidth): New function.
25911 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25912 getcharwidth.
25913
25914 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25915
25916 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25917 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25918 commands/i386/pc/vbetest.c.
25919
25920 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25921 call grub_vbe_get_controller_info again, because the returned
25922 information is volatile.
25923 (grub_vbe_set_video_mode): Mostly rewritten.
25924 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25925 grub_vbe_status_t correctly.
25926 (grub_vbe_get_video_mode_info): Likewise.
25927 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25928 several if statements.
25929
25930 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25931 * commands/i386/pc/vbeinfo.c: ... this.
25932
25933 * commands/i386/pc/vbe_test.c: Renamed to ...
25934 * commands/i386/pc/vbetest.c: ... this.
25935
25936 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25937 ...
25938 (grub_cmd_vbeinfo): ... this. Save video modes before
25939 iterating. Skip a video mode, if it is not available, not enough
25940 information is given or it is monochrome. Show the memory
25941 model. Leave the interpretation of MODEVAR to grub_strtoul
25942 completely.
25943 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25944 (GRUB_MOD_FINI): Likewise.
25945
25946 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25947 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25948 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25949 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25950 grub_strtoul completely.
25951 (real2pm): Removed.
25952 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25953 (GRUB_MOD_FINI): Likewise.
25954
25955 * normal/misc.c: Include grub/mm.h.
25956
25957 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25958 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25959 (vbe_list_modes_mod_SOURCES): Removed.
25960 (vbe_list_modes_mod_CFLAGS): Likewise.
25961 (vbe_test_mod_SOURCES): Likewise.
25962 (vbe_test_mod_CFLAGS): Likewise.
25963 (vbeinfo_mod_SOURCES): New variable.
25964 (vbeinfo_mod_CFLAGS): Likewise.
25965 (vbetest_mod_SOURCES): Likewise.
25966 (vbetest_mod_CFLAGS): Likewise.
25967
25968 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25969
25970 * normal/misc.c: New file.
25971
25972 * DISTLIST: Added normal/misc.c.
25973
25974 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25975 DISK to HOOK. Call HOOK with DISK.
25976 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25977 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25978 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25979
25980 * normal/menu_entry.c (struct screen): Added a new member
25981 "completion_shown".
25982 (completion_buffer): New global variable.
25983 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25984 (store_completion): New function.
25985 (complete): Likewise.
25986 (clear_completions): Likewise.
25987 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25988 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25989 a tab, call complete.
25990
25991 * normal/completion.c (disk_dev): Removed.
25992 (print_simple_completion): Likewise.
25993 (print_partition_completion): Likewise.
25994 (print_func): New global variable.
25995 (add_completion): Do not take the arguments WHAT or PRINT any
25996 longer. Added a new argument TYPE. Instead of printing directly,
25997 call PRINT_FUNC if not NULL.
25998 All callers changed.
25999 (complete_device): Use a local variable DEV instead of
26000 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26001 (grub_normal_do_completion): Take a new argument HOOK. Do not
26002 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26003 empty string, return NULL instead.
26004 All callers changed.
26005
26006 * normal/cmdline.c (print_completion): New function.
26007
26008 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26009 to HOOK.
26010 All callers changed.
26011
26012 * kern/disk.c (grub_print_partinfo): Removed.
26013
26014 * include/grub/partition.h (struct grub_partition_map): Add a new
26015 argument DISK into HOOK of ITERATE.
26016 (grub_partition_iterate): Add a new argument DISK to HOOK.
26017
26018 * include/grub/normal.h (enum grub_completion_type): New enum.
26019 (grub_completion_type_t): New type.
26020 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26021 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26022 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26023 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26024 (grub_normal_do_completion): Added a new argument HOOK.
26025 (grub_normal_print_device_info): New prototype.
26026
26027 * include/grub/disk.h (grub_print_partinfo): Removed.
26028
26029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26030 (normal_mod_SOURCES): Likewise.
26031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26032 (normal_mod_SOURCES): Likewise.
26033
26034 * commands/ls.c (grub_ls_list_disks): Use
26035 grub_normal_print_device_info instead of grub_print_partinfo. Free
26036 PNAME.
26037 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26038 duplicating the code.
26039
26040 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26041
26042 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
26043 follow GCS more precisely.
26044 * commands/i386/pc/vbe_test.c: Likewise.
26045 * include/grub/i386/pc/vbe.h: Likewise.
26046 * term/i386/pc/vesafb.c: Likewise.
26047 * video/i386/pc/vbe.c: Likewise.
26048
26049 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26050
26051 * DISTLIST: Added term/i386/pc/vesafb.c
26052 DISTLIST: Added video/i386/pc/vbe.c
26053 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26054 DISTLIST: Added commands/i386/pc/vbe_test.c.
26055 * commands/i386/pc/vbe_list_modes.c: New file.
26056 * commands/i386/pc/vbe_test.c: Likewise.
26057 * term/i386/pc/vesafb.c: Likewise.
26058 * video/i386/pc/vbe.c: Likewise.
26059 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26060 (grub_vbe_probe) Added prototype.
26061 (grub_vbe_set_video_mode) Likewise.
26062 (grub_vbe_get_video_mode) Likewise.
26063 (grub_vbe_get_video_mode_info) Likewise.
26064 (grub_vbe_set_pixel_rgb) Likewise.
26065 (grub_vbe_set_pixel_index) Likewise.
26066 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26067 (pkgdata_MODULES): Added vesafb.mod.
26068 (pkgdata_MODULES): Added vbe_list_modes.mod.
26069 (pkgdata_MODULES): Added vbe_test.mod.
26070 (vbe_mod_SOURCES): Added.
26071 (vbe_mod_CFLAGS): Likewise.
26072 (vesafb_mod_SOURCES): Likewise.
26073 (vesafb_mod_CFLAGS): Likewise.
26074 (vbe_list_modes_mod_SOURCES): Likewise.
26075 (vbe_list_modes_mod_CFLAGS): Likewise.
26076 (vbe_test_mod_SOURCES): Likewise.
26077 (vbe_test_mod_CFLAGS): Likewise.
26078
26079 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26080
26081 * normal/command.c (grub_command_execute): If INTERACTIVE is
26082 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26083 CMDLINE. Disable the pager if INTERACTIVE is true.
26084 All callers are changed.
26085
26086 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26087 before reading a config file.
26088 * normal/main.c (read_config_file): Even if a command is not
26089 found, register it if it is within an entry.
26090
26091 * util/grub-emu.c: Include sys/types.h and unistd.h.
26092 (options): Added --hold.
26093 (struct arguments): Added a new member "hold".
26094 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26095 missing.
26096 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26097 cleared by a debugger, if it is not zero.
26098
26099 * include/grub/normal.h (grub_command_execute): Add an argument
26100 INTERACTIVE.
26101
26102 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26103
26104 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26105
26106 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26107
26108 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26109 program with another one, because the old one didn't detect a bug
26110 in gcc-3.4. Always use regparm 2, because the new test is still
26111 not enough for gcc-4.0. Someone must investigate a simple test
26112 case which detects a bug in gcc-4.0.
26113
26114 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26115
26116 * DISTLIST: Added normal/completion.c.
26117
26118 * normal/completion.c: New file.
26119
26120 * term/i386/pc/console.c (grub_console_getwh): New function.
26121 (grub_console_term): Assign grub_console_getwh to getwh.
26122
26123 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26124 function is defined in normal/completion.c as
26125 grub_normal_do_completion.
26126 (grub_cmdline_get): Use grub_normal_do_completion instead of
26127 grub_tab_complete.
26128
26129 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26130 returns non-zero, otherwise return 0.
26131 (grub_partition_iterate): First, probe the partition map. Then,
26132 call ITERATE only for this partition map.
26133
26134 * kern/misc.c (grub_strncmp): Rewritten.
26135
26136 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26137 returns non-zero. Otherwise return 0.
26138
26139 * include/grub/partition.h (grub_partition_map_iterate): Return
26140 int instead of void.
26141
26142 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26143
26144 * include/grub/misc.h (grub_strncmp): Change the type of N to
26145 grub_size_t.
26146
26147 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26148 of void.
26149
26150 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
26151 unsigned explicitly before comparing it with I.
26152
26153 * kern/main.c (grub_env_write_root): Add the attribute unused into
26154 VAR.
26155
26156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26157 normal/completion.c.
26158 (normal_mod_SOURCES): Likewise.
26159 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26160 (normal_mod_SOURCES): Likewise.
26161
26162 * normal/command.c (grub_iterate_commands): If ITERATE returns
26163 non-zero, return one immediately.
26164
26165 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26166
26167 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26168 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26169 descriptions.
26170 (grub_vbe_get_controller_info): New function.
26171 (grub_vbe_get_mode_info): Likewise.
26172 (grub_vbe_set_mode): Likewise.
26173 (grub_vbe_get_mode): Likewise.
26174 (grub_vbe_set_memory_window): Likewise.
26175 (grub_vbe_get_memory_window): Likewise.
26176 (grub_vbe_set_scanline_length): Likewise.
26177 (grub_vbe_get_scanline_length): Likewise.
26178 (grub_vbe_set_display_start): Likewise.
26179 (grub_vbe_get_display_start): Likewise.
26180 (grub_vbe_set_palette_data): Likewise.
26181 * include/grub/i386/pc/vbe.h: New file.
26182
26183 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26184
26185 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26186 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26187 * DISTLIST: Likewise.
26188 * kern/ieee1275/of.c: Moved to ...
26189 * kern/ieee1275/ieee1275.c: ... here.
26190
26191 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26192
26193 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26194 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26195 Pass 0 as `end' parameter to grub_strtoul().
26196
26197 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26198
26199 * include/grub/powerpc/ieee1275/console.h: Do not include
26200 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26201 ifdef.
26202 (grub_console_cur_color): Remove i386-specific prototype.
26203 (grub_console_real_putchar): Likewise.
26204 (grub_console_checkkey): Likewise.
26205 (grub_console_getkey): Likewise.
26206 (grub_console_getxy): Likewise.
26207 (grub_console_gotoxy): Likewise.
26208 (grub_console_cls): Likewise.
26209 (grub_console_setcursor): Likewise.
26210 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26211 Include <grub/machine/console.h>.
26212 * term/ieee1275/ofconsole.c: Likewise.
26213
26214 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26215
26216 * Makefile.in (LIBLZO): New variable.
26217
26218 * configure.ac: Check for LZO version 2.
26219
26220 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26221 lzo/lzo1x.h instead of lzo1x.h.
26222
26223 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26224 of -llzo.
26225
26226 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26227 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26228
26229 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26230 copying the data from PARTITION to P.
26231
26232 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26233
26234 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26235 negative, unload the module.
26236
26237 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26238 map is "pc_partition_map" but not "pc".
26239 (usage): Fix the description. The options are --boot-image and
26240 --core-image but not --boot-file or --core-file.
26241 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26242 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26243 DEFAULT_DIRECTORY.
26244
26245 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26246 --core-file. Specify INSTALL_DEVICE as an argument.
26247
26248 * util/console.c: Include config.h.
26249 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26250 [HAVE_NCURSES_H]: Include ncurses.h.
26251 [HAVE_CURSES_H]: Include curses.h.
26252 [!A_NORMAL] (A_NORMAL): Defined as zero.
26253 [!A_STANDOUT] (A_STANDOUT): Likewise.
26254
26255 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26256 -lncurses.
26257 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26258
26259 * configure.ac: Check for curses libraries and headers.
26260
26261 * Makefile.in (LIBCURSES): New variable.
26262
26263 * genmk.rb (Script::rule): Set the executable bits.
26264
26265 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26266 name of the PC partition map is "pc_partition_map" but not "pc".
26267
26268 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26269
26270 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26271 (modules): Likewise.
26272 (usage): Added descriptions for --modules and --grub-probefs.
26273 Handle --modules and --grub-probefs. Save the arguments in MODULES
26274 and GRUB_PROBEFS, respectively.
26275 Auto-detect a filesystem module against GRUBDIR. If the result is
26276 empty and modules are not specified explicitly, abort the
26277 installation. Add the result to MODULES.
26278
26279 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26280 disk/powerpc/ieee1275/ofdisk.c,
26281 include/grub/powerpc/ieee1275/init.h and
26282 term/powerpc/ieee1275/ofconsole.c.
26283 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26284 term/ieee1275/ofconsole.c.
26285
26286 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26287
26288 * COPYING: Upgraded to the latest version. Only the address of the
26289 FSF office has changed.
26290
26291 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26292
26293 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26294 kern/ieee1275.c with kern/ieee1275/of.c.
26295
26296 * kern/ieee1275.c: Moved to ...
26297 * kern/ieee1275/of.c: ... here.
26298
26299 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26300
26301 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26302 readability.
26303
26304 * config.guess: Updated to the latest version from gnulib.
26305 * config.sub: Likewise.
26306 * install.sh: Likewise.
26307 * mkinstalldirs: Likewise.
26308
26309 * include/grub/console.h: Removed. This file is arch-specific. Do
26310 not put this in include/grub.
26311
26312 * include/grub/i386/pc/console.h: Resurrected.
26313
26314 * util/console.c: Include grub/machine/console.h instead of
26315 grub/console.h.
26316 * util/grub-emu.c: Likewise.
26317
26318 2005-08-04 Marco Gerards <metgerards@student.han.nl>
26319
26320 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26321 hardcoded value.
26322
26323 From Vincent Pelletier <subdino2004@yahoo.fr>
26324 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26325 Redefined to use grub_getwh.
26326 (grub_term): New member named getwh.
26327 (grub_getwh): New prototype.
26328 * kern/term.c (grub_getwh): New function.
26329 * term/i386/pc/console.c (grub_console_getwh): New function.
26330 (grub_console_term): New member `getwh'.
26331 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26332 (grub_vga_term): New member `getwh'.
26333 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
26334 grub_ssize_t.
26335 (grub_ofconsole_getw): New function.
26336 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26337 (grub_ofconsole_term): New field named getwh and new initial
26338 value.
26339
26340 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26341
26342 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26343 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26344 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26345 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26346 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26347 of <grub/machine/ieee1275.h>.
26348 * commands/ieee1275/reboot.c: Likewise.
26349 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26350 * kern/ieee1275.c: ... to here. All users updated. Change all
26351 parameter structs to use new type `grub_ieee1275_cell_t'.
26352 * term/powerpc/ieee1275/ofconsole.c: Move ...
26353 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26354 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26355 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26356 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26357 to return int.
26358 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26359 Remove unused prototypes. All users updated.
26360 * include/grub/powerpc/ieee1275/console.h: Removed.
26361 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26362 `grub_ieee1275_cell_t'.
26363 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26364 Cast comparisons with -1 to the correct type.
26365 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26366 type to match `grub_ieee1275_entry_fn'.
26367
26368 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26369
26370 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26371
26372 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26373 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26374 partmap/sun.c.
26375 (grub_probefs_SOURCES): New variable.
26376
26377 * util/i386/pc/grub-probefs.c: New file.
26378
26379 * util/i386/pc/grub-setup.c (main): Call
26380 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26381 grub_hfs_init and grub_jfs_init to initialize the system. Call
26382 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26383 grub_pc_partition_map_fini to finish the system.
26384
26385 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26386
26387 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26388 function.
26389 (grub_multiboot_load_elf32): Likewise.
26390 (grub_multiboot_is_elf64): Likewise.
26391 (grub_multiboot_load_elf64): Likewise.
26392 (grub_multiboot_load_elf): Likewise.
26393 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26394 an ELF32 or ELF64 file.
26395 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26396
26397 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26398 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26399 NULL before calling FS->LABEL.
26400 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26401 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26402 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26403 before calling FS->LABEL.
26404
26405 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26406
26407 * util/i386/pc/grub-install.in (datadir): New variable.
26408 (libdir): Removed.
26409 (pkgdatadir): New variable.
26410 (pkglibdir): Removed.
26411
26412 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26413
26414 * DISTLIST: Added util/i386/pc/grub-install.in.
26415
26416 * util/i386/pc/grub-install.in: New file.
26417
26418 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26419 (grub_install_SOURCES): Likewise.
26420
26421 * genmk.rb: Added support for scripts.
26422 (Script): New class.
26423 (scripts): New variable.
26424
26425 * Makefile.in (install-local): Install sbin_SCRIPTS by
26426 INSTALL_SCRIPT.
26427 (uninstall): Remove sbin_SCRIPTS.
26428
26429 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26430 device, try to get a GRUB device by
26431 grub_util_biosdisk_get_grub_dev.
26432 Free DEST_DEV.
26433
26434 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26435 description for --device-map.
26436
26437 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26438
26439 Change the semantics of variable hooks. They now return strings
26440 instead of error values.
26441
26442 * util/i386/pc/grub-setup.c: Include grub/env.h.
26443 (setup): Use grub_device_set_root instead of grub_env_set.
26444
26445 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26446 grub_env_get instead of grub_device_set_root and
26447 grub_device_get_root, respectively.
26448
26449 * kern/main.c (grub_env_write_root): New function.
26450 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26451 grub_env_set instead of grub_device_set_root.
26452
26453 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26454 many variables.
26455 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26456 rather than calling ENV->WRITE_HOOK afterwards.
26457 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26458 passing a pointer of a pointer.
26459 (grub_register_variable_hook): Change the types of "read_hook" and
26460 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26461 respectively.
26462 Allocate the default empty string on the heap, because this string
26463 may be freed later.
26464
26465 * kern/device.c: Include grub/env.h.
26466 (grub_device_set_root): Removed.
26467 (grub_device_get_root): Likewise.
26468 (grub_device_open): Use grub_env_get instead of
26469 grub_device_get_root.
26470
26471 * include/grub/env.h (grub_env_read_hook_t): New type.
26472 (grub_env_write_hook_t): Likewise.
26473 (grub_env_var): Change the types of "read_hook" and "write_hook"
26474 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26475 (grub_register_variable_hook): Likewise.
26476
26477 * include/grub/device.h (grub_device_set_root): Removed.
26478 (grub_device_set_root): Likewise.
26479
26480 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26481 make sure that DIRNAME terminates with '/', so that
26482 grub_fat_find_dir will fail if PATH is not a directory.
26483
26484 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26485 from DIRNAME.
26486 Use the qualifier auto for print_files and print_files_long.
26487 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26488 as a regular file.
26489 Put a newline only if there is no error.
26490 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26491 used.
26492
26493 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26494
26495 * kern/partition.c (grub_partition_probe): Initialize PART to
26496 NULL. Otherwise, when no partition map is registered, this returns
26497 a garbage.
26498
26499 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26500
26501 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26502 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26503 valid.
26504
26505 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26506
26507 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26508 information on each device, if it does not have partitions. Print
26509 "Device" instead of "Disk", because this function is not specific
26510 to disk devices.
26511
26512 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26513 static to ensure that it is put on the memory rather than a
26514 register.
26515
26516 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26517
26518 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26519 (grub_cat_init): Likewise.
26520 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26521 (options): Likewise.
26522 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26523 (grub_configfile_init): Likewise.
26524 * font/manager.c (GRUB_MOD_INIT): Likewise.
26525 * commands/help.c (GRUB_MOD_INIT): Likewise.
26526 (grub_help_init): Likewise.
26527 * normal/command.c (grub_command_init): Likewise.
26528 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26529 * disk/loopback.c (grub_loop_init): Likewise.
26530 (GRUB_MOD_INIT): Likewise.
26531 * commands/ls.c (grub_ls_init): Likewise.
26532 (GRUB_MOD_INIT): Likewise.
26533 (options): Likewise.
26534 * commands/boot.c (grub_boot_init): Likewise.
26535 (GRUB_MOD_INIT): Likewise.
26536 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26537 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26538 (GRUB_MOD_INIT): Likewise.
26539 * commands/cmp.c (grub_cmp_init): Likewise.
26540 (GRUB_MOD_INIT): Likewise.
26541
26542 * normal/arg.c: Use <> instead of "" to include header files.
26543 (SHORT_ARG_HELP): New macro.
26544 (SHORT_ARG_USAGE): Likewise.
26545 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26546 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26547 descriptions.
26548 (find_short): Check if C is 'h' or 'u' explicitly.
26549 (grub_arg_show_help): Use space characters instead of tabs. Treat
26550 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26551 are shown with --help and --usage only if they are not used for
26552 the command itself.
26553 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26554 'h' and 'u'.
26555
26556 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26557 const into "longarg". Change the type of "shortarg" to int.
26558
26559 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26560
26561 * boot/i386/pc/boot.S (boot_drive_check): New label.
26562
26563 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26564 macro.
26565
26566 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26567 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26568
26569 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26570
26571 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26572 When turning off Gate A20, skip the check and return immediately,
26573 because this is not fatal usually.
26574
26575 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26576
26577 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26578 be 0x7C00 instead of 0x8000.
26579
26580 * boot/i386/pc/pxeboot.S: Rewritten.
26581
26582 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26583 EXT_C.
26584 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26585 result.
26586
26587 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26588
26589 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26590 robustness. This routine now supports a BIOS call and System
26591 Control Port A to modify the gate A20.
26592
26593 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26594 Increased to 0x440.
26595
26596 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26597
26598 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26599 device path and resulting ihandle.
26600 (grub_ofdisk_close): dprintf the ihandle being closed.
26601 (grub_ofdisk_read): dprintf function parameters.
26602 * kern/mm.c (grub_mm_init_region): Likewise.
26603 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26604 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26605 size, and boot arguments.
26606 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26607 before loading into memory.
26608 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26609 before loading into memory.
26610
26611 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26612
26613 * kern/mm.c: Added much documentation.
26614 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26615 8, set to 5 instead of 8.
26616
26617 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26618
26619 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26620
26621 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26622 (grub_mkdevicemap_SOURCES): New variable.
26623
26624 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26625 lib/device.c of GRUB Legacy.
26626
26627 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26628
26629 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26630 instead of PATH is NULL.
26631
26632 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26633
26634 * commands/cmp.c (BUFFER_SIZE): New macro.
26635 (grub_cmd_cmp): Close the right file at the right time. Compare
26636 only data just read. Don't report files of different size as
26637 identical. Dynamically allocate buffers. Move variable
26638 declarations at the beginning of function.
26639
26640 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26641
26642 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26643 reverse.
26644
26645 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26646
26647 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26648 when backspace is pressed at beginning of line.
26649
26650 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26651
26652 * DISTLIST: Added genfslist.sh.
26653
26654 * normal/main.c (fs_module_list): New variable.
26655 (autoload_fs_module): New function.
26656 (read_fs_list): Likewise.
26657 (grub_normal_execute): Call read_fs_list.
26658
26659 * kern/fs.c (grub_fs_autoload_hook): New variable.
26660 (grub_fs_probe): Added support for auto-loading.
26661
26662 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26663 (grub_fs_module_list_t): New type.
26664
26665 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26666 (grub_fs_autoload_hook): New prototype.
26667
26668 * genfslist.sh: New file.
26669
26670 * genmk.rb: Added a rule to generate a filesystem list.
26671
26672 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26673
26674 * configure.ac: Fix the test for cross-compiling.
26675
26676 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26677 define GRUB_UTIL anymore.
26678
26679 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26680 so this function works on other systems than just big endian.
26681 (load_modules): Likewise.
26682 (add_segments): Likewise.
26683
26684 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26685
26686 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26687 contains `l' modifier, get a long from va_arg().
26688
26689 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26690
26691 * kern/mm.c (grub_free): If the next free block which is being
26692 merged is the first free block, set the first block to the block
26693 being freed.
26694 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26695
26696 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26697
26698 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26699 `grub_ieee1275_chosen'.
26700
26701 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26702
26703 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26704 (grub_ieee1275_chosen): New variable.
26705 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26706 `chosen'.
26707 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26709 Rename first argument to `phandle' for consistency.
26710 (grub_ieee1275_get_property_length): Likewise.
26711 (grub_ieee1275_next_property): Likewise. Change type of first argument
26712 to grub_ieee1275_phandle_t.
26713 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26714 Move export next to declaration.
26715 (grub_ieee1275_chosen): New variable.
26716 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26717 Correct cosmetic typo.
26718 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26719 `grub_ieee1275_chosen'.
26720 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26721 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26722 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26723 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26724 `grub_ieee1275_chosen'.
26725
26726 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26727
26728 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26729 /chosen/bootargs.
26730 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26731 /chosen/bootargs as "variable=value" pairs.
26732
26733 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26734
26735 * include/grub/misc.h (grub_dprintf): New macro.
26736 (grub_real_dprintf): New prototype.
26737 (grub_strword): Likewise.
26738 (grub_iswordseparator): Likewise.
26739 * kern/misc.c (grub_real_dprintf): New function.
26740 (grub_strword): Likewise.
26741 (grub_iswordseparator): Likewise.
26742
26743 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26744
26745 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26746 (roundup): Remove macro.
26747 (grub_ieee1275_flags): Make static.
26748 (grub_ieee1275_realmode): Remove.
26749 (grub_ieee1275_test_flag): New function.
26750 (grub_ieee1275_set_flag): Likewise.
26751 (find_options): Rename to `grub_ieee1275_find_options'; update
26752 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26753 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26754 (cmain): New prototype.
26755 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26756 `grub_ieee1275_flags' directly.
26757 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26758 machine/biosdisk.h.
26759 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26760 Don't include grub/machine/init.h.
26761 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26762 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26763 Remove prototype.
26764 (grub_ieee1275_realmode): Likewise.
26765 (grub_ieee1275_flag): New enum.
26766 (grub_ieee1275_test_flag): New prototype.
26767 (grub_ieee1275_set_flag): New prototype.
26768 * include/grub/powerpc/ieee1275/init.h: Remove file.
26769 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26770 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26771 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26772 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26773 comment.
26774 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26775 `grub_ieee1275_test_flag'.
26776 (grub_ieee1275_encode_devname): Likewise.
26777
26778 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26779
26780 * include/grub/powerpc/ieee1275/ieee1275.h
26781 (grub_ieee1275_encode_devname): New prototype.
26782 (grub_ieee1275_get_filename): Likewise.
26783 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26784 function.
26785 (grub_set_prefix): Likewise.
26786 (grub_machine_init): Call grub_set_prefix.
26787 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26788 (grub_parse_type): New enum.
26789 (grub_ieee1275_get_devargs): New function.
26790 (grub_ieee1275_get_devname): Likewise.
26791 (grub_ieee1275_parse_args): Likewise.
26792 (grub_ieee1275_get_filename): Likewise.
26793 (grub_ieee1275_encode_devname): Likewise.
26794
26795 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26796
26797 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26798 `grub_loader_unset'.
26799
26800 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26801
26802 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26803 instead of grub_ieee1275_interpret.
26804 (grub_halt_init): New function.
26805 (grub_halt_fini): Likewise.
26806 (GRUB_MOD_INIT): Correct message grammar.
26807 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26808 instead of grub_ieee1275_interpret.
26809 (grub_reboot_init): New function.
26810 (grub_reboot_fini): Likewise.
26811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26812 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26813 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26814 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26815 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26816 function.
26817 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26818 Add prototype.
26819 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26820 prototype.
26821 (grub_halt): Likewise.
26822 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26823 (cmain): Remove __attribute__((unused)).
26824 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26825 (grub_heap_len): Likewise.
26826 (grub_machine_fini): New function.
26827 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26828 (grub_halt): Likewise.
26829 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26830 function.
26831 * util/powerpc/ieee1275/misc.c: New file.
26832
26833 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26834
26835 * DISTLIST: New file.
26836 * gendistlist.sh: Likewise.
26837
26838 * Makefile.in (COMMON_DISTFILES): Removed.
26839 (BOOT_DISTFILES): Likewise.
26840 (CONF_DISTFILES): Likewise.
26841 (DISK_DISTFILES): Likewise.
26842 (FS_DISTFILES): Likewise.
26843 (INCLUDE_DISTFILES): Likewise.
26844 (KERN_DISTFILES): Likewise.
26845 (LOADER_DISTFILES): Likewise.
26846 (TERM_DISTFILES): Likewise.
26847 (UTIL_DISTFILES): Likewise.
26848 (DISTFILES): Likewise.
26849 (uninstall): Uninstall files in $(pkgdata_DATA).
26850 (DISTLIST): New target.
26851 (distdir): Use the contents of the file DISTLIST to get a list of
26852 distributed files.
26853
26854 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26855
26856 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26857 descriptor. This is ported from GRUB Legacy.
26858
26859 * gencmdlist.sh: Added an extra semicolon to make it work with
26860 old sed versions. Reported by Robert Bihlmeyer
26861 <robbe@orcus.priv.at>.
26862
26863 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26864
26865 Automatic loading of commands is supported.
26866
26867 * normal/main.c (read_command_list): New function.
26868 (grub_normal_execute): Call read_command_list.
26869
26870 * normal/command.c (grub_register_command): Return zero or CMD.
26871 Allocate CMD->NAME from the heap.
26872 Initialize CMD->MODULE_NAME to zero.
26873 Find the same name as well. If the same command is found and it is
26874 a dummy command, overwrite members. If it is not a dummy command,
26875 return zero.
26876 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26877 (grub_command_find): If a dummy command is found, load a module
26878 and retry to find a command only once.
26879
26880 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26881 make sure that each command is loaded.
26882
26883 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26884 macro.
26885 (struct grub_command): Remove const from the member `name'.
26886 Add a new member `module_name'.
26887 (grub_register_command): Return grub_command_t.
26888
26889 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26890 sure that each command is loaded.
26891
26892 * genmk.rb (PModule::rule): Specify a module name without the
26893 suffix ".mod" to gencmdlist.sh.
26894
26895 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26896
26897 * gencmdlist.sh: New file.
26898
26899 * genmk.rb (PModule::rule): Generate a rule for a command list.
26900 Clean command.lst.
26901 Generate command.lst from $(COMMANDFILES).
26902
26903 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26904 (DATA): Added $(pkgdata_DATA).
26905 (install-local): Install files in $(pkgdata_DATA).
26906
26907 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26908
26909 * term/i386/pc/vga.c (debug_command): Removed.
26910 (GRUB_MOD_INIT): Do not register the command "debug".
26911
26912 From Hollis Blanchard:
26913 * commands/configfile.c: New file.
26914 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26915 commands/configfile.c.
26916 (pkgdata_MODULES): Added configfile.mod.
26917 (configfile_mod_SOURCES): New variable.
26918 (configfile_mod_CFLAGS): Likewise.
26919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26920 commands/configfile.c.
26921 (pkgdata_MODULES): Added configfile.mod.
26922 (configfile_mod_SOURCES): New variable.
26923 (configfile_mod_CFLAGS): Likewise.
26924 * util/grub-emu.c (main): Call grub_configfile_init and
26925 grub_configfile_fini.
26926 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26927 prototype.
26928 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26929
26930 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26931
26932 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26933 address.
26934
26935 * commands/help.c (grub_cmd_help): Do not print newlines after
26936 the last command in print_command_help.
26937
26938 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26939
26940 * commands/default.h: New file.
26941 * commands/timeout.h: Likewise.
26942 * normal/context.c: Likewise.
26943
26944 * util/misc.c: Do not include sys/times.h.
26945 Include sys/time.h and grub/machine/time.h.
26946 (grub_get_rtc): Rewritten with gettimeofday.
26947
26948 * util/grub-emu.c (main): Call grub_default_init and
26949 grub_timeout_init before grub_normal_init, and call
26950 grub_timeout_fini and grub_default_fini after grub_main.
26951
26952 * util/console.c (grub_ncurses_checkkey): Return the read
26953 character or -1.
26954
26955 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26956 timeouts.
26957
26958 * normal/main.c (read_config_file): Push MENU. If this fails,
26959 print an error and wait for a user input.
26960 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26961 If a menu is empty or an error occurs, pop MENU.
26962 (grub_normal_execute): Pop and free MENU after grub_menu_run
26963 returns.
26964
26965 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26966
26967 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26968 include time.h.
26969 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26970 without GRUB_UTIL.
26971 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26972 time.h.
26973 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26974 without GRUB_UTIL.
26975
26976 * include/grub/normal.h (struct grub_menu_list): New struct.
26977 (grub_menu_list_t): New type.
26978 (struct grub_context): New struct.
26979 (grub_context_t): New type.
26980 (grub_register_command): Got rid of EXPORT_FUNC.
26981 (grub_unregister_command): Likewise.
26982 (grub_context_get): New prototype.
26983 (grub_context_get_current_menu): Likewise.
26984 (grub_context_push_menu): Likewise.
26985 (grub_context_pop_menu): Likewise.
26986 [GRUB_UTIL] (grub_default_init): Likewise.
26987 [GRUB_UTIL] (grub_default_fini): Likewise.
26988 [GRUB_UTIL] (grub_timeout_init): Likewise.
26989 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26990
26991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26992 commands/timeout.c and normal/context.c.
26993 (pkgdata_MODULES): Added default.mod and timeout.mod.
26994 (normal_mod_SOURCES): Added normal/context.c.
26995 (default_mod_SOURCES): New variable.
26996 (default_mod_CFLAGS): Likewise.
26997 (timeout_mod_SOURCES): Likewise.
26998 (timeout_mod_CFLAGS): Likewise.
26999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27000 conf/i386-pc.rmk.
27001 (pkgdata_MODULES): Added default.mod and timeout.mod.
27002 (normal_mod_SOURCES): Added normal/context.c.
27003 (default_mod_SOURCES): New variable.
27004 (default_mod_CFLAGS): Likewise.
27005 (timeout_mod_SOURCES): Likewise.
27006 (timeout_mod_CFLAGS): Likewise.
27007
27008 * Makefile.in (all-local): Added $(MKFILES).
27009
27010 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27011
27012 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27013 (grub_emu_SOURCES): Likewise.
27014 (pkgdata_MODULES): Add `sun.mod'.
27015 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27017 `partmap/sun.c'.
27018 (pkgdata_MODULES): Add `sun.mod'.
27019 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27020 * include/grub/partition.h (grub_sun_partition_map_init): New
27021 prototype.
27022 (grub_sun_partition_map_fini): Likewise.
27023 * partmap/sun.c: New file.
27024 * util/grub-emu.c (main): Initialize and de-initialize the sun
27025 partitionmap support.
27026
27027 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27028
27029 This implements an Emacs-like menu entry editor.
27030
27031 * normal/menu_entry.c: New file.
27032
27033 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27034 characters to ASCII.
27035 (saved_char): New variable.
27036 (grub_ncurses_checkkey): Rewritten completely.
27037 (grub_ncurses_getkey): Likewise.
27038 (grub_ncurses_init): Call raw instead of cbreak.
27039
27040 * normal/menu.c (print_entry): Do not put a space.
27041 (init_page): Renamed to ...
27042 (grub_menu_init_page): ... this. All callers changed.
27043 (edit_menu_entry): Removed.
27044 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27045
27046 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27047
27048 * kern/misc.c (grub_vprintf): Call grub_refresh.
27049
27050 * normal/menu.c (DISP_LEFT): Renamed to ...
27051 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27052 * normal/menu.c (DISP_UP): Renamed to ...
27053 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27054 * normal/menu.c (DISP_RIGHT): Renamed to ...
27055 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27056 * normal/menu.c (DISP_DOWN): Renamed to ...
27057 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27058 * normal/menu.c (DISP_HLINE): Renamed to ...
27059 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27060 * normal/menu.c (DISP_VLINE): Renamed to ...
27061 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27062 * normal/menu.c (DISP_UL): Renamed to ...
27063 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27064 * normal/menu.c (DISP_UR): Renamed to ...
27065 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27066 * normal/menu.c (DISP_LL): Renamed to ...
27067 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27068 * normal/menu.c (DISP_LR): Renamed to ...
27069 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27070 * normal/menu.c (TERM_WIDTH): Renamed to ...
27071 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27072 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27073 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27074 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27075 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27076 * normal/menu.c (TERM_MARGIN): Renamed to ...
27077 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27078 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27079 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27080 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27081 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27082 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27083 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27084 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27085 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27086 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27087 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27088 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27089 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27090 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27091 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27092 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27093 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27094 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27095 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27096 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27097 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27098 All callers changed.
27099
27100 * include/grub/normal.h: New prototype.
27101
27102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27103 normal/menu_entry.c.
27104 (normal_mod_SOURCES): Likewise.
27105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27106 (normal_mod_SOURCES): Likewise.
27107
27108 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27109
27110 * include/grub/normal.h (grub_halt_init): New prototype.
27111 (grub_halt_fini): Likewise.
27112 (grub_reboot_init): Likewise.
27113 (grub_reboot_fini): Likewise.
27114
27115 * util/grub-emu.c: Include signal.h.
27116 (main_env): New global variable.
27117 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27118 catch C-c.
27119 (grub_machine_fini): New function.
27120 (main): Call grub_halt_init and grub_reboot_init before
27121 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27122 Call setjmp with MAIN_ENV to go back afterwards.
27123 Call grub_machine_fini right before return.
27124
27125 * include/grub/util/misc.h: Include setjmp.h.
27126 (main_env): New prototype.
27127
27128 * include/grub/kernel.h (grub_machine_fini): New prototype.
27129 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27130 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27131
27132 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27133 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27134 * term/i386/pc/console.c (grub_console_fini): Likewise.
27135
27136 * util/i386/pc/misc.c: New file.
27137
27138 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27139 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27140 commands/i386/pc/reboot.c.
27141
27142 2005-02-14 Guillem Jover <guillem@hadrons.org>
27143
27144 * include/grub/dl.h (grub_dl_check_header): New prototype.
27145 (grub_arch_dl_check_header): Change return type to grub_err_t,
27146 remove size parameter and export function. Update all callers.
27147 * kern/dl.c (grub_dl_check_header): New function.
27148 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27149 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27150 are inside the core.
27151 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27152 independent ELF header checks.
27153 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27154 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27155 `grub_dl_check_header' instead of explicit checks. Check for the
27156 ELF type.
27157 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27158 `grub_dl_check_header' instead of explicit checks. Remove arch
27159 specific ELF header checks.
27160
27161 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27162 argument SIZE.
27163
27164 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27165
27166 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27167 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27168
27169 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27170
27171 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
27172 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
27173 (part_map_iterate): Clear `grub_errno' and return 0 if
27174 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
27175 * partmap/amiga.c (amiga_partition_map_iterate): Return
27176 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27177 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27178
27179 2005-02-01 Guillem Jover <guillem@hadrons.org>
27180
27181 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27182 help info.
27183
27184 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27185
27186 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27187 Removed prototype.
27188 (grub_rescue_cmd_linux): New prototype.
27189 (grub_rescue_cmd_initrd): Likewise.
27190 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27191 `bi_rec'.
27192 (grub_linux_release_mem): Release the memory for the initrd.
27193 (grub_load_linux): Renamed from this...
27194 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27195 Changed `entry' not to be static. Loop over memory regions to
27196 find another one when the default fails.
27197 (grub_rescue_cmd_initrd): New function.
27198 (grub_linux_init): Remove function.
27199 (grub_linux_fini): Likewise.
27200 (GRUB_MOD_INIT): Register `initrd'.
27201 (GRUB_MOD_FINI): Unregister `initrd'.
27202 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27203 Function removed.
27204 (grub_linux_normal_fini): Likewise.
27205 (GRUB_MOD_INIT): Register `initrd'.
27206 (GRUB_MOD_FINI): Unregister `initrd'.
27207
27208 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27209
27210 * commands/help.c: New file.
27211 * normal/arg.c (show_help): Renamed to...
27212 (grub_arg_show_help): ... this.
27213 * commands/i386/pc/halt.c: New file.
27214 * commands/i386/pc/reboot.c: Likewise.
27215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27216 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27217 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27218 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27219 variables.
27220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27221 `commands/help.c'.
27222 (pkgdata_MODULES): Add `help.mod'.
27223 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27224 * grub/i386/pc/init.h (grub_reboot): New prototype.
27225 (grub_halt): Likewise.
27226 * include/grub/normal.h (grub_arg_show_help): New prototype.
27227 (grub_help_init): Likewise.
27228 (grub_help_fini): Likewise.
27229 * util/grub-emu.c (main): Initialize and deinitialize the help
27230 command.
27231
27232 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27233
27234 * normal/command.c (grub_command_init): Fixed the description of
27235 the `set' and `unset' commands.
27236
27237 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27238
27239 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27240 function.
27241 * commands/ieee1275/halt.c: New file.
27242 * commands/ieee1275/reboot.c: Likewise.
27243 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27244 `__attribute__ ((unused))'. Some GCS related fixed.
27245 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27246 (grub_suspend_fini): Likewise.
27247 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27248 and `halt.mod'.
27249 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27250 (halt_mod_CFLAGS): New variables.
27251 * include/grub/powerpc/ieee1275/ieee1275.h
27252 (grub_ieee1275_interpret): New prototype.
27253
27254 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27255
27256 * include/grub/misc.h (memmove): New prototype.
27257 (memcpy): Likewise.
27258
27259 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27260
27261 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27262 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27263
27264 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27265
27266 * kern/misc.c (grub_strndup): Function rewritten.
27267
27268 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27269
27270 * normal/menu.c (TERM_WIDTH): Macro redefined.
27271 (TERM_TOP_BORDER_Y): Likewise.
27272 (draw_border): Replaced while-loop by a for-loop. Make the number
27273 of lines consistent with the number of lines displayed in
27274 print_entries. Added a margin below the rectangle.
27275 (print_entry): Make the entry fit in the rectangle.
27276 (print_entries): Display the scroll arrows next to the right
27277 border.
27278
27279 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27280
27281 * fs/minix.c (grub_minix_find_file): Reserve more space for
27282 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27283 `grub_strncpy' to copy `path' into it.
27284
27285 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27286
27287 Add the loopback device, a device via which files can be accessed
27288 as devices.
27289
27290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27291 (pkgdata_MODULES): Add loopback.mod.
27292 (loopback_mod_SOURCES): New variable.
27293 (loopback_mod_CFLAGS): Likewise.
27294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27295 `disk/loopback.c'.
27296 (pkgdata_MODULES): Add loopback.mod.
27297 (loopback_mod_SOURCES): New variable.
27298 (loopback_mod_CFLAGS): Likewise.
27299 * disk/loopback.c: new file.
27300 * include/grub/normal.h (grub_loop_init): New prototype.
27301 (grub_loop_fini): New prototype.
27302 * util/grub-emu.c (main): Initialize and de-initialize loopback
27303 support.
27304 * include/grub/disk.h (grub_disk_dev_id): Add
27305 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27306
27307 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27308
27309 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27310 function.
27311 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27312 (suspend_mod_SOURCES): New variable.
27313 (suspend_mod_CFLAGS): Likewise.
27314 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27315 New prototype.
27316 * commands/ieee1275/suspend.c: New file.
27317
27318 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27319
27320 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
27321 ((unused))' to `__attribute__ ((used))'.
27322 (GRUB_MOD_FINI): Likewise.
27323 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27324 * genmk.rb (PModule): Assign space to common symbols when linking
27325 modules.
27326
27327 2005-01-20 Marco Gerards <metgerards@student.han.nl>
27328
27329 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27330 `unsigned' arguments to `grub_size_t'.
27331 (grub_malloc): Likewise.
27332 (grub_realloc): Likewise.
27333 (grub_memalign): Likewise.
27334 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27335 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27336 * util/misc.c (grub_malloc): Likewise.
27337 (grub_realloc): Likewise.
27338 * kern/mm.c (get_header_from_pointer): Change the casts to
27339 `unsigned' into a cast to `grub_size_t'.
27340
27341 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27342 point to `currnode' when `currnode' is changed.
27343
27344 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27345 Schottelius <nico-linux@schottelius.org>.
27346
27347 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27348
27349 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27350 (note_path): Remove variable.
27351 (GRUB_IEEE1275_NOTE_NAME): New macro.
27352 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27353 (grub_ieee1275_note_hdr): New structure.
27354 (grub_ieee1275_note_desc): Likewise.
27355 (grub_ieee1275_note): Likewise.
27356 (load_note): Remove `dir' argument. All callers updated. Remove
27357 `note_img' and `path'. Do not load a file from `note_path'.
27358 Initialize a struct grub_ieee1275_note and write that to `out'.
27359 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27360
27361 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27362
27363 * util/misc.c (grub_util_read_image): Revert last change. It
27364 called `grub_util_read_at', which seeks from the beginning of the
27365 file.
27366
27367 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27368
27369 * TODO: Add note about endianness in grub-mkimage.
27370 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27371 section.
27372 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27373 (grub_mkimage_SOURCES): New target.
27374 * include/grub/kernel.h (grub_start_addr): Remove variable.
27375 (grub_end_addr): Likewise.
27376 (grub_total_module_size): Likewise.
27377 (grub_kernel_image_size): Likewise.
27378 (GRUB_MODULE_MAGIC): New constant.
27379 (grub_module_info): New structure.
27380 (grub_arch_modules_addr): New prototype.
27381 (grub_get_end_addr): Remove prototype.
27382 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27383 * include/grub/powerpc/ieee1275/kernel.h: New file.
27384 * include/grub/util/misc.h (grub_util_get_fp_size): New
27385 prototype.
27386 (grub_util_read_at): Likewise.
27387 (grub_util_write_image_at): Likewise.
27388 * kern/main.c (grub_get_end_addr): Remove function.
27389 (grub_load_modules): Call grub_arch_modules_addr instead of using
27390 grub_end_addr. Look for a grub_module_info struct in memory. Use
27391 the grub_module_info fields instead of calling grub_get_end_addr
27392 as loop conditions. Move grub_add_unused_region code here.
27393 (grub_add_unused_region): Remove function.
27394 * kern/i386/pc/init.c: Include grub/cache.h.
27395 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27396 one call to add_mem_region.
27397 (grub_arch_modules_addr): New function.
27398 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27399 (grub_total_module_size): Likewise.
27400 Include grub/machine/kernel.h.
27401 (grub_arch_modules_addr): New function.
27402 * util/grub-emu.c (grub_end_addr): Remove variable.
27403 (grub_total_module_size): Likewise.
27404 (grub_arch_modules_addr): New function.
27405 * util/misc.c: Include unistd.h.
27406 (grub_util_get_fp_size): New function.
27407 (grub_util_read_at): Likewise.
27408 (grub_util_write_image_at): Likewise.
27409 (grub_util_read_image): Call grub_util_read_at.
27410 (grub_util_write_image): Call grub_util_write_image_at.
27411 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27412 additional memory in kernel_img for a struct grub_module_info.
27413 Fill in that grub_module_info.
27414 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27415
27416 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27417
27418 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27419 New function.
27420 * include/grub/powerpc/ieee1275/ieee1275.h
27421 (grub_ieee1275_milliseconds): New prototype.
27422 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27423 Change to 1000.
27424 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27425 grub_ieee1275_milliseconds.
27426
27427 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27428
27429 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27430 variable.
27431 (find_options): New function.
27432 (cmain): Call find_options.
27433 * include/grub/powerpc/ieee1275/ieee1275.h
27434 (grub_ieee1275_realmode): New extern variable.
27435 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27436 grub_map if grub_ieee1275_realmode is false.
27437
27438 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27439
27440 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27441 lines are inserted and make it work like readline. Reported by
27442 Vincent Pelletier <subdino2004@yahoo.fr>.
27443
27444 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27445
27446 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27447
27448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27449 `kern/powerpc/cache.S'.
27450
27451 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27452
27453 * genmk.rb: Handle the `Program' class in the main loop. Written
27454 by Johan Rydberg <jrydberg@gnu.org>.
27455 (Program): New class.
27456 (programs): New variable.
27457 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27458 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27459 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27460 (help_arch): Function removed.
27461 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27462 `powerpc/libgcc.h' and `loader.h'.
27463 (pkgdata_PROGRAMS): New variable.
27464 (sbin_UTILITIES): Variable removed.
27465 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27466 (grubof_SOURCES): Variable re-defined so it only includes the
27467 core functionality.
27468 (grubof_CFLAGS): Remove `-DGRUBOF'.
27469 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27470 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27471 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27472 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27473 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27474 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27475 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27476 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27477 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27478 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27479 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27480 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27481 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27482 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27483 (pc_mod_CFLAGS): New variables.
27484 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27485 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27486 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27487 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27488 Moved from here...
27489 * include/grub/i386/pc/init.h (grub_os_area_addr)
27490 (rub_os_area_size): ... to here.
27491 * include/grub/powerpc/ieee1275/ieee1275.h
27492 (grub_ieee1275_entry_fn): Export symbol.
27493 * include/grub/powerpc/ieee1275/init.h: New file.
27494 * include/grub/powerpc/libgcc.h: Likewise.
27495 * include/grub/cache.h: Likewise.
27496 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27497 <hollis@penguinppc.org>.
27498 * kern/dl.c: Include <grub/cache.h>.
27499 (grub_dl_flush_cache): New function.
27500 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27501 for this module.
27502 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27503 (grub_console_init): Removed prototypes.
27504 (grub_machine_init): Don't initialize the modules anymore.
27505 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27506 static.
27507 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27508 Macro undef removed.
27509 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27510 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27511 relocation `R_PPC_REL32'. Return an error when the relocation is
27512 unknown.
27513 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27514 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27515 * util/misc.c (grub_arch_sync_caches): Likewise.
27516
27517 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27518
27519 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27520 `symlist.c', add `grubof_symlist.c'.
27521 (symlist.c): Variable removed.
27522 (grubof_HEADERS): Variable added.
27523 (grubof_symlist.c): New target.
27524 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27525 `kernel_img_HEADERS'.
27526 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27527 * kern/powerpc/dl.c: New file.
27528 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27529 Function removed.
27530 (grub_arch_dl_relocate_symbols): Likewise.
27531 (grub_register_exported_symbols): Likewise.
27532
27533 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27534
27535 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27536 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27537 to fail instead. Reported by Vincent Pelletier
27538 <subdino2004@yahoo.fr>.
27539
27540 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27541 it is not allocated. Reported by Vincent Pelletier
27542 <subdino2004@yahoo.fr>.
27543
27544 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27545 output so the output looks better.
27546
27547 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27548
27549 Modulize the partition map support and add support for the amiga
27550 partition map.
27551
27552 * commands/ls.c: Include <grub/partition.h> instead of
27553 <grub/machine/partition.h>.
27554 * kern/disk.c: Likewise.
27555 * kern/rescue.c: Likewise.
27556 * loader/i386/pc/chainloader.c: Likewise.
27557 * normal/cmdline.c: Likewise.
27558 * kern/powerpc/ieee1275/init.c: Likewise.
27559 (grub_machine_init): Call `grub_pc_partition_map_init',
27560 `grub_amiga_partition_map_init' and
27561 `grub_apple_partition_map_init'.
27562 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27563 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27564 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27565 `partition.h' and `pc_partition.h'.
27566 (grub_setup_SOURCES): Remove
27567 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27568 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27569 (grub_emu_SOURCES): Likewise.
27570 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27571 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27572 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27574 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27575 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27576 (grubof_SOURCES): Likewise.
27577 * disk/i386/pc/partition.c: File removed.
27578 * disk/powerpc/ieee1275/partition.c: Likewise.
27579 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27580 * include/grub/i386/pc/partition.h: Likewise.
27581 * kern/partition.c: New file.
27582 * partmap/amiga.c: Likewise.
27583 * partmap/apple.c: Likewise.
27584 * partmap/pc.c: Likewise.
27585 * include/grub/partition.h: Likewise..
27586 * include/grub/pc_partition.h: Likewise.
27587 * util/grub-emu.c: Include <grub/partition.h> instead of
27588 <grub/machine/partition.h>.
27589 (main): Call `grub_pc_partition_map_init',
27590 `grub_amiga_partition_map_init' and
27591 `grub_apple_partition_map_init' and deinitialize afterwards.
27592 * util/i386/pc/biosdisk.c: Include `#include
27593 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27594 `<grub/machine/partition.h>'.
27595 * util/i386/pc/grub-setup.c: Likewise.
27596 * util/i386/pc/biosdisk.c: Likewise.
27597 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27598 partition information in case of a PC partition.
27599 * util/i386/pc/grub-setup.c: Include `#include
27600 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27601 `<grub/machine/partition.h>'.
27602 (setup): Only access the PC specific partition information in case
27603 of a PC partition.
27604
27605 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27606
27607 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27608 (grub_longjmp): Likewise.
27609 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27610 20.
27611 * normal/powerpc/setjmp.S: New file.
27612 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27613 `normal/powerpc/setjmp.S'.
27614 (grubof_CFLAGS): Add `-DGRUBOF'.
27615 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27616 [GRUB_UTIL && !GRUBOF].
27617
27618 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27619
27620 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27621 property named `name'. Correctly handle the error returned by
27622 `grub_ieee1275_finddevice' if a device can not be opened.
27623
27624 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27625
27626 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27627 `actual' for negativity.
27628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27629 kern/fshelp.c.
27630
27631 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27632
27633 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27634 (PAGE_OFFSET): New macro.
27635 (CRTC_ADDR_PORT): Likewise.
27636 (CRTC_DATA_PORT): Likewise.
27637 (START_ADDR_HIGH_REGISTER): Likewise.
27638 (START_ADDR_LOW_REGISTER): Likewise.
27639 (GRAPHICS_ADDR_PORT): Likewise.
27640 (GRAPHICS_DATA_PORT): Likewise.
27641 (READ_MAP_REGISTER): Likewise.
27642 (INPUT_STATUS1_REGISTER): Likewise.
27643 (INPUT_STATUS1_VERTR_BIT): Likewise.
27644 (page): New variable.
27645 (wait_vretrace): New function.
27646 (set_read_map): Likewise.
27647 (set_start_address): Likewise.
27648 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27649 the right page.
27650 (check_vga_mem): Take the page into account.
27651 (write_char): Likewise.
27652 (write_cursor): Likewise.
27653 (scroll_up): Likewise. Copy the page to the page that is not
27654 shown and switch between both pages.
27655 (grub_vga_putchar): Fix off by one error.
27656 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27657 account.
27658
27659 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27660
27661 Add support for iso9660 (including rockridge).
27662
27663 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27664 (iso9660_mod_SOURCES): New variable.
27665 (iso9660_mod_CFLAGS): Likewise.
27666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27667 * include/grub/fs.h (grub_iso9660_init): New prototype.
27668 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27669 * fs/iso9660.c: New file.
27670
27671 * include/grub/misc.h (grub_strncat): New prototype.
27672 * kern/misc.c (grub_strncat): New function.
27673
27674 * fs/hfs.c (grub_hfs_mount): Translate the error
27675 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27676 * fs/jfs.c (grub_jfs_mount): Likewise.
27677 * fs/ufs.c (grub_ufs_mount): Likewise.
27678
27679 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27680
27681 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27682 which initialized BAT registers.
27683 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27684 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27685 Move from here...
27686 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27687 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27688 ... to here.
27689 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27690 (grub_mapclaim): Likewise.
27691 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27692 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27693 hand.
27694
27695 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27696
27697 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27698 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27699 -ffreestanding and -msoft-float.
27700
27701 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27702
27703 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27704 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27705 set in grub_ieee1275_flags.
27706
27707 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27708
27709 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27710 prototype.
27711 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27712 grub_console_init first.
27713 Change the memory range used for grub_ieee1275_claim and
27714 grub_mm_init_region.
27715 Print an error message if the claim fails.
27716 Include <grub/misc.h>.
27717
27718 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27719
27720 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27721 Call grub_children_iterate for device nodes of type `scsi',
27722 `ide', or `ata'.
27723 (grub_ofdisk_open): Remove manual device alias resolution.
27724 Fix memory leak when device cannot be opened.
27725 * include/grub/powerpc/ieee1275/ieee1275.h
27726 (grub_children_iterate): New prototype.
27727 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27728 New function.
27729 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27730 Return -1 if args.size was -1.
27731
27732 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27733
27734 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27735 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27736 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27737 Open Firmware's memory for it; claim memory from _start to _end.
27738 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27739 (_end): New extern.
27740 (_start): Zero BSS from __bss_start to _end.
27741 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27742 New extern.
27743 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27744
27745 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27746
27747 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27748 -1 if args.base was -1.
27749
27750 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27751
27752 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27753 escape sequence instead of a literal ^L. Also call
27754 grub_ofconsole_gotoxy.
27755
27756 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27757
27758 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27759 void * arguments to grub_addr_t. All callers updated. Also make
27760 the `result' argument optional.
27761 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27762 All callers updated.
27763
27764 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27765
27766 * commands/ls.c (grub_ls_list_files): Use the string following the
27767 initial ')', if present, as the filesystem path.
27768 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27769
27770 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27771
27772 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27773
27774 Make the source code of the menu interface more readable.
27775
27776 * normal/menu.c: Include grub/mm.h.
27777 (TERM_WIDTH): New macro.
27778 (TERM_HEIGHT): Likewise.
27779 (TERM_INFO_HEIGHT): Likewise.
27780 (TERM_MARGIN): Likewise.
27781 (TERM_SCROLL_WIDTH): Likewise.
27782 (TERM_TOP_BORDER_Y): Likewise.
27783 (TERM_LEFT_BORDER_X): Likewise.
27784 (TERM_BORDER_WIDTH): Likewise.
27785 (TERM_MESSAGE_HEIGHT): Likewise.
27786 (TERM_BORDER_HEIGHT): Likewise.
27787 (TERM_NUM_ENTRIES): Likewise.
27788 (TERM_FIRST_ENTRY_Y): Likewise.
27789 (TERM_ENTRY_WIDTH): Likewise.
27790 (TERM_CURSOR_X): Likewise.
27791 (draw_border): Use macros instead of magic numbers.
27792 (print_entry): Likewise.
27793 (print_entries): Likewise.
27794 (run_menu): Likewise. Also, handle the key 'e'.
27795 (run_menu_entry): Ignore empty command lines.
27796 (print_message): Added a new argument EDIT. If EDIT is true,
27797 print a different message.
27798 (init_page): Likewise.
27799 (edit_menu_entry): New function. Not implemented yet.
27800
27801 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27802
27803 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27804 can be loaded from normal mode.
27805
27806 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27807 `multiboot.mod'.
27808 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27809 (multiboot_mod_CFLAGS): New variables.
27810 * loader/i386/pc/linux_normal.c: New file.
27811 * loader/i386/pc/multiboot_normal.c: Likewise.
27812
27813 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27814 attribute `unused'.
27815
27816 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27817 `fdiro' to read the mode information from instead of `diro'.
27818
27819 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27820 looking up a symlink.
27821
27822 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27823 macro.
27824 * normal/command.c (grub_command_execute): Don't parse the
27825 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27826 flags of the command.
27827
27828 * normal/menu.c (grub_menu_run): Fix typo.
27829
27830 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27831
27832 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27833
27834 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27835 `y + 1' instead of `y - 1'.
27836
27837 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27838
27839 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27840
27841 From Hollis Blanchard <hollis@penguinppc.org>:
27842 * kern/misc.c (memmove): New alias for grub_memmove.
27843 (memcmp): New alias for grub_memcmp.
27844 (memset): New alias for grub_memset.
27845 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27846 Change "int handle" to "grub_ieee1275_phandle_t handle".
27847 * include/grub/powerpc/ieee1275/ieee1275.h
27848 (grub_ieee1275_get_property): Likewise.
27849
27850 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27851
27852 Added normal mode command `chainloader' as module chain.mod, which
27853 depends on normal.mod and _chain.mod.
27854
27855 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27856 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27857 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27858 Deleted prototype.
27859 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27860 but arguments parsing moved to ...
27861 (grub_chainloader_cmd): ... here. New function.
27862 * include/grub/i386/pc/chainloader.h: New file.
27863 * loader/i386/pc/chainloader_normal.c: Likewise.
27864
27865 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27866
27867 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27868 (grub_mkimage_LDFLAGS): Likewise.
27869 (grub_emu_SOURCES): Likewise.
27870 (kernel_img_HEADERS): Added fshelp.h.
27871 * fs/ext2.c: Include <grub/fshelp.h>.
27872 (FILETYPE_REG): New macro.
27873 (FILETYPE_INO_REG): Likewise.
27874 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27875 Changed all users.
27876 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27877 all users.
27878 (grub_fshelp_node): New struct.
27879 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27880 to a pointer.
27881 (grub_ext2_get_file_block): Removed function.
27882 (grub_ext2_read_block): New function.
27883 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27884 This function was written.
27885 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27886 (grub_ext2_find_file): Removed function.
27887 (grub_ext2_read_symlink): New function.
27888 (grub_ext2_iterate_dir): Likewise.
27889 (grub_ext2_open): Rewritten.
27890 (grub_ext2_dir): Rewritten.
27891 * include/grub/fshelp.h: New file.
27892 * fs/fshelp.c: Likewise.
27893
27894 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27895
27896 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27897 (print_message): Add a missing newline.
27898 (run_menu): Added timeout support.
27899 (run_menu_entry): New local function.
27900 (grub_menu_run): Added support for booting.
27901
27902 * kern/loader.c (grub_loader_is_loaded): New function.
27903
27904 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27905 (grub_get_rtc): Exported.
27906
27907 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27908 (grub_get_rtc): Exported.
27909
27910 * include/grub/normal.h (struct grub_command_list): Remove
27911 constant from the member `command'.
27912
27913 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27914
27915 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27916
27917 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27918
27919 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27920
27921 Add support for the JFS filesystem.
27922
27923 * fs/jfs.c: New file.
27924 * include/grub/fs.h (grub_jfs_init): New prototype.
27925 (grub_jfs_fini): New prototype.
27926 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27927 (grub_emu_SOURCES): Likewise.
27928 (pkgdata_MODULES): Add jfs.mod.
27929 (jfs_mod_SOURCES): New variable.
27930 (jfs_mod_CFLAGS): Likewise.
27931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27932 (grubof_SOURCES): Likewise.
27933 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27934
27935 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27936 endian to the host endian.
27937 (grub_fat_utf16_to_utf8): Move function from there...
27938 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27939 the endianness of the source string anymore.
27940 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27941
27942 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27943
27944 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27945 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27946 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27947 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27948
27949 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27950 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27951 for `node_found' and `it_dir'.
27952 (grub_hfs_dir): Add prototype for `dir_hook'.
27953
27954 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27955 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27956 and `indir32' to silence a gcc warning.
27957
27958 * include/grub/fs.h (grub_hfs_init): New prototype.
27959 (grub_hfs_fini): Likewise.
27960
27961
27962 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27963
27964 Each disk device has its own id now. This is useful to make use
27965 of multiple disk devices.
27966
27967 * include/grub/disk.h (grub_disk_dev_id): New enum.
27968 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27969 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27970
27971 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27972 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27973
27974 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27975 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27976
27977 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27978 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27979
27980 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27981 "id" which is used by the cache manager.
27982
27983 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27984 of just "GRUB".
27985
27986 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27987
27988 * fs/hfs.c: New file.
27989 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27990 (grub_emu_SOURCES): Likewise.
27991 (pkgdata_MODULES): Add hfs.mod.
27992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27993 (grubof_SOURCES): Likewise.
27994 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27995
27996 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27997 * kern/misc.c (grub_strncasecmp): Add function.
27998
27999 2004-08-14 Marco Gerards <metgerards@student.han.nl>
28000
28001 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28002 with parentheses.
28003
28004 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28005 (grub_ext2_dir): In case the directory entry type is unknown, read
28006 it from the inode.
28007
28008 2004-08-02 Peter Bruin <pjbruin@dds.nl>
28009
28010 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28011 grub_load_linux instead of grub_rescue_cmd_linux as second
28012 argument of grub_rescue_register_command.
28013
28014 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28015
28016 2004-07-27 Marco Gerards <metgerards@student.han.nl>
28017
28018 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28019 function.
28020 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28021 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28022 `loader/powerpc/ieee1275/linux.c',
28023 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28024 * include/grub/powerpc/ieee1275/ieee1275.h
28025 (grub_ieee1275_release): New prototype.
28026 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28027 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28028 normal, boot, linux and linux_normal.
28029 * loader/powerpc/ieee1275/linux.c: New file.
28030 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28031
28032 2004-07-12 Marco Gerards <metgerards@student.han.nl>
28033
28034 * normal/arg.c (grub_arg_parse): Correct error handling after
28035 reallocating the argumentlist (check if `argl' is not null instead
28036 of checking if `args' is not null).
28037 * kern/mm.c (grub_realloc): Return the same pointer when using the
28038 same region, instead of returning the header address.
28039
28040 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28041
28042 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28043 one block instead of two when looking for the initial partition.
28044 (grub_partition_probe): Initialize the local variable `p' with 0.
28045 Use base 10 for the grub_strtoul call.
28046 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28047 need for one local variable.
28048 (grub_strtoul): Don't add the new value to `num', instead of that
28049 just assign it.
28050
28051 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28052
28053 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28054 (pxeboot_img_SOURCES): New variable.
28055 (pxeboot_img_ASFLAGS): Likewise.
28056 (pxeboot_img_LDFLAGS): Likewise.
28057 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28058 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28059 <lode_leroy@hotmail.com>.
28060
28061 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28062
28063 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28064 there was no input.
28065
28066 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28067
28068 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28069 the history buffer logic.
28070
28071 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28072
28073 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28074 (FILETYPE_INO_SYMLINK): New macros.
28075 (grub_ext2_find_file): Check if the node is a directory using the
28076 inode stat information instead of using the filetype in the
28077 dirent. Exclude the first character of an absolute symlink.
28078 (grub_ext2_dir): Mask out the filetype part of the mode member of
28079 the inode.
28080
28081 2004-05-24 Marco Gerards <metgerards@student.han.nl>
28082
28083 Add support for UFS version 1 and 2. Add support for the minix
28084 filesystem version 1 and 2, both the variants with 14 and 30 long
28085 filenames.
28086
28087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28088 fs/minix.c.
28089 (grub_emu_SOURCES): Likewise.
28090 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28091 (ufs_mod_SOURCES): New variable.
28092 (ufs_mod_CFLAGS): Likewise.
28093 (minix_mod_SOURCES): Likewise.
28094 (minix_mod_CFLAGS): Likewise.
28095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28096 fs/minix.c.
28097 (grubof_SOURCES): Likewise.
28098 * fs/ufs.c: New file.
28099 * fs/minix.c: New file.
28100 * include/grub/fs.h (grub_ufs_init): New prototype.
28101 (grub_ufs_fini): Likewise.
28102 (grub_minix_init): Likewise.
28103 (grub_minix_fini): Likewise.
28104 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28105 minix fs.
28106
28107 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28108
28109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28110 commands/ls.c, commands/terminal.c, commands/boot.c,
28111 commands/cmp.c and commands/cat.c.
28112 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28113
28114 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28115 "env.h"
28116
28117 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28118
28119 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28120 and grub_, respectively. Because the conversion is trivial and
28121 mechanical, I omit the details here. Please refer to the CVS
28122 if you need more information.
28123
28124 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28125
28126 * include/pupa: Renamed to ...
28127 * include/grub: ... this.
28128 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28129 * util/i386/pc/grub-mkimage.c: ... this.
28130 * util/i386/pc/pupa-setup.c: Renamed to ...
28131 * util/i386/pc/grub-setup.c: ... this.
28132 * util/pupa-emu.c: Renamed to ...
28133 * util/grub-emu.c: ... this.
28134
28135 2004-03-29 Marco Gerards <metgerards@student.han.nl>
28136
28137 Add support for the newworld apple macintosh (PPC). This has been
28138 tested on the powerbook 2000 only. It only adds support for
28139 generic ieee1275 functions, console and disk support. This should
28140 be easy to port to other architectures with support for Open
28141 Firmware.
28142
28143 * configure.ac: Accept the powerpc as host_cpu. In the case of
28144 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28145 specific tests are only executed while building for the i386.
28146 Inverse test for crosscompile.
28147 * genmk.rb (Utility): Allow assembler files.
28148 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28149 * conf/powerpc-ieee1275.rmk: New file.
28150 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28151 * disk/powerpc/ieee1275/partition.c: Likewise.
28152 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28153 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28154 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28155 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28156 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28157 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28158 * include/pupa/powerpc/ieee1275/loader.h
28159 * include/pupa/powerpc/setjmp.h: Likewise.
28160 * include/pupa/powerpc/types.h: Likewise.
28161 * kern/powerpc/ieee1275/init.c: Likewise.
28162 * kern/powerpc/ieee1275/openfw.c: Likewise.
28163 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28164
28165 These files were written by Johan Rydberg
28166 (jrydberg@night.trouble.net) and I only modified them slightly.
28167
28168 * boot/powerpc/ieee1275/cmain.c: New file.
28169 * boot/powerpc/ieee1275/crt0.S: Likewise.
28170 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28171 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28172
28173 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28174
28175 * Makefile.in: Update copyright.
28176 * genmodsrc.sh: Likewise.
28177 * gensymlist.sh: Likewise.
28178 * term/i386/pc/vga.c: Indent correctly.
28179
28180 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28181 bugreporting address.
28182 * util/i386/pc/pupa-setup.c (usage): Likewise,
28183 (main): Call pupa_ext2_init and pupa_ext2_fini.
28184
28185 * fs/fat.c (log2): Renamed to ...
28186 (fat_log2): ... this.
28187 All callers changed.
28188 * kern/misc.c (memcpy): Alias to pupa_memmove.
28189 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28190 lvalue cast.
28191 * util/console.c (pupa_ncurses_fini): Return 0.
28192
28193 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28194 Move fail label here.
28195 [__GNU__]: Don't warn when using stat.
28196 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28197 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28198 long int. Use strtol instead of strtoul.
28199
28200 2004-03-14 Marco Gerards <metgerards@student.han.nl>
28201
28202 * commands/boot.c: New file.
28203 * commands/cat.c: Likewise.
28204 * commands/cmp.c: Likewise.
28205 * commands/ls.c: Likewise.
28206 * commands/terminal.c: Likewise.
28207 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28208 (pupa_register_command): Changed interface to match the new
28209 argument parser.
28210 (pupa_command_execute): Changed (almost rewritten) so it uses
28211 pupa_split_command. Added support for setting variables using the
28212 syntax `foo=bar'.
28213 (rescue_command): Changed to work with the new argument parser.
28214 (terminal_command): Moved from here to commands/terminal.c.
28215 (set_command): New function.
28216 (unset_command): New function.
28217 (insmod_command): New function.
28218 (rmmod_command): New function.
28219 (lsmod_command): New function.
28220 (pupa_command_init): Don't initialize the command terminal
28221 anymore. Initialize the commands set, unset, insmod, rmmod and
28222 lsmod.
28223 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28224 (kernel_img_HEADERS): Add arg.h and env.h.
28225 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28226 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28227 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28228 normal/arg.c.
28229 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28230 terminal.mod.
28231 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28232 (boot_mod_SOURCES): New variable.
28233 (terminal_mod_SOURCES): Likewise.
28234 (ls_mod_SOURCES): Likewise.
28235 (cmp_mod_SOURCES): Likewise.
28236 (cat_mod_SOURCES): Likewise.
28237
28238 * normal/arg.c: New file.
28239 * kern/env.c: Likewise.
28240 * include/pupa/arg.h: Likewise.
28241 * include/pupa/env.h: Likewise.
28242 * font/manager.c (font_command): Changed to match argument parsing
28243 interface changes.
28244 (PUPA_MOD_INIT): Likewise.
28245 * hello/hello.c (pupa_cmd_hello): Likewise.
28246 (PUPA_MOD_INIT): Likewise.
28247 * include/pupa/disk.h: Include <pupa/device.h>.
28248 (pupa_print_partinfo): New prototype.
28249 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28250 (pupa_dl_get_prefix): Likewise.
28251 * include/pupa/misc.h: Include <pupa/err.h>.
28252 (pupa_isgraph): New prototype.
28253 (pupa_isdigit): Likewise.
28254 (pupa_split_cmdline): Likewise.
28255 * include/pupa/normal.h: Include <pupa/arg.h>.
28256 (pupa_command): Changed the prototype of the member `func' to
28257 match the argument parsing interface. Added member `options'.
28258 (pupa_register_command): Updated to match function.
28259 (pupa_arg_parse): New prototype.
28260 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28261 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28262 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28263 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28264 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28265 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28266 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28267 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28268 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28269 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28270 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28271 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28272 * kern/disk.c: Include <pupa/file.h>.
28273 (pupa_print_partinfo): New function.
28274 * kern/dl.c: Include <pupa/env.h>.
28275 (pupa_dl_dir): Variable removed.
28276 (pupa_dl_load): Use the environment variable `prefix' instead of
28277 the variable pupa_dl_dir.
28278 (pupa_dl_set_prefix): Function removed.
28279 (pupa_dl_get_prefix): Likewise.
28280 * kern/i386/pc/init.c: Include <pupa/env.h>.
28281 (pupa_machine_init): Use the environment variable `prefix' instead of
28282 using pupa_dl_set_prefix to set the prefix.
28283 * kern/main.c: Include <pupa/env.h>.
28284 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28285 using pupa_dl_get_prefix to get the prefix.
28286 * kern/misc.c: Include <pupa/env.h>.
28287 (pupa_isdigit): New function.
28288 (pupa_isgraph): Likewise.
28289 (pupa_ftoa): Likewise.
28290 (pupa_vsprintf): Added support for printing values of the type
28291 `double'. Make it possible to format variable output when using
28292 formatting like `%1.2%f'.
28293 (pupa_split_cmdline): New function.
28294 * kern/rescue.c: Include <pupa/env.h>.
28295 (next_word): Removed function.
28296 (pupa_rescue_cmd_prefix): Likewise.
28297 (pupa_rescue_cmd_set): New function.
28298 (pupa_rescue_cmd_unset): New function.
28299 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28300 split the command line instead of splitting it here. Added
28301 support for setting variables using the syntax `foo=bar'. Don't
28302 initialize the prefix command anymore. Initialized the set and
28303 unset commands.
28304 * normal/cmdline.c: Include <pupa/env.h>.
28305 (pupa_tab_complete): Added prototypes for print_simple_completion,
28306 print_partition_completion, add_completion, iterate_commands,
28307 iterate_dev, iterate_part and iterate_dir. Moved code to print
28308 partition information from here to kern/disk.c.
28309 (pupa_cmdline_run): Don't check if the function exists anymore.
28310 * normal/main.c: Include <pupa/env.h>.
28311 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28312 instead of using pupa_dl_get_prefix to get the prefix.
28313 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28314 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28315 warning.
28316 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28317 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28318 ((unused))' to silence a gcc warning.
28319 (pupa_vga_setcolor): Likewise.
28320 (debug_command): Changed to match argument parsing
28321 interface changes.
28322 * util/pupa-emu.c: Include <pupa/env.h>.
28323 (options): Added 0's for unused fields to silence a gcc warning.
28324 (argp): Likewise.
28325 (main): Use the environment variable `prefix' instead of using
28326 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28327 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28328 and terminal.
28329
28330 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28331 * util/misc.c: Include <malloc.h>.
28332 (pupa_malloc): Rewritten so errors are correctly reported.
28333 (pupa_realloc): Likewise.
28334 (pupa_memalign): Likewise.
28335 (pupa_mm_init_region): Declare unused variables with
28336 `__attribute__ ((unused))' to silence a gcc warning.
28337 * normal/i386/setjmp.S: Remove tab at the end of the file to
28338 silence a gcc warning.
28339 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28340 variables with `__attribute__ ((unused))' to silence a gcc
28341 warning.
28342 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28343 local variable i unsigned to silence a gcc warning.
28344
28345 * kern/term.c: Include <pupa/misc.h>.
28346 (pupa_more_lines): New variable.
28347 (pupa_more): Likewise.
28348 (pupa_putcode): When the pager is active pause at the end of every
28349 screen.
28350 (pupa_set_more): New function.
28351 * include/pupa/term.h (pupa_set_more): New prototype.
28352
28353
28354 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28355
28356 Now this project is GRUB 2 rather than PUPA. The location of
28357 the CVS repository was moved to GRUB's.
28358
28359 * configure.ac: Use bug-grub as the reporting address.
28360 Use GRUB instead of PUPA.
28361 Change the version number to 1.90.
28362
28363 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28364
28365 * genkernsyms.sh: Updated copyright information.
28366 * genmk.rb: Likewise.
28367 * genmodsrc.sh: Likewise.
28368 * gensymlist.sh: Likewise.
28369 * boot/i386/pc/boot.S: Likewise.
28370 * boot/i386/pc/diskboot.S: Likewise.
28371 * disk/i386/pc/biosdisk.c: Likewise.
28372 * disk/i386/pc/partition.c: Likewise.
28373 * font/manager.c: Likewise.
28374 * fs/ext2.c: Likewise.
28375 * fs/fat.c: Likewise.
28376 * include/pupa/boot.h: Likewise.
28377 * include/pupa/device.h: Likewise.
28378 * include/pupa/disk.h: Likewise.
28379 * include/pupa/dl.h: Likewise.
28380 * include/pupa/elf.h: Likewise.
28381 * include/pupa/err.h: Likewise.
28382 * include/pupa/file.h: Likewise.
28383 * include/pupa/font.h: Likewise.
28384 * include/pupa/fs.h: Likewise.
28385 * include/pupa/kernel.h: Likewise.
28386 * include/pupa/loader.h: Likewise.
28387 * include/pupa/misc.h: Likewise.
28388 * include/pupa/mm.h: Likewise.
28389 * include/pupa/net.h: Likewise.
28390 * include/pupa/normal.h: Likewise.
28391 * include/pupa/rescue.h: Likewise.
28392 * include/pupa/setjmp.h: Likewise.
28393 * include/pupa/symbol.h: Likewise.
28394 * include/pupa/term.h: Likewise.
28395 * include/pupa/types.h: Likewise.
28396 * include/pupa/i386/setjmp.h: Likewise.
28397 * include/pupa/i386/types.h: Likewise.
28398 * include/pupa/i386/pc/biosdisk.h: Likewise.
28399 * include/pupa/i386/pc/boot.h: Likewise.
28400 * include/pupa/i386/pc/console.h: Likewise.
28401 * include/pupa/i386/pc/init.h: Likewise.
28402 * include/pupa/i386/pc/kernel.h: Likewise.
28403 * include/pupa/i386/pc/linux.h: Likewise.
28404 * include/pupa/i386/pc/loader.h: Likewise.
28405 * include/pupa/i386/pc/memory.h: Likewise.
28406 * include/pupa/i386/pc/multiboot.h: Likewise.
28407 * include/pupa/i386/pc/partition.h: Likewise.
28408 * include/pupa/i386/pc/time.h: Likewise.
28409 * include/pupa/i386/pc/vga.h: Likewise.
28410 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28411 * include/pupa/util/getroot.h: Likewise.
28412 * include/pupa/util/misc.h: Likewise.
28413 * include/pupa/util/resolve.h: Likewise.
28414 * kern/device.c: Likewise.
28415 * kern/disk.c: Likewise.
28416 * kern/dl.c: Likewise.
28417 * kern/err.c: Likewise.
28418 * kern/file.c: Likewise.
28419 * kern/fs.c: Likewise.
28420 * kern/loader.c: Likewise.
28421 * kern/main.c: Likewise.
28422 * kern/misc.c: Likewise.
28423 * kern/mm.c: Likewise.
28424 * kern/rescue.c: Likewise.
28425 * kern/term.c: Likewise.
28426 * kern/i386/dl.c: Likewise.
28427 * kern/i386/pc/init.c: Likewise.
28428 * kern/i386/pc/lzo1x.S: Likewise.
28429 * kern/i386/pc/startup.S: Likewise.
28430 * loader/i386/pc/chainloader.c: Likewise.
28431 * loader/i386/pc/linux.c: Likewise.
28432 * loader/i386/pc/multiboot.c: Likewise.
28433 * normal/cmdline.c: Likewise.
28434 * normal/command.c: Likewise.
28435 * normal/main.c: Likewise.
28436 * normal/menu.c: Likewise.
28437 * normal/i386/setjmp.S: Likewise.
28438 * term/i386/pc/console.c: Likewise.
28439 * term/i386/pc/vga.c: Likewise.
28440 * util/console.c: Likewise.
28441 * util/genmoddep.c: Likewise.
28442 * util/misc.c: Likewise.
28443 * util/pupa-emu.c: Likewise.
28444 * util/resolve.c: Likewise.
28445 * util/unifont2pff.rb: Likewise.
28446 * util/i386/pc/biosdisk.c: Likewise.
28447 * util/i386/pc/getroot.c: Likewise.
28448 * util/i386/pc/pupa-mkimage.c: Likewise.
28449 * util/i386/pc/pupa-setup.c: Likewise.
28450
28451 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28452
28453 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28454 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28455 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28456 reading and reset it after reading.
28457 (pupa_ext2_close): Return PUPA_ERR_NONE.
28458
28459 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28460 Correct value.
28461 (struct linux_kernel_header): Add kernel_version and
28462 initrd_addr_max.
28463 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28464 pupa_file_read succeeds.
28465 (pupa_rescue_cmd_initrd): Implement.
28466
28467 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28468
28469 * fs/ext2.c (pupa_ext2_label): New function.
28470 (pupa_ext2_fs): Added label.
28471 * fs/fat.c (pupa_fat_label): New function.
28472 (pupa_fat_fs): Added label.
28473 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28474
28475 * kern/misc.c (pupa_strndup): New function.
28476 * include/pupa/misc.h (pupa_strndup): New prototype.
28477
28478 * include/pupa/normal.h: Include <pupa/err.h>.
28479 (pupa_set_history): New prototype.
28480 (pupa_iterate_commands): New prototype.
28481 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28482 <pupa/disk.h>, <pupa/file.h>.
28483 (hist_size): New variable.
28484 (hist_lines): Likewise.
28485 (hist_end): Likewise.
28486 (hist_used): Likewise.
28487 (pupa_set_history): New function.
28488 (pupa_history_get): Likewise.
28489 (pupa_history_add): Likewise.
28490 (pupa_history_replace): Likewise.
28491 (pupa_tab_complete): Likewise.
28492 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28493 completion shows partitionnames while completing partitions, this
28494 feature was suggested by Jeff Bailey.
28495 * normal/command.c (pupa_iterate_commands): New function.
28496 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28497 (pupa_normal_init): Initialize history buffer.
28498 (PUPA_MOD_INIT): Likewise.
28499 (pupa_normal_fini): Free the history buffer.
28500 (PUPA_MOD_FINI): Likewise.
28501
28502 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28503 key.
28504
28505 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28506 * configure.ac [i386]: Check for regparam bug.
28507 (NESTED_FUNC_ATTR) [! i386]: Defined.
28508
28509 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28510
28511 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28512 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28513 (pupa_emu_SOURCES): New variable.
28514 (pupa_emu_LDFLAGS): Likewise.
28515 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28516 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28517 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28518 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28519 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28520 (pupa_jmp_buf): New typedef.
28521 (pupa_setjmp) [PUPA_UTIL]: New macro.
28522 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28523 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28524 (pupa_refresh): New prototype.
28525 * include/pupa/util/getroot.h: New file.
28526 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28527 it.
28528 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28529 (pupa_rescue_cmd_cat): Likewise.
28530 (pupa_rescue_cmd_ls): Likewise.
28531 (pupa_rescue_cmd_testload): Likewise.
28532 (pupa_rescue_cmd_lsmod): Likewise.
28533 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28534 * normal/menu.c (run_menu): Likewise.
28535 * kern/term.c (pupa_cls): Likewise.
28536 (pupa_refresh): New function.
28537 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28538 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28539 * util/console.c: New file.
28540
28541 * util/i386/pc/getroot.c: New file.
28542 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28543 (pupa_putchar): New function.
28544 (pupa_refresh): Likewise.
28545 (xgetcwd): Function moved to ...
28546 (strip_extra_slashes): Likewise.
28547 (get_prefix): Likewise.
28548 * util/i386/pc/getroot.c: ... here.
28549 (find_root_device): Function moved and renamed to...
28550 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28551 Changed all callers.
28552 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28553 and renamed to...
28554 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28555 Changed all callers.
28556 * util/misc.c (pupa_memalign): New function.
28557 (pupa_mm_init_region): Likewise.
28558 (pupa_register_exported_symbols): Likewise.
28559 (pupa_putchar): Function removed.
28560 * util/pupa-emu.c: New file.
28561
28562 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28563
28564 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28565 (_multiboot_mod_SOURCES): New variable.
28566 (_multiboot_mod_CFLAGS): Likewise.
28567 * loader/i386/pc/multiboot.c: New file.
28568 * include/pupa/i386/pc/multiboot.h: Likewise.
28569 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28570 (pupa_multiboot_real_boot): New function.
28571 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28572 (pupa_multiboot_real_boot): New prototype.
28573 (pupa_rescue_cmd_multiboot): Likewise
28574 (pupa_rescue_cmd_module): Likewise.
28575
28576 * kern/loader.c (pupa_loader_set): Continue when
28577 pupa_loader_unload_func() fails.
28578 (pupa_loader_unset): New function.
28579 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28580
28581 * kern/misc.c (pupa_stpcpy): New function.
28582 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28583
28584 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28585
28586 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28587 for available extensions.
28588
28589 * include/pupa/i386/pc/time.h: New file.
28590 * kern/disk.c: Include <pupa/machine/time.h>.
28591 (PUPA_CACHE_TIMEOUT): New macro.
28592 (pupa_last_time): New variable.
28593 (pupa_disk_open): Flush the cache when there was a timeout.
28594 (pupa_disk_close): Reset the timer.
28595 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28596 pupa_currticks.
28597 * util/misc.c: Include <sys/times.h>
28598 (pupa_get_rtc): New function.
28599
28600 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28601
28602 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28603 as blocks.
28604 (pupa_ext2_get_file_block): Use blocks member.
28605
28606 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28607 first block. Return -1 instead of pupa_errno on error.
28608
28609 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28610
28611 * README: In the pupa-mkimage example use _chain instead of chain
28612 and ext2 instead of fat.
28613 * TODO: Replace ext2fs with jfs as an example. Add an item for
28614 adding journal playback for ext2fs.
28615 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28616 (pkgdata_MODULES): Added ext2.mod.
28617 (ext2_mod_SOURCES): New variable.
28618 (ext2_mod_CFLAGS): Likewise.
28619 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28620 * include/pupa/misc.h (pupa_strncpy): New prototype.
28621 (pupa_strcat): Likewise.
28622 (pupa_strncmp): Likewise.
28623 * kern/misc.c (pupa_strcat): Enable function.
28624 (pupa_strncpy): New function.
28625 (pupa_strncmp): Likewise.
28626 * fs/ext2.c: New file.
28627
28628 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28629 when the read failed before retrying.
28630 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28631 (_FILE_OFFSET_BITS): Likewise.
28632 * configure.ac: Added AC_SYS_LARGEFILE.
28633
28634 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28635
28636 * genmk.rb (PModule#rule): Make sure to get only symbol names
28637 from the output of nm.
28638 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28639
28640 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28641
28642 I forgot to check in these changes for a long time. This adds
28643 incomplete support for VGA console, and this is still very
28644 buggy. Also, a lot of consideration is required for I18N,
28645 UNICODE, and VGA font issues. Therefore, assume that this is
28646 such that "better than nothing".
28647
28648 * font/manager.c: New file.
28649 * include/pupa/font.h: Likewise.
28650 * include/pupa/i386/pc/vga.h: Likewise.
28651 * term/i386/pc/vga.c: Likewise.
28652 * util/unifont2pff.rb: Likewise.
28653
28654 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28655 (pkgdata_MODULES): Added vga.mod and font.mod.
28656 (vga_mod_SOURCES): New variables.
28657 (vga_mod_CFLAGS): Likewise.
28658 (font_mod_SOURCES): Likewise.
28659 (font_mod_CFLAGS): Likewise.
28660
28661 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28662
28663 * include/pupa/term.h: Include pupa/err.h.
28664 (struct pupa_term): Added init and fini.
28665 Changed the argument of putchar to pupa_uint32_t.
28666
28667 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28668 (pupa_console_real_putchar): New prototype.
28669 (pupa_console_putchar): Removed.
28670 (pupa_console_checkkey): Exported.
28671 (pupa_console_getkey): Likewise.
28672
28673 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28674 characters.
28675
28676 * kern/term.c (pupa_term_set_current): Rewritten.
28677 (pupa_putchar): Likewise.
28678 (pupa_putcode): New function.
28679
28680 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28681 (pupa_console_real_putchar): ... this.
28682 (pupa_vga_set_mode): New function.
28683 (pupa_vga_get_font): Likewise.
28684
28685 * normal/command.c: Include pupa/term.h.
28686 (terminal_command): New function.
28687 (pupa_command_init): Register the command "terminal".
28688
28689 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28690 (DISP_UP): Likewise.
28691 (DISP_RIGHT): Likewise.
28692 (DISP_DOWN): Likewise.
28693 (DISP_HLINE): Likewise.
28694 (DISP_VLINE): Likewise.
28695 (DISP_UL): Likewise.
28696 (DISP_UR): Likewise.
28697 (DISP_LL): Likewise.
28698 (DISP_LR): Likewise.
28699
28700 * term/i386/pc/console.c (pupa_console_putchar): New function.
28701
28702 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28703
28704 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28705 FIX. Reverse the path_list.
28706
28707 * include/pupa/normal.h: Export pupa_register_command and
28708 pupa_unregister_command.
28709
28710 * hello/hello.c (pupa_cmd_hello): New module.
28711 * conf/i386-pc.rmk: Added hello.mod.
28712
28713 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28714
28715 * kern/i386/pc/lzo1x.S: New file.
28716
28717 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28718 (compress_kernel): New variable.
28719 (generate_image): Heavily modified to support compressing a
28720 large part of the core image.
28721
28722 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28723 leak.
28724 (pupa_util_load_image): New function.
28725
28726 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28727 (pupa_compressed_size): New variable.
28728 (codestart): Enable Gate A20 here.
28729 Decompress the compressed part of the core image.
28730 Rearrange the code to put functions and variables which are
28731 required for initialization in the non-compressed part.
28732 Include lzo1x.S.
28733
28734 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28735 here.
28736
28737 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28738
28739 * include/pupa/i386/pc/kernel.h
28740 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28741 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28742 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28743 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28744 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28745
28746 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28747
28748 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28749 (Utility#rule): Likewise.
28750
28751 * configure.ac: Check if LZO is available.
28752
28753 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28754
28755 * include/pupa/normal.h: New file.
28756 * include/pupa/setjmp.h: Likewise.
28757 * include/pupa/i386/setjmp.h: Likewise.
28758 * normal/cmdline.c: Likewise.
28759 * normal/command.c: Likewise.
28760 * normal/main.c: Likewise.
28761 * normal/menu.c: Likewise.
28762 * normal/i386/setjmp.S: Likewise.
28763
28764 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28765 (pupa_rescue_cmd_initrd): Likewise.
28766
28767 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28768 Likewise.
28769
28770 * kern/i386/pc/startup.S (translation_table): New variable.
28771 (translate_keycode): New function.
28772 (pupa_console_getkey): Call translate_keycode.
28773
28774 * kern/rescue.c (attempt_normal_mode): New function.
28775 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28776 it failed, print a message.
28777
28778 * kern/mm.c (pupa_real_malloc): Print more information when a
28779 free magic is broken.
28780 (pupa_free): If the first free header is not free actually, set
28781 it to P.
28782
28783 * kern/main.c (pupa_load_normal_mode): Just load the module
28784 "normal".
28785 (pupa_main): Don't print the message
28786 "Entering into rescue mode..." here.
28787
28788 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28789 Declared.
28790 (pupa_rescue_cmd_initrd): Likewise.
28791 (pupa_rescue_cmd_initrd): Likewise.
28792
28793 * include/pupa/symbol.h (FUNCTION): Specify the type.
28794 (VARIABLE): Likewise.
28795
28796 * include/pupa/err.h (pupa_err_t): Added
28797 PUPA_ERR_UNKNOWN_COMMAND.
28798
28799 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28800 (pupa_dl_get_prefix): Likewise.
28801
28802 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28803 Added _chain.mod and _linux.mod instead of chain.mod and
28804 linux.mod.
28805 (chain_mod_SOURCES): Renamed to ...
28806 (_chain_mod_SOURCES): ... this.
28807 (chain_mod_CFLAGS): Renamed to ...
28808 (_chain_mod_CFLAGS): ... this.
28809 (linux_mod_SOURCES): Renamed to ...
28810 (_linux_mod_SOURCES): ... this.
28811 (linux_mod_CFLAGS): Renamed to ...
28812 (_linux_mod_CFLAGS): ... this.
28813 (normal_mod_SOURCES): New variable.
28814 (normal_mod_CFLAGS): Likewise.
28815 (normal_mod_ASFLAGS): Likewise.
28816
28817 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28818
28819 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28820 possible.
28821
28822 * kern/dl.c (pupa_dl_ref): Refer depending modules
28823 recursively.
28824 (pupa_dl_unref): Unrefer depending modules recursively.
28825 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28826 a module is unloaded before one depending on that module is
28827 unloaded.
28828 (pupa_dl_unload): Unload depending modules explicitly,
28829 if possible.
28830
28831 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28832
28833 * include/pupa/i386/pc/linux.h: New file.
28834 * loader/i386/pc/linux.c: Likewise.
28835
28836 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28837 Removed.
28838 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28839 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28840 of PUPA_CHAINLOADER_BOOT_SECTOR.
28841
28842 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28843 (pupa_linux_prot_size): New variable.
28844 (pupa_linux_tmp_addr): Likewise.
28845 (pupa_linux_real_addr): Likewise.
28846 (pupa_linux_boot_zimage): New function.
28847 (pupa_linux_boot_bzimage): Likewise.
28848
28849 * kern/i386/pc/init.c (struct mem_region): New structure.
28850 (MAX_REGIONS): New macro.
28851 (mem_regions): New variable.
28852 (num_regions): Likewise.
28853 (pupa_os_area_addr): Likewise.
28854 (pupa_os_area_size): Likewise.
28855 (pupa_lower_mem): Likewise.
28856 (pupa_upper_mem): Likewise.
28857 (add_mem_region): New function.
28858 (compact_mem_regions): Likewise.
28859 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28860 the size of the conventional memory and that of so-called upper
28861 memory (before the first memory hole).
28862 Instead of adding each found region to free memory, use
28863 add_mem_region and add them after removing overlaps.
28864 Also, add only 1/4 of the upper memory to free memory. The rest
28865 is used for loading OS images. Maybe this is ad hoc, but this
28866 makes it much easier to relocate OS images when booting.
28867
28868 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28869 (pupa_enter_rescue_mode): Don't register initrd and module.
28870
28871 * kern/mm.c: Include pupa/dl.h.
28872
28873 * kern/main.c: Include pupa/file.h and pupa/device.h.
28874
28875 * kern/loader.c (pupa_loader_load_module_func): Removed.
28876 (pupa_loader_load_module): Likewise.
28877
28878 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28879 ``.o''.
28880
28881 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28882 (pupa_linux_tmp_addr): Likewise.
28883 (pupa_linux_real_addr): Likewise.
28884 (pupa_linux_boot_zimage): Likewise.
28885 (pupa_linux_boot_bzimage): Likewise.
28886
28887 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28888 (pupa_upper_mem): Likewise.
28889 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28890 module is too dangerous.
28891
28892 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28893 (pupa_os_area_size): Likewise.
28894 (pupa_loader_set): Remove the first argument. Loader doesn't
28895 manage modules or initrd any longer.
28896 (pupa_loader_load_module): Removed.
28897
28898 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28899 (linux_mod_SOURCES): New variable.
28900 (linux_mod_CFLAGS): Likewise.
28901
28902 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28903
28904 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28905 the length of a blocklist correctly.
28906
28907 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28908 Use ioctl only if the OS file is a block device.
28909 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28910 not very useful for normal files.
28911
28912 * kern/main.c (pupa_set_root_dev): New function.
28913 (pupa_load_normal_mode): Likewise.
28914 (pupa_main): Call those above.
28915
28916 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28917 pupa_uint16_t.
28918
28919 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28920
28921 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28922
28923 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28924 (setup): Configure the installed partition information and the
28925 dl prefix.
28926
28927 * loader/i386/pc/chainloader.c (my_mod): New variable.
28928 (pupa_chainloader_unload): New function.
28929 (pupa_rescue_cmd_chainloader): Refer itself.
28930 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28931
28932 * kern/i386/pc/startup.S (install_partition): Removed.
28933 (version_string): Likewise.
28934 (config_file): Likewise.
28935 (pupa_install_dos_part): New variable.
28936 (pupa_install_bsd_part): Likewise.
28937 (pupa_prefix): Likewise.
28938 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28939
28940 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28941 and pupa/misc.h.
28942 (make_install_device): New function.
28943 (pupa_machine_init): Set the dl prefix.
28944
28945 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28946 (buf): Renamed to ...
28947 (linebuf): ... this.
28948 (pupa_rescue_cmd_prefix): New function.
28949 (pupa_rescue_cmd_insmod): Likewise.
28950 (pupa_rescue_cmd_rmmod): Likewise.
28951 (pupa_rescue_cmd_lsmod): Likewise.
28952 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28953 rmmod and lsmod.
28954
28955 * kern/mm.c (pupa_memalign): If failed even after invalidating
28956 disk caches, unload unneeded modules and retry.
28957
28958 * kern/misc.c (pupa_memmove): New function.
28959 (pupa_memcpy): Removed.
28960 (pupa_strcpy): New function.
28961 (pupa_itoa): Made static.
28962
28963 * kern/dl.c (pupa_dl_iterate): New function.
28964 (pupa_dl_ref): Likewise.
28965 (pupa_dl_unref): Likewise.
28966 (pupa_dl_unload): Return if succeeded or not.
28967 (pupa_dl_unload_unneeded): New function.
28968 (pupa_dl_unload_all): Likewise.
28969 (pupa_dl_init): Renamed to ...
28970 (pupa_dl_set_prefix): ... this.
28971 (pupa_dl_get_prefix): New function.
28972
28973 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28974 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28975 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28976 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28977 (pupa_install_dos_part): Declared.
28978 (pupa_install_bsd_part): Likewise.
28979 (pupa_prefix): Likewise.
28980 (pupa_boot_drive): Likewise.
28981
28982 * include/pupa/types.h: Fix a typo.
28983
28984 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28985 pupa_memmove.
28986 (pupa_memmove): Declared.
28987 (pupa_strcpy): Likewise.
28988
28989 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28990 pupa_mod_init takes one argument, its own module.
28991 (pupa_dl_unload_unneeded): Declared.
28992 (pupa_dl_unload_all): Likewise.
28993 (pupa_dl_ref): Likewise.
28994 (pupa_dl_unref): Likewise.
28995 (pupa_dl_iterate): Likewise.
28996 (pupa_dl_init): Renamed to ...
28997 (pupa_dl_set_prefix): ... this.
28998 (pupa_dl_get_prefix): Declared.
28999
29000 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
29001 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
29002 unloaded.
29003 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29004 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29005
29006 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29007 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29008
29009 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29010
29011 * util/i386/pc/pupa-setup.c (setup): Define the internal
29012 function find_first_partition_start at the top level, because GCC
29013 3.0.x cannot compile internal functions in deeper scopes
29014 correctly.
29015 (find_root_device): Use lstat instead of stat.
29016 Don't follow symbolic links.
29017 Fix the path-constructing code.
29018
29019 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29020 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29021 by a BLKGETSIZE ioctl first, because block devices don't fill
29022 the member st_mode of the structure stat on Linux.
29023 [__linux__] (linux_find_partition): Use a temporary buffer
29024 REAL_DEV for the working space. Copy it to DEV before returning.
29025 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29026 buffer cache consistent.
29027 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29028 strncmp. The previous value was merely wrong.
29029 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29030
29031 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29032 FAT size is 12. The previous value was merely wrong.
29033
29034 * kern/main.c (pupa_main): Don't split the starting message from
29035 newlines.
29036
29037 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29038 LF, because BIOS goes crazy about character attributes in this
29039 case.
29040
29041 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29042
29043 * include/i386/pc/util/biosdisk.h: New file.
29044 * util/i386/pc/biosdisk.c: Likewise.
29045 * util/i386/pc/pupa-setup.c: Likewise.
29046
29047 * Makefile.in (INCLUDE_DISTFILES): Added
29048 include/pupa/i386/pc/util/biosdisk.h.
29049 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29050 directory util/i386/pc.
29051 (install-local): Added a rule for sbin_UTILITIES.
29052 (uninstall): Likewise.
29053
29054 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29055
29056 * util/misc.c (xrealloc): New function.
29057 (pupa_malloc): Likewise.
29058 (pupa_free): Likewise.
29059 (pupa_realloc): Likewise.
29060 (pupa_stop): Likewise.
29061 (pupa_putchar): Likewise.
29062
29063 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29064
29065 * include/pupa/util/misc.h (xrealloc): Declared.
29066
29067 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29068 macro.
29069 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29070 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29071
29072 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29073 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29074
29075 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29076 way should be implemented.
29077 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29078
29079 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29080 the size of NAME for safety.
29081 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29082 0x88.
29083
29084 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29085 (pupa_setup_SOURCES): Likewise.
29086
29087 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29088
29089 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29090
29091 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29092 bunch of pushl's from pusha, because this destroys the return
29093 value.
29094
29095 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29096
29097 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29098 This means that any missing prototypes could be fatal. Also, you
29099 must take care when writing assembly code. See the comments at
29100 the beginning of startup.S, for more details.
29101
29102 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29103 compilation mechanism.
29104 (pupa_chainloader_real_boot): Likewise.
29105 (pupa_biosdisk_rw_int13_extensions): Likewise.
29106 (pupa_biosdisk_rw_standard): Likewise.
29107 (pupa_biosdisk_check_int13_extensions): Likewise.
29108 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29109 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29110 (pupa_get_memsize): Likewise.
29111 (pupa_get_mmap_entry): Likewise.
29112 (pupa_console_putchar): Likewise.
29113 (pupa_console_setcursor): Likewise.
29114 (pupa_getrtsecs): Use pushl instead of push.
29115
29116 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29117 memory instead of the stack for a mmap entry, because some
29118 BIOSes may ignore the maximum size and overflow.
29119
29120 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29121
29122 * genmk.rb (PModule#rule): Compile automatically generated
29123 sources with module-specific CFLAGS as well as other sources.
29124
29125 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29126
29127 * configure.ac: Check ld.
29128 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29129 respectively, before checking endianness and sizes.
29130
29131 * Makefile.in (LD): New variable.
29132
29133 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29134
29135 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29136
29137 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29138
29139 * Changelog: New file.
29140