]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2010-07-31 Robert Millan <rmh@gnu.org>
[grub2.git] / ChangeLog
1 2010-07-31 Robert Millan <rmh@gnu.org>
2
3 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4
5 * include/grub/util/libnvpair.h: Include `<config.h>'.
6 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
7 declaring libnvpair prototypes ourselves.
8 * include/grub/util/libzfs.h: Include `<config.h>'.
9 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
10 declaring libzfs prototypes ourselves.
11
12 (libzfs_handle): Moved to ...
13 * include/grub/util/misc.h (libzfs_handle): ... here.
14 Include `<grub/util/libzfs.h>'.
15
16 2010-07-30 Robert Millan <rmh@gnu.org>
17
18 * include/grub/emu/misc.h: Add missing license header.
19
20 2010-07-30 Robert Millan <rmh@gnu.org>
21
22 Enable `grub-probe -t device' resolution on ZFS.
23
24 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25 * include/grub/util/libnvpair.h: New file.
26 * include/grub/util/libzfs.h: New file.
27
28 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
29 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
30 `<grub/util/libnvpair.h>'.
31 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
32
33 (find_mount_point_from_dir): New static function.
34 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
35 function.
36 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
37 find_root_device_from_libzfs() before ressorting to find_root_device().
38
39 * include/grub/util/misc.h (grub_util_init_libzfs): New function
40 prototype.
41 * util/misc.c: Include `<grub/util/libzfs.h>'.
42 (grub_util_init_libzfs): New function.
43 [HAVE_LIBZFS] (libzfs_handle): New global variable.
44 [HAVE_LIBZFS] (fini_libzfs): New static function.
45 (grub_util_init_libzfs): New function.
46 * util/grub-probe.c (main): Call grub_util_init_libzfs().
47
48 2010-07-30 Robert Millan <rmh@gnu.org>
49
50 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
51 (xmalloc, xrealloc, xstrdup, xasprintf): Add
52 `warn_unused_result' attribute.
53 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
54 (grub_xasprintf, grub_xvasprintf): Likewise.
55 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
56
57 2010-07-29 Robert Millan <rmh@gnu.org>
58
59 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
60 (probe): Handle `PRINT_FS_LABEL'.
61 (main): Handle `-t fs_label'.
62
63 2010-07-29 Robert Millan <rmh@gnu.org>
64
65 * configure.ac: Remove grub-mkisofs checks.
66
67 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/ieee1275/grub-install.in: Don't use empty grub_device.
70 Reported by: Lennart Sorensen.
71
72 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
75 prior to terminal_input/terminal_output separation. It's been over 1.5
76 years and those versions weren't widely deployed.
77
78 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
79
80 * disk/raid.c (insert_array): Don't count named arrays when looking
81 for unused array numbers.
82 Reported and tested by: Michael Guntsche.
83
84 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
85
86 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
87 implementation of this so that grub-emu links again, with a note
88 that this should support hotplugging in the future.
89
90 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
91
92 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
93
94 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
95
96 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
97 handle on failure.
98 (grub_loopback_close): Remove empty function.
99 (grub_loopback_dev): Remove close method.
100
101 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
102
103 Disable EFI cursor when the EFI console becomes inactive.
104
105 * term/efi/console.c (grub_efi_console_init): New function.
106 (grub_efi_console_fini): New function.
107 (grub_console_term_output): Register init and fini methods.
108
109 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * tests/util/grub-shell-tester.in: Remove bashism and declare as
112 sh script.
113
114 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * disk/loopback.c (grub_loopback): Replace filename with file.
117 (delete_loopback): Handle new semantics.
118 (grub_cmd_loopback): Likewise.
119 (grub_loopback_iterate): Likewise.
120 (grub_loopback_close): Likewise.
121
122 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
125 with -p "".
126 Reported by: Tito Keitel.
127
128 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * docs/grub.texi (Naming convention): Document new naming convention.
131
132 2010-07-20 Vadim Solomin <vadic052@gmail.com>
133 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
134
135 Generate device.map in something closer to the old ordering.
136
137 * util/deviceiter.c (struct device): New declaration.
138 (compare_file_names): Rename to ...
139 (compare_devices): ... this. Sort by kernel name in preference to
140 the stable by-id name, but keep the latter as a fallback comparison.
141 Update header comment.
142 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
143 of `struct device' rather than of plain file names.
144
145 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
146
147 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
148 on i386.
149
150 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * commands/acpi.c (setup_common_tables): Use sizeof instead of
153 hardcoding size.
154 (setv1table): Likewise.
155
156 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
157
158 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
159 removing the homehost if present.
160 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
161 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
162 removing the homehost if present.
163 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
164 if possible.
165 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
166
167 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
168 parameter. Set its pointer target to 0.
169 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
170 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
171 `data_offset' value from the superblock for 1.x metadata.
172 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
173 data on the device.
174 (insert_array): Record the start sector of data on the device.
175 (grub_raid_register): Pass start_sector parameters to
176 grub_raid_list->detect and insert_array.
177 * include/grub/raid.h (struct grub_raid_array): Add start_sector
178 member.
179 (struct grub_raid): Add start_sector parameter to `detect'.
180
181 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
182 __attribute__ ((packed)), leaving a comment.
183 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
184 (grub_mdraid_detect_09): ... here and ...
185 (grub_mdraid_detect_1x): ... here.
186
187 2010-07-20 Peter Henn <peter.henn@web.de>
188
189 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
190 chunk size and disk size, which are already given as sector counts
191 as distinct from the 0.90 units. Fetch the correct device number
192 from the role table instead of using the table index.
193
194 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
195
196 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
197 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
198 (WriteMostly1): New macro.
199 Set array->name to NULL for metadata format 0.90. Add support for
200 metadata 1.x. Fix some comments.
201 * disk/raid.c (): Add support for name based RAID arrays. Fix a
202 few comments.
203 * util/getroot.c (grub_util_get_grub_dev): Add support for
204 /dev/md/name style devices.
205
206 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
207
208 * .bzrignore: Ignore 20_linux_xen.
209
210 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
211
212 * util/import_unicode.py: Remove unnecessary imports.
213
214 2010-07-17 Aleš Nesrsta <starous@volny.cz>
215
216 Hotplugging and USB hub support.
217
218 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
219 (grub_ohci): Likewise.
220 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
221 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
222 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
223 (GRUB_OHCI_CTRL_EDS): Likewise.
224 (GRUB_OHCI_BULK_EDS): Likewise.
225 (GRUB_OHCI_TDS): Likewise.
226 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
227 (grub_ohci_ed_phys2virt): New function.
228 (grub_ohci_virt_to_phys): Likewise.
229 (grub_ohci_td_phys2virt): Likewise.
230 (grub_ohci_td_virt2phys): Likewise.
231 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
232 attachment.
233 (grub_ohci_find_ed): New function.
234 (grub_ohci_alloc_td): Likewise.
235 (grub_ohci_free_td): Likewise.
236 (grub_ohci_free_tds): Likewise.
237 (grub_ohci_transfer): Use previously allocated memory.
238 (grub_ohci_portstatus): Reset status changed bit.
239 (grub_ohci_detect_dev): Supply status changed.
240 (grub_ohci_fini_hw): Free memory.
241 (grub_ohci_restore_hw): Reallocate memory.
242 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
243 Reset status change.
244 (grub_uhci_detect_dev): Supply status_change.
245 * bus/usb/usb.c (attach_hooks): New var.
246 (grub_usb_device_attach): New function.
247 (grub_usb_register_attach_hook_class): Likewise.
248 (grub_usb_unregister_attach_hook_class): Likewise.
249 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
250 (grub_usb_add_hub): Reset connection changed bit.
251 (attach_root_port): New function.
252 (grub_usb_root_hub): Likewise.
253 (poll_nonroot_hub): Likewise.
254 (grub_usb_poll_devices): Likewise.
255 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
256 * disk/usbms.c (grub_usbms_open): Use device hooks.
257 (grub_usbms_iterate) :Poll devices.
258 (grub_usbms_finddevs): Split into ...
259 (grub_usbms_attach): ... this ...
260 (grub_usbms_attach): ... and this.
261 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
262 in detect_dev.
263 (grub_usb_interface): New fields attached and detach_hook.
264 (grub_usb_attach_hook_class): New type.
265 (grub_usb_attach_desc): New struct.
266 (grub_usb_register_attach_hook_class): New function.
267 (grub_usb_unregister_attach_hook_class): Likewise.
268 (grub_usb_poll_devices): Likewise.
269 (grub_usb_device_attach): Likewise.
270 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
271 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
272
273 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
276 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
277 delta determination style. Works with most NetBSD partitions too.
278
279 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
282 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
283
284 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
287
288 2010-07-14 Anton Blanchard <anton@samba.org>
289
290 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
291 ET_DYN files.
292
293 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
294
295 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
296
297 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
298
299 * kern/partition.c (grub_partition_check_containment): New function to
300 check that a partition is physically contained in a parent. Since
301 offsets are relative (and non-negative), this reduces to checking that
302 the partition ends before its parent.
303 (grub_partition_map_probe): Discard out-of-range sub-partitions.
304 (grub_partition_iterate): Likewise.
305 * include/grub/partition.h (grub_partition_map): Slightly more detailed
306 comments.
307 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
308 partitions that start before their parent, and add debug printfs.
309
310 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
311
312 * Makefile.in (.SUFFIX): Spell correctly, as ...
313 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
314 bare module name without `.mod', e.g. `test') tried to invoke a
315 Modula-2 compiler.
316
317 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
318
319 * README: Point to the Info manual.
320
321 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
322
323 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
324 2nd superblock position from partition size.
325
326 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
327
328 * Makefile.in (MAINTAINER_CLEANFILES): Remove
329 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
330 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
331 outputs.
332
333 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
334
335 Restructure SCSI .id handling.
336 Reported and tested by: Aleš Nesrsta.
337
338 * disk/ata.c (grub_atapi_close): Removed. All users updated.
339 (grub_atapi_dev): Changed .name to "ata". New field .id.
340 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
341 (grub_usbms_dev): New field .id.
342 * disk/scsi.c (grub_scsi_iterate): Generate name.
343 (grub_scsi_open): Parse name.
344 * include/grub/scsi.h (grub_make_scsi_id): New function.
345 (grub_scsi_dev): Change iterate and open to number instead of naming
346 busses. All users updated.
347 (grub_scsi): Remove name. Add .bus.
348
349 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * commands/help.c (grub_cmd_help): Fix a typo.
352
353 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
356 Reported and tested by: Colin Watson.
357
358 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
361 in this context.
362
363 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
366
367 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
368
369 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
370 indentation.
371
372 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
373
374 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
375 and disk/raid6_recover.c.
376 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
377 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
378
379 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
380
381 * term/gfxterm.c (repaint_schedulded): Rename to ...
382 (repaint_scheduled): ... this. Update all callers.
383 (repaint_was_schedulded): Rename to ...
384 (repaint_was_scheduled): ... this. Update all callers.
385
386 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
387
388 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
389 which we expect to be handled by upper layers.
390
391 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
392
393 * bus/usb/usbhub.c: #include time.h header.
394
395 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
396
397 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
398 entry_name also for entries without stat blocks (e.g. ".."); fixes
399 corruption of the first entry in a directory.
400
401 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
402
403 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
404 after setting gfxterm as the active terminal. GRUB_BACKGROUND
405 doesn't work otherwise.
406
407 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
408
409 * docs/grub.texi (Features): Update list of supported file systems.
410 (GNU/Linux): Update for GRUB 2.
411 (Serial terminal): Remove mention of --disable-serial, which was a
412 GRUB Legacy configure option. Update instructions to use
413 `terminal_input' and `terminal_output' rather than `terminal'.
414 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
415 configuration' and `Installing GRUB using grub-install'.
416 (Menu entry editor): Update for GRUB 2.
417 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
418 Document new -a, -u, and -v options.
419 (initrd): New section.
420 (initrd16): New section.
421 (linux): New section.
422 (linux16): New section.
423 (search): The `var' argument to `--set' is optional.
424 (GRUB only offers a rescue shell): Go into a little more detail on
425 drive ordering.
426
427 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
428
429 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
430
431 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
432
433 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
434 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
435
436 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
437
438 * util/i386/pc/grub-setup.c (setup): Rename prefix to
439 install_prefix, in line with install_dos_part and install_bsd_part.
440 Add new prefix variable, which is copied to install_prefix after
441 comparing core.img in memory with the one read from disk in the
442 no-embedding case, and use that rather than overwriting
443 install_prefix immediately when installing to a partition.
444 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
445 Bicakci.
446
447 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
448
449 * configure.ac: Avoid == in test command, it's not portable.
450 * util/grub.d/30_os-prober.in: Likewise.
451
452 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
453
454 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
455
456 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
457
458 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
459 multiple (top-level) partmaps.
460
461 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * util/i386/efi/grub-install.in: Don't use empty grub_device.
464 Reported by: Tino Keitel.
465
466 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
467
468 Bidi and diacritics support.
469
470 * Makefile.in (widthspec.bin): New target.
471 (widthspec.h): Likewise.
472 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
473 * autogen.sh: Generate unidata.c.
474 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
475 * commands/ls.c (grub_ls_list_devices): Likewise.
476 (grub_ls_list_files): Likewise.
477 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
478 (grub_mini_cmd_lsmod): Likewise.
479 * commands/read.c: Likewise.
480 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
481 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
482 * lib/arg.c (grub_arg_show_help): Likewise.
483 * lib/crypto.c (grub_password_get): Likewise.
484 * normal/auth.c (grub_username_get): Likewise.
485 * normal/misc.c (grub_normal_print_device_info): Likewise.
486 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
487 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
488 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
489 (normal/charset.c_DEPENDENCIES): New variable.
490 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
491 (pkglib_MODULES): Remove charset.mod.
492 (charset_mod_SOURCES): Removed.
493 (charset_mod_CFLAGS): Likewise.
494 (charset_mod_LDFLAGS): Likewise.
495 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
496 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
497 and term/tparm.c.
498 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
499 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
500 (kernel_img_HEADERS): Add terminfo.h.
501 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
502 Fill ->font. Reverse ascii bitmaps.
503 (grub_font_get_xheight): New function.
504 * font/font.c (grub_font_get_string_width): Moved from here ...
505 * gfxmenu/font.c (grub_font_get_string_width): ... here.
506 * font/font.c (grub_font_draw_string): Moved from here ...
507 * gfxmenu/font.c (grub_font_draw_string): ... here.
508 * font/font.c (grub_font_dup_glyph): New function.
509 (grub_font_blit_glyph): Likewise.
510 (grub_font_blit_glyph_mirror): Likewise.
511 (blit_comb): Likewise.
512 (grub_font_construct_dry_run): Likewise.
513 (grub_font_get_constructed_device_width): Likewise.
514 (grub_font_construct_glyph): Likewise.
515 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
516 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
517 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
518 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
519 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
520 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
521 (grub_font_get_xheight): New proto.
522 (grub_font_get_constructed_device_width): Likewise.
523 (grub_font_construct_glyph): Likewise.
524 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
525 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
526 * include/grub/font.h (grub_font_draw_string): Moved from here ...
527 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
528 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
529 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
530 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
531 (grub_console_getcharwidth): Likewise.
532 * include/grub/misc.h (grub_xputs): New proto.
533 (grub_puts): Inlined.
534 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
535 (grub_normal_get_line_counter): Removed.
536 (grub_install_newline_hook): Likewise.
537 (grub_normal_get_char_counter): New proto.
538 (grub_normal_reset_more): Likewise.
539 (grub_xputs_normal): Likewise.
540 * include/grub/powerpc/ieee1275/console.h: Removed.
541 * include/grub/sparc64/ieee1275/console.h: Likewise.
542 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
543 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
544 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
545 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
546 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
547 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
548 (grub_term_input): Pass reference to self. All users updated.
549 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
550 Pass reference to self. New fields normal_color, highlight_color and
551 data. All users updated.
552 (grub_putchar): Removed.
553 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
554 (grub_unicode_estimate_width): New function.
555 (grub_term_getcharwidth): Add defaults.
556 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
557 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
558 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
559 (grub_cls): Remove EXPORT_FUNC.
560 (grub_setcolorstate): Inline.
561 (grub_newline_hook): Removed.
562 * include/grub/terminfo.h: Rewritten. All users updated.
563 * include/grub/unicode.h: New file.
564 * include/grub/video.h (grub_video_signed_rect): New type.
565 * kern/emu/console.c (grub_console_highlight_color): Removed.
566 (grub_console_normal_color): Likewise.
567 (grub_console_standard_color): Made static.
568 (grub_ncurses_putchar): Remove mapping.
569 (grub_ncurses_getcharwidth): Removed.
570 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
571 (grub_ncurses_setcolor): Removed.
572 (grub_ncurses_getcolor): Likewise.
573 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
574 (grub_console_putchar): ... this.
575 (grub_console_putchar): Handle argument difference.
576 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
577 console_init_early and console_init_lately.
578 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
579 * kern/misc.c (grub_puts): Removed.
580 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
581 (grub_vsnprintf_real): Remove str = NULL support.
582 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
583 * normal/charset.c (grub_utf8_to_ucs4): ... here.
584 * kern/term.c (grub_putcode): Renamed to ...
585 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
586 (grub_putchar): Removed.
587 (grub_xputs_dumb): New function.
588 (grub_xputs): New variable.
589 * lib/charset.c: Move from here ...
590 * normal/charset.c: ... to here.
591 (grub_ucs4_to_utf8): New function.
592 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
593 (join_types): New variable.
594 (unpack_join): New function.
595 (bidi_types): New variable.
596 (unpack_bidi): New function.
597 (get_bidi_type): Likewise.
598 (get_join_type): Likewise.
599 (is_mirrored): Likewise.
600 (grub_unicode_get_comb_type): Likewise.
601 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
602 (is_type_after): Likewise.
603 (grub_unicode_aglomerate_comb): Likewise.
604 (bidi_line_wrap): Likewise.
605 (grub_bidi_line_logical_to_visual): Likewise.
606 (grub_bidi_logical_to_visual): Likewise.
607 (grub_unicode_mirror_code): Likewise.
608 (grub_unicode_shape_code): Likewise.
609 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
610 Don't use grub_putchar.
611 * normal/main.c (grub_normal_init_page): Use grub_putcode.
612 (grub_normal_reader_init): Likewise.
613 (grub_xputs_saved): New variable.
614 (GRUB_MOD_INIT): Set grub_xputs.
615 (GRUB_MOD_FINI): Restore grub_xputs.
616 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
617 (menu_init): Avoid printing gfxmenu error.
618 (show_menu): Use grub_normal_get_char_counter.
619 * normal/menu_entry.c (update_screen): Fix out-of-array.
620 (complete): Avoid NULL dereferencing.
621 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
622 * normal/menu_text.c (print_spaces): Removed.
623 (grub_print_ucs4): Likewise.
624 (grub_print_message_indented): Use grub_print_ucs4.
625 (print_message): Use grub_putcode.
626 (print_entry): Hanlde diacritics.
627 * normal/term.c (term_state): New type.
628 (grub_more_lines): Removed.
629 (term_states): New variable.
630 (grub_normal_line_counter): Renamed to ..
631 (grub_normal_char_counter): ...this. All users updated.
632 (grub_normal_get_line_counter): Renamed to ...
633 (grub_normal_get_char_counter): ... this.
634 (grub_normal_reset_more): New function.
635 (process_newline): Removed.
636 (print_more): New function.
637 (grub_install_newline_hook): Removed.
638 (map_code): New function.
639 (grub_puts_terminal): Use grub_print_ucs4.
640 (putglyph): New function.
641 (putcode_real): Likewise.
642 (grub_putcode): Use putcode_real.
643 (get_maxwidth): New function.
644 (get_startwidth): Likewise.
645 (print_ucs4_terminal): Likewise.
646 (find_term_state): Likewise.
647 (put_glyphs_terminal): Likewise.
648 (print_backlog): Likewise.
649 (print_ucs4_real): Likewise.
650 (grub_print_ucs4): Likewise.
651 (grub_xputs_normal): Likewise.
652 * term/efi/console.c (grub_console_putchar): Output diacritics.
653 (grub_console_getcharwidth): Removed.
654 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
655 * term/gfxterm.c (clear_char): Free chars.
656 (scroll_up): Avoid leaking memory.
657 (grub_gfxterm_putchar): Support diacritics.
658 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
659 * term/i386/pc/console.c (grub_console_term_output): Declare as
660 GRUB_TERM_CODE_TYPE_VGA.
661 * term/i386/pc/vga.c (grub_vga_term): Declare as
662 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
663 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
664 GRUB_TERM_CODE_TYPE_VGA.
665 * term/i386/vga_common.c (map_char): Removed.
666 (grub_console_putchar): Likewise.
667 (grub_console_getcharwidth): Likewise.
668 * term/ieee1275/ofconsole.c: Simplify using terminfo.
669 (colors): Reordered to match terminfo.
670 (grub_ofconsole_normal_color): Removed.
671 (grub_ofconsole_writeesc): Likewise.
672 (grub_ofconsole_highlight_color): Likewise.
673 (grub_ofconsole_getcharwidth): Likewise.
674 (grub_ofconsole_setcolorstate): Likewise.
675 (grub_ofconsole_setcolor): Likewise.
676 (grub_ofconsole_getcolor): Likewise.
677 (grub_ofconsole_readkey): Renamed to ...
678 (readkey): ... this. Remove escape sequence handling. Return -1 on no
679 key.
680 (grub_ofconsole_checkkey): Removed.
681 (grub_ofconsole_getkey): Likewise.
682 (grub_ofconsole_getxy): Likewise.
683 (grub_ofconsole_gotoxy): Likewise.
684 (grub_ofconsole_cls): Likewise.
685 (grub_ofconsole_refresh): Likewise.
686 (grub_ofconsole_terminfo_input): New struct.
687 (grub_ofconsole_terminfo_output): Likewise.
688 (grub_ofconsole_term_input): Use terminfo.
689 (grub_ofconsole_term_output): Likewise.
690 (grub_console_init): Split into ...
691 (grub_console_init_early): ...this and ...
692 (grub_console_init_lately): ...this. Use terminfo.
693 (grub_ofconsole_putchar): Renamed to ...
694 (put): ... this. Remove mapping.
695 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
696 * term/serial.c: Simplify using terminfo.
697 (xpos): Removed.
698 (ypos): Likewise.
699 (keep_track): Likewise.
700 (registered): Likewise.
701 (input_buf): Likewise.
702 (npending): Likewise.
703 (serial_translate_key_sequence): Likewise.
704 (fill_input_buf): Likewise.
705 (grub_serial_checkkey): Likewise.
706 (grub_serial_getkey): Likewise.
707 (grub_serial_getxy): Likewise.
708 (grub_serial_gotoxy): Likewise.
709 (grub_serial_putchar): Likewise.
710 (grub_serial_cls): Likewise.
711 (grub_serial_setcolorstate): Likewise.
712 (grub_serial_setcursor): Likewise.
713 (serial_hw_init): Use serial_hw_fetch.
714 (grub_serial_terminfo_input): New variable.
715 (grub_serial_terminfo_output): Likewise.
716 (grub_serial_term_input): Use terminfo.
717 (grub_serial_term_output): Likewise.
718 * term/terminfo.c (putstr): Use put.
719 (grub_terminfo_all_free): New function
720 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
721 (grub_terminfo_output_register): New function.
722 (grub_terminfo_output_unregister): Likewise.
723 (grub_terminfo_getxy): Likewise.
724 (grub_terminfo_readkey): Likewise.
725 (grub_terminfo_checkkey): Likewise.
726 (grub_terminfo_getkey): Likewise.
727 (grub_terminfo_input_init): Likewise.
728 (print_terminfo): Likewise.
729 (grub_cmd_terminfo): Handle encoding.
730 (grub_terminfo_gotoxy): Track position.
731 (grub_terminfo_cls): Likewise.
732 (grub_terminfo_putchar): Likewise.
733 (grub_terminfo_setcolorstate): Handle colors
734 (grub_terminfo_cursor_on): This ...
735 (grub_terminfo_cursor_off): ... and this merged into ...
736 (grub_terminfo_setcursor): ... this.
737 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
738 * unicode/ArabicShaping.txt: New file (imported from Unicode).
739 * unicode/BidiMirroring.txt: Likewise.
740 * unicode/UnicodeData.txt: Likewise.
741 * unicode/COPYING: Likewise.
742 * util/grub-editenv.c (grub_putchar): Removed.
743 (grub_xputs_real): New function.
744 (grub_xputs): New variable.
745 * util/grub-fstest.c (grub_putchar): Removed.
746 (grub_xputs_real): New function.
747 (grub_xputs): New variable.
748 * util/grub-mkdevicemap.c (grub_putchar): Removed.
749 (grub_xputs_real): New function.
750 (grub_xputs): New variable.
751 * util/grub-probe.c (grub_putchar): Removed.
752 (grub_xputs_real): New function.
753 (grub_xputs): New variable.
754 * util/grub-script-check.c (grub_putchar): Removed.
755 (grub_xputs_real): New function.
756 (grub_xputs): New variable.
757 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
758 (grub_xputs_real): New function.
759 (grub_xputs): New variable.
760 * util/import_unicode.py: New file.
761 * util/grub-mkfont.c (ft_errmsgs): New array.
762 (grub_glyph_info): Make bitmap a pointer.
763 (file_formats): New type WIDTH_SPEC.
764 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
765 (options): Add width-spec.
766 (help): Likewise.
767 (add_char): Renamed to ...
768 (add_glyph): ... this.
769 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
770 (glyph_replace): New type.
771 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
772 (add_char): New function.
773 (add_subst): Likewise.
774 (process_cursive): Likewise.
775 (add_font): Handle GSUB.
776 (write_font_width_spec): New function.
777 (main): Sort glyphs.
778 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
779 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
780 * kern/term.c (grub_cls): Moved from here...
781 * normal/term.c (grub_cls): ... here.
782
783 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
784
785 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
786 suitable for using within the format argument of printf when
787 converting grub_size_t.
788 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
789 "x" to convert grub_size_t arguments.
790
791 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
794 too long captions.
795 (list_get_minimal_size): Take selection box into account.
796
797 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
800 NULL font.
801
802 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
803
804 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
805 devices when iterating over /dev/disk/by-id; they will be handled
806 later if appropriate, which they aren't always (e.g. LVM).
807
808 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
809
810 * include/grub/misc.h (grub_reboot): Declare as noreturn.
811 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
812 fails.
813 (grub_halt): Likewise.
814 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
815 reset-all fails.
816 (grub_halt): Don't return, even if all of shut-down, power-off, and
817 poweroff fail.
818
819 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
820
821 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
822 arguments, not three.
823
824 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
825
826 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
827 * util/grub.d/10_linux.in: Use it to check for LVM, so that
828 LVM-on-RAID is handled correctly.
829
830 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
831
832 * docs/grub.texi (Changes from GRUB Legacy): New section.
833 (Future): Fix typo.
834
835 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
836
837 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
838 grub.d/README accidentally ends up executable for one reason or
839 another. Ignore it.
840
841 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
844 (gpt_partition_map_iterate): Support non-512B sectors.
845
846 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * kern/efi/init.c (grub_efi_init): Disable watchdog.
849 Tested by: Seth Goldberg.
850
851 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
854 Properly align mbi.
855 Reported by: Seth Goldberg.
856
857 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * util/grub-mkrescue.in: Avoid module duplication.
860
861 2010-07-01 Sean Finney <seanius@seanius.net>
862
863 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
864
865 2010-07-01 Sean Finney <seanius@seanius.net>
866
867 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
868
869 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * disk/lvm.c (grub_lvm_checkvalue): New function.
872 (grub_lvm_check_flag): Likewise.
873
874 2010-07-01 Robert Millan <rmh@gnu.org>
875
876 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
877 Support 'p' as partition separator on kernel of FreeBSD (used
878 with GPT labels).
879 (grub_util_biosdisk_get_grub_dev): Likewise.
880
881 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Yeeloong firmware port.
884
885 * boot/mips/yeeloong/fwstart.S: New file.
886 * bus/cs5536.c (gpiodump): New const.
887 (set_io_space): New function.
888 (set_iod): Likewise.
889 (set_p2d): Likewise.
890 (grub_cs5536_init_geode): Likewise.
891 * commands/mips/yeeloong/lsspd.c: New file.
892 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
893 (serial_mod_SOURCES): New variable.
894 (serial_mod_CFLAGS): Likewise.
895 (serial_mod_LDFLAGS): Likewise.
896 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
897 term/terminfo.c and term/tparm.c.
898 (pkglib_IMAGES): Add fwstart.img.
899 (fwstart_img_SOURCES): New variable.
900 (fwstart_img_CFLAGS): Likewise.
901 (fwstart_img_ASFLAGS): Likewise.
902 (fwstart_img_LDFLAGS): Likewise.
903 (fwstart_img_FORMAT): Likewise.
904 (pkglib_MODULES): Add lsspd.mod.
905 (lsspd_mod_SOURCES): New variable.
906 (lsspd_mod_CFLAGS): Likewise.
907 (lsspd_mod_LDFLAGS): Likewise.
908 (pkglib_MODULES): Add halt.mod.
909 (halt_mod_SOURCES): New variable.
910 (halt_mod_CFLAGS): Likewise.
911 (halt_mod_LDFLAGS): Likewise.
912 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
913 (serial_mod_SOURCES): Removed.
914 (serial_mod_CFLAGS): Likewise.
915 (serial_mod_LDFLAGS): Likewise.
916 * disk/ata.c (check_device): New function.
917 (grub_ata_device_initialize): Use check_device.
918 (grub_ata_iterate): Recheck devices.
919 (grub_ata_open): Likewise.
920 (grub_atapi_iterate): Likewise.
921 (grub_atapi_open): Likewise.
922 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
923 (GRUB_ATA_CH1_PORT1): Likewise.
924 (GRUB_ATA_CH0_PORT2): Likewise.
925 (GRUB_ATA_CH1_PORT2): Likewise.
926 * include/grub/mips/loongson.h: New file.
927 * include/grub/mips/yeeloong/ec.h: Likewise.
928 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
929 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
930 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
931 * include/grub/misc.h (grub_halt): Declare as noreturn.
932 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
933 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
934 (UART_ENABLE_FIFO_TRIGGER1): New definition.
935 (UART_ENABLE_DTRRTS): Likewise.
936 (UART_ENABLE_MODEM): Removed.
937 (UART_ENABLE_OUT2): New const.
938 * include/grub/term.h (grub_term_register_input_active): New function.
939 (grub_term_register_output_active): Likewise.
940 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
941 argument.
942 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
943 (init_pci): New function.
944 (grub_machine_init): Execute platform init when firmware. Init serial.
945 (grub_halt): Implement.
946 (grub_exit): Likewise.
947 (grub_reboot): Likewise.
948 * term/serial.c (serial_hw_init): Update macros.
949 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
950 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
951 (image_targets): New target mipsel-yeeloong-flash.
952 (generate_image): Support IMAGE_YEELOONG_FLASH.
953 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
954 (grub_video_sm712_setup): Init card.
955 (grub_video_sm712_set_palette): Removed.
956 * video/sm712_init.c: New file.
957
958 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
959
960 * Makefile.in (install-local): Temporarily prepend $(builddir) to
961 PATH when running help2man and then run it on the unadorned
962 executable names, rather than passing $(builddir)/* paths to
963 help2man. This avoids the build directory ending up in generated
964 manual pages.
965
966 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
967
968 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
969 to avoid accidents when debugging with 'sh -x'.
970 * util/grub-mkrescue.in: Likewise.
971 * util/grub.d/00_header.in: Likewise.
972 * util/grub.d/10_hurd.in: Likewise.
973 * util/grub.d/10_kfreebsd.in: Likewise.
974 * util/grub.d/10_linux.in: Likewise.
975 * util/grub.d/10_netbsd.in: Likewise.
976 * util/grub.d/10_windows.in: Likewise.
977 * util/grub.d/20_linux_xen.in: Likewise.
978 * util/grub.d/30_os-prober.in: Likewise.
979 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
980
981 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
982
983 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
984 last character in the buffer.
985 Reported by: Vladimir Serbinenko.
986
987 2010-06-29 Robert Millan <rmh@gnu.org>
988
989 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
990 (Command-line and menu entry commands): Document `badram' command.
991
992 2010-06-28 Robert Millan <rmh@gnu.org>
993
994 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
995 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
996 command using ${GRUB_BADRAM} as parameter.
997
998 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
999
1000 * docs/grub.texi (Device map): New section.
1001 (Themes): New section (stub).
1002 * Makefile.in (docs/grub.info): The info documentation now builds
1003 without errors. Make sure it stays that way.
1004
1005 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 Use normal parser for menu entries.
1008 Reported by: Thomas Frauendorfer
1009
1010 * include/grub/parser.h (grub_parser_execute): Don't export.
1011 * normal/menu.c (grub_menu_execute_entry_real): New function.
1012 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1013
1014 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1015
1016 * docs/grub.texi (Embedded configuration): New section (replacing
1017 old "Preset Menu" stub).
1018 (Images): New section.
1019 (configfile): Note that any menu entries defined in `file' are shown
1020 immediately.
1021
1022 2010-06-28 Josh Triplett <josh@joshtriplett.org>
1023
1024 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1025
1026 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1027
1028 * util/grub-install.in: Add --debug-image= option.
1029
1030 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1031
1032 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1033 possible on Linux.
1034
1035 * util/deviceiter.c (check_device): Rename to ...
1036 (check_device_readable_unique): ... this. Update all callers.
1037 Maintain and check a list of which devices (by canonicalized name)
1038 have already been seen.
1039 (clear_seen_devices): New function.
1040 (compare_file_names) [__linux__]: New function.
1041 (grub_util_iterate_devices): Clear the list of seen devices on exit
1042 and (just in case) on entry.
1043 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1044 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1045 seen-devices list, superseded by general code in check_device.
1046
1047 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1048
1049 * commands/cat.c (options): New variable.
1050 (grub_cmd_cat): Parse options. If the --dos option is given, print
1051 DOS-style "\r\n" line endings as simple newlines (Debian bug
1052 #586358).
1053 (GRUB_MOD_INIT): Use extcmd.
1054 (GRUB_MOD_FINI): Likewise.
1055 * docs/grub.texi (cat): Document --dos.
1056
1057 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 XEN with Linux grub-mkconfig support.
1060
1061 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1062 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1063 GRUB_CMDLINE_XEN_DEFAULT.
1064 * util/grub.d/20_linux_xen.in: New file.
1065
1066 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 Initialise VGA video on qemu ourselves.
1069
1070 * boot/i386/qemu/boot.S: Don't call 0xc000.
1071 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1072 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1073 (kernel_img_HEADERS): Add pci.h.
1074 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1075 * configure.ac: Force unifont on qemu and yeeloong.
1076 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1077 (grub_vga_palette_write): Use correct register.
1078 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1079 Call grub_qemu_init_cirrus.
1080 * kern/i386/qemu/init.c: New file.
1081 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1082
1083 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1084
1085 2010-06-26 Pavel Roskin <proski@gnu.org>
1086
1087 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1088 13.
1089
1090 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1091
1092 * docs/grub.texi (Simple configuration): Explain that
1093 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1094 set to `true' to disable their respective recovery entries, not
1095 merely set.
1096
1097 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1098
1099 Make the `source' command slightly faster.
1100
1101 * normal/main.c (grub_normal_execute): Don't re-read list files when
1102 nested.
1103
1104 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1105
1106 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1107 field position and mask size to red fields from mode_info, not
1108 green.
1109 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1110 Remove redundant tag->common.framebuffer_type assignment.
1111 Reported by: Seth Goldberg.
1112
1113 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1114
1115 Sync up other versions of the Linux loader with Robert Millan's
1116 change of 2010-01-09, "Make loader output a bit more user-friendly".
1117
1118 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1119 grub_dprintf().
1120 (grub_cmd_linux): Likewise.
1121 (grub_cmd_initrd): Likewise.
1122 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1123 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1124
1125 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1126
1127 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1128 larger than MEMORY_MAP_SIZE.
1129
1130 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1131
1132 Fix parallel build.
1133
1134 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1135 dependency.
1136 * script/parser.y: #include grub_script.tab.h header.
1137
1138 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 Support >3GiB and <16MiB RAM in i386-qemu.
1141
1142 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1143 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1144 (grub_lower_mem): Removed.
1145 (grub_upper_mem): Likewise.
1146 (mem_size): Made static.
1147 (above_4g): New variable.
1148 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1149 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1150 support.
1151
1152 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Cirrus 5446 and Bochs video cards support.
1155
1156 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1157 video_bochs.mod
1158 (video_cirrus_mod_SOURCES): New variable.
1159 (video_cirrus_mod_CFLAGS): Likewise.
1160 (video_cirrus_mod_LDFLAGS): Likewise.
1161 (video_bochs_mod_SOURCES): Likewise.
1162 (video_bochs_mod_CFLAGS): Likewise.
1163 (video_bochs_mod_LDFLAGS): Likewise.
1164 * include/grub/vga.h: New file.
1165 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1166 (grub_video_fb_set_page_t): New type.
1167 (grub_video_fb_setup): New prototype.
1168 (grub_video_fb_swap_buffers): Likewise.
1169 (grub_video_fb_get_info_and_fini): Likewise.
1170 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1171 (CRTC_DATA_PORT): Likewise.
1172 (CRTC_CURSOR): Likewise.
1173 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1174 (CRTC_CURSOR_ADDR_LOW): Likewise.
1175 (CRTC_CURSOR_DISABLE): Likewise.
1176 (update_cursor): Use grub_vga_cr_write.
1177 (grub_vga_text_setcursor): Likewise.
1178 * video/bochs.c: New file.
1179 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1180 (palette): Likewise.
1181 (palette_size): Likewise.
1182 (framebuffer): New variable.
1183 (grub_video_fb_init): Use 'framebuffer'.
1184 (grub_video_fb_fini): Likewise.
1185 (grub_video_fb_get_info): Likewise.
1186 (grub_video_fb_get_palette): Likewise.
1187 (grub_video_fb_set_palette): Likewise.
1188 (grub_video_fb_set_viewport): Likewise.
1189 (grub_video_fb_get_viewport): Likewise.
1190 (grub_video_fb_map_color): Likewise.
1191 (grub_video_fb_map_rgb): Likewise.
1192 (grub_video_fb_map_rgba): Likewise.
1193 (grub_video_fb_unmap_color): Likewise.
1194 (grub_video_fb_unmap_color_int): Likewise.
1195 (grub_video_fb_fill_rect): Likewise.
1196 (grub_video_fb_blit_bitmap): Likewise.
1197 (grub_video_fb_blit_render_target): Likewise.
1198 (grub_video_fb_scroll): Likewise.
1199 (grub_video_fb_create_render_target): Likewise.
1200 (grub_video_fb_doublebuf_blit_init): Likewise.
1201 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1202 (doublebuf_pageflipping_update_screen): New function.
1203 (doublebuf_pageflipping_init): Likewise.
1204 (grub_video_fb_setup): Likewise.
1205 (grub_video_fb_swap_buffers): Likewise.
1206 (grub_video_fb_get_info_and_fini): Likewise.
1207 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1208 All users updated.
1209 (doublebuf_pageflipping_commit): Restructured into ...
1210 (doublebuf_pageflipping_set_page): ... this.
1211 (doublebuf_pageflipping_update_screen): Removed.
1212 (doublebuf_pageflipping_init): Likewise.
1213 (double_buffering_init): Likewise.
1214 (grub_video_vbe_setup): Use grub_video_fb_setup.
1215 (grub_video_vbe_swap_buffers): Removed.
1216 (grub_video_vbe_set_active_render_target): Likewise.
1217 (grub_video_vbe_get_active_render_target): Likewise.
1218 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1219 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1220 grub_video_fb_set_active_render_target and
1221 grub_video_fb_get_active_render_target.
1222 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1223 (SEQUENCER_DATA_PORT): Likewise.
1224 (MAP_MASK_REGISTER): Likewise.
1225 (CRTC_ADDR_PORT): Likewise.
1226 (CRTC_DATA_PORT): Likewise.
1227 (START_ADDR_HIGH_REGISTER): Likewise.
1228 (START_ADDR_LOW_REGISTER): Likewise.
1229 (GRAPHICS_ADDR_PORT): Likewise.
1230 (GRAPHICS_DATA_PORT): Likewise.
1231 (READ_MAP_REGISTER): Likewise.
1232 (INPUT_STATUS1_REGISTER): Likewise.
1233 (INPUT_STATUS1_VERTR_BIT): Likewise.
1234 (get_map_mask): Use grub_vga_sr_read.
1235 (set_map_mask): Use grub_vga_sr_write.
1236 (set_read_map): Use grub_vga_gr_write.
1237 (set_start_address): Use grub_vga_cr_write.
1238 * video/sm712.c (framebuffer): Remove leftover fields.
1239
1240 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1241
1242 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1243 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1244 instead. Replace the gfxterm backend check with a check that
1245 ${GRUB_PREFIX}/video.lst is non-empty.
1246 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1247 again.
1248 (load_video): New generated function. Call it before loading
1249 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1250 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1251 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1252 * docs/grub.texi (Simple configuration): Document
1253 GRUB_VIDEO_BACKEND.
1254
1255 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 Use video functions in linux and xnu loaders.
1258
1259 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1260 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1261 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1262 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1263 loader/i386/pc/linux.c.
1264 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1265 (find_line_len): Removed.
1266 (find_framebuf): Likewise.
1267 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1268 * loader/i386/efi/xnu.c: Removed.
1269 * loader/i386/pc/xnu.c: Moved from here...
1270 * loader/i386/xnu.c: ...here.
1271
1272 Enable priorities in video drivers.
1273
1274 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1275 (grub_video_adapter): New field prio.
1276 (grub_video_register): Respect prio when inserting.
1277 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1278 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1279 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1280 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1281 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1282 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1283 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1284
1285 Fix SDL driver ID.
1286
1287 * include/grub/video.h (grub_video_driver_id_t): New value
1288 GRUB_VIDEO_DRIVER_SDL.
1289 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1290
1291 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1292
1293 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1294 argument to printf.
1295 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1296
1297 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1298
1299 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1300 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1301
1302 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1303
1304 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1305 directly, and recommend grub-install instead.
1306 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1307
1308 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1309
1310 Fix i386-pc prefix handling with nested partitions (Debian bug
1311 #585068). Note that the case where the core image is booted using
1312 multiboot and relocated from its original location still requires
1313 more work.
1314
1315 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1316 with "(,", fill the boot drive in between those two characters, but
1317 expect that a full partition specification including partition map
1318 names will follow.
1319 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1320 specified, write a prefix without the drive name but including a
1321 full partition specification.
1322
1323 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1324
1325 * util/grub-mkconfig.in: Ignore non-option arguments, for
1326 compatibility with older versions (before 2010-06-12) which did the
1327 same. In particular, this makes it easier to ship an update-grub
1328 wrapper which is compatible with that used with GRUB Legacy (Debian
1329 bug #586056).
1330
1331 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1332
1333 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1334 for manual page generation.
1335
1336 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1337
1338 * po/POTFILES: Remove leftover commands/handler.c.
1339
1340 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1341
1342 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1343 left this script non-functional.
1344
1345 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1346
1347 * docs/man/grub-emu.h2m: New file.
1348
1349 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1350
1351 * docs/grub.texi (Commands): Document reduced command set in rescue
1352 mode.
1353 (cpuid): New section.
1354
1355 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1356
1357 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1358 new partition naming style.
1359 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1360
1361 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1362
1363 Add "-o grub.iso" like cmdline options support.
1364
1365 * util/grub-install.in: Improve cmdline option parsing.
1366 * util/grub-mkconfig.in: Likewise.
1367 * util/grub-mkrescue.in: Likewise.
1368 * util/grub-reboot.in: Likewise.
1369 * util/grub-set-default.in: Likewise.
1370 * util/i386/efi/grub-install.in: Likewise.
1371 * util/ieee1275/grub-install.in: Likewise.
1372 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1373
1374 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1375
1376 * .bzrignore: Ignore 41_custom.
1377
1378 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1379
1380 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1381
1382 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1383
1384 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1385 prototype declarations.
1386
1387 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1388 generating fs, partmap, and video lists.
1389 * include/grub/fs.h (grub_fs_register): Omit prototype if
1390 GRUB_LST_GENERATOR is defined.
1391 * include/grub/partition.h (grub_partition_map_register): Likewise.
1392 * include/grub/video.h (grub_video_register): Likewise.
1393
1394 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1395
1396 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1397
1398 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1399
1400 * util/grub-mkrescue.in: Support --xorriso argument.
1401
1402 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1405 Suggested by: Thomas Schmitt.
1406
1407 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1410 Suggested by: Thomas Schmitt.
1411
1412 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 custom.cfg support.
1415
1416 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1417 * util/grub.d/41_custom.in: New file.
1418
1419 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1420
1421 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1422 been merged back into normal.
1423
1424 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1425
1426 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1427 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1428
1429 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1430
1431 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1432 when generating manual pages.
1433 * docs/man/grub-bin2h.h2m: New file.
1434 * docs/man/grub-editenv.h2m: New file.
1435 * docs/man/grub-fstest.h2m: New file.
1436 * docs/man/grub-install.h2m: New file.
1437 * docs/man/grub-macho2img.h2m: New file.
1438 * docs/man/grub-mkconfig.h2m: New file.
1439 * docs/man/grub-mkdevicemap.h2m: New file.
1440 * docs/man/grub-mkfont.h2m: New file.
1441 * docs/man/grub-mkimage.h2m: New file.
1442 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1443 * docs/man/grub-mkrelpath.h2m: New file.
1444 * docs/man/grub-mkrescue.h2m: New file.
1445 * docs/man/grub-ofpathname.h2m: New file.
1446 * docs/man/grub-pe2elf.h2m: New file.
1447 * docs/man/grub-probe.h2m: New file.
1448 * docs/man/grub-reboot.h2m: New file.
1449 * docs/man/grub-script-check.h2m: New file.
1450 * docs/man/grub-set-default.h2m: New file.
1451 * docs/man/grub-setup.h2m: New file.
1452
1453 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Use FOR_* macros instead of *_iterate whenever possible.
1456
1457 * commands/handler.c: Removed.
1458 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1459 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1460 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1461 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1462 (grub_probe_SOURCES): Remove kern/parser.c.
1463 (util/grub-script-check.c_DEPENDENCIES): Removed.
1464 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1465 and grub_script_check_init.c.
1466 (grub_script_check_init.lst): Removed.
1467 (grub_script_check_init.h): Likewise.
1468 (grub_script_check_init.c): Likewise.
1469 (pkglib_MODULES): Remove handler.mod and sh.mod.
1470 (handler_mod_SOURCES): Removed.
1471 (handler_mod_CFLAGS): Likewise.
1472 (handler_mod_LDFLAGS): Likewise.
1473 (normal_mod_SOURCES): Remove normal/handler.c.
1474 Add script/main.c, script/script.c, script/execute.c,
1475 script/function.c, script/lexer.c, grub_script.tab.c
1476 and grub_script.yy.c.
1477 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1478 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1479 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1480 (grub_setup_SOURCES): Remove kern/parser.c.
1481 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1482 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1483 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1484 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1485 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1486 (grub_setup_SOURCES): Remove kern/parser.c.
1487 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1488 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1489 * include/grub/command.h (grub_command_iterate): Removed.
1490 (FOR_COMMANDS): New macro.
1491 * include/grub/dl.h (grub_dl): New member next.
1492 (grub_dl_iterate): Removed.
1493 (grub_dl_head): New variable declaration.
1494 (FOR_DL_MODULES): New macro.
1495 * include/grub/fs.h: Include list.h.
1496 (grub_fs): Make next first element.
1497 (grub_fs_list): New variable declaration.
1498 (grub_fs_register): Make inline.
1499 (grub_fs_unregister): Likewise.
1500 (grub_fs_iterate): Removed.
1501 (FOR_FILESYSTEMS): New macro.
1502 * include/grub/handler.h: Removed.
1503 * include/grub/list.h (grub_list_hook_t): Removed.
1504 (grub_list_test_t): Likewise.
1505 (grub_list_pop): Likewise.
1506 (grub_list_iterate): Likewise.
1507 (grub_list_insert): Likewise.
1508 (FOR_LIST_ELEMENTS): New macro.
1509 * include/grub/parser.h (grub_parser_class): Removed.
1510 (grub_parser_register): Likewise.
1511 (grub_parser_unregister): Likewise.
1512 (grub_parser_get_current): Likewise.
1513 (grub_parser_set_current): Likewise.
1514 (grub_register_rescue_parser): Likewise.
1515 (grub_rescue_parse_line): New function.
1516 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1517 * include/grub/script_sh.h (grub_script_function_list): New variable
1518 declaration.
1519 (FOR_SCRIPT_FUNCTIONS): New macro.
1520 (grub_script_function_iterate): Removed.
1521 (grub_normal_parse_line): New prototype.
1522 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1523 (FOR_DISABLED_TERM_INPUTS): Likewise.
1524 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1525 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1526 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1527 element.
1528 (grub_video_register): Inline.
1529 (grub_video_unregister): Likewise.
1530 (grub_video_adapter_list): New variable declaration.
1531 (grub_video_iterate): Removed.
1532 (FOR_VIDEO_ADAPTERS): New macro.
1533 * kern/dl.c (grub_dl_list): Removed. All users updated.
1534 (grub_dl_iterate): Removed.
1535 * kern/fs.c (grub_fs_list): Make global.
1536 (grub_fs_register): Removed.
1537 (grub_fs_unregister): Likewise.
1538 (grub_fs_iterate): Likewise.
1539 * kern/handler.c: Removed.
1540 * kern/list.c (grub_list_pop): Removed.
1541 (grub_list_iterate): Likewise.
1542 (grub_list_insert): Likewise.
1543 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1544 (grub_prio_list_insert): Don't use grub_list_insert.
1545 * kern/main.c (grub_register_rescue_parser): Don't call
1546 grub_register_rescue_parser.
1547 * kern/parser.c (grub_parser_class): Removed.
1548 (grub_parser_execute): Use grub_rescue_parse_line.
1549 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1550 (grub_rescue_parser): Removed.
1551 (grub_register_rescue_parser): Likewise.
1552 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1553 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1554 (grub_auth_check_authentication): Likewise.
1555 * normal/completion.c (iterate_command): Removed.
1556 (grub_normal_do_completion): Use FOR_COMMANDS.
1557 * normal/handler.c: Removed.
1558 * normal/main.c (read_config_file): Remove parser changing.
1559 (grub_normal_execute): Don't call read_handler_list.
1560 (grub_normal_read_line_real): Statically allocate prompt.
1561 (grub_cmdline_run): Use grub_normal_parse_line.
1562 (GRUB_MOD_FINI): Don't call free_handler_list.
1563 * normal/menu_entry.c (run): Likewise.
1564 * script/function.c (grub_script_function_list): Make global.
1565 (grub_script_function_iterate): Removed.
1566 * script/main.c (grub_normal_parse_line): Make global.
1567 (grub_sh_parser): Removed.
1568 (GRUB_MOD_INIT): Likewise.
1569 (GRUB_MOD_FINI): Likewise.
1570 * tests/lib/functional_test.c (grub_functional_test): Use
1571 FOR_LIST_ELEMENTS.
1572 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1573 (grub_test_run): Use FOR_LIST_ELEMENTS.
1574 * tests/lib/unit_test.c (main): Likewise.
1575 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1576 grub_list_pop.
1577 * util/grub-fstest.c (grub_term_input_class): Removed.
1578 (grub_term_output_class): Likewise.
1579 * util/grub-probe.c: Likewise.
1580 * util/i386/pc/grub-setup.c: Likewise.
1581 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1582 * util/grub-script-check.c (main): Don't call grub_init_all and
1583 grub_fini_all.
1584 * video/video.c (grub_video_adapter_list): Make global.
1585 (grub_video_register): Removed.
1586 (grub_video_unregister): Likewise.
1587 (grub_video_iterate): Likewise.
1588
1589 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1592 reported by Henrique Ferreiro.
1593
1594 2010-06-09 Robert Millan <rmh@gnu.org>
1595
1596 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1597 ones, when both are available.
1598
1599 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1600
1601 Make --version uniform and avoid hard-coded program name.
1602
1603 * util/grub-mkimage.c (main): Use `program_name' instead of
1604 hard-coded string.
1605 * util/i386/pc/grub-setup.c (main): Likewise.
1606 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1607 * util/grub-install.in: Save the basename of $0 in $self, and use the
1608 latter in informational messages. Use the same format for --version
1609 as the binary programs.
1610 * util/grub-mkconfig.in: Likewise.
1611 * util/grub-mkrescue.in: Likewise.
1612 * util/grub-reboot.in: Likewise.
1613 * util/grub-set-default.in: Likewise.
1614 * util/i386/efi/grub-install.in: Likewise.
1615 * util/ieee1275/grub-install.in: Likewise.
1616 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1617
1618 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1619
1620 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1621 embedding area. Use <= instead of == when checking for non-emptiness.
1622
1623 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1624
1625 * configure.ac: Add `.' to the directories searched for unifont.
1626
1627 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1628
1629 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1630 grub_script.yy.h.
1631
1632 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1633
1634 * docs/grub.texi (History): Expand to cover GRUB 2.
1635 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1636 commands, not `terminal'.
1637 (serial): Likewise.
1638 (terminal_input): New section.
1639 (terminal_output): New section.
1640 (uppermem): New section (stub).
1641 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1642
1643 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1644
1645 * docs/grub.texi (Security): Menu entries are unrestricted by
1646 default, not restricted to superusers as I had previously thought.
1647 Reword to account for this.
1648
1649 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1650
1651 * kern/emu/misc.c (device_mapper_null_log): New function.
1652 (grub_device_mapper_supported): New function.
1653 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1654 prototype.
1655 * kern/emu/hostdisk.c (find_partition_start): Check whether
1656 device-mapper is supported before trying to use it.
1657 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1658
1659 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1660
1661 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1662 (File name syntax): Likewise.
1663 (help): --all is no longer supported in GRUB 2. Be more precise
1664 about pattern matching.
1665
1666 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1667
1668 * normal/completion.c (grub_normal_do_completion): When completing
1669 arguments to "set" and the current word contains an equals sign,
1670 skip to after the equals sign before starting completion.
1671
1672 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1673
1674 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1675
1676 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1677
1678 * docs/grub.texi (Network): New section.
1679 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1680 `(nd)' as in GRUB Legacy.
1681 (pxe_unload): New section.
1682
1683 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1684
1685 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1686 in the rescue shell, so recommend using `set' instead. Thanks,
1687 Jordan Uggla.
1688
1689 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1690
1691 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1692 (password): New section.
1693 (password_pbkdf2): New section.
1694 (search): New section.
1695 (Security): New section.
1696 (Troubleshooting): New section, currently very incomplete.
1697 (Invoking grub-mkpasswd-pbkdf2): New section.
1698 (Internals): New section, currently very incomplete.
1699
1700 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1701
1702 * util/grub.d/00_header.in: Add some more quoting (of
1703 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1704 work again.
1705 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1706
1707 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1708
1709 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1710 to `count', fixing variable shadowing that broke the -c option.
1711
1712 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1713
1714 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1715 in case they contain spaces.
1716
1717 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1718
1719 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1720 "part_" to partmap module names, in line with grub-install.
1721 Reported by: Jindřich Makovička (Debian bug #584426).
1722
1723 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1724
1725 * util/grub-mkimage.c: Make target-related error messages slightly
1726 more helpful; -O talks about "format". Explicitly point to the use
1727 of -O if no target is specified.
1728 Reported by: Didier Raboud (Debian bug #584415).
1729
1730 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1731
1732 * INSTALL: Document several build requirements for optional features
1733 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1734
1735 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1736
1737 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1738 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1739 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1740
1741 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1742
1743 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1744 Thanks to Jordan Uggla for spotting this.
1745
1746 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1747
1748 Finally make USB usable.
1749
1750 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1751 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1752 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1753 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1754 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1755 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1756 (GRUB_OHCI_FSMPS): Likewise.
1757 (GRUB_OHCI_PERIODIC_START): Likewise.
1758 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1759 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1760 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1761 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1762 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1763 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1764 (grub_ohci_transaction): Likewise.
1765 (grub_ohci_transfer): Improve condition detection algorithms.
1766 Handle toggle property. Program the transactions correctly.
1767 Improve error handling. Various important fixups.
1768 (grub_ohci_portstatus): Put register writes in right order.
1769 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1770 (grub_uhci_transfer): Don't show "failed" message on success.
1771 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1772 array.
1773 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1774 determine its size.
1775 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1776 before initialization is completed. Use IN direction for empty
1777 transfers. Use last_trans and compute toggle.
1778 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1779 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1780 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1781 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1782 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1783 (grub_usb_device): Increase toggle to 256.
1784 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1785 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1786 GRUB_USBMS_SUBCLASS_SFF8070.
1787 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1788 (grub_scsi_inquiry): New member page and alloc_length.
1789 (grub_scsi_request_sense): New structure.
1790 (grub_scsi_request_sense_data): Likewise.
1791 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1792 control.
1793 * disk/scsi.c (grub_scsi_request_sense): New function.
1794 (grub_scsi_test_unit_ready): Likewise.
1795 (grub_scsi_inquiry): Fill new fields.
1796 (grub_scsi_read_capacity): Likewise.
1797 (grub_scsi_read10): Add request sense at the end.
1798 (grub_scsi_read12): Likewise.
1799 (grub_scsi_write10): Likewise.
1800 (grub_scsi_write12): Likewise.
1801 (grub_scsi_open): Add Test Unit Ready.
1802 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1803 Support additional subclasses. Con't clear halt yet. Activate the
1804 proper config. Calculate LUNs correctly.
1805 (grub_usbms_transfer): Various important fixups.
1806
1807 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1810 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1811 (grub_ohci_fini_hw): New function.
1812 (grub_ohci_restore_hw): Likewise.
1813 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1814 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1815 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1816
1817 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 Dedicated DMA allocations.
1820
1821 * bus/pci.c (grub_memalign_dma32): New function
1822 (grub_dma_free): Likewise.
1823 (grub_dma_get_virt): Likewise.
1824 (grub_dma_get_phys): Likewise.
1825 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1826 (grub_ohci_pci_iter): Use dma32_alloc.
1827 (grub_ohci_transfer): Likewise.
1828 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1829 (grub_usb_bulk_readwrite): Likewise.
1830 * include/grub/pci.h: Add declarations.
1831
1832 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 CS5536 support.
1835
1836 * bus/cs5536.c: New file.
1837 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1838 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1839 (cs5536_mod_SOURCES): New variable.
1840 (cs5536_mod_CFLAGS): Likewise.
1841 (cs5536_mod_LDFLAGS): Likewise.
1842 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1843 machine/pci.h.
1844 (kernel_img_SOURCES): Add bus/cs5536.c.
1845 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1846 usb_keyboard.mod.
1847 (usb_mod_SOURCES): New variable.
1848 (usb_mod_CFLAGS): New variable.
1849 (usb_mod_LDFLAGS): New variable.
1850 (usbtest_mod_SOURCES): New variable.
1851 (usbtest_mod_CFLAGS): New variable.
1852 (usbtest_mod_LDFLAGS): New variable.
1853 (ohci_mod_SOURCES): New variable.
1854 (ohci_mod_CFLAGS): New variable.
1855 (ohci_mod_LDFLAGS): New variable.
1856 (usbms_mod_SOURCES): New variable.
1857 (usbms_mod_CFLAGS): New variable.
1858 (usbms_mod_LDFLAGS): New variable.
1859 (usb_keyboard_mod_SOURCES): New variable.
1860 (usb_keyboard_mod_CFLAGS): New variable.
1861 (usb_keyboard_mod_LDFLAGS): New variable.
1862 * include/grub/smbus.h: New file.
1863 * include/grub/cs5536.h: New file.
1864
1865 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1866
1867 * util/grub.d/00_header.in: Add safety check to make sure that
1868 ${locale_dir} exists before trying to probe it.
1869
1870 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1871
1872 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1873 per the GNU Coding Standards; this is now too obscure to be worth
1874 documenting.
1875 (QNX): Likewise.
1876 (chainloader): Remove cross-reference to `SCO UnixWare'.
1877
1878 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1879
1880 * docs/grub.texi (Chain-loading): New section.
1881 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1882 adjusted for GRUB 2.
1883 (SCO UnixWare): Likewise.
1884 (QNX): Likewise.
1885 (chainloader): Add reference to `Block list syntax'.
1886 (drivemap): New section.
1887 (parttool): New section.
1888
1889 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1890
1891 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1892 the grub shell'.
1893 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1894 (Installing GRUB using grub-install): Remove reference to the grub
1895 shell; mention `grub-mkimage' and `grub-setup' instead.
1896 (Invoking grub-install): Likewise.
1897 (Interface): Add reference to `Menu entry editor'.
1898 (serial): Remove `--device' option.
1899
1900 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1901
1902 * docs/grub.texi (Configuration): New section, documenting
1903 configuration file generation using grub-mkconfig. I've left a slot
1904 for documenting the full shell scripting format but have not yet
1905 started on writing that up.
1906 (Invoking grub-mkconfig): New section.
1907
1908 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1909
1910 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1911 (GNU GRUB manual): Likewise.
1912 (General commands): Update description of `terminfo' for GRUB 2.
1913
1914 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1915
1916 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1917 (GRUB_MOD_INIT): Fix capitalisation.
1918 * docs/grub.texi (Command-line and menu entry commands): Document
1919 gettext and gptsync commands.
1920
1921 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1922
1923 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1924 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1925
1926 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1927
1928 Add btrfs probing support, currently only in the single-device case.
1929
1930 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1931 function.
1932 (grub_guess_root_device): Call find_root_device_from_mountinfo
1933 before looking in /dev.
1934
1935 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1938 GRUB_DISK_SIZE_UNKNOWN.
1939 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1940
1941 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1942
1943 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1944 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1945 corrupted or not synced properly.
1946
1947 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1950 Reported by: Seth Goldberg.
1951
1952 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1955 addition of dest.
1956 Reported by: Seth Goldberg.
1957
1958 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1961 Reported by: Seth Goldberg.
1962
1963 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1966 64-bit address as signed on MIPS.
1967
1968 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1969
1970 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1971 to the empty string.
1972
1973 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1974
1975 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1976
1977 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1978 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1979 * kern/misc.c (__enable_execute_stack): Disable on
1980 GRUB_MACHINE_EMU.
1981
1982 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1983
1984 Make grub-probe work with symbolic links under /dev/mapper as well
1985 as with real block devices. The Linux world seems to be (at best)
1986 in transition here, and GRUB shouldn't get caught in the middle.
1987
1988 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1989 /dev/mapper.
1990
1991 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1992
1993 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1994 input files (in which case exit zero).
1995
1996 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1997
1998 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1999 return NULL for various reasons even if it has a maximum-length
2000 buffer: for example, there might be a symlink loop, or the path
2001 might exceed PATH_MAX. If this happens, return NULL.
2002
2003 2010-05-27 Robert Millan <rmh@gnu.org>
2004
2005 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2006 partmap module to handle cross-partmap setups.
2007 Reported by Orestes Mas. Gràcies!
2008
2009 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2010
2011 * util/grub-mkrescue.in: Initialise override_dir rather than
2012 assuming that it's unset or empty in the environment.
2013
2014 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2015
2016 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2017 variable index into p_index to suppress a warning with -Wshadow.
2018
2019 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2020
2021 * INSTALL: Added flex >= 2.5.35 requirement.
2022
2023 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2026
2027 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 cmostest support.
2030
2031 * commands/i386/cmostest.c: New file.
2032 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2033 (cmostest_mod_SOURCES): New variable.
2034 (cmostest_mod_CFLAGS): Likewise.
2035 (cmostest_mod_LDFLAGS): Likewise.
2036 * conf/i386-pc.rmk: Likewise.
2037 * docs/grub.texi (Vendor power-on keys): New section.
2038 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2039 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2040 and GRUB_BUTTON_CMOS_ADDRESS.
2041 * util/grub.d/00_header.in: Handle powering-on by separate button.
2042
2043 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2046 Removed drawing_scrollbar argument. All users updated
2047 Fixes #29792.
2048 Reported by Jo Shields
2049
2050 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2053 buffer since gfxterm handles double repaint.
2054
2055 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2058 * term/gfxterm.c (real_scroll): Likewise.
2059
2060 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2063 before calling BIOS.
2064
2065 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * include/grub/i18n.h: Always enable grub_gettext.
2068
2069 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2072 partition naming style.
2073
2074 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
2075
2076 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2077 not the first option.
2078
2079 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2080
2081 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2082
2083 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2084
2085 * util/misc.c: Move inclusion of <limits.h> to ...
2086 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2087
2088 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2089
2090 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2091 Fix merge error in NetBSD code.
2092 (find_partition_start) [__NetBSD__]: Likewise.
2093
2094 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2095
2096 Fix grub-mkrescue usage unit testing.
2097
2098 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2099
2100 2010-05-18 Christian Franke <franke@computer.org>
2101
2102 * util/grub.d/10_windows.in: Use path names instead of
2103 drive letters to prevent warning from Cygwin 1.7.
2104 Add drivemap command to menuentry if needed.
2105
2106 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2107
2108 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2109 gnumach and gnumach.gz.
2110
2111 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * include/grub/i18n.h (gettext): Inline instead of using #define.
2114 (grub_gettext): Likewise.
2115 (_): Likewise.
2116
2117 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2120 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2121 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2122 (main): Add a slash after pkglibdirroot.
2123
2124 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * util/grub-install.in: Add missing "in" keyword.
2127
2128 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2131 Reported by: Seth Goldberg.
2132
2133 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2136
2137 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2138
2139 * configure.ac: Check for Linux device-mapper support.
2140
2141 * util/hostdisk.c (device_is_mapped): New function.
2142 (find_partition_start): New function, partly broken out from
2143 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2144 device-mapper support added.
2145 (linux_find_partition): Use find_partition_start.
2146 (convert_system_partition_to_system_disk): Add `st' argument.
2147 Support Linux /dev/mapper/* devices if device-mapper support is
2148 available; only DM-RAID devices are understood at present.
2149 (find_system_device): Add `st' argument. Pass it to
2150 convert_system_partition_to_system_disk.
2151 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2152 find_system_device and convert_system_partition_to_system_disk. Use
2153 find_partition_start.
2154
2155 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2156 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2157 * util/deviceiter.c [__linux__]: Define MINOR.
2158 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2159 * util/mkdevicemap.c (grub_putchar): New function.
2160 (grub_getkey): New function.
2161 (grub_refresh): New function.
2162 (main): Set debug=all if -v -v is used.
2163
2164 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2165
2166 Fix build with non-GNU libcs.
2167
2168 * util/misc.c (canonicalize_file_name): Move to ...
2169 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2170 grub_make_system_path_relative_to_its_root.
2171
2172 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2173
2174 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2175 we handle finding grub-mkimage. Default to finding grub-mkimage in
2176 ${bindir} with program_transform_name applied, and provide a
2177 --grub-mkimage option to override this.
2178
2179 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Remove grub-mkisofs.
2182
2183 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2184 (grub_mkisofs_SOURCES): Removed.
2185 (grub_mkisofs_CFLAGS): Removed.
2186 * util/mkisofs/defaults.h: Removed.
2187 * util/mkisofs/eltorito.c: Likewise.
2188 * util/mkisofs/exclude.h: Likewise.
2189 * util/mkisofs/hash.c: Likewise.
2190 * util/mkisofs/include/: Likewise.
2191 * util/mkisofs/include/fctldefs.h: Likewise.
2192 * util/mkisofs/include/mconfig.h: Likewise.
2193 * util/mkisofs/include/prototyp.h: Likewise.
2194 * util/mkisofs/include/statdefs.h: Likewise.
2195 * util/mkisofs/iso9660.h: Likewise.
2196 * util/mkisofs/joliet.c: Likewise.
2197 * util/mkisofs/match.c: Likewise.
2198 * util/mkisofs/match.h: Likewise.
2199 * util/mkisofs/mkisofs.c: Likewise.
2200 * util/mkisofs/mkisofs.h: Likewise.
2201 * util/mkisofs/msdos_partition.h: Likewise.
2202 * util/mkisofs/multi.c: Likewise.
2203 * util/mkisofs/name.c: Likewise.
2204 * util/mkisofs/rock.c: Likewise.
2205 * util/mkisofs/tree.c: Likewise.
2206 * util/mkisofs/write.c: Likewise.
2207
2208 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Unify grub-mkimage accross platforms.
2211
2212 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2213 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2214 (grub_mkelfimage_SOURCES): Removed.
2215 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2216 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2217 (bin_UTILITIES): Add grub-mkimage.
2218 (grub_mkimage_SOURCES): New variable.
2219 (kernel_img_HEADERS): Remove machine/kernel.h.
2220 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2221 (pkglib_PROGRAMS): Add kernel.img.
2222 (kernel_img_HEADERS): Add machine/kernel.h.
2223 (kernel_img_FORMAT): Removed.
2224 (bin_UTILITIES): Remove grub-mkimage.
2225 (grub_mkimage_SOURCES): Removed.
2226 (grub_mkimage_CFLAGS): Likewise.
2227 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2228 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2229 (pkglib_PROGRAMS): Add kernel.img.
2230 (bin_UTILITIES): Remove grub-mkimage.
2231 (grub_mkimage_SOURCES): Removed.
2232 (grub_mkimage_CFLAGS): Likewise.
2233 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2234 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2235 (pkglib_PROGRAMS): Add kernel.img.
2236 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2237 (pkglib_PROGRAMS): Add kernel.img.
2238 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2239 (grub_mkimage_SOURCES): Removed.
2240 (grub_mkimage_CFLAGS): Likewise.
2241 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2242 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2243 (pkglib_PROGRAMS): Add kernel.img.
2244 (bin_UTILITIES): Remove grub-mkimage.
2245 (grub_mkimage_SOURCES): Removed.
2246 (grub_mkimage_CFLAGS): Likewise.
2247 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2248 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2249 (grub_mkimage_SOURCES): Removed.
2250 (grub_mkimage_CFLAGS): Likewise.
2251 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2252 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2253 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2254 (grub_pe32_optional_header): ... this.
2255 (grub_pe64_optional_header): ... and this. All users updated.
2256 (GRUB_PE32_PE32_MAGIC): Split into ..
2257 (GRUB_PE32_PE32_MAGIC): .. this.
2258 (GRUB_PE32_PE64_MAGIC): .. and this.
2259 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2260 * include/grub/elf.h (PT_GNU_STACK): New definition.
2261 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2262 * include/grub/i386/efi/kernel.h: Likewise.
2263 * include/grub/i386/kernel.h: Likewise.
2264 * include/grub/i386/pc/kernel.h: Likewise.
2265 * include/grub/i386/qemu/boot.h: Likewise.
2266 * include/grub/mips/kernel.h: Likewise.
2267 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2268 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2269 * include/grub/powerpc/kernel.h: Likewise.
2270 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2271 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2272 * include/grub/sparc64/kernel.h: Likewise.
2273 * include/grub/x86_64/efi/kernel.h: Likewise.
2274 * include/grub/x86_64/kernel.h: Likewise.
2275 * include/grub/offsets.h: New file.
2276 * include/grub/kernel.h (grub_module_info): Split into ...
2277 (grub_module_info32): ... this.
2278 (grub_module_info64): ... and this.
2279 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2280 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2281 (grub_boot_blocklist): Moved from here ...
2282 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2283 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2284 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2285 * include/grub/types.h (grub_target_to_host16): Removed.
2286 (grub_target_to_host32): Likewise.
2287 (grub_target_to_host64): Likewise.
2288 (grub_host_to_target16): Likewise.
2289 (grub_host_to_target32): Likewise.
2290 (grub_host_to_target64): Likewise.
2291 (grub_host_to_target_addr): Likewise.
2292
2293 Support grub-mkrescue for efi, coreboot and qemu.
2294
2295 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2296 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2297 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2298 * util/grub-mkrawimage.c: Moved from here ...
2299 * util/grub-mkimage.c: ... here. All users updated.
2300 (ALIGN_ADDR): Use image_target.
2301 (TARGET_NO_FIELD): New const.
2302 (image_target_desc): New type.
2303 (image_targets): New array.
2304 (grub_target_to_host64): Use image_target.
2305 (grub_target_to_host32): Likewise.
2306 (grub_target_to_host16): Likewise.
2307 (grub_host_to_target64): Likewise.
2308 (grub_host_to_target32): Likewise.
2309 (grub_host_to_target16): Likewise.
2310 (grub_host_to_target_addr): Likewise.
2311 (generate_image): Handle multiimage.
2312 (main): Require -O parameter. All users updated.
2313 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2314 util/efi/grub-mkimage.c
2315 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2316 New option --rom-directory.
2317 Use xorriso.
2318 * util/i386/efi/grub-mkimage.c: Removed.
2319 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2320 (grub_target_to_host32): Likewise.
2321 (grub_target_to_host64): Likewise.
2322 (grub_host_to_target16): Likewise.
2323 (grub_host_to_target32): Likewise.
2324 (grub_host_to_target64): Likewise.
2325 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2326 (grub_target_to_host32): Likewise.
2327 (grub_target_to_host64): Likewise.
2328 (grub_host_to_target16): Likewise.
2329 (grub_host_to_target32): Likewise.
2330 (grub_host_to_target64): Likewise.
2331
2332 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2333
2334 Source tree is reorganized for emu build.
2335
2336 * include/grub/util/console.h: Move from here...
2337 * include/grub/emu/console.h: ...to here.
2338 * include/grub/util/getroot.h: Move from here...
2339 * include/grub/emu/getroot.h: ...to here.
2340 * include/grub/util/hostdisk.h: Move from here...
2341 * include/grub/emu/hostdisk.h: ...to here.
2342 * util/console.c: Move from here...
2343 * kern/emu/console.c: ...to here.
2344 * util/getroot.c: Move from here...
2345 * kern/emu/getroot.c: ...to here.
2346 * util/grub-emu.c: Move from here...
2347 * kern/emu/main.c: ...to here.
2348 * util/hostdisk.c: Move from here...
2349 * kern/emu/hostdisk.c: ...to here.
2350 * util/hostfs.c: Move from here...
2351 * kern/emu/hostfs.c: ...to here.
2352 * util/mm.c: Move from here...
2353 * kern/emu/mm.c: ...to here.
2354 * util/pci.c: Move from here...
2355 * bus/emu/pci.c: ...to here.
2356 * util/sdl.c: Move from here...
2357 * video/emu/sdl.c: ...to here.
2358 * util/time.c: Move from here...
2359 * kern/emu/time.c: ...to here.
2360 * util/usb.c: Move from here...
2361 * bus/usb/emu/usb.c: ...to here.
2362
2363 * include/grub/emu/misc.h: New header for grub-emu functions.
2364 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2365
2366 * conf/any-emu.rmk: Rule updates for above renames.
2367 * conf/common.rmk: Likewise.
2368 * conf/i386-pc.rmk: Likewise.
2369 * conf/i386-qemu.rmk: Likewise.
2370 * conf/mips.rmk: Likewise.
2371 * conf/sparc64-ieee1275.rmk: Likewise.
2372 * conf/x86-efi.rmk: Likewise.
2373
2374 * disk/lvm.h: #include updates for above renames.
2375 * util/grub-mkrelpath.c: Likewise.
2376 * util/grub-probe.c: Likewise.
2377 * util/i386/pc/grub-setup.c: Likewise.
2378 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2379 * kern/emu/console.c: Likewise.
2380 * kern/emu/getroot.c: Likewise.
2381 * kern/emu/hostdisk.c: Likewise.
2382 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2383
2384 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2385 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2386 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2387 * util/misc.c: Remove grub-emu functions.
2388
2389 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Fix gfxmenu crash.
2392 Reported by: Thorsten Grützmacher.
2393
2394 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2395 timeout hook.
2396 (circprog_set_property): Register and unregister timeout hook.
2397 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2398 (label_destroy): Free template. and unregister hook.
2399 (label_set_state): New function.
2400 (label_set_property): Handle templates and hooks.
2401 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2402 timeout hook.
2403 (progress_bar_set_property): Register and unregister timeout hook.
2404 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2405 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2406 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2407 (update_timeout_visit): Removed.
2408 (update_timeouts): New function.
2409 (redraw_timeouts): Likewise.
2410 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2411 (grub_gfxmenu_clear_timeout): Likewise.
2412 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2413 (grub_gfxmenu_timeout_notify): Likewise.
2414 (grub_gfxmenu_timeout_notifications): New external variable.
2415 (grub_gfxmenu_timeout_register): New function.
2416 (grub_gfxmenu_timeout_unregister): Likewise.
2417
2418 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Transform (broken) vga terminal into (working) vga video driver.
2421
2422 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2423 video/i386/pc/vga.c.
2424 * include/grub/video.h (grub_video_driver_id):
2425 Add GRUB_VIDEO_DRIVER_VGA.
2426 * term/i386/pc/vga.c: Renamed to ...
2427 * video/i386/pc/vga.c: ...this
2428 (DEBUG_VGA): Removed.
2429 (CHAR_WIDTH): Likewise.
2430 (CHAR_HEIGHT): Likewise.
2431 (TEXT_WIDTH): Likewise.
2432 (TEXT_HEIGHT): Likewise.
2433 (DEFAULT_FG_COLOR): Likewise.
2434 (DEFAULT_BG_COLOR): Likewise.
2435 (colored_char): Likewise.
2436 (xpos): Likewise.
2437 (ypos): Likewise.
2438 (cursor_state): Likewise.
2439 (fg_color): Likewise.
2440 (bg_color): Likewise.
2441 (text_buf): Likewise.
2442 (page): Likewise.
2443 (font): Likewise.
2444 (framebuffer): New variable.
2445 (set_read_map): Disabled.
2446 (setup): New variable.
2447 (is_target): Likewise.
2448 (grub_vga_mod_init): Likewise.
2449 (grub_vga_mod_fini): Likewise.
2450 (check_vga_mem): Likewise.
2451 (write_char): Likewise.
2452 (write_cursor): Likewise.
2453 (scroll_up): Likewise.
2454 (grub_vga_putchar): Likewise.
2455 (grub_vga_getcharwidth): Likewise.
2456 (grub_vga_getwh): Likewise.
2457 (grub_vga_getxy): Likewise.
2458 (grub_vga_gotoxy): Likewise.
2459 (grub_vga_cls): Likewise.
2460 (grub_vga_setcolorstate): Likewise.
2461 (grub_vga_setcursor): Likewise.
2462 (grub_video_vga_init): New function.
2463 (grub_video_vga_setup): Likewise.
2464 (grub_video_vga_fini): Likewise.
2465 (update_target): Likewise.
2466 (grub_video_vga_blit_bitmap): Likewise.
2467 (grub_video_vga_blit_render_target): Likewise.
2468 (grub_video_vga_set_active_render_target): Likewise.
2469 (grub_video_vga_get_active_render_target): Likewise.
2470 (grub_video_vga_swap_buffers): Likewise.
2471 (grub_video_vga_set_palette): Likewise.
2472 (grub_video_vga_get_info_and_fini): Likewise.
2473 (grub_vga_term): Removed.
2474 (grub_video_vga_adapter): New variable.
2475 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2476 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2477
2478 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * video/readers/jpeg.c: Indented.
2481
2482 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Various jpeg cleanups.
2485
2486 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2487 (grub_jpeg_decode_quan_table): Use sizeof.
2488 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2489
2490 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2491
2492 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2493 tables. Ignore non-last ac bit.
2494 (grub_jpeg_decode_quan_table): Likewise.
2495
2496 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2499 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2500 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2501 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2502 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2503 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2504
2505 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2508 error.
2509
2510 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2513
2514 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2517 condition.
2518
2519 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2522 part.
2523
2524 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2527 pointers.
2528
2529 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2532
2533 2010-05-01 Christian Franke <franke@computer.org>
2534
2535 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2536 Remove broken Cygwin path conversion.
2537 * util/misc.c: [__CYGWIN__] Add include and define.
2538 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2539 for Cygwin 1.7.
2540 (make_system_path_relative_to_its_root): Simplify loop, replace early
2541 return by break.
2542 [__CYGWIN__] Add conversion to win32 path.
2543 Include "/" case in trailing slash removal.
2544
2545 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2548 Reported by: Seth Goldberg
2549
2550 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * commands/help.c (grub_cmd_help): Fix a typo.
2553 Reported by: Seth Goldberg
2554
2555 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2558 name and add N_.
2559 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2560 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2561 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2562 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2563 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2564 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2565 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2566 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2567 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2568 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2569 * normal/context.c (GRUB_MOD_INIT): Likewise.
2570 * normal/main.c (GRUB_MOD_INIT): Likewise.
2571 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2572 * term/serial.c (GRUB_MOD_INIT): Likewise.
2573 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2574
2575 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2578 extra == 0.
2579
2580 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * commands/iorw.c: New file.
2583 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2584 (iorw_mod_SOURCES): New variable.
2585 (iorw_mod_CFLAGS): Likewise.
2586 (iorw_mod_LDFLAGS): Likewise.
2587
2588 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Hotkey support
2591
2592 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2593 * normal/main.c (hotkey_aliases): New variable.
2594 (grub_normal_add_menu_entry): Parse "--hotkey".
2595 * normal/menu_text.c (run_menu): Handle hotkeys.
2596
2597 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * kern/i386/coreboot/init.c (grub_machine_init): Call
2600 grub_machine_mmap_init on qemu.
2601
2602 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * boot/i386/qemu/boot.S: Add a missing .code16.
2605
2606 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 Use LBIO on coreboot.
2609
2610 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2611 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2612 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2613 New declaration.
2614 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2615 grub_machine_mmap_init on coreboot.
2616 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2617 GRUB_LINUXBIOS_MEMBER_LINK.
2618 (grub_machine_mmap_iterate): Fix declaration.
2619 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2620
2621 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Split coreboot and multiboot ports.
2624
2625 * conf/i386-multiboot.rmk: New file.
2626 * configure.ac: Add multiboot port.
2627 * include/grub/i386/multiboot/boot.h: New file.
2628 * include/grub/i386/multiboot/console.h: Likewise.
2629 * include/grub/i386/multiboot/init.h: Likewise.
2630 * include/grub/i386/multiboot/kernel.h: Likewise.
2631 * include/grub/i386/multiboot/loader.h: Likewise.
2632 * include/grub/i386/multiboot/memory.h: Likewise.
2633 * include/grub/i386/multiboot/serial.h: Likewise.
2634 * include/grub/i386/multiboot/time.h: Likewise.
2635 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2636 * loader/multiboot.c: Likewise.
2637 * loader/multiboot_mbi2.c: Likewise.
2638 * util/grub-mkrescue.in: Generate multiboot rescue.
2639
2640 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2643
2644 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 Merge handling of input and output terminals. Fix a hang.
2647
2648 * commands/terminal.c (abstract_terminal): New struct.
2649 (handle_command): New function. Based on grub_cmd_terminal_input.
2650 (grub_cmd_terminal_input): Use handle_command.
2651 (grub_cmd_terminal_output): Use handle_command.
2652
2653 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2654
2655 Fix comment handling.
2656
2657 * tests/grub_script_comments.in: New testcase.
2658 * conf/tests.rmk: Rules for new testcase.
2659 * script/yylex.l: Updated flex rules.
2660
2661 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2662
2663 * docs/grub.texi (play): Document that zero pitches produce rests.
2664 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2665 if argc is 1.
2666
2667 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2670 autogen issues.
2671
2672 2010-04-26 Christian Franke <franke@computer.org>
2673
2674 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2675 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2676 (grub_get_prefix): Remove function.
2677 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2678 make_system_path_relative_to_its_root ().
2679 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2680
2681 2010-04-24 Christian Franke <franke@computer.org>
2682
2683 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2684 (kernel_img_LDFLAGS): Remove -static-libgcc.
2685
2686 2010-04-24 Christian Franke <franke@computer.org>
2687
2688 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2689 and CHECK_END_SYMBOL if grub-emu is built.
2690 Unset TARGET_OBJ2ELF if grub-emu is built
2691 without module support.
2692
2693 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2694
2695 Nilfs2 support.
2696
2697 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2698 (grub_fstest_SOURCES): Likewise.
2699 (pkglib_MODULES): Add nilfs2.mod.
2700 (nilfs2_mod_SOURCES): New variable.
2701 (nilfs2_mod_CFLAGS): Likewise.
2702 (nilfs2_mod_LDFLAGS): Likewise.
2703 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2704 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2705 * fs/nilfs2.c: New file.
2706
2707 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2710 is not supported.
2711
2712 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2713
2714 Add grub-mkconfig support for NetBSD.
2715
2716 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2717 * util/grub-mkconfig.in: export new NetBSD specific variables.
2718 * po/POTFILES-shell: added 10_netbsd.in.
2719 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2720
2721 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2722
2723 Fix emu build with grub-emu-pci and grub-emu-modules.
2724
2725 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2726 functions.
2727 * include/grub/libpciaccess.h: New file.
2728 * conf/any-emu.rmk: Update kernel headers for emu build.
2729
2730 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2733
2734 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2737
2738 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2741 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2742 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2743 util/ieee1275/ofpath.c.
2744 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2745 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2746 * include/grub/sparc64/ieee1275/boot.h
2747 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2748 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2749 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2750 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2751 const char *.
2752 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2753 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2754 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2755 install.
2756
2757 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2758
2759 * util/grub-mkconfig.in: Corrected two == equality tests.
2760 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2761 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2762 expect a number appended to it.
2763 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2764 expects a number appended to it.
2765
2766 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2769
2770 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * util/hostdisk.c (make_device_name): Change to new partition naming.
2773
2774 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2777
2778 2010-04-17 Christian Franke <franke@computer.org>
2779
2780 * Makefile.in: Add missing localedir setting.
2781
2782 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2783
2784 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2785 mistake in r2156. Noticed by Anthony Fok.
2786
2787 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2788 @localedir@.
2789 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2790
2791 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2792
2793 Fix a spurious, uninitialized variable warning.
2794
2795 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2796 Initialize variable, shdr.
2797 (grub_freebsd_load_elfmodule): Likewise.
2798 (grub_freebsd_load_elf_meta): Likewise.
2799
2800 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2801
2802 Fix for escaped dollar in double quoted strings.
2803
2804 * script/yylex.l: Updated flex rules.
2805 * conf/tests.rmk: Rule for new testcase.
2806 * tests/grub_script_dollar.in: New testcase.
2807
2808 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2809 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2810
2811 Enclose all translated strings in grub.cfg in single quotes, and
2812 escape them appropriately (Ubuntu bug #552921).
2813
2814 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2815 * util/grub.d/10_hurd.in: Use it.
2816 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2817 * util/grub.d/10_linux.in (linux_entry): Likewise.
2818
2819 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 Fix cygwin compilation.
2822
2823 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2824 * include/grub/misc.h (__register_frame_info)
2825 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2826 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2827 * kern/misc.c (__register_frame_info)
2828 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2829 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2830
2831 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2834
2835 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 Unify libgcc processing.
2838
2839 * Makefile.in (kernel_img_LDFLAGS): New variable.
2840 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2841 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2842 overwriting.
2843 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2844 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2845 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2846 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2847 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2848 overwriting. Remove -lgcc and -static-libgcc
2849 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2850 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2851 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2852 (kernel_img_LDFLAGS): Append instead of overwriting.
2853 Remove -lgcc and -static-libgcc
2854 * conf/sparc64-ieee1275.rmk: Likewise.
2855 * include/grub/powerpc/libgcc.h: Move to ...
2856 * include/grub/libgcc.h: .. this.
2857 * include/grub/libgcc.h: Don't export most of the function on x86.
2858 (__bswapsi2): New export.
2859 (__bswapdi2): Likewise.
2860 * include/grub/mips/libgcc.h: Removed.
2861 * include/grub/sparc64/libgcc.h: Likewise.
2862
2863 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2866 disk_info_msg (conflicts with gettexting into languages with cases).
2867
2868 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2869
2870 Add grub-probe support for NetBSD.
2871
2872 * util/getroot.c (find_root_device): Convert block device to
2873 character device on NetBSD.
2874 * util/probe.c (probe): Require character device on NetBSD.
2875 * util/hostdisk.c: NetBSD specific headers.
2876 (configure_device_driver): new function to tune device driver
2877 parameters (currently only for NetBSD floppy driver).
2878 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2879 via disklabel ioctl).
2880 (open_device): call configure_device_driver on NetBSD.
2881 (convert_system_partition_to_system_disk): NetBSD specific code.
2882 (device_is_wholedisk): Likewise.
2883 (grub_util_biosdisk_get_grub_dev): Likewise.
2884 (make_device_name): Fixed a typo in bsd_part_str.
2885 * configure.ac: check for opendisk() and getrawpartition() on
2886 NetBSD and set LIBUTIL.
2887 * Makefile.in: add LIBUTIL to LIBS.
2888
2889 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2890
2891 Documentation fix.
2892
2893 * util/grub-script-check.c: Better help message.
2894
2895 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2896
2897 Fix FreeBSD build.
2898
2899 * configure.ac: Flex version check.
2900 * conf/common.rmk: Add -Wno-error to sh.mod.
2901 * script/yylex.l: Remove all #pragma.
2902
2903 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2906 prototype.
2907 Reported by: Seth Goldberg.
2908
2909 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2912 Rename "module" to "module2".
2913 Reported by: Seth Goldberg.
2914
2915 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2918 EXPORT_FUNC.
2919 Reported by: Seth Goldberg.
2920
2921 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * lib/posix_wrap/locale.h: Add missing file.
2924 Reported by: Seth Goldberg.
2925
2926 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 grub-emu module load support.
2929
2930 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2931 NO_DYNAMIC_MODULES switched to this.
2932 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2933 (CFLAGS): Likewise.
2934 * conf/any-emu.rmk: Generate symlist.
2935 (kernel_img_HEADERS): Add util/datetime.h.
2936 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2937 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2938 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2939 kern/$(target_cpu)/cache.S.
2940 * configure.ac (grub-emu-modules): New option.
2941 * genmk.rb: Handle multiple source lists.
2942 * include/grub/sdl.h: New file.
2943 * include/grub/libusb.h: Likewise.
2944 * util/grub-emu.c (main): Hanle (host) root.
2945 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2946 GRUB_ERR_UNKNOWN_DEVICE.
2947 * util/misc.c: Move mm functions to ...
2948 * util/mm.c: ... here. All users updated.
2949
2950 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2953 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2954 missing files.
2955 (maintainer-clean): Remove libgcrypt-grub.
2956
2957 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2960
2961 2010-04-09 EFI Coder <eficoder@hotmail.com>
2962
2963 * normal/menu_text.c (print_message): Clean up the message and show
2964 the Fn information when on EFI
2965 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2966
2967 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2970 All users updated.
2971 * normal/crypto.c (read_crypto_list): Likewise.
2972 * normal/dyncmd.c (read_command_list): Likewise.
2973 * normal/term.c (read_terminal_list): Likewise.
2974 * normal/main.c (read_lists): Use explicit prefix.
2975 (read_lists_hook): Use read_lists.
2976 (grub_normal_execute): Likewise.
2977
2978 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2981 Reported by: Thomas Schmitt.
2982 Add -no-emul-boot to grub-mkisofs parameters.
2983
2984 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * font/font.c: Indented.
2987
2988 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2989
2990 Elif support to GRUB script (by Deepak Vankadaru).
2991
2992 * tests/grub_script_if.in: New testcase.
2993 * conf/tests.rmk: Rule for new testcase.
2994 * script/parser.y: Grammar rules for elif.
2995
2996 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2997
2998 While and until loops support to GRUB script.
2999
3000 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3001 (grub_script_create_cmdwhile): New function prototype.
3002 (grub_script_execute_cmdwhile): New function prototype.
3003 * script/execute.c (grub_script_execute_cmdwhile): New function.
3004 * script/parser.y (command): New commands.
3005 (whilecmd): New grammar rule.
3006 (untilcmd): New grammar rule.
3007 * script/script.c (grub_script_create_cmdwhile): New function.
3008 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3009 function.
3010
3011 * tests/grub_script_while1.in: New testcase.
3012 * conf/tests.rmk: Rule for new testcase.
3013
3014 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3017 as *.jpg.
3018
3019 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
3020
3021 GRUB_BACKGROUND support.
3022
3023 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3024 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3025
3026 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 Load fonts and modules for gfxmenu in grub-mkconfig.
3029 Idea by: Mario Vazquez
3030
3031 * util/grub.d/00_header.in: Load pf2 and image modules.
3032
3033 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 grub-mkconfig multiple terminal support.
3036
3037 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3038 * util/grub.d/00_header.in: Likewise.
3039
3040 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3043 we use cd $(srcdir).
3044
3045 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
3046
3047 * util/grub.d/10_linux.in: Only use the first word of
3048 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3049 spaces in GRUB_DISTRIBUTOR.
3050 * util/grub.d/10_kfreebsd.in: Likewise.
3051 * util/grub.d/10_hurd.in: Likewise.
3052
3053 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3054
3055 Fix unit testing framework for Qemu 0.12.
3056
3057 * tests/util/grub-shell.in: Remove -serial stdio option.
3058
3059 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 POSIX header file wrappers.
3062
3063 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3064 equivalents.
3065 * lib/posix_wrap/ctype.h: Likewise.
3066 * lib/posix_wrap/errno.h: Likewise.
3067 * lib/posix_wrap/langinfo.h: Likewise.
3068 * lib/posix_wrap/limits.h: Likewise.
3069 * lib/posix_wrap/localcharset.h: Likewise.
3070 * lib/posix_wrap/stdint.h: Likewise.
3071 * lib/posix_wrap/stdio.h: Likewise.
3072 * lib/posix_wrap/stdlib.h: Likewise.
3073 * lib/posix_wrap/string.h: Likewise.
3074 * lib/posix_wrap/sys/types.h: Likewise.
3075 * lib/posix_wrap/unistd.h: Likewise.
3076 * lib/posix_wrap/wchar.h: Likewise.
3077 * lib/posix_wrap/wctype.h: Likewise.
3078 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3079 (grub_script.yy.h): Likewise.
3080 * script/yylex.l: Remove POSIX emulation #defines.
3081 * Makefile.in (POSIX_CFLAGS): New variable.
3082 (GNULIB_UTIL_CFLAGS): Likewise.
3083
3084 Regexp support.
3085
3086 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3087 (regexp_mod_SOURCES): New variable.
3088 (regexp_mod_CFLAGS): Likewise.
3089 (regexp_mod_LDFLAGS): Likewise.
3090 * commands/regexp.c: New file.
3091 * gnulib/regcomp.c: New file. Imported from gnulib.
3092 * gnulib/regex.c: Likewise.
3093 * gnulib/regex_internal.c: Likewise.
3094 * gnulib/regex_internal.h: Likewise.
3095 * gnulib/regexec.c: Likewise.
3096 * gnulib/regex.h: Likewise.
3097
3098 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3101 unsupported video mode types.
3102
3103 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3106
3107 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3110 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3111
3112 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Remove unused grub_vga_get_font.
3115
3116 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3117 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3118
3119 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3120
3121 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3122 * include/grub/misc.h: Likewise.
3123
3124 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3125
3126 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3127 for which failure is fatal.
3128
3129 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3130
3131 * util/grub-install.in: Use mkdir -p to create grub directory.
3132 * util/i386/efi/grub-install.in: Likewise.
3133 * util/ieee1275/grub-install.in: Likewise.
3134
3135 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3136
3137 * Makefile.in (LEX): new variable.
3138
3139 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3140
3141 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3142 `=' and added double quotes on operands of this equality test.
3143
3144 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * Makefile.in (uninstall): Remove a leftover debug echo.
3147 Reported by: Grégoire Sutre
3148
3149 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 MIPS multiboot2 support.
3152
3153 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3154 (multiboot2_mod_SOURCES): New variable.
3155 (multiboot2_mod_CFLAGS): Likewise.
3156 (multiboot2_mod_LDFLAGS): Likewise.
3157 (multiboot2_mod_ASFLAGS): Likewise.
3158 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3159 definition.
3160 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3161 (MULTIBOOT_MBI_REGISTER): Likewise.
3162 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3163 (MULTIBOOT_ELF32_MACHINE): Likewise.
3164 (MULTIBOOT_ELF64_MACHINE): Likewise.
3165 * include/grub/mips/multiboot.h: New file.
3166 * include/grub/video.h (grub_video_driver_id): New type
3167 GRUB_VIDEO_DRIVER_SM712.
3168 (grub_video_get_info_and_fini): Export.
3169 (grub_video_get_palette): Likewise.
3170 (grub_video_get_driver_id): Likewise.
3171 * include/multiboot2.h: Resynced with spec.
3172 * loader/i386/multiboot.c: Moved from here ...
3173 * loader/multiboot.c: ... here. All users updated.
3174 (grub_multiboot_boot): Use platform-specific macros.
3175 * loader/i386/multiboot_elfxx.c: Moved from here ...
3176 * loader/multiboot_elfxx.c: ... here. All users updated.
3177 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3178 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3179 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3180
3181 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 Import gnulib argp module.
3184
3185 * gnulib/argp-ba.c: New file.
3186 * gnulib/argp-eexst.c: Likewise.
3187 * gnulib/argp-fmtstream.c: Likewise.
3188 * gnulib/argp-fmtstream.h: Likewise.
3189 * gnulib/argp-fs-xinl.c: Likewise.
3190 * gnulib/argp-help.c: Likewise.
3191 * gnulib/argp-namefrob.h: Likewise.
3192 * gnulib/argp-parse.c: Likewise.
3193 * gnulib/argp-pin.c: Likewise.
3194 * gnulib/argp-pv.c: Likewise.
3195 * gnulib/argp-pvh.c: Likewise.
3196 * gnulib/argp-version-etc.c: Likewise.
3197 * gnulib/argp-version-etc.h: Likewise.
3198 * gnulib/argp-xinl.c: Likewise.
3199 * gnulib/argp.h: Likewise.
3200
3201 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * kern/device.c (grub_device_iterate): Clear errors after failed
3204 opening device.
3205
3206 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3209 returned by firmware.
3210
3211 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3214 compilation on coreboot and qemu
3215
3216 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * include/multiboot2.h: Resync with spec.
3219
3220 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Multiboot2 tag support
3223
3224 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3225 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3226 Remove loader/multiboot_loader.c.
3227 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3228 (grub_multiboot2_real_boot): Likewise.
3229 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3230 (grub_get_multiboot_mmap_count): New proto.
3231 (grub_fill_multiboot_mmap): Likewise.
3232 (grub_multiboot_set_video_mode): Likewise.
3233 (grub_multiboot_set_console): Likewise.
3234 (grub_multiboot_load): Likewise.
3235 (grub_multiboot_load_elf): Likewise.
3236 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3237 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3238 * include/multiboot.h: Resynced with specification.
3239 * include/multiboot2.h: Resynced with specification.
3240 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3241 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3242 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3243 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3244 users updated.
3245 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3246 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3247 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3248 Removed.
3249 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3250 Moved from here...
3251 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3252 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3253 Moved from here...
3254 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3255 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3256 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3257 All users updated.
3258 * loader/i386/multiboot_mbi2.c: New file.
3259
3260 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Resync with gnulib.
3263
3264 * Makefile.in (GNULIB_CFLAGS): New variable.
3265 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3266 (grub_script_check_CFLAGS): New variable.
3267 * gnulib/alloca.h: Resync with gnulib.
3268 * gnulib/error.c: Likewise.
3269 * gnulib/error.h: Likewise.
3270 * gnulib/fnmatch.c: Likewise.
3271 * gnulib/fnmatch_loop.c: Likewise.
3272 * gnulib/getdelim.c: Likewise.
3273 * gnulib/getline.c: Likewise.
3274 * gnulib/getopt.c: Likewise.
3275 * gnulib/getopt1.c: Likewise.
3276 * gnulib/getopt_int.h: Likewise.
3277 * gnulib/gettext.h: Likewise.
3278 * gnulib/progname.c: Likewise.
3279 * gnulib/progname.h: Likewise.
3280
3281 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3282
3283 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3284 which is the case with --disabled-nls.
3285
3286 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3287 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3288 * util/misc.c: Likewise.
3289 * util/mkisofs/mkisofs.c: Likewise.
3290 * util/mkisofs/mkisofs.h: Likewise.
3291
3292 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 Simplify Apple CC support.
3295
3296 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3297 Add 0 byte at the end not to have a symbol with empty target.
3298 * mmap/i386/pc/mmap_helper.S: Likewise.
3299 * genmk.rb: Ignore errors 2030 and 2050.
3300 * kern/i386/pc/startup.S: Use LOCAL when possible.
3301
3302 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3303
3304 Testcase and the fix for final semicolon on cmdline.
3305
3306 * tests/grub_script_final_semicolon.in: New testcase.
3307 * conf/tests.rmk: Rules for the new testcase.
3308 * script/parser.y: Grammar fix.
3309
3310 2010-03-26 BVK Chaitanya <bvk@localhost>
3311
3312 Blank lines testcase for GRUB script.
3313
3314 * tests/grub_script_blanklines.in: New testcase.
3315 * conf/tests.rmk: Rules for the new testcase.
3316
3317 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Don't use __FILE__.
3320
3321 * genmk.rb: Add -DGRUB_FILE to all C targets.
3322 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3323 * include/grub/list.h: Likewise.
3324 * include/grub/misc.h: Likewise.
3325 * include/grub/mm.h: Likewise.
3326 * include/grub/test.h: Likewise.
3327 * kern/mm.c: Likewise.
3328 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3329
3330 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 Sunpc partitions support.
3333
3334 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3335 (grub_fstest_SOURCES): Likewise.
3336 (pkglib_MODULES): Add part_sunpc.mod.
3337 (part_sunpc_mod_SOURCES): New variable.
3338 (part_sunpc_mod_CFLAGS): Likewise.
3339 (part_sunpc_mod_LDFLAGS): Likewise.
3340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3341 * partmap/sunpc.c: New file.
3342
3343 2010-03-26 BVK Chaitanya <bvk@localhost>
3344
3345 For loop support to GRUB script.
3346
3347 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3348 (grub_script_create_cmdfor): New function prototype.
3349 (grub_script_execute_cmdfor): New function prototype.
3350 * script/execute.c (grub_script_execute_cmdfor): New function.
3351 * script/parser.y (command): New for command.
3352 (forcmd): New grammar rule.
3353 * script/script.c (grub_script_create_cmdfor): New function.
3354 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3355 function.
3356 * tests/grub_script_for1.in: New testcase.
3357 * conf/tests.rmk: Rules for new testcase.
3358
3359 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Nested partitions
3362
3363 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3364 'partition' is NULL, grub_partition_get_start already does that.
3365 * commands/loadenv.c (check_blocklists): Likewise.
3366 (write_blocklists): Likewise.
3367 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3368 (grub_fstest_SOURCES): Likewise.
3369 (pkglib_MODULES): Add part_bsd.mod.
3370 (part_bsd_mod_SOURCES): New variable.
3371 (part_bsd_mod_CFLAGS): Likewise.
3372 (part_bsd_mod_LDFLAGS): Likewise.
3373 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3374 (grub_emu_SOURCES): Likewise.
3375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3376 * include/grub/bsdlabel.h: New file.
3377 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3378 'get_name'.
3379 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3380 (grub_partition_map_list): New variable.
3381 (grub_partition_map_register): Inline.
3382 (grub_partition_map_unregister): Likewise.
3383 (FOR_PARTITION_MAPS): New macro.
3384 (grub_partition_map_iterate): Removed.
3385 (grub_partition_get_start): Handle nested partitions.
3386 * include/grub/msdos_partition.h: Remove bsd-related entries.
3387 (grub_pc_partition): Remove.
3388 * kern/disk.c (grub_disk_close): Free partition data.
3389 (grub_disk_adjust_range): Handle nested partitions.
3390 * kern/partition.c (grub_partition_map_probe): New function.
3391 (grub_partition_probe): Parse name to number, handle subpartitions.
3392 (get_partmap): New function.
3393 (grub_partition_iterate): Handle subpartitions.
3394 (grub_partition_get_name): Likewise.
3395 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3396 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3397 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3398 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3399 Set 'number'.
3400 (acorn_partition_map_probe): Remove.
3401 (acorn_partition_map_get_name): Likewise.
3402 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3403 Set 'number'.
3404 Set 'index' to 0 since there can be only one partition entry per sector.
3405 (amiga_partition_map_probe): Remove.
3406 (amiga_partition_map_get_name): Likewise.
3407 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3408 Set 'number'.
3409 Set 'offset' and 'index' to real positions of partitions.
3410 (apple_partition_map_probe): Remove.
3411 (apple_partition_map_get_name): Likewise.
3412 * partmap/bsdlabel.c: New file.
3413 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3414 Set 'number'.
3415 Allocate 'data' so it can be correctly freed.
3416 Set 'index' to offset inside sector.
3417 (gpt_partition_map_probe): Remove.
3418 (gpt_partition_map_get_name): Likewise.
3419 * partmap/msdos.c (grub_partition_parse): Remove.
3420 (pc_partition_map_iterate): Don't force raw access.
3421 Set 'number'.
3422 Make 'ext_offset' a local variable.
3423 (pc_partition_map_probe): Remove.
3424 (pc_partition_map_get_name): Remove.
3425 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3426 Set 'number'.
3427 (sun_partition_map_probe): Remove.
3428 (sun_partition_map_get_name): Likewise.
3429 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3430 (grub_pcpart_type): Likewise.
3431 * util/hostdisk.c (open_device): Handle new numbering scheme.
3432 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3433 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3434 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3435 * util/grub-install.in: Insert all subpartition modules.
3436 * util/ieee1275/grub-install.in: Likewise.
3437
3438 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3439
3440 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3441 grammar.
3442
3443 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3444
3445 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3446
3447 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3448
3449 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3450 match where 'make install' puts them.
3451 * util/i386/efi/grub-install.in: Likewise.
3452
3453 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3454
3455 * .bzrignore: Add gentrigtables, grub-script-check,
3456 grub_script_check_init.c, grub_script_check_init.h, and
3457 trigtables.c.
3458
3459 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * kern/parser.c: Indented.
3462
3463 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3466
3467 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3470 alpha_mask_size == 0 case.
3471
3472 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3473
3474 GRUB shell lexer and parser improvements.
3475
3476 * conf/any-emu.rmk: Build rule updates.
3477 * conf/common.rmk: Likewise.
3478 * conf/i386-coreboot.rmk: Likewise.
3479 * conf/i386-efi.rmk: Likewise.
3480 * conf/i386-ieee1275.rmk: Likewise.
3481 * conf/i386-pc.rmk: Likewise.
3482 * conf/powerpc-ieee1275.rmk: Likewise.
3483 * conf/x86_64-efi.rmk: Likewise.
3484
3485 * configure.ac: Configure check for flex.
3486
3487 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3488 types.
3489 (grub_lexer_param): Struct member updates.
3490 (grub_parser_param): Likewise.
3491 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3492 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3493 (grub_script_lexer_init): Prototype update.
3494 (grub_script_lexer_record_start): Likewise.
3495 (grub_script_lexer_record_stop): Likewise.
3496 (grub_script_lexer_yywrap): New function prototype.
3497 (grub_script_lexer_fini): Likewise.
3498 (grub_script_execute_argument_to_string): Removed by...
3499 (grub_script_execute_argument_to_argv): ...better version.
3500
3501 * script/execute.c (ROUND_UPTO): New macro.
3502 (grub_script_execute_cmdline): Out of memory fixes.
3503 (grub_script_execute_menuentry): Likewise.
3504 (grub_script_execute_argument_to_string): Removed. Update all
3505 users by...
3506 (grub_script_execute_argument_to_argv): ...better version.
3507 * script/function.c (grub_script_function_create): Use
3508 grub_script_execute_argument_to_argv instead of
3509 grub_script_execute_argument_to_string.
3510
3511 * script/lexer.c (check_varstate): Removed.
3512 (check_textstate): Removed.
3513 (grub_script_lexer_record_start): Likewise.
3514 (grub_script_lexer_record_stop): Likewise.
3515 (recordchar): Replaced with...
3516 (grub_script_lexer_record): ...new function.
3517 (nextchar): Removed.
3518 (grub_script_lexer_init): Rewritten.
3519 (grub_script_yylex): Rewritten.
3520 (append_newline): New function.
3521 (grub_script_lexer_yywrap): New function.
3522 (grub_script_lexer_fini): New function.
3523 (grub_script_yyerror): Sets error flag.
3524
3525 * script/yylex.l: New file.
3526 (grub_lexer_yyfree): Wrapper for flex yyffre.
3527 (grub_lexer_yyalloc): Likewise.
3528 (grub_lexer_yyrealloc): Likewise.
3529 * script/parser.y: Refactored.
3530
3531 * script/script.c (grub_script_arg_add): Out of memory fixes.
3532 (grub_script_add_arglist): Likewise.
3533 (grub_script_create_cmdline): Likewise.
3534 (grub_script_create_cmdmenu): Likewise.
3535 (grub_script_add_cmd): Likewise.
3536 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3537 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3538 unnecessary code.
3539
3540 * tests/grub_script_echo1.in: New testcase.
3541 * tests/grub_script_vars1.in: New testcase.
3542 * tests/grub_script_echo_keywords.in: New testcase.
3543
3544 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Remove some redundancy in build system.
3547
3548 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3549 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3550 (TARGET_LDFLAGS): Add -nostdlib.
3551 (TARGET_IMG_LDFLAGS): Likewise.
3552 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3553 anything since mmap isn't available.
3554 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3555 Add util/time.c.
3556 (pkglib_MODULES): Remove reboot.mod.
3557 (reboot_mod_SOURCES): Removed.
3558 (reboot_mod_CFLAGS): Likewise.
3559 (reboot_mod_LDFLAGS): Likewise.
3560 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3561 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3562 (DEFSYMFILES): Add kernel_syms.lst.
3563 (kernel_img_HEADERS): Add common headers.
3564 (symlist.c): New target.
3565 (kernel_syms.lst): Likewise.
3566 (pkglib_MODULES): Add memdisk.mod.
3567 (memdisk_mod_SOURCES): New variable.
3568 (memdisk_mod_CFLAGS): Likewise.
3569 (memdisk_mod_LDFLAGS): Likewise.
3570 (pkglib_MODULES): Add reboot.mod.
3571 (reboot_mod_SOURCES): New variable.
3572 (reboot_mod_CFLAGS): Likewise.
3573 (reboot_mod_LDFLAGS): Likewise.
3574 (pkglib_MODULES): Add date.mod.
3575 (date_mod_SOURCES): New variable.
3576 (date_mod_CFLAGS): Likewise.
3577 (date_mod_LDFLAGS): Likewise.
3578 (pkglib_MODULES): Add datehook.mod.
3579 (datehook_mod_SOURCES): New variable.
3580 (datehook_mod_CFLAGS): Likewise.
3581 (datehook_mod_LDFLAGS): Likewise.
3582 (pkglib_MODULES): Add lsmmap.mod.
3583 (lsmmap_mod_SOURCES): New variable.
3584 (lsmmap_mod_CFLAGS): Likewise.
3585 (lsmmap_mod_LDFLAGS): Likewise.
3586 (pkglib_MODULES): Add boot.mod.
3587 (boot_mod_SOURCES): New variable.
3588 (boot_mod_CFLAGS): Likewise.
3589 (boot_mod_LDFLAGS): Likewise.
3590 * conf/i386-coreboot.rmk: Removed redundant parts.
3591 * conf/i386-ieee1275.rmk: Likewise.
3592 * conf/i386-pc.rmk: Likewise.
3593 * conf/mips-yeeloong.rmk: Likewise.
3594 * conf/mips.rmk: Likewise.
3595 * conf/powerpc-ieee1275.rmk: Likewise.
3596 * conf/sparc64-ieee1275.rmk: Likewise.
3597 * conf/x86_64-efi.rmk: Likewise.
3598 * conf/i386-coreboot.rmk: Moved qemu parts ..
3599 * conf/i386-qemu.rmk: ... here
3600 * conf/i386-efi.rmk: Moved common parts to...
3601 * conf/x86-efi.rmk: ... here.
3602 * conf/i386.rmk: Added modules common to all x86 variants.
3603 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3604 * disk/memdisk.c: Remove grub/machine/kernel.h.
3605 * gensymlist.sh.in: Include symbol.h.
3606 * hook/datehook.c: Correct module name.
3607 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3608 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3609 * include/grub/i386/efi/serial.h: New file.
3610 * include/grub/x86_64/efi/serial.h: Likewise.
3611 * util/time.c: Likewise.
3612 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3613
3614 2010-03-14 Colin King <colin.king@ubuntu.com>
3615 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3616
3617 Shrink the pre-partition-table part of boot.img by eight bytes.
3618
3619 * boot/i386/pc/boot.S (ERR): New macro.
3620 (chs_mode): Use ERR.
3621 (geometry_error): Likewise.
3622 (hd_probe_error): Remove. This is only used once, so we wrwite
3623 it inline instead.
3624 (read_error): Instead of printing read_error_string, just set up
3625 %si and fall through to ...
3626 (error_message): ... this new function, also used by ERR.
3627
3628 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3629
3630 Speed up consecutive hostdisk operations on the same device.
3631
3632 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3633 (grub_util_biosdisk_open): Initialise disk->data.
3634 (struct linux_partition_cache): New structure.
3635 (linux_find_partition): Cache partition start positions; these are
3636 expensive to compute on every read and write.
3637 (open_device): Cache open file descriptor in disk->data, so that we
3638 don't have to reopen it and flush the buffer cache for consecutive
3639 operations on the same device.
3640 (grub_util_biosdisk_close): New function.
3641 (grub_util_biosdisk_dev): Set `close' member.
3642
3643 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3644 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3645 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3646 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3647 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3648
3649 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Compile parts of grub-emu as modules.
3652
3653 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3654 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3655 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3656 (all-local): Add $(GRUB_EMU).
3657 (install-local): Install $(GRUB_EMU).
3658 (uninstall): Uninstall $(GRUB_EMU).
3659 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3660 * kern/dl.c: Likewise.
3661 * commands/sleep.c: Not include machine/time.h.
3662 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3663 (COMMON_CFLAGS): Likewise.
3664 (sbin_UTILITIES): Remove grub-emu.
3665 (grub_emu_SOURCES): Removed.
3666 (kernel_img_RELOCATABLE): New variable.
3667 (pkglib_PROGRAMS): Add kernel.img.
3668 (kernel_img_SOURCES): New variable
3669 (kernel_img_CFLAGS): Likewise.
3670 (kernel_img_LDFLAGS): Likewise.
3671 (TARGET_NO_STRIP): Likewise.
3672 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3673 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3674 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3675 (grub-emu): New target.
3676 (GRUB_EMU): New variable.
3677 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3678 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3679 * loader/xnu.c: Likewise.
3680 * include/grub/pci.h: Likewise.
3681 * genemuinit.sh: New file.
3682 * genemuinitheader.sh: Likewise.
3683 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3684 Support TARGET_NO_DYNAMIC_MODULES.
3685 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3686 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3687 * disk/loopback.c: Likewise.
3688 * font/font_cmd.c: Likewise.
3689 * partmap/acorn.c: Likewise.
3690 * partmap/amiga.c: Likewise.
3691 * partmap/apple.c: Likewise.
3692 * partmap/gpt.c: Likewise.
3693 * partmap/msdos.c: Likewise.
3694 * partmap/sun.c: Likewise.
3695 * parttool/msdospart.c: Likewise.
3696 * term/gfxterm.c: Likewise.
3697 * video/bitmap.c: Likewise.
3698 * video/readers/jpeg.c: Likewise.
3699 * video/readers/png.c: Likewise.
3700 * video/readers/tga.c: Likewise.
3701 * video/video.c: Likewise.
3702 * util/grub-emu.c (read_command_list): Removed.
3703 (main): Don't call util_init_nls.
3704 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3705 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3706
3707 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3710 date.mod, datehook.mod.
3711 (datetime_mod_SOURCES): New variable.
3712 (datetime_mod_CFLAGS): Likewise.
3713 (datetime_mod_LDFLAGS): Likewise.
3714 (date_mod_SOURCES): Likewise.
3715 (date_mod_CFLAGS): Likewise.
3716 (date_mod_LDFLAGS): Likewise.
3717 (datehook_mod_SOURCES): Likewise.
3718 (datehook_mod_CFLAGS): Likewise.
3719 (datehook_mod_LDFLAGS): Likewise.
3720 * conf/sparc64-ieee1275.rmk: Likewise.
3721 * lib/ieee1275/datetime.c: New file.
3722
3723 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3726 (ieee1275_fb_mod_SOURCES): New variable.
3727 (ieee1275_fb_mod_CFLAGS): Likewise.
3728 (ieee1275_fb_mod_LDFLAGS): Likewise.
3729 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3730 New proto.
3731 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3732 (HEAP_MAX_ADDR): Likewise.
3733 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3734 type.
3735 Correct stop condition.
3736 (grub_ieee1275_devices_iterate): New function.
3737 * video/ieee1275.c: New file.
3738
3739 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3742
3743 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3744 as scratch.
3745 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3746 SCRATCH_PAD_DISKBOOT as scratch.
3747 (bootit): Pass Openfirmware pointer in %o4.
3748 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3749 of 0x200000.
3750 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3751 with util/grub-mkrawimage.c.
3752 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3753 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3754 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3755 (grub_aout_load) [GRUB_UTIL]: Likewise.
3756 * include/grub/kernel.h (grub_modules_get_end): New proto.
3757 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3758 (SCRATCH_PAD_BOOT): New definition.
3759 (SCRATCH_PAD_DISKBOOT): Likewise.
3760 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3761 * include/grub/sparc64/ieee1275/ieee1275.h
3762 (grub_ieee1275_original_stack): New variable
3763 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3764 New definition
3765 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3766 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3767 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3768 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3769 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3770 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3771 (grub_platform_image_format_t): New type.
3772 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3773 * kern/main.c (grub_modules_get_end)
3774 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3775 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3776 (codestart): Switch stacks.
3777 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3778 variable.
3779 (grub_heap_init): Use grub_modules_get_end.
3780 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3781 stack.
3782 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3783 (main): Likewise.
3784 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3785
3786 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3787
3788 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3789
3790 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3791
3792 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3793 bug #559005).
3794
3795 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * genmoddep.awk: Output all missing symbols and not only first.
3798
3799 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * NEWS: Put the date of 1.98 release.
3802
3803 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3806 ft2build.h.
3807
3808 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3811 completition in the middle of string.
3812
3813 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * util/grub-mkrescue.in: Use mktemp with explicit template.
3816
3817 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3820
3821 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3824 right pointer.
3825
3826 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 Fix FreeBSD compilation.
3829
3830 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3831 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3832
3833 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3836
3837 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3840
3841 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3844
3845 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3846
3847 Support relative image path in theme file.
3848
3849 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3850 (image_set_property): Handle theme_dir and relative path.
3851
3852 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * configure.ac: Alias amd64 to x86_64.
3855
3856 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * NEWS: mention multiboot on EFI.
3859
3860 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * kern/main.c (grub_load_modules): Handle errors from init functions of
3863 embeded modules.
3864
3865 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * normal/autofs.c (autoload_fs_module): Handle errors.
3868
3869 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Disable linux.mod on qemu-mips since it's not functional and leads
3872 to compilation failure.
3873
3874 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3875 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3876 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3877 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3878 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3879 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3880 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3881 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3882 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3883 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3884 Reported by: BVK Chaitanya
3885
3886 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3887
3888 * INSTALL: Add gettext as a dependency and add qemu to a new section
3889 "Prerequisites for make-check".
3890
3891 2010-03-04 Christian Franke <franke@computer.org>
3892
3893 * util/grub-pe2elf.c: Add missing include "progname.h".
3894
3895 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * normal/crypto.c (read_crypto_list): Fix a typo.
3898 Reported by: Seth Goldberg.
3899
3900 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3903 Reported by: Seth Goldberg.
3904
3905 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3908 ascii.bitmaps.
3909
3910 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * genmk.rb: Remove terminal*.lst in make clean.
3913 Reported by: Seth Goldberg.
3914
3915 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * util/i386/efi/grub-install.in: Copy gettext files.
3918
3919 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3922
3923 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 Wait for user entry basing on presence of output rather than on errors.
3926
3927 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3928 (grub_install_newline_hook): Likewise.
3929 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3930 * normal/menu.c (show_menu): Check line_counter to determine presence
3931 of output.
3932 * normal/term.c (grub_normal_line_counter): New variable.
3933 (grub_normal_get_line_counter): New function.
3934 (grub_install_newline_hook): Likewise.
3935
3936 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3939
3940 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * configure.ac: Update version to 1.98.
3943
3944 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * util/grub.d/10_linux.in (linux_entry): Don't default to
3947 gfxpayload=keep if Linux doesn't support video handover.
3948
3949 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Don't compile video modules on yeeloong since video subsystem is part
3952 of kernel.
3953
3954 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3955 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3956 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3957 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3958 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3959 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3960 * include/grub/bitmap_scale.h: Likewise.
3961 * include/grub/bufio.h: Likewise.
3962 * include/grub/font.h: Likewise.
3963 * include/grub/gfxterm.h: Likewise.
3964 * include/grub/video.h: Likewise.
3965 * include/grub/vbe.h: Don't include video_fb.h.
3966 * video/i386/pc/vbe.c: Include video_fb.h.
3967 * commands/i386/pc/vbetest.c: Include video.h.
3968
3969 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3970
3971 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3972 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3973 default entry if GRUB_SAVEDEFAULT=true. This allows using
3974 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3975 saving a new default on every boot.
3976
3977 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3980 * normal/term.c (read_terminal_list): Likewise.
3981 * normal/main.c (grub_normal_init_page): Likewise.
3982 (grub_normal_read_line_real): Likewise.
3983
3984 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3987 memory leak.
3988 Reported by: Seth Goldberg.
3989
3990 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3991
3992 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3993 duplicate declaration of `start'.
3994
3995 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3998 filename.
3999 Reported by: Georgy Buranov
4000
4001 2010-02-20 Carles Pina i Estany <carles@pina.cat>
4002
4003 * util/grub-mkrawimage.c (usage): Change string formatting to
4004 improve gettext.
4005
4006 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4007
4008 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4009 backspace keys.
4010
4011 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4014 Reported by: Michael Suchanek.
4015
4016 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
4017
4018 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4019 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4020
4021 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 Remove any reference to non-free fonts.
4024
4025 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4026 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4027 uses non-free components.
4028 * font/font.c (grub_font_get_name): Remove example name.
4029 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4030 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4031 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4032 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4033
4034 2010-02-16 Georgy Buranov <gburanov@gmail.com>
4035
4036 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4037
4038 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4041 Double divisor.
4042 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4043 features.
4044 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4045
4046 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4049
4050 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4051
4052 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4053 * docs/grub.texi (Command-line and menu entry commands): Document play
4054 command.
4055
4056 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4057
4058 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4059 parse arguments as inline tempo and notes. Move code for playing notes
4060 to...
4061 (play): ... new function.
4062
4063 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4064
4065 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4066 grub_uint16_t instead of short.
4067 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4068 disk from little endian to cpu endianness.
4069
4070 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4071
4072 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4073 GRUB_TICKS_PER_SECOND instead of 120.
4074
4075 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4078 escape sequence after \e.
4079
4080 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4083 non-ASCII characters.
4084
4085 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4088 set root in single quotes to prevent \, from being unescaped.
4089
4090 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 Prevent unknown commands from stopping menuentry execution.
4093
4094 * script/execute.c (grub_script_execute_cmdline): Print error after
4095 unknown command.
4096
4097 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4100 Reported by: Pavel Pisa.
4101
4102 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4105
4106 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Merge grub_ieee1275_map_physical into grub_map and rename to
4109 grub_ieee1275_map
4110
4111 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4112 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4113 Remove.
4114 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4115 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4116 necessary.
4117 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4118
4119 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4122 opening and not after.
4123
4124 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4127 constants.
4128
4129 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4132 (alloc_phys): Use ALIGN_UP instead of align_addr.
4133
4134 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4137
4138 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4141
4142 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4145 verbose dprintf.
4146
4147 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Fix over-4GiB seek on sparc64.
4150
4151 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4152 Replace pos_i and pos_lo with pos. All users updated.
4153 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4154 New constant.
4155 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4156 Likewise.
4157 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4158 and pos_lo.
4159
4160 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * util/grub-mkrawimage.c (main): Call set_program_name.
4163
4164 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 Properly align 64-bit targets.
4167
4168 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4169 (generate_image): Use ALIGN_ADDR.
4170
4171 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Properly create cross-endian images.
4174
4175 * include/grub/types.h (grub_host_to_target_addr): New macro
4176 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4177
4178 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4181
4182 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4185
4186 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4187 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4188 (grub_linux_boot): Divide by 64K when on VESA.
4189
4190 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 Support GRUB_GFXPAYLOAD_LINUX.
4193
4194 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4195 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4196
4197 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4200 to show messages instead of discarding them.
4201 Process errors after executing command and not before. Keep old method
4202 too as precaution.
4203
4204 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * configure.ac: Check for ft2build.h.
4207
4208 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4211
4212 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * genkernsyms.sh.in: Use TARGET_CC.
4215
4216 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4217
4218 * NEWS: Update.
4219
4220 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * include/grub/multiboot2.h: Remove leftover file.
4223 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4224 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4225
4226 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4227
4228 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4229
4230 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Fix warnings in grub-emu when compiling with maximum warning options.
4233
4234 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4235 (grub_arch_modules_addr): Return 0 and not NULL.
4236 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4237 (xstrdup): Use newstr instead of dup.
4238 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4239 of disk to dsk to avoid shadowing.
4240 (find_free_slot): Fix prototype.
4241 * util/getroot.c (grub_util_is_dmraid): Make static.
4242 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4243 Add missing prototype.
4244 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4245
4246 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4249 appropriately.
4250
4251 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4254 code out.
4255
4256 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4259 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4260 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4261 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4262 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4263 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4264
4265 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * include/grub/err.h (grub_err_printf): Don't export.
4268
4269 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4272
4273 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4276 * kern/misc.c (grub_gettext_dummy): Make static.
4277
4278 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4281 by non-valid ones.
4282 * kern/term.c (grub_putchar): Likewise.
4283
4284 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4287 buggy hook call and memory leak.
4288
4289 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4292
4293 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4296
4297 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4300 modevar.
4301 Return grub_errno on allocation error.
4302
4303 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4306
4307 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4308
4309 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4310 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4311
4312 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4315 non-pxe disk.
4316 (grub_pxefs_open): Likewise.
4317
4318 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4319
4320 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4321 * util/grub.d/10_kfreebsd.in: Likewise.
4322 * util/grub.d/10_linux.in: Likewise.
4323
4324 2010-02-06 Colin D Bennett <colin@gibibit.com>
4325
4326 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4327 (gfxmenu_mod_SOURCES): New variable.
4328 (gfxmenu_mod_CFLAGS): Likewise.
4329 (gfxmenu_mod_LDFLAGS): Likewise.
4330 * include/grub/term.h (grub_term_set_current_output): Declare
4331 argument as const.
4332 * docs/gfxmenu-theme-example.txt: New file.
4333 * gfxmenu/gfxmenu.c: Likewise.
4334 * gfxmenu/gui_box.c: Likewise.
4335 * gfxmenu/gui_canvas.c: Likewise.
4336 * gfxmenu/gui_circular_progress.c: Likewise.
4337 * gfxmenu/gui_image.c: Likewise.
4338 * gfxmenu/gui_label.c: Likewise.
4339 * gfxmenu/gui_list.c: Likewise.
4340 * gfxmenu/gui_progress_bar.c: Likewise.
4341 * gfxmenu/gui_string_util.c: Likewise.
4342 * gfxmenu/gui_util.c: Likewise.
4343 * gfxmenu/icon_manager.c: Likewise.
4344 * gfxmenu/model.c: Likewise.
4345 * gfxmenu/named_colors.c: Likewise.
4346 * gfxmenu/theme_loader.c: Likewise.
4347 * gfxmenu/view.c: Likewise.
4348 * gfxmenu/widget-box.c: Likewise.
4349 * include/grub/gfxmenu_model.h: Likewise.
4350 * include/grub/gfxmenu_view.h: Likewise.
4351 * include/grub/gfxwidgets.h: Likewise.
4352 * include/grub/gui.h: Likewise.
4353 * include/grub/gui_string_util.h: Likewise.
4354 * include/grub/icon_manager.h: Likewise.
4355
4356 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Agglomerate scrolling in gfxterm.
4359
4360 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4361 (grub_virtual_screen_setup): Initialise 'total_screen'.
4362 (write_char): Split to ...
4363 (paint_char): ... this ...
4364 (write_char): ... and this.
4365 (paint_char): Handle delayed scrolling.
4366 (draw_cursor): Likewise.
4367 (scroll_up): Split to ...
4368 (real_scroll): ... this ...
4369 (scroll_up): ... and this.
4370 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4371 characters.
4372 (grub_gfxterm_refresh): Call real_scroll.
4373
4374 2010-02-06 Colin D Bennett <colin@gibibit.com>
4375
4376 * include/grub/misc.h (grub_iscntrl): New inline function.
4377 (grub_isalnum): Likewise.
4378 (grub_strtol): Likewise.
4379
4380 2010-02-06 Colin D Bennett <colin@gibibit.com>
4381
4382 * normal/menu_text.c (get_entry_number): Move from here ...
4383 * normal/menu.c (get_entry_number): ... moved here.
4384 * include/grub/menu.h (grub_menu_get_default_entry_index):
4385 New prototype.
4386 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4387 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4388 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4389 (grub_menu_viewer_should_return): Likewise.
4390 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4391 * normal/menu_text.c (run_menu): Enable menu switching.
4392 * normal/menu_viewer.c (should_return): New variable.
4393 (menu_viewer_changed): Likewise.
4394 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4395 (grub_menu_viewer_should_return): New function.
4396 (menuviewer_write_hook): Likewise.
4397 (grub_menu_viewer_init): Likewise.
4398
4399 2010-02-06 Colin D Bennet <colin@gibibit.com>
4400 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 Support for gfxterm in a window.
4403
4404 * include/grub/gfxterm.h: New file.
4405 * include/grub/video.h (struct grub_video_rect): New declaration.
4406 (grub_video_rect_t): Likewise.
4407 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4408 (refcount): New variable.
4409 (render_target): Likewise.
4410 (window): Likewise.
4411 (repaint_callback): Likewise.
4412 (grub_virtual_screen_setup): Use 'render_target'.
4413 (init_window): New function.
4414 (grub_gfxterm_init_window): Likewise.
4415 (grub_gfxterm_init): Check reference counter.
4416 Use init_window.
4417 (destroy_window): New function.
4418 (grub_gfxterm_destroy_window): Likewise.
4419 (grub_gfxterm_fini): Check reference counter.
4420 Use destroy_window.
4421 (redraw_screen_rect): Restore viewport.
4422 Use 'render_target' and 'window'.
4423 Call 'repaint_callback'.
4424 (write_char): Use 'render_target'.
4425 (draw_cursor): Likewise.
4426 (scroll_up): Restore viewport.
4427 Use 'render_target' and 'window'.
4428 Call 'repaint_callback'.
4429 (grub_gfxterm_cls): Likewise.
4430 (grub_gfxterm_refresh): Use 'window'.
4431 (grub_gfxterm_set_repaint_callback): New function.
4432 (grub_gfxterm_background_image_cmd): Use 'window'.
4433 (grub_gfxterm_get_term): New function.
4434 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4435
4436 2010-02-06 Colin D Bennett <colin@gibibit.com>
4437
4438 Bitmap scaling support.
4439
4440 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4441 (bitmap_scale_mod_SOURCES): New variable.
4442 (bitmap_scale_mod_CFLAGS): Likewise.
4443 (bitmap_scale_mod_LDFLAGS): Likewise.
4444 * include/grub/bitmap_scale.h: New file.
4445 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4446 (background_image_cmd_options): New variable.
4447 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4448 (cmd): Rename and change type to ...
4449 (background_image_cmd_handle): ... this. All users updated.
4450 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4451 * video/bitmap_scale.c: New file.
4452
4453 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 SDL support.
4456
4457 * Makefile.in (LIBSDL): New variable.
4458 (enable_grub_emu_sdl): Likewise.
4459 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4460 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4461 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4462 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4463 * util/sdl.c: New file.
4464
4465 2010-02-06 Colin D Bennett <colin@gibibit.com>
4466 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 Double buffering support.
4469
4470 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4471 * include/grub/video.h: Update comment.
4472 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4473 New type.
4474 (grub_video_fb_doublebuf_blit_init): New prototype.
4475 * term/gfxterm.c (scroll_up): Support double buffering.
4476 (grub_gfxterm_refresh): Likewise.
4477 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4478 (grub_video_fb_doublebuf_blit_init): Likewise.
4479 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4480 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4481 'displayed_page', 'render_page' and 'update_screen'.
4482 (grub_video_vbe_fini): Free offscreen buffer.
4483 (doublebuf_pageflipping_commit): New function.
4484 (doublebuf_pageflipping_update_screen): Likewise.
4485 (doublebuf_pageflipping_init): Likewise.
4486 (double_buffering_init): Likewise.
4487 (grub_video_vbe_setup): Enable doublebuffering.
4488 (grub_video_vbe_swap_buffers): Implement.
4489 (grub_video_vbe_set_active_render_target): Handle double buffering.
4490 (grub_video_vbe_get_active_render_target): Likewise.
4491 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4492 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4493 (grub_video_vbe_enable_double_buffering): Likewise.
4494 (grub_video_vbe_swap_buffers): Use update_screen.
4495 (grub_video_set_mode): Use double buffering.
4496
4497 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4498
4499 * maintainance/gentrigtables.py: Remove.
4500 * lib/trig.c: Likewise.
4501
4502 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4503
4504 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4505 `trigtables.c'.
4506 (trigtables.c): New rule.
4507 (gentrigtables): Likewise.
4508 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4509
4510 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4513 integer constants.
4514
4515 2010-02-06 Colin D Bennet <colin@gibibit.com>
4516
4517 Trigonometry support.
4518
4519 * include/grub/trig.h: New file.
4520 * lib/trig.c: Likewise.
4521 * maintainance/gentrigtables.py: Likewise.
4522 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4523 (trig_mod_SOURCES): New variable.
4524 (trig_mod_CFLAGS): Likewise.
4525 (trig_mod_LDFLAGS): Likewise.
4526
4527 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4530 disk devices.
4531
4532 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4535 error.
4536
4537 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * util/hostdisk.c (open_device): Don't use partition device when reading
4540 before the partition.
4541 (grub_util_biosdisk_read): Don't read from partition and before the
4542 partition in single operation.
4543 (grub_util_biosdisk_write): Don't write to partition and before the
4544 partition in single operation.
4545
4546 2010-02-03 Torsten Landschoff <torsten@debian.org>
4547
4548 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4549 last sectors.
4550
4551 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4554 CDROM reads.
4555 (grub_biosdisk_write): Refuse to write to CDROM.
4556
4557 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4560
4561 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * font/font.c (find_glyph): Check that bmp_idx is available before
4564 using it.
4565 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4566 with (font == NULL).
4567
4568 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4569
4570 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4571
4572 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4573
4574 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4575 * util/grub-script-check.c (getline): Fix empty lines case.
4576
4577 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4578
4579 * Makefile.in (check): Exit with fail status when one of the tests
4580 fails.
4581 * tests/example_functional_test.c (example_test): Fix reversed assert.
4582 * tests/example_unit_test.c (example_test): Likewise.
4583
4584 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4585
4586 * util/grub.d/10_linux.in: This script does not use any of the
4587 contents of gettext.sh, only the external command `gettext', so stop
4588 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4589 the same prefix as GRUB.)
4590 * util/grub.d/10_kfreebsd.in: Likewise.
4591
4592 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4595 of the line.
4596
4597 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4600 last sectors.
4601
4602 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4605 having a 4KiB and not 32KiB buffer size.
4606
4607 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4608
4609 * util/hostfs.c: Include `<errno.h>'.
4610 (grub_hostfs_read): Handle errors from fseeko() and fread().
4611
4612 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4613
4614 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4615 loop when using read hooks on files whose size isn't sector-aligned.
4616
4617 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4618
4619 Remove unused parameter.
4620
4621 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4622 (grub_iso9660_open): Remove initialization of `data->length'.
4623
4624 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4625
4626 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4627 memleak conditions.
4628
4629 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4630
4631 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4632 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4633
4634 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4635
4636 * util/bin2h.c (usage): Fix warning (space after backslash).
4637
4638 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4639
4640 * font/font.c: Include `grub/fontformat.h.
4641 Remove font file format constants.
4642 (grub_font_load): Use the new macros.
4643 * include/grub/fontformat.h: New file.
4644 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4645 (write_font_pf2): Use the new macros.
4646
4647 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4648
4649 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4650 does.
4651
4652 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4653
4654 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4655
4656 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4657 (_start): Macroify `0x7F'.
4658
4659 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4660 (make_install_device): Use "(pxe)" as fallback prefix when booting
4661 via PXE.
4662
4663 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * configure.ac: Reset LIBS after check for libgcc symbols.
4666
4667 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4668
4669 * util/hostdisk.c (open_device): Add trailing newline to debug
4670 message.
4671
4672 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4673
4674 * configure.ac: Check for `limits.h'.
4675 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4676
4677 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4678
4679 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4680 capitalize error strings.
4681
4682 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4683
4684 * util/grub.d/10_hurd.in: Add a recovery mode.
4685
4686 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * configure.ac: Check for libgcc symbols with -nostdlib.
4689
4690 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4691
4692 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4693
4694 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4697 stack since heap may be unavailable at that point.
4698 (grub_ofconsole_gotoxy): Likewise.
4699
4700 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * configure.ac: Check for _restgpr_14_x.
4703 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4704 and _savegpr_* prototypes.
4705
4706 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4707
4708 Use generic grub_reboot() for i386-efi.
4709
4710 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4711 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4712 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4713
4714 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4717 presence of "prefix" variable as it breaks when normal.mod is
4718 embedded.
4719
4720 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4723 stack since heap is unavailable at that point.
4724
4725 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4728 (grub_freebsd_bootinfo): Rewritten.
4729 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4730
4731 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4734
4735 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4736
4737 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4738 domain now.
4739
4740 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4741
4742 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4743 around for handling "/" to the correct fix. Fix a memory leak. Use
4744 xstrdup instead of strdup.
4745
4746 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4749
4750 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4753
4754 * font/font.c (struct grub_font): New member 'bmp_idx'.
4755 (font_init): Initialise 'bmp_idx'.
4756 (load_font_index): Fill 'bmp_idx'.
4757 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4758
4759 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4762 unnecessary calls.
4763
4764 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 Move context handling out of the kernel.
4767
4768 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4769 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4770 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4771 * conf/i386-efi.rmk: Likewise.
4772 * conf/i386-ieee1275.rmk: Likewise.
4773 * conf/i386-pc.rmk: Likewise.
4774 * conf/powerpc-ieee1275.rmk: Likewise.
4775 * conf/sparc64-ieee1275.rmk: Likewise.
4776 * conf/x86_64-efi.rmk: Likewise.
4777 * include/grub/env.h: Include grub/menu.h.
4778 (grub_env_var_type): Removed.
4779 (grub_env_var): Replaced field 'type' with 'global'.
4780 (grub_env_find): New prototype.
4781 (grub_env_context_open): Remove EXPORT_FUNC.
4782 (grub_env_context_close): Likewise.
4783 (grub_env_export): Likewise.
4784 (grub_env_set_data_slot): Removed.
4785 (grub_env_get_data_slot): Likewise.
4786 (grub_env_unset_data_slot): Likewise.
4787 (grub_env_unset_menu): New prototype.
4788 (grub_env_set_menu): Likewise.
4789 (grub_env_get_menu): Likewise.
4790 * include/grub/env_private.h: New file.
4791 * include/grub/normal.h (grub_context_init): New prototype.
4792 (grub_context_fini): Likewise.
4793 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4794 * normal/context.c (grub_cmd_export): ... to here.
4795 * kern/env.c: Include env_private.h.
4796 (HASHSZ): Moved to include/grub/env_private.h.
4797 (grub_env_context): Likewise.
4798 (grub_env_sorted_var): Likewise.
4799 (current_context): Renamed from this ...
4800 (grub_current_context): ...to this. 'static' removed. All users updated.
4801 (grub_env_find): Removed 'static'.
4802 (grub_env_context_open): Moved to normal/context.c.
4803 (grub_env_context_close): Likewise.
4804 (grub_env_export): Likewise.
4805 (mangle_data_slot_name): Removed.
4806 (grub_env_set_data_slot): Likewise.
4807 (grub_env_get_data_slot): Likewise.
4808 (grub_env_unset_data_slot): Likewise.
4809 * kern/main.c (grub_set_root_dev): Don't export root.
4810 It will be done later.
4811 (grub_main): Don't export prefix.
4812 It will be done later.
4813 * normal/context.c: New file.
4814 * normal/main.c (free_menu): Use grub_env_unset_menu.
4815 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4816 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4817 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4818 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4819
4820 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 setpci support.
4823
4824 * commands/setpci.c: New file.
4825 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4826 (setpci_mod_SOURCES): New variable.
4827 (setpci_mod_CFLAGS): Likewise.
4828 (setpci_mod_LDFLAGS): Likewise.
4829
4830 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 Byte-addressable PCI configuration space.
4833
4834 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4835 dword address.
4836 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4837 GRUB_PCI_REG_CACHELINE.
4838 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4839 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4840 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4841 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4842 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4843 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4844 grub_pci_make_address.
4845 (lock_rom_area): Likewise.
4846 * commands/lspci.c (grub_lspci_iter): Use macroses
4847 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4848 of grub_pci_make_address.
4849 * disk/ata.c (grub_ata_pciinit): Likewise.
4850 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4851 (GRUB_PCI_REG_VENDOR): Likewise.
4852 (GRUB_PCI_REG_DEVICE): Likewise.
4853 (GRUB_PCI_REG_COMMAND): Likewise.
4854 (GRUB_PCI_REG_STATUS): Likewise.
4855 (GRUB_PCI_REG_REVISION): Likewise.
4856 (GRUB_PCI_REG_CLASS): Likewise.
4857 (GRUB_PCI_REG_CACHELINE): Likewise.
4858 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4859 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4860 (GRUB_PCI_REG_BIST): Likewise.
4861 (GRUB_PCI_REG_ADDRESSES): Likewise.
4862 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4863 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4864 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4865 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4866 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4867 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4868 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4869 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4870 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4871 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4872 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4873 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4874 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4875 (GRUB_PCI_REG_MIN_GNT): Likewise.
4876 (GRUB_PCI_REG_MAX_LAT): Likewise.
4877 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4878 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4879 * video/efi_uga.c (find_framebuf): Likewise.
4880 * video/sm712.c (grub_video_sm712_setup): Likewise.
4881 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4882 space.
4883
4884 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4885
4886 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4887 can be reliably determined to be supported.
4888
4889 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4890
4891 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4892 that VESA is supported.
4893 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4894 supported.
4895
4896 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4899
4900 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4901
4902 * util/misc.c (make_system_path_relative_to_its_root): Work around
4903 special-casing of "/", as previous incarnation of this routine did.
4904
4905 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Fix any-emu compilation.
4908
4909 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4910 * grub_bin2h_SOURCES: New variable.
4911
4912 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4913
4914 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4915
4916 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4917
4918 * util/grub.d/00_header.in: Fix handling of locale_dir.
4919
4920 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4923 as possible unifont location (Gentoo).
4924 Reported by: Alexander Brüning
4925
4926 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Don't try to generate lists for kernel.img.
4929
4930 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4931 (pkglib_MODULES): Remove kernel.img.
4932 (kernel_img_EXPORTS): Removed.
4933 (kernel_img_RELOCATABLE): New variable.
4934 * conf/x86_64-efi.rmk: Likewise.
4935 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4936
4937 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4940 grub_xasprintf or grub_snprintf.
4941 (grub_vsprintf): Likewise.
4942 (grub_snprintf): New proto.
4943 (grub_vsnprintf): Likewise.
4944 (grub_xasprintf): Likewise.
4945 (grub_xvasprintf): Likewise.
4946 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4947 (grub_sprintf): Removed.
4948 (grub_vsnprintf): New function.
4949 (grub_snprintf): Likewise.
4950 (grub_xvasprintf): Likewise.
4951 (grub_xasprintf): Likewise.
4952 (grub_vsprintf): Renamed to ...
4953 (grub_vsnprintf_real): ...this. New argument max_len.
4954
4955 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4956
4957 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4958 fix grub-script-check warning.
4959
4960 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * include/grub/font.h (grub_font_load): Fix prototype.
4963
4964 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4967
4968 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * include/grub/x86_64/at_keyboard.h: New file.
4971
4972 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * loader/mips/linux.c: Include missing grub/i18n.h.
4975
4976 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4977
4978 * normal/menu.c (notify_execution_failure): Clarify error message.
4979
4980 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4981
4982 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4983 return value (and revert all return statements). Update users.
4984
4985 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4986
4987 * kern/device.c (grub_device_iterate): Allocate new part_ent
4988 structure based on sizeof (*p) rather than sizeof (p->next), to
4989 account for structure padding.
4990
4991 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4992 disk is NULL, which might happen for LVM physical volumes with no
4993 LVM signature.
4994
4995 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4996
4997 * loader/mips/linux.c (grub_cmd_initrd)
4998 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4999
5000 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5001
5002 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5003 (grub_video_video_init, grub_video_bitmap_init)
5004 (grub_font_manager_init, grub_term_gfxterm_init)
5005 (grub_at_keyboard_init): New extern declarations.
5006 (grub_machine_init): Initialize gfxterm and at_keyboard.
5007
5008 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5009
5010 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5011 `gfxterm.mod' into core image.
5012
5013 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5014 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5015 (kernel_img_FORMAT): Copy to ...
5016
5017 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5018 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5019 (kernel_img_FORMAT): ... here, and ...
5020
5021 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5022 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5023 (kernel_img_FORMAT): ... here.
5024
5025 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5026 and input (at_keyboard) terminals in kernel.
5027 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5028
5029 (pkglib_MODULES): Remove `pci.mod'.
5030 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5031 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5032 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5033 (at_keyboard_mod_LDFLAGS): Remove variables.
5034
5035 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
5036
5037 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5038
5039 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5040
5041 * include/grub/mips/libgcc.h: Only export symbols for functions
5042 that libgcc provides.
5043
5044 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 MIPS support.
5047
5048 * bus/bonito.c: New file.
5049 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5050 GRUB_PCI_NUM_DEVICES.
5051 * term/i386/pc/serial.c: Move to ...
5052 * term/serial.c: ... here. All users updated.
5053 * util/i386/pc/grub-mkimage.c: Move to ...
5054 * util/grub-mkrawimage.c: ... here. All users updated.
5055 * term/i386/pc/at_keyboard.c: Move to ...
5056 * term/at_keyboard.c: ... here. All users updated.
5057 * conf/mips-qemu-mips.rmk: New file.
5058 * conf/mips-yeeloong.rmk: Likewise.
5059 * conf/mips.rmk: Likewise.
5060 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5061 mipsel-qemu-mips.
5062 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5063 to port addresses.
5064 (grub_ata_pciinit): Support CS5536.
5065 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5066 * font/font_cmd.c (loadfont_command): Open file before passing it to
5067 grub_font_load.
5068 (pseudo_file_read): New function.
5069 (pseudo_file_close): Likewise.
5070 (pseudo_fs): New structure.
5071 (load_font_module): New function.
5072 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5073 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5074 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5075 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5076 * include/grub/i386/at_keyboard.h: Split into ...
5077 * include/grub/at_keyboard.h: ... this ...
5078 * include/grub/i386/at_keyboard.h: ... and this.
5079 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5080 New prototype.
5081 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5082 updated.
5083 (grub_elf64_size): Likewise.
5084 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5085 filename.
5086 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5087 * include/grub/i386/coreboot/serial.h: Rewritten.
5088 * include/grub/i386/ieee1275/serial.h: Include
5089 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5090 * include/grub/i386/pc/serial.h: Moved from here ...
5091 * include/grub/serial.h: ... to here. All users updated.
5092 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5093 (GRUB_PCI_NUM_BUS): Likewise.
5094 (GRUB_PCI_NUM_DEVICES): Likewise.
5095 (grub_pci_device_map_range): Add missing volatile keyword.
5096 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5097 * include/grub/mips/at_keyboard.h: New file.
5098 * include/grub/mips/cache.h: Likewise.
5099 * include/grub/mips/io.h: Likewise.
5100 * include/grub/mips/kernel.h: Likewise.
5101 * include/grub/mips/libgcc.h: Likewise.
5102 * include/grub/mips/pci.h: Likewise.
5103 * include/grub/mips/qemu-mips/boot.h: Likewise.
5104 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5105 * include/grub/mips/qemu-mips/loader.h: Likewise.
5106 * include/grub/mips/qemu-mips/memory.h: Likewise.
5107 * include/grub/mips/qemu-mips/serial.h: Likewise.
5108 * include/grub/mips/qemu-mips/time.h: Likewise.
5109 * include/grub/mips/relocator.h: Likewise.
5110 * include/grub/mips/time.h: Likewise.
5111 * include/grub/mips/types.h: Likewise.
5112 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5113 * include/grub/mips/yeeloong/boot.h: Likewise.
5114 * include/grub/mips/yeeloong/kernel.h: Likewise.
5115 * include/grub/mips/yeeloong/loader.h: Likewise.
5116 * include/grub/mips/yeeloong/memory.h: Likewise.
5117 * include/grub/mips/yeeloong/pci.h: Likewise.
5118 * include/grub/mips/yeeloong/serial.h: Likewise.
5119 * include/grub/mips/yeeloong/time.h: Likewise.
5120 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5121 * kern/elf.c (grub_elf32_size): New parameter. All users
5122 updated.
5123 (grub_elf64_size): Likewise.
5124 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5125 Load modules before saying "Welcome to GRUB!".
5126 Call grub_refresh after saying "Welcome to GRUB!".
5127 * kern/mips/cache.S: New file.
5128 * kern/mips/cache_flush.S: Likewise.
5129 * kern/mips/dl.c: Likewise.
5130 * kern/mips/init.c: Likewise.
5131 * kern/mips/qemu-mips/init.c: Likewise.
5132 * kern/mips/startup.S: Likewise.
5133 * kern/mips/yeeloong/init.c: Likewise.
5134 * kern/term.c (grub_putcode): Handle NULL terminal.
5135 (grub_getcharwidth): Likewise.
5136 (grub_getkey): Likewise.
5137 (grub_checkkey): Likewise.
5138 (grub_getkeystatus): Likewise.
5139 (grub_getxy): Likewise.
5140 (grub_getwh): Likewise.
5141 (grub_gotoxy): Likewise.
5142 (grub_cls): Likewise.
5143 (grub_setcolorstate): Likewise.
5144 (grub_setcolor): Likewise.
5145 (grub_getcolor): Likewise.
5146 (grub_refresh): Likewise.
5147 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5148 (write_jump): Add hatch nop.
5149 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5150 * lib/mips/setjmp.S: New file.
5151 * loader/mips/linux.c: Likewise.
5152 * term/i386/pc/at_keyboard.c: Move from here ...
5153 * term/at_keyboard.c: ... to here.
5154 * term/i386/pc/serial.c: Moved from here ...
5155 * term/serial.c: ... to here. All users updated.
5156 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5157 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5158 (serial_translate_key_sequence): Avoid deadlock.
5159 (grub_serial_getkey): Handle backspace.
5160 (grub_serial_putchar): Fix newline handling.
5161 * util/i386/pc/grub-mkimage.c: Move from here ...
5162 * util/grub-mkrawimage.c: ... to here. All users updated.
5163 (generate_image): New parameters 'font_path' and 'format'.
5164 Support embedding font.
5165 Use grub_host_to_target* instead of grub_cpu_to_le*.
5166 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5167 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5168 (options): New option "--font".
5169 (usage): Likewise.
5170 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5171 (main): Handle "--font".
5172 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5173 (grub_virtual_screen_setup): Set bg_color_display.
5174 (redraw_screen_rect): Use bg_color_display instead of incorrect
5175 bg_color.
5176 (grub_gfxterm_cls): Likewise.
5177 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5178 Support embedding config file.
5179 (add_segments): Likewise.
5180 (options): New option "--config".
5181 (main): Handle "--config".
5182 * video/sm712.c: New file.
5183
5184 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5185
5186 Fix parallel builds.
5187
5188 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5189 font.c depend on ascii.h).
5190
5191 2010-01-12 Carles Pina i Estany <carles@pina.cat>
5192
5193 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5194
5195 2010-01-11 Carles Pina i Estany <carles@pina.cat>
5196
5197 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5198 By default: disabled.
5199 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5200 parameter.
5201
5202 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5203
5204 * font/font.c: Update copyright years.
5205 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5206
5207 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5208
5209 * font/font.c: Include `ascii.h'.
5210 (ASCII_BITMAP_SIZE): New macro.
5211 (ascii_font_glyph): Define.
5212 (ascii_glyph_lookup): New function.
5213 (grub_font_get_string_width): Change comment. If glyph not found, use
5214 ascii_glyph_lookup.
5215 (grub_font_get_glyph_with_fallback): If glyph not available returns
5216 ascii_glyph_lookup.
5217 * util/grub-mkfont.c (file_formats): New enum.
5218 (options): Add `ascii-bitmaps' new option.
5219 (usage): Add `asii-bitmaps' new option.
5220 (write_font_ascii_bitmap): New function.
5221 (write_font): Rename to ...
5222 (write_font_p2): ... this. Remove print_glyphs call.
5223 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5224 used. Call print_glyphs.
5225 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5226
5227 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5228
5229 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5230 (grub_bin2h_SOURCES): New variable.
5231 * util/bin2h.c: New file.
5232
5233 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * include/multiboot.h: Resynced with spec.
5236 * include/multiboot2.h: Likewise.
5237 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5238 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5239
5240 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5241
5242 * include/grub/term.h (grub_term_register_input,
5243 grub_term_register_output): Check return of terminal init()
5244 routines, and abort if errors are raised.
5245
5246 * commands/terminal.c: Update copyright year.
5247
5248 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5249
5250 * commands/terminal.c (grub_cmd_terminal_input)
5251 (grub_cmd_terminal_output): Check return of terminal init()
5252 routines, and abort if errors are raised.
5253
5254 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * include/grub/i386/bsd.h: Fix include pathes.
5257
5258 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 Add missing *BSD copyright headers.
5261
5262 * include/grub/aout.h: Add BSD licence.
5263 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5264 * include/grub/i386/freebsd_linker.h: ... here,
5265 * include/grub/i386/freebsd_reboot.h: ... here,
5266 * include/grub/i386/netbsd_bootinfo.h: ... here,
5267 * include/grub/i386/netbsd_reboot.h: ... here,
5268 * include/grub/i386/openbsd_bootarg.h: ... here,
5269 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5270 licence to each file.
5271
5272 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5273
5274 * acinclude.m4: Remove `nop' assembly instruction; it's not
5275 implemented by all architectures.
5276
5277 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5278
5279 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5280 ELILO. This is no longer necessary.
5281
5282 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5283
5284 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5285
5286 * util/grub-script-check.c: grub-script-check tool.
5287 * conf/common.rmk: Make rules for grub-script-check.
5288
5289 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5290
5291 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5292 spotting it back in 2008. Shame on me for forgetting he did.
5293
5294 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5295
5296 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5297
5298 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5299 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5300 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5301 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5302 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5303 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5304
5305 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5306
5307 * include/grub/test.h: Add license header.
5308 * tests/example_functional_test.c: Likewise.
5309 * tests/example_unit_test.c: Likewise.
5310 * tests/lib/functional_test.c: Likewise.
5311 * tests/lib/test.c: Likewise.
5312 * tests/lib/unit_test.c: Likewise.
5313
5314 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 Use flag-based instead of hook-based video mode selection and "auto"
5317 keyword.
5318
5319 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5320 (grub_video_set_mode): Changed prototype. All users updated.
5321 (grub_video_check_mode_flag): New inline function.
5322 * video/video.c (parse_modespec): New function.
5323 (grub_video_set_mode): Parse flags and keywords.
5324
5325 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5326
5327 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5328 fprintf call.
5329
5330 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5331
5332 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5333
5334 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5335
5336 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5337 string.
5338 * util/grub-emu.c (usage): Likewise.
5339 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5340 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5341 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5342 * util/i386/pc/grub-setup.c (usage): Likewise.
5343
5344 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5345
5346 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5347 the message.
5348 (grub_util_info): Likewise.
5349 (grub_util_error): Likewise.
5350 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5351 and/or new lines in `grub_util_warna', `grub_util_info',
5352 `grub_util_error' calls.
5353 * util/getroot.c: Likewise.
5354 * util/grub-editenv.c: Likewise.
5355 * util/grub-emu.c: Likewise.
5356 * util/grub-fstest.c: Likewise.
5357 * util/grub-mkdevicemap.c: Likewise.
5358 * util/grub-mkfont.c: Likewise.
5359 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5360 * util/grub-mkrelpath.c: Likewise.
5361 * util/grub-pe2elf.c: Likewise.
5362 * util/grub-probe.c: Likewise.
5363 * util/hostdisk.c: Likewise.
5364 * util/i386/efi/grub-mkimage.c: Likewise.
5365 * util/i386/pc/grub-mkimage.c: Likewise.
5366 * util/i386/pc/grub-setup.c: Likewise.
5367 * util/ieee1275/ofpath.c: Likewise.
5368 * util/mkisofs/eltorito.c: Likewise.
5369 * util/mkisofs/rock.c: Likewise.
5370 * util/mkisofs/write.c: Likewise.
5371 * util/raid.c: Likewise.
5372 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5373 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5374
5375 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Enable multiboot on non-pc.
5378
5379 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5380 multiboot.mod and multiboot2.mod to ...
5381 * conf/i386.rmk (pkglib_MODULES): ... here.
5382 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5383 Moved to ...
5384 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5385 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5386 Moved to ...
5387 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5388 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5389 Moved to ...
5390 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5391 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5392 Moved to ...
5393 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5394 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5395 relocator.mod.
5396 (ata_mod_SOURCES): Removed.
5397 (ata_mod_CFLAGS): Likewise.
5398 (ata_mod_LDFLAGS): Likewise.
5399 (relocator_mod_SOURCES): Removed.
5400 (relocator_mod_CFLAGS): Likewise.
5401 (relocator_mod_ASFLAGS): Likewise.
5402 (relocator_mod_LDFLAGS): Likewise.
5403 Include i386.mk.
5404 * include/grub/x86_64/multiboot.h: New file.
5405 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5406 Terminate EFI.
5407
5408 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 Video multiboot support.
5411
5412 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5413 New prototype.
5414 * include/multiboot.h: Resynced with multiboot specification.
5415 * include/multiboot2.h: Likewise.
5416 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5417 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5418 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5419 (HAS_VGA_TEXT): Likewise.
5420 (accepts_video): New variable.
5421 (grub_multiboot_set_accepts_video): New function.
5422 (grub_multiboot_get_mbi_size): Account for video structures.
5423 (set_video_mode): New function.
5424 (retrieve_video_parameters): Likewise.
5425 (grub_multiboot_make_mbi): Fill video fields.
5426
5427 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 Video driver ids.
5430
5431 * include/grub/video.h (grub_video_driver_id): New type.
5432 (grub_video_adapter): New member 'id'. All users updated.
5433 (grub_video_get_driver_id): New proto.
5434 * video/video.c (grub_video_get_driver_id): New function.
5435
5436 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5437
5438 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5439 `var=val'.
5440
5441 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5442
5443 * normal/cmdline.c (print_completion): Gettextizze.
5444
5445 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5446
5447 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5448
5449 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5450
5451 * gettext/gettext.c (grub_gettext_translate): Push and pop
5452 grub_errno.
5453 (grub_gettext_delete_list): Change comment style.
5454 * kern/err.c (grub_error): Gettextizze.
5455 (grub_fatal): Gettextizze.
5456
5457 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5458
5459 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5460 (grub_linux16_real_boot): ... this.
5461 * kern/i386/loader.S: Likewise.
5462 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5463 (grub_linux16_boot): New function. Switches to text mode and calls
5464 grub_linux16_real_boot().
5465
5466 * loader/i386/bsd.c: Include `<grub/video.h>'.
5467 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5468 text mode before calling grub_unix_real_boot().
5469
5470 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5471 (grub_multiboot_boot): Switch to text mode before calling
5472 grub_relocator32_boot().
5473
5474 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5475 (grub_chainloader_boot): Switch to text mode before calling
5476 grub_chainloader_real_boot().
5477
5478 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5479 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5480
5481 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5482 non-empty value.
5483
5484 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5485 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5486
5487 * util/grub.d/00_header.in: Define a "savedefault" function for use
5488 in menu entries.
5489 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5490
5491 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5492 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5493
5494 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5495 saved_entry if boot_once is unset.
5496 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5497 previous saved entry (i.e. grub-reboot).
5498
5499 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5500
5501 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5502
5503 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5504
5505 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5506 `var=val'.
5507 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5508
5509 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5510
5511 * util/grub-reboot.in: Fix --version output.
5512 * util/grub-set-default.in: Likewise.
5513
5514 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5515
5516 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5517 blocks.
5518
5519 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5520
5521 * util/grub.d/00_header.in: Quote the value assigned to `default',
5522 in case it contains spaces.
5523
5524 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5527 `save_default_entry' call from the macosx case to the linux case.
5528
5529 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5530 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5531
5532 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5533 in `chosen' environment variable.
5534 * normal/menu_text.c (get_entry_number): Check if the variable
5535 matches the title of a menu entry.
5536 (run_menu): Pass menu to get_entry_number.
5537
5538 * util/grub-reboot.in: New file.
5539 * util/grub-set-default.in: New file.
5540 * conf/common.rmk (grub-reboot): New utility.
5541 (grub-set-default): New utility.
5542
5543 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5544 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5545 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5546 move it to `saved_entry' for the next boot. Load environment on
5547 initialisation.
5548 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5549 * util/grub.d/10_hurd.in: Likewise.
5550 * util/grub.d/10_linux.in (linux_entry): Likewise.
5551 * util/grub.d/10_windows.in: Likewise.
5552 * util/grub.d/30_os-prober.in: Likewise.
5553
5554 * util/grub-install.in: Create environment block.
5555 * util/i386/efi/grub-install.in: Likewise.
5556 * util/ieee1275/grub-install.in: Likewise.
5557 * util/sparc64/ieee1275/grub-install.in: Likewise.
5558
5559 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5560
5561 Unit testing framework for GRUB.
5562
5563 * Makefile.in: Test framework build rules for 'make check'.
5564 * conf/tests.rmk: Build rules for individual tests and framework.
5565
5566 * include/grub/test.h: Header file for whitebox tests.
5567 * tests/lib/functional_test.c: Framework support for whitebox
5568 functional tests.
5569 * tests/lib/test.c: Common whitebox testing code for unit and
5570 functional tests.
5571 * tests/lib/unit_test.c: Framework support for whitebox unit
5572 tests.
5573
5574 * tests/util/grub-shell-tester.in: Support utility for grub-script
5575 tests.
5576 * tests/util/grub-shell.in: Utility to execute grub-script
5577 commands in a Qemu instance.
5578
5579 * tests/example_functional_test.c: Example whitebox functional
5580 test.
5581 * tests/example_grub_script_test.in: Example grub-script test.
5582 * tests/example_scripted_test.in: Example scripted test.
5583 * tests/example_unit_test.c: Example whitebox unit test.
5584
5585 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5588 Add loader/i386/multiboot_mbi.c.
5589 (multiboot2_mod_SOURCES): Likewise.
5590 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5591 (multiboot2_mod_SOURCES): Likewise.
5592 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5593 (grub_multiboot_make_mbi): Likewise.
5594 (grub_multiboot_free_mbi): Likewise.
5595 (grub_multiboot_init_mbi): Likewise.
5596 (grub_multiboot_add_module): Likewise.
5597 (grub_multiboot_set_bootdev): Likewise.
5598 * loader/i386/multiboot.c (mbi): Removed.
5599 (mbi_dest): Likewise.
5600 (alloc_mbi): New variable.
5601 (grub_multiboot_payload_size): Removed. All users updated.
5602 (grub_multiboot_pure_size): New variable.
5603 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5604 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5605 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5606 (grub_fill_multiboot_mmap): Likewise.
5607 (grub_multiboot_get_bootdev): Likewise.
5608 (grub_multiboot): Use multiboot_mbi functions.
5609 * loader/i386/multiboot_mbi.c: New file.
5610
5611 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5614 it would result in module crash.
5615
5616 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5619 (grub_ofconsole_getwh): Split to ...
5620 (grub_ofconsole_getwh): ... this.
5621 (grub_ofconsole_dimensions): ...and this.
5622 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5623
5624 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5625
5626 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5627
5628 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * loader/i386/pc/multiboot2.c: Removed stalled file.
5631
5632 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5635 Reported by: Grégoire Sutre
5636
5637 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5638
5639 * util/misc.c (canonicalize_file_name): New function.
5640 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5641 instead of realpath().
5642
5643 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5644
5645 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5646 and make it clearer that it's optional. Based on confusion
5647 witnessed on IRC.
5648
5649 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5652 in premature implicit newline.
5653
5654 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5657 which resulted in garbled command line at the end of screen.
5658
5659 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5660
5661 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5662 initialization with similar approach as with other Linux loaders.
5663
5664 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5665
5666 Fix i386-ieee1275 build.
5667
5668 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5669 and grub_term_height() for video_{width,height} initialization.
5670
5671 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5672
5673 Fix grub-emu build.
5674
5675 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5676
5677 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5678 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5679
5680 Support for multiple terminals.
5681
5682 * Makefile.in (pkglib_DATA): terminal.lst.
5683 (terminal.lst): New target.
5684 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5685 (GRUB_MOD_INIT(handler)): Likewise.
5686 (GRUB_MOD_FINI(handler)): Likewise.
5687 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5688 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5689 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5690 (grub_cmd_sleep): Use grub_term_save_pos.
5691 * commands/terminal.c: New file.
5692 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5693 commands/terminal.c and lib/charset.c.
5694 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5695 (pkglib_MODULES): Add terminal.mod.
5696 (terminal_mod_SOURCES): New variable.
5697 (terminal_mod_CFLAGS): Likewise.
5698 (terminal_mod_LDFLAGS): Likewise.
5699 * genhandlerlist.sh: Don't handle terminals.
5700 * genmk.rb: Generate terminal-*.lst.
5701 * genterminallist.sh: New file.
5702 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5703 (grub_is_valid_utf8): Likewise.
5704 (grub_utf8_to_ucs4_alloc): Likewise.
5705 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5706 (grub_menu_register_viewer): Changed argument.
5707 (grub_menu_try_text): New proto.
5708 (grub_gfxmenu_try_hook): New declaration.
5709 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5710 (grub_menu_init_page): Additional argument term.
5711 (grub_normal_init_page): Likewise.
5712 (grub_cmdline_get): Arguments simplified.
5713 (grub_utf8_to_ucs4_alloc): Removed.
5714 (grub_print_ucs4): Additional argument term.
5715 (grub_getstringwidth): Likewise.
5716 (grub_print_message_indented): Likewise.
5717 (grub_menu_text_register_instances): New proto.
5718 (grub_show_menu): Likewise.
5719 (read_terminal_list): Likewise.
5720 (grub_set_more): Likewise.
5721 * include/grub/parser.h: Include handler.h.
5722 * include/grub/reader.h: Rewritten.
5723 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5724 (GRUB_TERM_WIDTH): Changed to function.
5725 (GRUB_TERM_HEIGHT): Likewise.
5726 (GRUB_TERM_BORDER_WIDTH): Likewise.
5727 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5728 (GRUB_TERM_NUM_ENTRIES): Likewise.
5729 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5730 (GRUB_TERM_CURSOR_X): Likewise.
5731 (grub_term_input_class): Likewise.
5732 (grub_term_output_class): Likewise.
5733 (grub_term_outputs_disabled): New declaration.
5734 (grub_term_inputs_disabled): Likewise.
5735 (grub_term_outputs): Likewise.
5736 (grub_term_inputs): Likewise.
5737 (grub_term_register_input): Rewritten.
5738 (grub_term_register_output): Likewise.
5739 (grub_term_unregister_input): Likewise.
5740 (grub_term_unregister_output): Likewise.
5741 (FOR_ACTIVE_TERM_INPUTS): New macro.
5742 (FOR_DISABLED_TERM_INPUTS): Likewise.
5743 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5744 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5745 * include/grub/terminfo.h: Add oterm argument to all protypes.
5746 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5747 Use grub_rescue_run.
5748 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5749 All users updated.
5750 * kern/reader.c: Removed. All users updated.
5751 * kern/rescue_reader.c (grub_rescue_init): Removed.
5752 (grub_rescue_reader): Likewise.
5753 (grub_register_rescue_reader): Likewise.
5754 (grub_rescue_run): New function based on kern/reader.c.
5755 * kern/term.c: Adapted for multiterm.
5756 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5757 (grub_is_valid_utf8): Likewise.
5758 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5759 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5760 right terminal.
5761 * loader/i386/linux.c (grub_linux_boot): Likewise.
5762 * normal/auth.c (grub_username_get): New function.
5763 (grub_auth_check_authentication): Use grub_username_get.
5764 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5765 * normal/color.c: Adapt for multiterm.
5766 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5767 (grub_normal_init_page): Additional argument term.
5768 (read_lists): Call read_terminal_lists.
5769 (grub_enter_normal_mode): Call grub_cmdline_run.
5770 Handle grub_normal_exit_level.
5771 (grub_cmd_normal): Make reentrant.
5772 (grub_cmd_normal_exit): New function.
5773 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5774 * normal/menu.c: Adapt for multiterm.
5775 * normal/menu_entry.c: Likewise.
5776 * normal/menu_text.c: Likewise.
5777 * normal/menu_viewer.c: Removed. All users updated.
5778 * normal/term.c: New file.
5779 * util/console.c: Change order of includes to workaround a bug in
5780 ncurses headers.
5781 * term/terminfo.c: New argument oterm on all exported functions.
5782 All users updated.
5783 * util/grub-editenv.c (grub_term_input_class): Removed.
5784 (grub_term_output_class): Likewise.
5785
5786 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5787
5788 Make loader output a bit more user-friendly.
5789
5790 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5791 is being loaded. Likewise for the Hurd.
5792
5793 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5794 that kernel of FreeBSD ${version} is being loaded.
5795
5796 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5797 grub_dprintf().
5798 (grub_cmd_initrd): Likewise.
5799 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5800 that Linux ${version} is being loaded. Likewise for initrd.
5801
5802 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5803
5804 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5805
5806 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5807
5808 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5809 (GRUB_MOD_INIT): Gettextizze.
5810 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5811 (GRUB_MOD_INIT): Gettextizze.
5812 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5813 (grub_cmd_linux): Capitalise Linux.
5814 (GRUB_MOD_INIT): Gettextizze.
5815 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5816 (grub_cmd_linux): Capitalise Linux.
5817 (GRUB_MOD_INIT): Gettextizze.
5818 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5819 (grub_cmd_linux): Capitalise Linux.
5820 (GRUB_MOD_INIT): Gettextizze.
5821 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5822 (GRUB_MOD_INIT): Gettextizze.
5823 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5824 (grub_cmd_linux): Capitalise Linux.
5825 (GRUB_MOD_INIT): Gettextizze.
5826 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5827 (grub_cpu_xnu_init): Gettextizze.
5828 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5829 (GRUB_MOD_INIT): Gettextizze.
5830 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5831 (GRUB_MOD_INIT): Gettextizze.
5832 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5833 (grub_linux_load64): Capitalise Linux.
5834 (GRUB_MOD_INIT): Gettextizze.
5835 * loader/xnu.c: Include `<grub/i18n.h>'.
5836 (GRUB_MOD_INIT): Gettextizze.
5837 * po/POTFILES: Add `loader/efi/appleloader.c',
5838 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5839 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5840 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5841 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5842 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5843 and `loader/xnu.c'.
5844
5845 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5846
5847 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5848
5849 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5850
5851 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5852 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5853 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5854
5855 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5856
5857 Reset Multiboot 2 support. New loader implements the draft in
5858 /branches/multiboot2 and shares as much code as possible with the
5859 production Multiboot 1 implementation.
5860
5861 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5862 * loader/multiboot2.c: Likewise.
5863 * loader/i386/multiboot_helper.S: Likewise.
5864 * include/multiboot2.h: Replace with latest version from the draft
5865 in /branches/multiboot2.
5866
5867 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5868 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5869 and `loader/multiboot2.c'.
5870 (pkglib_MODULES): Add `multiboot2.mod'.
5871 (multiboot2_mod_SOURCES): New variable.
5872 (multiboot2_mod_LDFLAGS): Likewise.
5873 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5874
5875 * conf/i386-pc.rmk: Likewise.
5876
5877 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5878 (multiboot_mod_SOURCES): Remove variable.
5879 (multiboot_mod_LDFLAGS): Likewise.
5880 (multiboot_mod_CFLAGS): Likewise.
5881
5882 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5883 `<multiboot2.h>' instead of `<multiboot.h>'.
5884 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5885 (MULTIBOOT_HEADER_MAGIC): New macros.
5886
5887 * loader/multiboot_loader.c (module_version_status): Remove variable.
5888 (find_multi_boot2_header): Remove function.
5889 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5890 logic. Always check for the Multiboot version we're compiling for.
5891 (grub_cmd_module_loader): Likewise.
5892 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5893 command instead of `multiboot'.
5894
5895 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5896
5897 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5898 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5899 all users.
5900
5901 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5902 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Fix breakage introduced with previous commit.
5905
5906 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5907 commands.
5908 * normal/handler.c (read_handler_list): Revert part of previous commit
5909 affecting this file.
5910 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5911 (grub_normal_execute): ... here.
5912
5913 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5914
5915 Merge prefix-redefinition-fix branch.
5916
5917 * normal/autofs.c (read_fs_list): Make function capable of being
5918 run multiple times, gracefuly replacing the previous data
5919 structures.
5920 * normal/dyncmd.c (read_command_list): Likewise.
5921 * normal/handler.c (read_handler_list): Likewise.
5922 * normal/main.c (read_lists): New function. Calls all the
5923 list reading functions.
5924 (grub_normal_execute): Use read_lists() instead of calling all
5925 list reading functions explicitly. Register read_lists() as a
5926 variable hook attached to ${prefix}.
5927
5928 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Merge crypto branch.
5931
5932 * Makefile.in (pkglib_DATA): Add crypto.lst.
5933 (crypto.lst): New target.
5934 * commands/hashsum.c: New file.
5935 * commands/password.c (check_password): Use grub_crypto_memcmp.
5936 * commands/password_pbkdf2.c: New file.
5937 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5938 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5939 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5940 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5941 -I$(srcdir)/lib/libgcrypt_wrap.
5942 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5943 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5944 password_pbkdf2.mod.
5945 (crypto_mod_SOURCES): New variable.
5946 (crypto_mod_CFLAGS): Likewise.
5947 (crypto_mod_LDFLAGS): Likewise.
5948 (hashsum_mod_SOURCES): New variable.
5949 (hashsum_mod_CFLAGS): Likewise.
5950 (hashsum_mod_LDFLAGS): Likewise.
5951 (pbkdf2_mod_SOURCES): New variable.
5952 (pbkdf2_mod_CFLAGS): Likewise.
5953 (pbkdf2_mod_LDFLAGS): Likewise.
5954 (password_pbkdf2_mod_SOURCES): New variable.
5955 (password_pbkdf2_mod_CFLAGS): Likewise.
5956 (password_pbkdf2_mod_LDFLAGS): Likewise.
5957 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5958 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5959 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5960 Include conf/gcry.rmk.
5961 * include/grub/auth.h: Rewritten.
5962 * include/grub/crypto.h: New file.
5963 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5964 * include/grub/normal.h (read_crypto_list): New prototype.
5965 * lib/crypto.c: New file.
5966 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5967 * lib/pbkdf2.c: Likewise.
5968 * normal/auth.c (grub_auth_strcmp): Removed.
5969 (grub_iswordseparator): Likewise.
5970 (grub_auth_strword): Likewise.
5971 (is_authenticated): Use grub_strword.
5972 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5973 and grub_strword. Pass entered password to authentication callback.
5974 * normal/crypto.c: New file.
5975 * normal/main.c: Call read_crypto_list.
5976 * util/grub-mkpasswd-pbkdf2.c: New file.
5977 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5978
5979 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 Fix descent and ascent calculation.
5982
5983 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5984 (options): New option "asce".
5985 (usage): Likewise.
5986 (add_char): Ignore invalid glyphs for descent calculation.
5987 Calculate ascent from actual content.
5988 (print_glyphs): Use 'asce'.
5989 (write_font): Likewise. Allow ascent override.
5990 (main): Handle "asce" option.
5991
5992 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5993
5994 * kern/err.c: Include `<grub/i18n.h>'.
5995 (grub_print_error): Add full stop. Gettextizze.
5996 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5997 (grub_bsd_load_elf): Capitalise ELF.
5998 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5999 (grub_cmd_freebsd_module): Likewise.
6000 (grub_cmd_freebsd_module_elf): Likewise.
6001 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6002
6003 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6004
6005 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6006 * commands/search_file.c (HELP_MESSAGE): New macro.
6007 * commands/search_label.c (HELP_MESSAGE): Likewise.
6008 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6009 * po/POTFILES: Add `commands/search_file.c',
6010 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6011 `commands/search.c'.
6012
6013 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6014
6015 * config.rpath: Update from Gnulib.
6016
6017 2010-01-05 Yves Blusseau <blusseau@zetam.org>
6018
6019 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6020
6021 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6022
6023 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6024
6025 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6026
6027 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6028 arguments to fread so that we get a return value in bytes, rather
6029 than something that will normally be rounded down to 0.
6030 Adjust error handling to avoid producing garbage when size_t is not
6031 the same size as long long.
6032
6033 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6034
6035 * util/mkisofs/write.c (padblock_write): Check return value of
6036 fread.
6037
6038 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6041 floppy images now.
6042
6043 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6044
6045 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6046
6047 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6048 instead of manual alignment.
6049 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6050 verbose). Avoid attempts to read past end of the device
6051 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6052 but GRUB_DISK_CACHE_SIZE may exceed that).
6053
6054 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6055
6056 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6057 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6058 it to upper layer.
6059
6060 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6063 New constant.
6064 (grub_efi_piwg_device_path): New structure
6065 (grub_efi_piwg_device_path_t): New type.
6066 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6067 (devpath_1): Transform to a structure. All users updated.
6068 (devpath_2): Likewise.
6069 (devpath_3): Likewise.
6070 (devpath_4): Likewise.
6071 (devpath_5): Likewise.
6072
6073 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * loader/efi/appleloader.c: Restored. Update all users.
6076
6077 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6078
6079 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6080
6081 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6082 (struct boot_blocklist): Move from here ...
6083 * include/grub/i386/pc/boot.h [ASM_FILE]
6084 (struct grub_boot_blocklist): ... to here. Update all users.
6085 (setup): Only initialize `start' member of `first_block'
6086 structure. Add assert() calls to verify the other members.
6087
6088 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6089 (generate_image): Fix broken blocklist length initialization.
6090 Add assert() call to verify blocklist `segment' field.
6091
6092 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6093
6094 * loader/efi/appleloader.c: Remove. Update all users.
6095
6096 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6097
6098 * boot/i386/pc/boot.S: Update copyright year.
6099 * boot/i386/pc/cdboot.S: Likewise.
6100 * boot/i386/pc/diskboot.S: Likewise.
6101 * boot/i386/pc/lnxboot.S: Likewise.
6102 * boot/i386/pc/pxeboot.S: Likewise.
6103 * bus/pci.c: Likewise.
6104 * commands/cmp.c: Likewise.
6105 * commands/help.c: Likewise.
6106 * commands/hexdump.c: Likewise.
6107 * commands/i386/pc/halt.c: Likewise.
6108 * commands/i386/pc/play.c: Likewise.
6109 * commands/i386/pc/vbeinfo.c: Likewise.
6110 * commands/ls.c: Likewise.
6111 * commands/test.c: Likewise.
6112 * disk/dmraid_nvidia.c: Likewise.
6113 * disk/i386/pc/biosdisk.c: Likewise.
6114 * disk/ieee1275/nand.c: Likewise.
6115 * disk/ieee1275/ofdisk.c: Likewise.
6116 * disk/lvm.c: Likewise.
6117 * disk/raid.c: Likewise.
6118 * disk/raid6_recover.c: Likewise.
6119 * disk/scsi.c: Likewise.
6120 * fs/affs.c: Likewise.
6121 * fs/cpio.c: Likewise.
6122 * fs/ext2.c: Likewise.
6123 * fs/hfs.c: Likewise.
6124 * fs/iso9660.c: Likewise.
6125 * fs/ntfs.c: Likewise.
6126 * fs/sfs.c: Likewise.
6127 * fs/udf.c: Likewise.
6128 * fs/ufs.c: Likewise.
6129 * fs/xfs.c: Likewise.
6130 * gencmdlist.sh: Likewise.
6131 * genmk.rb: Likewise.
6132 * include/grub/disk.h: Likewise.
6133 * include/grub/efi/api.h: Likewise.
6134 * include/grub/efi/efi.h: Likewise.
6135 * include/grub/efi/pe32.h: Likewise.
6136 * include/grub/elf.h: Likewise.
6137 * include/grub/fs.h: Likewise.
6138 * include/grub/i386/at_keyboard.h: Likewise.
6139 * include/grub/i386/pc/memory.h: Likewise.
6140 * include/grub/i386/pc/vbe.h: Likewise.
6141 * include/grub/i386/pci.h: Likewise.
6142 * include/grub/i386/tsc.h: Likewise.
6143 * include/grub/ieee1275/ieee1275.h: Likewise.
6144 * include/grub/ntfs.h: Likewise.
6145 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6146 * include/grub/sparc64/libgcc.h: Likewise.
6147 * include/grub/symbol.h: Likewise.
6148 * include/grub/types.h: Likewise.
6149 * include/multiboot2.h: Likewise.
6150 * io/gzio.c: Likewise.
6151 * kern/device.c: Likewise.
6152 * kern/disk.c: Likewise.
6153 * kern/efi/efi.c: Likewise.
6154 * kern/efi/mm.c: Likewise.
6155 * kern/elf.c: Likewise.
6156 * kern/file.c: Likewise.
6157 * kern/i386/dl.c: Likewise.
6158 * kern/i386/pc/init.c: Likewise.
6159 * kern/i386/pc/startup.S: Likewise.
6160 * kern/ieee1275/ieee1275.c: Likewise.
6161 * kern/ieee1275/init.c: Likewise.
6162 * kern/main.c: Likewise.
6163 * kern/mm.c: Likewise.
6164 * kern/powerpc/dl.c: Likewise.
6165 * kern/sparc64/dl.c: Likewise.
6166 * kern/x86_64/dl.c: Likewise.
6167 * lib/hexdump.c: Likewise.
6168 * loader/efi/appleloader.c: Likewise.
6169 * loader/i386/ieee1275/linux.c: Likewise.
6170 * loader/i386/pc/chainloader.c: Likewise.
6171 * loader/i386/pc/linux.c: Likewise.
6172 * loader/i386/pc/multiboot2.c: Likewise.
6173 * loader/ieee1275/multiboot2.c: Likewise.
6174 * loader/multiboot2.c: Likewise.
6175 * loader/multiboot_loader.c: Likewise.
6176 * loader/powerpc/ieee1275/linux.c: Likewise.
6177 * normal/completion.c: Likewise.
6178 * normal/menu_entry.c: Likewise.
6179 * partmap/apple.c: Likewise.
6180 * util/grub.d/10_hurd.in: Likewise.
6181 * util/hostfs.c: Likewise.
6182 * video/readers/png.c: Likewise.
6183
6184 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6185
6186 * include/grub/misc.h (GNUC_PREREQ): New macro.
6187 (ATTRIBUTE_ERROR): New macro.
6188 * include/grub/list.h (grub_bad_type_cast_real): Use
6189 ATTRIBUTE_ERROR.
6190
6191 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6192
6193 * normal/menu_text.c (print_message): Change messages.
6194
6195 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6196
6197 * normal/menu_entry.c (store_completion): Gettextizze.
6198
6199 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6200
6201 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6202
6203 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6204
6205 * po/POTFILES: Sort correctly.
6206
6207 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6208
6209 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6210 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6211 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6212 full stop.
6213 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6214 summary. Gettextizze the strings.
6215 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6216 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6217 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6218 full stop.
6219 (GRUB_MOD_INIT): Remove command name from summary.
6220 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6221 summary.
6222 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6223 * term/i386/pc/serial.c (options): Add full stops.
6224 (GRUB_MOD_INIT): Remove command name from the summary.
6225
6226 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6227
6228 * commands/acpi.c: Gettextizze help strings and/or options. Include
6229 `grub/i18n.h' if needed.
6230 * commands/blocklist.c: Likewise.
6231 * commands/boot.c: Likewise.
6232 * commands/cat.c: Likewise.
6233 * commands/cmp.c: Likewise.
6234 * commands/configfile.c: Likewise.
6235 * commands/crc.c: Likewise.
6236 * commands/date.c: Likewise.
6237 * commands/echo.c: Likewise.
6238 * commands/efi/fixvideo.c: Likewise.
6239 * commands/efi/loadbios.c: Likewise.
6240 * commands/gptsync.c: Likewise.
6241 * commands/halt.c: Likewise.
6242 * commands/handler.c: Likewise.
6243 * commands/hdparm.c: Likewise.
6244 * commands/hexdump.c: Likewise.
6245 * commands/i386/cpuid.c: Likewise.
6246 * commands/i386/pc/drivemap.c: Likewise.
6247 * commands/i386/pc/halt.c: Likewise.
6248 * commands/i386/pc/pxecmd.c: Likewise.
6249 * commands/i386/pc/vbeinfo.c: Likewise.
6250 * commands/i386/pc/vbetest.c: Likewise.
6251 * commands/ieee1275/suspend.c: Likewise.
6252 * commands/keystatus.c: Likewise.
6253 * commands/loadenv.c: Likewise.
6254 * commands/ls.c: Likewise.
6255 * commands/lsmmap.c: Likewise.
6256 * commands/lspci.c: Likewise.
6257 * commands/memrw.c: Likewise.
6258 * commands/minicmd.c: Likewise.
6259 * commands/parttool.c: Likewise.
6260 * commands/password.c: Likewise.
6261 * commands/probe.c: Likewise.
6262 * commands/read.c: Likewise.
6263 * commands/reboot.c: Likewise.
6264 * commands/search.c: Likewise.
6265 * commands/sleep.c: Likewise.
6266 * commands/test.c: Likewise.
6267 * commands/true.c: Likewise.
6268 * commands/usbtest.c: Likewise.
6269 * commands/videotest.c: Likewise.
6270 * commands/xnu_uuid.c: Likewise.
6271 * disk/loopback.c: Likewise.
6272 * hello/hello.c: Likewise.
6273 * loader/i386/bsd.c: Likewise.
6274 * term/i386/pc/serial.c: Likewise.
6275 * po/POTFILES: Add new files.
6276
6277 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6278
6279 * term/i386/pc/at_keyboard.c
6280 (keyboard_controller_wait_untill_ready): Rename to ...
6281 (keyboard_controller_wait_until_ready): ... this. Update all users.
6282
6283 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6284
6285 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6286 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6287 string using string width.
6288 * normal/menu_text.c (grub_print_message_indented): Use
6289 grub_print_spaces and not print_spaces.
6290 (print_timeout): Likewise.
6291 (print_spaces): Move to...
6292 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6293
6294 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6295
6296 Import from Gnulib.
6297
6298 * gnulib/getdelim.c: New file.
6299 * gnulib/getline.c: Likewise.
6300
6301 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6302
6303 * include/grub/list.h (grub_assert_fail): Removed.
6304 (grub_bad_type_cast_real): New function.
6305 (grub_bad_type_cast): New macro.
6306 (GRUB_AS_LIST): Use grub_bad_type_cast.
6307 (GRUB_AS_LIST_P): Likewise.
6308 (GRUB_AS_NAMED_LIST): Likewise.
6309 (GRUB_AS_NAMED_LIST_P): Likewise.
6310 (GRUB_AS_PRIO_LIST): Likewise.
6311 (GRUB_AS_PRIO_LIST_P): Likewise.
6312 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6313
6314 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6317 Fix syntax error.
6318
6319 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6320
6321 * configure.ac: Check for TARGET_CFLAGS initialization before we
6322 initialize it ourselves (sigh).
6323 Move a few modifications to TARGET_CFLAGS to be unconditional
6324 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6325 eh_frame)
6326
6327 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6328 * term/i386/pc/at_keyboard.c
6329 (keyboard_controller_wait_untill_ready): Likewise.
6330 (keyboard_controller_led): Rename `led_status' paramter to avoid
6331 name conflict.
6332
6333 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6334
6335 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6336 quotes.
6337
6338 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6341
6342 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * normal/menu_text.c (grub_print_message_indented): Prevent
6345 past-the-end-of-array dereference.
6346
6347 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6350 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6351
6352 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6353
6354 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6355 * normal/main.c (grub_normal_read_line): Remove a space from the
6356 default prompt.
6357
6358 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6359
6360 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6361 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6362 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6363 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6364 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6365 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6366 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6367
6368 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6369
6370 * video/readers/jpeg.c (cmd): Declare.
6371 (grub_cmd_jpegtest): Use `grub_command_t' type.
6372 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6373 Assign to `cmd'.
6374 (GRUB_MOD_FINI): Use `cmd' to unregister.
6375 * video/readers/png.c (cmd): Declare.
6376 (grub_cmd_pngtest): Use `grub_command_t' type.
6377 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6378 Assign to `cmd'.
6379 (GRUB_MOD_FINI): Use `cmd' to unregister.
6380 * video/readers/tga.c (cmd): Declare.
6381 (grub_cmd_tgatest): Use `grub_command_t' type.
6382 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6383 Assign to `cmd'.
6384 (GRUB_MOD_FINI): Use `cmd' to unregister.
6385
6386 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6387
6388 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6389 stops.
6390 * kern/corecmd.c (grub_register_core_commands): Likewise.
6391 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6392 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6393 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6394 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6395 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6396 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6397 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6398 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6399 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6400 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6401 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6402 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6403 * normal/handler.c (insert_handler): Likewise.
6404 * normal/main.c (GRUB_MOD_INIT): Likewise.
6405 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6406
6407 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6408
6409 * commands/help.c (grub_cmd_help): Print the command name before the
6410 summary.
6411 (GRUB_MOD_INIT): Remove command name from the summary.
6412 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6413 string as summary.
6414 * lib/arg.c (find_long): Print the command name before the summary.
6415 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6416 summary.
6417 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6418 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6419 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6420 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6421 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6422 * commands/date.c (GRUB_MOD_INIT): Likewise.
6423 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6424 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6425 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6426 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6427 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6428 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6429 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6430 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6431 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6432 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6433 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6434 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6435 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6436 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6437 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6438 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6439 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6440 * commands/password.c (GRUB_MOD_INIT): Likewise.
6441 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6442 * commands/read.c (GRUB_MOD_INIT): Likewise.
6443 * commands/search.c (GRUB_MOD_INIT): Likewise.
6444 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6445 * commands/test.c (GRUB_MOD_INIT): Likewise.
6446 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6447 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6448 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6449 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6450 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6451 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6452 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6453 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6454 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6455 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6456 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6457 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6458 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6459 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6460
6461 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 Use search command for preliminar UUID search.
6464
6465 * commands/search.c: Split into ...
6466 * commands/search_wrap.c: ...this
6467 * commands/search.c: ...and this.
6468 * commands/search_file.c: New file.
6469 * commands/search_label.c: New file.
6470 * commands/search_uuid.c: New file.
6471 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6472 Add commands/search_wrap.c, commands/search_file.c,
6473 commands/search_label.c and commands/search_uuid.c.
6474 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6475 (search_mod_SOURCES): Set to commands/search_wrap.c.
6476 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6477 search_label.mod.
6478 (search_fs_file_mod_SOURCES): New variable.
6479 (search_fs_file_mod_CFLAGS): Likewise.
6480 (search_fs_file_mod_LDFLAGS): Likewise.
6481 (search_label_mod_SOURCES): Likewise.
6482 (search_label_mod_CFLAGS): Likewise.
6483 (search_label_mod_LDFLAGS): Likewise.
6484 (search_fs_uuid_mod_SOURCES): New variable.
6485 (search_fs_uuid_mod_CFLAGS): Likewise.
6486 (search_fs_uuid_mod_LDFLAGS): Likewise.
6487 (fs_file_mod_SOURCES): Removed.
6488 (fs_file_mod_CFLAGS): Likewise.
6489 (fs_file_mod_LDFLAGS): Likewise.
6490 (fs_uuid_mod_SOURCES): Removed.
6491 (fs_uuid_mod_CFLAGS): Likewise.
6492 (fs_uuid_mod_LDFLAGS): Likewise.
6493 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6494 Set to util/grub-install.in.
6495 * disk/fs_file.c: Removed.
6496 * disk/fs_uuid.c: Likewise.
6497 * include/grub/search.h: New file.
6498 * util/grub-install.in: Handle sparc64.
6499 Create and use load.cfg.
6500 * util/sparc64/ieee1275/grub-install.in: Removed.
6501
6502 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6505 Ignore return status if CF is cleared.
6506 (grub_biosdisk_get_diskinfo_standard): Likewise.
6507
6508 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6509
6510 * term/i386/pc/at_keyboard.c
6511 (keyboard_controller_wait_untill_ready): New function.
6512 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6513 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6514 for keyboard polling, rather than duplicate the same loop. This
6515 saves a few bytes in code size.
6516
6517 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 Support for (pxe[:server[:gateway]]) syntax and
6520 use environment variable for PXE.
6521
6522 * commands/i386/pc/pxecmd.c (options): Removed.
6523 (print_ip): Removed.
6524 (grub_cmd_pxe): Removed
6525 (grub_cmd_pxe_unload): New function.
6526 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6527 (grub_pxe_your_ip): Made static.
6528 (grub_pxe_default_server_ip): Likewise.
6529 (grub_pxe_default_gateway_ip): Likewise.
6530 (grub_pxe_blksize): Likewise.
6531 (parse_ip): New function.
6532 (grub_pxe_open): Support server and gateway specification.
6533 (grub_pxe_close): Free disk->data.
6534 (grub_pxefs_open): Use disk->data.
6535 (grub_pxefs_read): Likewise.
6536 (grub_env_write_readonly): New function.
6537 (set_mac_env): Likewise.
6538 (set_env_limn_ro): Likewise.
6539 (parse_dhcp_vendor): Likewise.
6540 (grub_pxe_detect): Set the environment variables.
6541 (set_ip_env): New function.
6542 (write_ip_env): Likewise.
6543 (grub_env_write_pxe_default_server): Likewise.
6544 (grub_env_write_pxe_default_gateway): Likewise.
6545 (grub_env_write_pxe_blocksize): Likewise.
6546 (GRUB_MOD_INIT(pxe)): Set environment variables.
6547 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6548 (grub_pxe_mac_addr_t): ... this. All users updated.
6549 (grub_pxe_your_ip): Removed.
6550 (grub_pxe_server_ip): Likewise.
6551 (grub_pxe_gateway_ip): Likewise.
6552 (grub_pxe_blksize): Likewise.
6553
6554 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6555
6556 * commands/help.c: Include `<grub/i18n.h>'.
6557 (grub_cmd_help): Gettextizze.
6558 (GRUB_MOD_INIT): Likewise.
6559 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6560 (GRUB_MOD_INIT): Gettextizze.
6561 * commands/search.c: Include `<grub/i18n.h>'.
6562 (options): Gettextizze.
6563 (GRUB_MOD_INIT): Gettextizze.
6564 * lib/arg.c: Include `<grub/i18n.h>'.
6565 (help_options): Gettextizze.
6566 (find_long): Likewise.
6567 (grub_arg_show_help): Likewise.
6568 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6569 (read_command_list): Gettextizze.
6570 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6571 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6572
6573 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6574
6575 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6576 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6577 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6578 (led_status): New variable.
6579 (keyboard_controller_led): New function.
6580 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6581 update led status for caps lock, num lock and scroll lock.
6582
6583 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6584
6585 * util/hostdisk.c (open_device): Fix a comment.
6586
6587 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6588
6589 * util/grub-install.in (host_os): New variable.
6590 * util/i386/efi/grub-install.in (host_os): Likewise.
6591
6592 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6593
6594 * util/mkisofs/write.c (padblock_write): Abort when given an
6595 excedingly large embed image, instead of silently truncating it.
6596
6597 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6598
6599 * include/multiboot.h: Indentation fixes.
6600
6601 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6602
6603 * include/multiboot.h (struct multiboot_aout_symbol_table)
6604 (struct multiboot_elf_section_header_table): New structure
6605 declarations (stolen from GRUB Legacy).
6606 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6607 table information.
6608
6609 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6610 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6611 type aliases.
6612
6613 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6614
6615 * include/multiboot.h: Make comments src2texi-friendly.
6616
6617 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6618
6619 For consistency with [multiboot]/docs/boot.S.
6620
6621 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6622 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6623 (MULTIBOOT_MAGIC2): Rename from this ...
6624 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6625
6626 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6627
6628 * include/multiboot.h: Remove `<grub/types.h>'.
6629 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6630 types. Update all users.
6631
6632 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6633
6634 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6635 `couldn't' and `can not' by `cannot'.
6636 * commands/i386/pc/drivemap.c: Likewise.
6637 * disk/ata.c: Likewise.
6638 * disk/ieee1275/nand.c: Likewise.
6639 * fs/affs.c: Likewise.
6640 * fs/fat.c: Likewise.
6641 * fs/hfs.c: Likewise.
6642 * fs/hfsplus.c: Likewise.
6643 * fs/iso9660.c: Likewise.
6644 * fs/jfs.c: Likewise.
6645 * fs/minix.c: Likewise.
6646 * fs/reiserfs.c: Likewise.
6647 * fs/sfs.c: Likewise.
6648 * fs/udf.c: Likewise.
6649 * fs/ufs.c: Likewise.
6650 * fs/xfs.c: Likewise.
6651 * loader/powerpc/ieee1275/linux.c: Likewise.
6652 * loader/sparc64/ieee1275/linux.c: Likewise.
6653 * util/grub-probe.c: Likewise.
6654 * util/misc.c: Likewise.
6655
6656 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6657
6658 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6659 grub_errno calls.
6660 * commands/acpi.c: Likewise.
6661 * commands/blocklist.c: Likewise.
6662 * commands/efi/loadbios.c: Likewise.
6663 * commands/i386/pc/drivemap.c: Likewise.
6664 * commands/loadenv.c: Likewise.
6665 * commands/memrw.c: Likewise.
6666 * commands/password.c: Likewise.
6667 * commands/videotest.c: Likewise.
6668 * disk/ata.c: Likewise.
6669 * disk/ata_pthru.c: Likewise.
6670 * disk/dmraid_nvidia.c: Likewise.
6671 * disk/ieee1275/nand.c: Likewise.
6672 * disk/ieee1275/ofdisk.c: Likewise.
6673 * disk/loopback.c: Likewise.
6674 * disk/lvm.c: Likewise.
6675 * disk/mdraid_linux.c: Likewise.
6676 * disk/raid.c: Likewise.
6677 * disk/raid6_recover.c: Likewise.
6678 * disk/scsi.c: Likewise.
6679 * efiemu/main.c: Likewise.
6680 * efiemu/mm.c: Likewise.
6681 * efiemu/pnvram.c: Likewise.
6682 * efiemu/symbols.c: Likewise.
6683 * font/font.c: Likewise.
6684 * fs/cpio.c: Likewise.
6685 * fs/hfsplus.c: Likewise.
6686 * fs/iso9660.c: Likewise.
6687 * fs/jfs.c: Likewise.
6688 * fs/minix.c: Likewise.
6689 * fs/ntfs.c: Likewise.
6690 * fs/ntfscomp.c: Likewise.
6691 * fs/reiserfs.c: Likewise.
6692 * fs/ufs.c: Likewise.
6693 * fs/xfs.c: Likewise.
6694 * gettext/gettext.c: Likewise.
6695 * include/grub/auth.h: Likewise.
6696 * kern/elf.c: Likewise.
6697 * kern/file.c: Likewise.
6698 * kern/ieee1275/init.c: Likewise.
6699 * kern/ieee1275/mmap.c: Likewise.
6700 * kern/ieee1275/openfw.c: Likewise.
6701 * kern/powerpc/dl.c: Likewise.
6702 * kern/sparc64/dl.c: Likewise.
6703 * lib/arg.c: Likewise.
6704 * loader/i386/bsd.c: Likewise.
6705 * loader/i386/bsdXX.c: Likewise.
6706 * loader/i386/efi/linux.c: Likewise.
6707 * loader/i386/efi/xnu.c: Likewise.
6708 * loader/i386/ieee1275/linux.c: Likewise.
6709 * loader/i386/linux.c: Likewise.
6710 * loader/i386/multiboot.c: Likewise.
6711 * loader/i386/pc/linux.c: Likewise.
6712 * loader/i386/pc/multiboot2.c: Likewise.
6713 * loader/i386/xnu.c: Likewise.
6714 * loader/ieee1275/multiboot2.c: Likewise.
6715 * loader/macho.c: Likewise.
6716 * loader/machoXX.c: Likewise.
6717 * loader/multiboot2.c: Likewise.
6718 * loader/multiboot_loader.c: Likewise.
6719 * loader/powerpc/ieee1275/linux.c: Likewise.
6720 * loader/sparc64/ieee1275/linux.c: Likewise.
6721 * loader/xnu.c: Likewise.
6722 * loader/xnu_resume.c: Likewise.
6723 * mmap/i386/pc/mmap.c: Likewise.
6724 * normal/menu_viewer.c: Likewise.
6725 * partmap/acorn.c: Likewise.
6726 * partmap/amiga.c: Likewise.
6727 * partmap/apple.c: Likewise.
6728 * script/lexer.c: Likewise.
6729 * term/gfxterm.c: Likewise.
6730 * term/i386/pc/serial.c: Likewise.
6731 * term/i386/pc/vga.c: Likewise.
6732 * term/ieee1275/ofconsole.c: Likewise.
6733 * term/terminfo.c: Likewise.
6734 * video/bitmap.c: Likewise.
6735 * video/efi_gop.c: Likewise.
6736 * video/efi_uga.c: Likewise.
6737 * video/fb/video_fb.c: Likewise.
6738 * video/i386/pc/vbe.c: Likewise.
6739 * video/readers/tga.c: Likewise.
6740 * video/video.c: Likewise.
6741
6742 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6743
6744 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6745 * commands/lspci.c: Likewise.
6746 * commands/probe.c: Likewise.
6747 * commands/xnu_uuid.c: Likewise.
6748 * conf/i386-coreboot.rmk: Likewise.
6749 * conf/i386-efi.rmk: Likewise.
6750 * conf/i386-ieee1275.rmk: Likewise.
6751 * conf/i386-pc.rmk: Likewise.
6752 * conf/powerpc-ieee1275.rmk: Likewise.
6753 * conf/sparc64-ieee1275.rmk: Likewise.
6754 * conf/x86_64-efi.rmk: Likewise.
6755 * fs/i386/pc/pxe.c: Likewise.
6756 * gettext/gettext.c: Likewise.
6757 * include/grub/efi/graphics_output.h: Likewise.
6758 * include/grub/i386/pc/memory.h: Likewise.
6759 * kern/env.c: Likewise.
6760 * kern/i386/qemu/startup.S: Likewise.
6761 * lib/i386/pc/biosnum.c: Likewise.
6762 * lib/i386/relocator.c: Likewise.
6763 * lib/i386/relocator_asm.S: Likewise.
6764 * lib/relocator.c: Likewise.
6765 * loader/i386/bsd.c: Likewise.
6766 * loader/i386/multiboot.c: Likewise.
6767 * loader/i386/pc/chainloader.c: Likewise.
6768 * loader/i386/xnu.c: Likewise.
6769 * loader/xnu.c: Likewise.
6770 * normal/main.c: Likewise.
6771 * normal/menu_text.c: Likewise.
6772 * util/getroot.c: Likewise.
6773 * util/grub-mkconfig_lib.in: Likewise.
6774 * util/grub.d/00_header.in: Likewise.
6775 * util/i386/pc/grub-mkimage.c: Likewise.
6776 * util/mkisofs/eltorito.c: Likewise.
6777 * util/mkisofs/exclude.h: Likewise.
6778 * util/mkisofs/hash.c: Likewise.
6779 * util/mkisofs/iso9660.h: Likewise.
6780 * util/mkisofs/joliet.c: Likewise.
6781 * util/mkisofs/mkisofs.c: Likewise.
6782 * util/mkisofs/mkisofs.h: Likewise.
6783 * util/mkisofs/multi.c: Likewise.
6784 * util/mkisofs/name.c: Likewise.
6785 * util/mkisofs/rock.c: Likewise.
6786 * util/mkisofs/tree.c: Likewise.
6787 * util/mkisofs/write.c: Likewise.
6788 * video/efi_gop.c: Likewise.
6789
6790 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6793 size counting.
6794
6795 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6796
6797 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6798 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6799
6800 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6803 (GRUB_MOD_INIT(memrw)): Update help line.
6804
6805 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6808 Use grub_extcmd_t. All users updated.
6809 (options): New variable.
6810 (grub_cmd_read): Restructure for readability. Support "-v" option.
6811 (grub_cmd_write): Restructure for readability.
6812
6813 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6814
6815 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6816
6817 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6818
6819 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6820 with the actual contents of the correspondending make variable.
6821 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6822 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6823 specifying `*.lst' and `efiemu??.o'
6824
6825 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6826
6827 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6828 after function name.
6829 Noticed by Rene Engelhard <rene@debian.org>.
6830
6831 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6834 (options): New variable.
6835 (iospace): Likewise.
6836 (grub_lspci_iter): List IO spaces if "-i" was given.
6837 (grub_cmd_lspci): Parse options.
6838 (GRUB_MOD_INIT(lspci)): Use extcmd.
6839 (GRUB_MOD_FINI(lspci)): Likewise.
6840
6841 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6842
6843 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6844 `function' keyword.
6845 Patch by Tony Mancill <tmancill@debian.org>.
6846
6847 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6850 (grub_uhci_portstatus): Likewise.
6851 (grub_uhci_portstatus): Add necessary delay.
6852 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6853
6854 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6855
6856 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6857 (GRUB_MOD_INIT): Likewise.
6858 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6859 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6860 * commands/echo.c (options): Fix capitalizations and/or full stops.
6861 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6862 (enable_rom_area): Likewise.
6863 (GRUB_MOD_INIT): Likewise.
6864 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6865 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6866 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6867 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6868 * commands/hexdump.c (options): Likewise.
6869 * commands/i386/cpuid.c (options): Likewise.
6870 (GRUB_MOD_INIT): Likewise.
6871 * commands/i386/pc/drivemap.c (options): Likewise.
6872 (GRUB_MOD_INIT): Likewise.
6873 * commands/i386/pc/halt (options): Likewise.
6874 (GRUB_MOD_INIT): Likewise.
6875 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6876 * commands/i386/pc/pxecmd.c (options): Likewise.
6877 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6878 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6879 * commands/keystatus.c (options): Likewise.
6880 (GRUB_MOD_INIT): Likewise.
6881 * commands/loadenv.c (options): Likewise.
6882 * commands/ls.c (options): Likewise.
6883 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6884 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6885 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6886 * commands/parttool.c (helpmsg): Likewise.
6887 * commands/probe.c (options): Likewise.
6888 * commands/read.c (GRUB_MOD_INIT): Likewise.
6889 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6890 * commands/search.c (options): Likewise.
6891 * commands/sleep.c (options): Likewise.
6892 * commands/test.c (GRUB_MOD_INIT): Likewise.
6893 * commands/true.c (GRUB_MOD_INIT): Likewise.
6894 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6895 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6896 * lib/arg.c (help_options): Likewise.
6897 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6898 `$(XGETTEXT)'.
6899 * po/POTFILES: Add `commands/loadenv.c'.
6900
6901 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6902
6903 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6904 instead of specifying them explicit.
6905
6906 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6907
6908 * NEWS: Add grub-probe support for GNU/Hurd.
6909
6910 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6911
6912 * NEWS: gettext was added after 1.97.
6913
6914 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6915
6916 * util/mkisofs/msdos_partition.h: New file (based on
6917 include/grub/msdos_partition.h).
6918 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6919 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6920 (ld_options, main): Recognize --protective-msdos-label.
6921 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6922 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6923 (padblock_write): If `use_protective_msdos_label' is set, patch a
6924 protective DOS-style label in the output image.
6925
6926 * util/grub-mkrescue.in: Use --protective-msdos-label.
6927
6928 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6929
6930 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6931 boot.
6932
6933 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6934
6935 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6936 variables.
6937 (ld_options, main): Recognize `--embedded-boot'.
6938 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6939 declarations.
6940 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6941 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6942 (padblock_write): Likewise. Rewrite to support embedded boot image.
6943
6944 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6945 for BIOS-based disk boot instead of only ElTorito.
6946
6947 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6948
6949 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6950 build (not needed for bootstrap).
6951
6952 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6953
6954 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6955 from i386-pc build (not needed for bootstrap).
6956 Rewrite a pair of strings.
6957
6958 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6959
6960 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6961
6962 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6965
6966 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6967
6968 * kern/env.c (grub_env_context_open): Mark exported variable for
6969 reexport.
6970
6971 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6972
6973 * kern/env.c (grub_env_export): Create nonexistent variables before
6974 exporting.
6975
6976 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6977
6978 * include/grub/auth.h: Include `<grub/i18n.h>'.
6979 (GRUB_GET_PASSWORD): Gettextizze string.
6980 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6981 menu_text.c.
6982 (grub_utf8_to_ucs4_alloc): Fix indentation.
6983 (grub_print_ucs4): Likewise.
6984 (grub_getstringwidth): Likewise.
6985 (print_message_indented): New declaration.
6986 * normal/auth.c: Include `<grub/i18n.h>'.
6987 (grub_auth_check_authentication): Gettexttize string.
6988 * normal/cmdline.c: Include `<grub/i18n.h>'.
6989 (grub_cmdline_get): Gettextizze.
6990 * normal/color.c: Include `<grub/i18n.h>'.
6991 (grub_parse_color_name_pair): Gettexttize strings.
6992 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6993 string (use `print_message_indented').
6994 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6995 `include/grub/normal.h'.
6996 (print_message_indented): Renamed to ...
6997 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6998 used in normal/main.c).
6999 (print_message): Use `grub_print_message_indented' instead of
7000 `print_message_indented'.
7001 (print_timeout): Likewise.
7002 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7003 (grub_normal_print_device_info): Gettexttize strings.
7004 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7005
7006 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7009 of arguments. Return number of tokens and not arguments. All users
7010 updated.
7011
7012 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7015 non-MSDOS paritions.
7016
7017 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * include/grub/types.h (UNUSED): Removed since it conflicts with
7020 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7021 Reported by Grégoire Sutre.
7022
7023 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7024
7025 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7026 (grub_print_ucs4_alloc): Likewise.
7027 (grub_getstringwidth): Likewise.
7028 * normal/main.c (grub_normal_init_page): Gettextize version string.
7029 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7030 (getstringwidth): Renamed to ...
7031 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7032 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7033 (grub_print_ucs4): Remove `static' qualifer (now used in
7034 normal/main.c).
7035 * po/POTFILES: Add normal/main.c.
7036
7037 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7038
7039 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7040 (print_message_indented): Add `margin_left' and `margin_right'
7041 parameters.
7042 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7043 strings.
7044 (print_timeout): Use `print_message_indented' to print the message.
7045 Deletes `second_stage' parameter.
7046 (run_menu): Update `print_timeout' calls.
7047
7048 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 Fix console palette on OpenFirmware.
7051
7052 * term/ieee1275/ofconsole.c (MAX): Removed.
7053 (colors): Redone based on VGA palette.
7054 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7055 colors are supported.
7056 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7057
7058 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 Fix potential EfiEmu double prepare.
7061
7062 * efiemu/main.c (prepared): New variable
7063 (grub_efiemu_unload): Set prepare to '0'.
7064 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7065
7066 set_virtual_address_map support.
7067
7068 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7069 prototype.
7070 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7071 prototype.
7072 (grub_efiemu_crc32): Likewise.
7073 (grub_efiemu_crc64): Likewise.
7074 (grub_efiemu_set_virtual_address_map): Likewise.
7075 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7076 New definition.
7077 (grub_autoefi_set_virtual_address_map): Likewise.
7078 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7079 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7080 Restructure flow to accomodate it.
7081 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7082 (grub_efiemu_crc): Recompute CRC32.
7083 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7084 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7085 * efiemu/symbols.c (relocated_handle): New variable.
7086 (grub_efiemu_free_syms): Free relocated_handle.
7087 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7088 (grub_efiemu_write_sym_markers): New function.
7089 (grub_efiemu_set_virtual_address_map): Likewise.
7090
7091 Newer XNU parameters.
7092
7093 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7094 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7095 (grub_xnu_fill_devicetree): New prototype.
7096 (grub_xnu_heap_real_start): New variable.
7097 * loader/xnu.c (get_name_ptr): New function.
7098 (grub_xnu_load_driver): Fill namelen and name.
7099
7100 64-bit xnu support.
7101
7102 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7103 and 'loader/macho64.c'.
7104 * conf/i386-pc.rmk: Likewise.
7105 * conf/x86_64-efi.rmk: Likewise.
7106 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7107 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7108 * include/grub/macho.h (grub_macho_segment64): New structure.
7109 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7110 (grub_macho_size32): ... to this.
7111 (grub_macho32_get_entry_point): Renamed from ...
7112 (grub_macho_get_entry_point32): ... to this.
7113 (grub_macho_contains_macho64): New prototype.
7114 (grub_macho_size64): Likewise.
7115 (grub_macho_get_entry_point64): Likewise.
7116 (grub_macho32_load): Renamed from ...
7117 (grub_macho_load32): ... to this.
7118 (grub_macho32_filesize): Renamed from ...
7119 (grub_macho_filesize32): ... to this.
7120 (grub_macho32_readfile): Renamed from ...
7121 (grub_macho_readfile32): ... to this.
7122 (grub_macho_filesize64): New prototype.
7123 (grub_macho_readfile64): Likewise.
7124 (grub_macho_parse32): Likewise.
7125 (grub_macho_parse64): Likewise.
7126 * loader/macho.c: Split into ...
7127 * loader/machoXX.c: ... and this. Replace 32 with XX.
7128 * loader/macho32.c: New file.
7129 * loader/macho64.c: Likewise.
7130 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7131 (grub_cmd_xnu_kernel): Make 32-bit only.
7132 (grub_cmd_xnu_kernel64): New function.
7133 (grub_xnu_load_driver): Support Mach-O 64.
7134 (grub_cmd_xnu_mkext): Likewise.
7135 * util/grub.d/30_os-prober.in (osx_entry): New function.
7136 Generate entries for 64-bit boot too.
7137
7138 Eliminate ad-hoc tree format in XNU and EfiEmu.
7139
7140 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7141 * efiemu/pnvram.c: Rewritten to use environment variables.
7142 All users updated.
7143
7144 Inline utf16_to_utf8.
7145
7146 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7147 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7148 All users updated.
7149 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7150
7151 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7152 * commands/usbtest.c (grub_usb_get_string): ... move here.
7153 (usb_print_str): Fix error handling.
7154 * include/grub/usb.h (grub_usb_get_string): Remove.
7155
7156 UTF-8 to UTF-16 transformation.
7157
7158 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7159 (charset_mod_SOURCES): New variable.
7160 (charset_mod_CFLAGS): Likewise.
7161 (charset_mod_LDFLAGS): Likewise.
7162 * include/grub/utf.h: New file.
7163 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7164
7165 Support for device properties.
7166
7167 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7168 (grub_xnu_devprop_device_header): Likewise.
7169 (grub_xnu_devprop_device_descriptor): Likewise.
7170 (grub_xnu_devprop_add_device): New prototype.
7171 (grub_xnu_devprop_remove_device): Likewise.
7172 (grub_xnu_devprop_remove_property): Likewise.
7173 (grub_xnu_devprop_add_property_utf8): Likewise.
7174 (grub_xnu_devprop_add_property_utf16): Likewise.
7175 (grub_cpu_xnu_init): Likewise.
7176 (grub_cpu_xnu_fini): Likewise.
7177 (grub_cpu_xnu_unload): Likewise.
7178 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7179 (property_descriptor): Likewise.
7180 (devices): New variable.
7181 (grub_xnu_devprop_remove_property): New function.
7182 (grub_xnu_devprop_add_device): Likewise.
7183 (grub_xnu_devprop_remove_device): Likewise.
7184 (grub_xnu_devprop_add_property): Likewise.
7185 (grub_xnu_devprop_add_property_utf8): Likewise.
7186 (grub_xnu_devprop_add_property_utf16): Likewise.
7187 (hextoval): Likewise.
7188 (grub_cpu_xnu_fill_devprop): Likewise.
7189 (grub_cmd_devprop_load): Likewise.
7190 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7191 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7192 (cmd_devprop_load): New variable.
7193 (grub_cpu_xnu_init): New function.
7194 (grub_cpu_xnu_fini): Likewise.
7195 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7196 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7197 (grub_cmd_xnu_devtree): Likewise.
7198 (hextoval): New function.
7199 (unescape): Likewise.
7200 (grub_xnu_fill_devicetree): Likewise.
7201
7202 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7203 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7204
7205 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 Workaround for broken ATI VBE.
7208
7209 * video/i386/pc/vbe.c (last_set_mode): New variable.
7210 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7211 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7212 (grub_video_vbe_setup): Don't check for reserved flag.
7213
7214 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7215
7216 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7217 the `find' command.
7218
7219 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 UUID support for HFS.
7222
7223 * fs/hfs.c (grub_hfs_uuid): New function.
7224 (grub_hfs_fs): New value .uuid.
7225 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7226
7227 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7228
7229 Fix a segfault with parsing unknown long options.
7230
7231 * util/grub-mkrelpath.c (options): Zero terminate it.
7232
7233 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7234
7235 * include/grub/misc.h (grub_puts): New declaration.
7236 (grub_puts_): Likewise.
7237 * kern/misc.c (grub_puts): New definition.
7238 (grub_puts_): Likewise.
7239
7240 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7241
7242 * util/grub-probe.c (probe): Improve error message.
7243
7244 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7245
7246 * loader/i386/multiboot_elfxx.c
7247 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7248 initialization.
7249
7250 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Relocator framework
7253
7254 * loader/i386/xnu_helper.S: Removed. All users updated.
7255 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7256 (relocator_mod_SOURCES): New variable.
7257 (relocator_mod_CFLAGS): Likewise.
7258 (relocator_mod_LDFLAGS): Likewise.
7259 (relocator_mod_ASFLAGS): Likewise.
7260 * conf/x86_64.rmk: Likewise.
7261 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7262 (grub_multiboot_payload_entry_offset): Likewise.
7263 (grub_multiboot_forward_relocator): Likewise.
7264 (grub_multiboot_forward_relocator_end): Likewise.
7265 (grub_multiboot_backward_relocator): Likewise.
7266 (grub_multiboot_backward_relocator_end): Likewise.
7267 (grub_multiboot_payload_eip): New variable.
7268 (grub_multiboot_payload_orig): Likewise.
7269 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7270 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7271 * include/grub/i386/memory.h
7272 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7273 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7274 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7275 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7276 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7277 * include/grub/i386/relocator.h: New file.
7278 * include/grub/x86_64/relocator.h: Likewise.
7279 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7280 (XNU_RELOCATOR): New macro.
7281 (grub_xnu_launcher_start): Remove.
7282 (grub_xnu_launcher_end): Likewise.
7283 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7284 (grub_xnu_heap_real_start): Remove.
7285 (grub_xnu_heap_start): Change to void *. All users updated.
7286 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7287 * lib/i386/relocator.c: New file.
7288 * lib/i386/relocator_asm.S: Likewise.
7289 * lib/i386/relocator_backward.S: Likewise.
7290 * lib/mips/relocator.c: Likewise.
7291 * lib/mips/relocator_asm.S: Likewise.
7292 * lib/relocator.c: Likewise.
7293 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7294 (entry): Removed.
7295 (playground): Likewise.
7296 (grub_multiboot_payload_orig): New variable.
7297 (grub_multiboot_payload_dest): Likewise.
7298 (grub_multiboot_payload_size): Likewise.
7299 (grub_multiboot_payload_eip): Likewise.
7300 (grub_multiboot_payload_esp): Likewise.
7301 (grub_multiboot_boot): Use grub_relocator32_boot.
7302 (grub_multiboot_unload): Free relocators.
7303 (grub_multiboot): Setup stack. Use relocators.
7304 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7305 (grub_multiboot_load_elfXX): Use relocators.
7306 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7307 (grub_multiboot_payload_size): Likewise.
7308 (grub_multiboot_payload_dest): Likewise.
7309 (grub_multiboot_payload_entry_offset): Likewise.
7310 (grub_multiboot_forward_relocator): Likewise.
7311 (grub_multiboot_backward_relocator): Likewise.
7312 (grub_multiboot_real_boot): Likewise.
7313 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7314 (grub_xnu_entry_point): Likewise.
7315 (grub_xnu_arg1): Likewise.
7316 (grub_xnu_stack): Likewise.
7317 (grub_xnu_launch): Removed.
7318 (grub_xnu_boot_resume): New function.
7319 (grub_xnu_boot): Use relocators.
7320 * loader/i386/xnu_helper.S: Removed.
7321 * loader/xnu.c (grub_xnu_heap_start): New variable.
7322 (grub_xnu_heap_size): Likewise.
7323 (grub_xnu_heap_malloc): Use relocators.
7324 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7325
7326 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7329 anything.
7330
7331 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7332
7333 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7334 GRUB_ERR_NONE before calling grub_env_set.
7335
7336 2009-12-12 Robert Millan <rmh@aybabtu.com>
7337
7338 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7339 * genmk.rb (video): New variable.
7340 (CLEANFILES, VIDEOFILES): Add #{video}.
7341 (#{video}): New target rule.
7342 * genvideolist.sh: New file.
7343 * Makefile.in (pkglib_DATA): Add video.lst.
7344 (video.lst): New target rule.
7345 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7346 `video.lst'.
7347 * util/grub.d/30_os-prober.in: Replace `vbe' with
7348 ${GRUB_VIDEO_BACKEND}.
7349
7350 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7351
7352 * THANKS: Add David Miller.
7353
7354 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 libpciaccess support.
7357
7358 * Makefile.in (LIBPCIACCESS): New variable.
7359 (enable_grub_emu_pci): Likewise.
7360 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7361 util/pci.c and commands/lspci.c.
7362 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7363 * configure.ac (grub-emu-pci): New option.
7364 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7365 (grub_pci_device_unmap_range): Likewise.
7366 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7367 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7368 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7369 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7370 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7371 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7372 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7373 * include/grub/pciutils.h: New file.
7374 * util/pci.c: Likewise.
7375
7376 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7377
7378 * util/misc.c: Don't include <errno.h> twice.
7379
7380 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7381
7382 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7383 name in an error message.
7384 (grub_biosdisk_rw): Likewise.
7385
7386 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Eliminate NTFS 4Gib barrier.
7389
7390 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7391 (read_run_data): Likewise.
7392 (grub_ntfs_read_run_list): Likewise.
7393 (grub_ntfs_read_block): Likewise.
7394 (grub_ntfs_iterate_dir): Likewise.
7395 (read_mft): Likewise.
7396 (read_data): Likewise.
7397 Use COM_LOG_LEN.
7398 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7399 to avoid 64-bit division
7400 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7401 (grub_ntfs_rlst): Use grub_disk_addr_t.
7402
7403 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Eliminate grub-fstest 4Gib barrier.
7406
7407 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7408 (read_file): Fix error reporting.
7409
7410 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Eliminate hexdump 4Gib barrier.
7413
7414 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7415 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7416
7417 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7420 Fixes amarsh bug.
7421
7422 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7423
7424 Remove miscellaneous files in distclean target.
7425
7426 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7427
7428 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7429
7430 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7431 if they're already set. This resolves the conflict between my
7432 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7433 fixing the --grub-probe option again.
7434 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7435 change on 2009-10-06, so that we now once again source
7436 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7437
7438 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7439
7440 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7441 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7442 `util/devicemap.c'.
7443
7444 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7445
7446 * include/grub/misc.h (grub_printf_): New declaration.
7447 * kern/misc.c (grub_printf_): New definition.
7448 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7449 instead of `grub_printf' and `_'.
7450 * normal/menu_entry.c (store_completion): Likewise.
7451 (run): Likewise.
7452 (grub_menu_entry_run): Likewise.
7453 * normal/menu_text.c (grub_wait_after_message): Likewise.
7454 (notify_booting): Likewise.
7455 (notify_fallback): Likewise.
7456 (notify_execution_failure): Likewise.
7457
7458 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7459
7460 * configure.ac: Check for vasprintf.
7461 * util/misc.c (asprintf): Move allocation from here ...
7462 (vasprintf): ... to here. New function.
7463 (xasprintf): New function.
7464 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7465 prototypes.
7466 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7467 * util/grub-mkfont.c (write_font): Likewise.
7468 * util/grub-probe.c (probe): Likewise.
7469 * util/hostdisk.c (make_device_name): Likewise.
7470
7471 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7472
7473 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7474 anything even prefixed with 'cdrom' as a cdrom.
7475
7476 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7477
7478 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7479 mount points.
7480
7481 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7482
7483 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7484 grub_gettext_msg_list.
7485 (grub_gettext_gettranslation_from_position): Return const char *
7486 and not char *.
7487 (grub_gettext_translate): Add the translated strings into a list,
7488 returns from the list if existing there.
7489 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7490 (grub_gettext_delete_list): Delete the list.
7491 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7492 lang environment variable is changed.
7493 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7494
7495 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 Rename kernel.mod to kernel.img.
7498
7499 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7500 (kernel_mod_EXPORTS): Rename to ...
7501 (kernel_img_EXPORTS): ... this.
7502 (kernel_mod_SOURCES): Rename to ...
7503 (kernel_img_SOURCES): ... this.
7504 (kernel_mod_HEADERS): Rename to ...
7505 (kernel_img_HEADERS): ... this. All users updated.
7506 (kernel_mod_CFLAGS): Rename to ...
7507 (kernel_img_CFLAGS): ... this.
7508 (kernel_mod_ASFLAGS): Rename to ...
7509 (kernel_img_ASFLAGS): ... this.
7510 (kernel_mod_LDFLAGS): Rename to ...
7511 (kernel_img_LDFLAGS): ... this.
7512 * conf/x86_64-efi.rmk: Likewise.
7513 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7514 (read_kernel_image): ... this. All users updated.
7515 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7516
7517 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7518
7519 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7520 (print_spaces): New function.
7521 (grub_print_ucs4): New function.
7522 (getstringwidth): New function.
7523 (print_message_indented): New function.
7524 (print_message): Gettexttize strings using print_message_indented.
7525 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7526 width.
7527 (get_entry_number): Gettextize and uses dynamic terminal width.
7528 (notify_booting, notify_fallback, notify_execution_failure):
7529 Gettextize.
7530 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7531 string.
7532 (run): Likewise.
7533 (grub_menu_entry_run): Likewise.
7534 * PO/POTFILES: Add normal/menu_entry.c.
7535
7536 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7539
7540 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7541
7542 * util/grub-install.in: Install gettext .mo files.
7543 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7544
7545 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7546
7547 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7548 grub_dprintf.
7549
7550 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7551
7552 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7553 non-firmware-dependant one in realmode.S takes precedence.
7554
7555 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7556
7557 * commands/halt.c: Replace misc arch-specific headers with
7558 `<grub/misc.h>'.
7559 * commands/reboot.c: Likewise.
7560 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7561 `<grub/misc.h>'.
7562 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7563 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7564 (kernel_img_SOURCES): ... to here.
7565
7566 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7567 * include/grub/i386/pc/init.h: Likewise.
7568 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7569 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7570
7571 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7572
7573 * include/grub/i386/halt.h: Remove.
7574 * include/grub/i386/reboot.h: Likewise.
7575
7576 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7577
7578 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7579
7580 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7581 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7582 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7583 "progname.h"
7584 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7585 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7586 (usage): Add missing comma in printf.
7587
7588 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7589
7590 Use the same reboot approach on i386 coreboot and qemu as we do on
7591 BIOS.
7592
7593 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7594 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7595 * kern/i386/reboot.c: Remove.
7596 * include/grub/i386/reboot.h (grub_reboot): Export function.
7597 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7598 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7599 0xf000:0xfff0 instead of 0xffff:0x0000.
7600 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7601 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7602
7603 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7604
7605 Fix $srcdir != $objdir build.
7606
7607 * Makefile.in (po/%.po): Rewrite as ...
7608 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7609
7610 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7611
7612 Fix GNU/Hurd grub-install crash.
7613 * util/grub-probe.c (probe): Try to access `path' only when it is not
7614 NULL.
7615
7616 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 Correct module naming.
7619
7620 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7621 (GRUB_MOD_INIT(efi_uga)): ... to this
7622 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7623 (GRUB_MOD_FINI(efi_uga)): ... to this
7624 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7625 (GRUB_MOD_INIT(efi_gop)): ... to this
7626 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7627 (GRUB_MOD_FINI(efi_gop)): ... to this
7628
7629 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7630
7631 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7632 translatable.
7633 (usage): Translate `arg' strings using gettext().
7634 Thanks to Jordi Mallach for the suggestion.
7635
7636 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 GOP support. Based on patch from Bean
7639 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7640
7641 * video/efi_gop.c: New file.
7642 * include/grub/efi/graphics_output.h: Likewise.
7643 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7644 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7645 variables.
7646 * conf/x86_64-efi.rmk: Likewise.
7647
7648 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Rename efi_fb to efi_uga.
7651
7652 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7653 'efi_uga.mod'.
7654 (efi_fb_mod_SOURCES): Rename this ...
7655 (efi_uga_mod_SOURCES): ... to this.
7656 (efi_fb_mod_CFLAGS): Rename this ...
7657 (efi_uga_mod_CFLAGS): ... to this.
7658 (efi_fb_mod_LDFLAGS): Rename this ...
7659 (efi_uga_mod_LDFLAGS): ... to this.
7660 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7661 'efi_uga.mod'.
7662 (efi_fb_mod_SOURCES): Rename this ...
7663 (efi_uga_mod_SOURCES): ... to this.
7664 (efi_fb_mod_CFLAGS): Rename this ...
7665 (efi_uga_mod_CFLAGS): ... to this.
7666 (efi_fb_mod_LDFLAGS): Rename this ...
7667 (efi_uga_mod_LDFLAGS): ... to this.
7668 * video/efi_fb.c: Move this ...
7669 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7670
7671 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7672
7673 * po/README: New file. Explain our PO file workflow.
7674
7675 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7676
7677 * po/ChangeLog: Remove. Move relevant entries back to ...
7678 * ChangeLog: ... here.
7679 * po/ca.po: Remove (now handled by TLP).
7680 * po/id.po: Likewise.
7681 * po/zh_CN.po: Likewise.
7682 * Makefile.in (LINGUAS): Initialize in a way that supports
7683 empty set.
7684
7685 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7686
7687 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7688 reliing on po/LINGUAS.
7689 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7690 (po/%.po): ... this.
7691
7692 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7693
7694 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7695 (main): Use `program_name' instead of nonexistent `progname'.
7696
7697 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7698
7699 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7700 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7701
7702 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7703
7704 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7705 commit.
7706 * conf/i386-efi.rmk: Likewise.
7707 * conf/i386-ieee1275.rmk: Likewise.
7708 * conf/powerpc-ieee1275.rmk: Likewise.
7709 * conf/sparc64-ieee1275.rmk: Likewise.
7710 * conf/x86_64-efi.rmk: Likewise.
7711
7712 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7713
7714 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7715
7716 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7717
7718 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7719
7720 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7721
7722 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7723 (grub_mkdevicemap_SOURCES): New variable.
7724 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7725 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7726 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7727 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7728 (grub_mkdevicemap_SOURCES): Remove.
7729 * conf/i386-efi.rmk: Likewise.
7730 * conf/i386-ieee1275.rmk: Likewise.
7731 * conf/i386-pc.rmk: Likewise.
7732 * conf/powerpc-ieee1275.rmk: Likewise.
7733 * conf/sparc64-ieee1275.rmk: Likewise.
7734 * conf/x86_64-efi.rmk: Likewise.
7735 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7736 (usage): Fix strings to use `program_name'.
7737 (main): Initialize gettext.
7738 * util/grub-editenv.c: Likewise.
7739 * util/grub-emu.c: Likewise.
7740 * util/grub-fstest.c: Likewise.
7741 * util/grub-mkdevicemap.c: Likewise.
7742 * util/grub-mkfont.c: Likewise.
7743 * util/grub-mkrelpath.c: Likewise.
7744 * util/grub-pe2elf.c: Likewise.
7745 * util/grub-probe.c: Likewise.
7746 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7747 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7748 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7749
7750 * util/misc.c: Include `"progname.h"'.
7751 (progname): Remove variable.
7752 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7753
7754 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7755
7756 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7757 printf and print a newline after the menuentry header line.
7758 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7759
7760 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7761
7762 autoconf >= 2.60 support $(localedir).
7763
7764 * INSTALL: Note that autoconf 2.60 is required.
7765 * configure.ac (AC_PREREQ): Bump to 2.60.
7766 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7767 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7768
7769 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7770
7771 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7772 aclocal is run.
7773
7774 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7775
7776 * normal/main.c (grub_normal_read_line): Fix off-by-one
7777 buffer overflow.
7778
7779 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7780
7781 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7782 "parser.grub" in grub_command_execute() call.
7783
7784 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7785
7786 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7787 * conf/i386-efi.rmk: Likewise.
7788 * conf/i386-ieee1275.rmk: Likewise.
7789 * conf/i386-pc.rmk: Likewise.
7790 * conf/powerpc-ieee1275.rmk: Likewise.
7791 * conf/sparc64-ieee1275.rmk: Likewise.
7792 * conf/x86_64-efi.rmk: Likewise.
7793 * gettext/gettex.c: Include <grub/i18n.h>.
7794 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7795 here ...
7796 * include/grub/i18n.h: ... to here
7797 * include/grub/i18n.h: ... to here.
7798 * kern/misc.c: Include <grub/i18n.h>
7799 (grub_gettext_dummy): Move above user.
7800
7801 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7802
7803 * util/Makefile.in (install-local): Convert a `for' into a normal
7804 shell expansion.
7805
7806 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7807
7808 * autogen.sh: Add automake call.
7809 * config.guess: Remove.
7810 * config.sub: Likewise.
7811 * install-sh: Likewise.
7812
7813 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7814
7815 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7816
7817 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7818
7819 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7820 function to a normal shell `for'.
7821
7822 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7823
7824 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7825
7826 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7827
7828 * util/grub-mkrelpath.c: New file.
7829 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7830 (grub_mkrelpath_SOURCES): New variable.
7831 * include/grub/util/misc.h: New function prototype.
7832 * util/misc.c (make_system_path_relative_to_its_root): New function.
7833
7834 * util/grub-mkconfig_lib.in (bindir): New variable.
7835 (grub_mkrelpath): Likewise.
7836 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7837
7838 * util/probe.c (probe): Make the file path relative to its root.
7839 Change a info message to use the GRUB path. Enable again the
7840 check if we can read the file with GRUB facilities.
7841
7842 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7843 to its root.
7844
7845 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7846
7847 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7848 platform.
7849
7850 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7851
7852 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7853 strncmp().
7854
7855 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7856
7857 * util/getroot.c (grub_util_is_dmraid): New function.
7858 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7859 devices as normal ones, not as LVM.
7860
7861 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7862
7863 * conf/common.rmk: Add grub-gettext_lib target and updates
7864 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7865 LDFLAGS.
7866 * gettext/gettext.c: New file. (Reads mo files).
7867 * include/grub/file.h (grub_file_pread): New prototype.
7868 * include/grub/i18n.h (_): New prototype.
7869 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7870 prototypes.
7871 * kern/misc.c (grub_gettext_dummy): New function.
7872 * normal/menu_text.c: Include <grub/i18n.h>.
7873 * normal/menu_text.c (print_timeout): Gettexttize string.
7874 * normal/menu_text.c (print_message): Gettexttize string.
7875 * po/POTFILES: Add `normal/menu_text.c'.
7876 * po/ca.po: Add new translations.
7877 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7878 gettext module and defines locale_dir and lang in grub.cfg.
7879 * NEWS: Add gettext support.
7880
7881 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7882
7883 * util/hostdisk.c: Include `<grub/i18n.h>'.
7884 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7885 (make_device_name): Rewrite using asprintf.
7886 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7887 (find_system_device): If a device is not found, generate one just
7888 by reusing the OS path name.
7889 (read_device_map): Make it permissible for device.map not to exist.
7890
7891 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7892
7893 * script/sh/execute.c: Move from here ...
7894 * script/execute.c: ... to here. Update all users.
7895 * script/sh/function.c: Move from here ...
7896 * script/function.c: ... to here. Update all users.
7897 * script/sh/lexer.c: Move from here ...
7898 * script/lexer.c: ... to here. Update all users.
7899 * script/sh/main.c: Move from here ...
7900 * script/main.c: ... to here. Update all users.
7901 * script/sh/parser.y: Move from here ...
7902 * script/parser.y: ... to here. Update all users.
7903 * script/sh/script.c: Move from here ...
7904 * script/script.c: ... to here. Update all users.
7905
7906 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7907
7908 * configure.ac: Detect all `emu' platforms. Define
7909 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7910 --enable-grub-emu logic. Disable include/grub/machine
7911 symlink on `emu' platforms.
7912
7913 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7914 * gensymlist.sh.in: Likewise.
7915
7916 * include/grub/i386/coreboot/machine.h: Remove file.
7917 * include/grub/i386/efi/machine.h: Likewise.
7918 * include/grub/i386/ieee1275/machine.h: Likewise.
7919 * include/grub/i386/pc/machine.h: Likewise.
7920 * include/grub/i386/qemu/machine.h: Likewise.
7921 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7922 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7923 * include/grub/x86_64/efi/machine.h: Likewise.
7924
7925 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7926 * commands/halt.c: Likewise.
7927 * commands/reboot.c: Likewise.
7928 * include/grub/autoefi.h: Likewise.
7929 * include/grub/i386/at_keyboard.h: Likewise.
7930 * include/grub/i386/kernel.h: Likewise.
7931 * include/grub/i386/loader.h: Likewise.
7932 * include/grub/i386/pc/memory.h: Likewise.
7933 * kern/dl.c: Likewise.
7934 * kern/i386/coreboot/init.c: Likewise.
7935 * loader/i386/bsd.c: Likewise.
7936 * loader/i386/linux.c: Likewise.
7937 * loader/multiboot_loader.c: Likewise.
7938 * term/i386/pc/serial.c: Likewise.
7939 * term/usb_keyboard.c: Likewise.
7940
7941 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7942 `<grub/machine/machine.h>'
7943 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7944 * util/misc.c: Remove `<grub/machine/machine.h>' and
7945 `<grub/machine/time.h>'.
7946
7947 * Makefile.in (enable_grub_emu): Remove variable.
7948 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7949
7950 * conf/any-emu.rmk: New file.
7951 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7952 (grub_emu_init.c): Move from here ...
7953 * conf/any-emu.rmk: ... to here.
7954
7955 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7956 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7957 * conf/any-emu.rmk: ... to here.
7958
7959 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7960
7961 * include/grub/parser.h (grub_parser_register): Document need
7962 of `name' parameter.
7963 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7964 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7965 "sh" to "grub".
7966
7967 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7968
7969 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7970 `$(XGETTEXT)'.
7971 * include/grub/i18n.h (N_): New macro.
7972 * util/mkisofs/mkisofs.h: Likewise.
7973 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7974 around N_().
7975 (usage): Use gettext() to translate help strings when printing them.
7976
7977 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7978
7979 Based on patch from Bean
7980 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7981
7982 * video/efi_fb.c: New file.
7983 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7984 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7985 variables.
7986 * conf/x86_64-efi.rmk: Likewise.
7987
7988 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7989
7990 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7991 * util/i386/pc/grub-setup.c: Likewise.
7992
7993 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7994
7995 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7996 <hurd/fs.h>
7997 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7998 file_get_storage_info to implement grub_guess_root_device.
7999
8000 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8001
8002 * Makefile.in (target): Use make's builtin $(shell) function
8003 instead of calling directly $(SHELL) to create the locale directories,
8004 inside the $(foreach) function.
8005
8006 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8007
8008 * util/grub-mkrescue.in: Print an error and usage if output option
8009 has not been given.
8010
8011 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8012
8013 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8014 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8015 root and /boot are on different devices.
8016
8017 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8018
8019 Fix build for srcdir != objdir.
8020
8021 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8022 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8023 $(srcdir).
8024 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8025 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8026 reference for input.
8027
8028 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8029
8030 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8031 or hardlinking it). Remove -J option, Joliet is not compatible with
8032 multiple source directories.
8033
8034 2009-11-21 Carles Pina i Estany <carles@pina.cat>
8035 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8036
8037 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8038 (process_input_dir): New function. Process an arbitrary input
8039 directory.
8040 Misc adjustments to support both "override mode" and system-wide mode.
8041
8042 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8043
8044 * configure.ac (UNIFONT_BDF): Rename to ...
8045 (FONT_SOURCE): ... this. Update all users.
8046
8047 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8048
8049 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8050 to the list of unifont files to look for.
8051
8052 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8053
8054 Patch from Joe Auricchio <jauricchio@gmail.com>
8055 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8056 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8057 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8058
8059 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8060
8061 * Makefile.in (install-local): Add a missing backslash.
8062
8063 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8064
8065 * include/grub/x86_64/io.h: New file.
8066
8067 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8068
8069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8070 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8071 Include `"progname.h"'.
8072 (main): Initialize gettext.
8073 * util/i386/pc/grub-setup.c: Gettexttize.
8074 * util/i386/pc/grub-mkimage.c: Likewise.
8075
8076 * Makefile.in (po/*.po): Redefine as ...
8077 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8078
8079 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8080
8081 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8082
8083 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8084 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8085 (program_name): Remove.
8086 (main): Initialize gettext support.
8087 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8088 Include `<libintl.h>'.
8089 (_): New macro.
8090
8091 * util/mkisofs/eltorito.c: Gettexttize.
8092 * util/mkisofs/joliet.c: Likewise.
8093 * util/mkisofs/mkisofs.c: Likewise.
8094 * util/mkisofs/multi.c: Likewise.
8095 * util/mkisofs/rock.c: Likewise.
8096 * util/mkisofs/tree.c: Likewise.
8097 * util/mkisofs/write.c: Likewise.
8098
8099 * po/POTFILES: Update with new files.
8100
8101 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8102
8103 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8104 * util/mkisofs/iso9660.h: Likewise.
8105 * util/mkisofs/joliet.c: Likewise.
8106 * util/mkisofs/mkisofs.c: Likewise.
8107 * util/mkisofs/mkisofs.h: Likewise.
8108 * util/mkisofs/rock.c: Likewise.
8109 * util/mkisofs/tree.c: Likewise.
8110 * util/mkisofs/write.c: Likewise.
8111
8112 * util/mkisofs/eltorito.c (rcsid): Remove.
8113 * util/mkisofs/hash.c: Likewise.
8114 * util/mkisofs/joliet.c: Likewise.
8115 * util/mkisofs/name.c: Likewise.
8116 * util/mkisofs/rock.c: Likewise.
8117 * util/mkisofs/tree.c: Likewise.
8118 * util/mkisofs/write.c: Likewise.
8119
8120 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8121
8122 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8123 instead of static allocation.
8124 * util/mkisofs/match.h: Likewise.
8125
8126 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8127
8128 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8129 and `util/grub.d/10_linux.in'.
8130 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8131 translatable Shell files.
8132
8133 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8134
8135 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8136
8137 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8138
8139 * INSTALL: Document Automake is needed for bootstrap.
8140 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8141 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8142 Add gettext initialization.
8143 (kfreebsd_entry): Make menuentry output translatable.
8144
8145 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8146
8147 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8148 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8149 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8150 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8151 (LINGUAS): Auto-generate using `po/LINGUAS'.
8152 * po/LINGUAS: New file.
8153
8154 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8155
8156 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8157 other things).
8158 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8159 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8160 bindtextdomain() calls for gettext initialization.
8161
8162 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8163
8164 * gnulib/progname.c: New file (imported from Gnulib).
8165 * gnulib/progname.h: Likewise.
8166 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8167 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8168 (usage): Replace `progname' with `program_name'.
8169 (main): Use set_program_name() for program name initialization.
8170
8171 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8172
8173 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8174 from here ...
8175 * Makefile.in (CPPFLAGS): ... to here.
8176
8177 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8178
8179 * aclocal.m4: Move from here ...
8180 * acinclude.m4: ... to here.
8181 * autogen.sh: Add call to `aclocal'.
8182 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8183
8184 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8185
8186 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8187 (LINGUAS): New variable.
8188 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8189 (install-local): Install MO files.
8190 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8191 * include/grub/i18n.h: New file.
8192 * po/POTFILES: New file.
8193 * po/ca.po: New file.
8194 * util/grub.d/10_linux.in (bindir): New variable.
8195 Add gettext initialization.
8196 (linux_entry): Make menuentry output translatable.
8197 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8198 (usage): Make --help output translatable.
8199 (main): Initialize gettext.
8200
8201 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8202
8203 * import_gcry.py: New file (written by Vladimir with minor
8204 adjustments).
8205 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8206 ciphers.
8207 * INSTALL: Document that Python is required for bootstrap.
8208
8209 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8210
8211 Import ciphers from libgcrypt 1.4.4.
8212
8213 * lib/libgcrypt/cipher/ChangeLog
8214 * lib/libgcrypt/cipher/ac.c
8215 * lib/libgcrypt/cipher/arcfour.c
8216 * lib/libgcrypt/cipher/bithelp.h
8217 * lib/libgcrypt/cipher/blowfish.c
8218 * lib/libgcrypt/cipher/camellia-glue.c
8219 * lib/libgcrypt/cipher/camellia.c
8220 * lib/libgcrypt/cipher/camellia.h
8221 * lib/libgcrypt/cipher/cast5.c
8222 * lib/libgcrypt/cipher/cipher.c
8223 * lib/libgcrypt/cipher/crc.c
8224 * lib/libgcrypt/cipher/des.c
8225 * lib/libgcrypt/cipher/dsa.c
8226 * lib/libgcrypt/cipher/ecc.c
8227 * lib/libgcrypt/cipher/elgamal.c
8228 * lib/libgcrypt/cipher/hash-common.c
8229 * lib/libgcrypt/cipher/hash-common.h
8230 * lib/libgcrypt/cipher/hmac-tests.c
8231 * lib/libgcrypt/cipher/md.c
8232 * lib/libgcrypt/cipher/md4.c
8233 * lib/libgcrypt/cipher/md5.c
8234 * lib/libgcrypt/cipher/primegen.c
8235 * lib/libgcrypt/cipher/pubkey.c
8236 * lib/libgcrypt/cipher/rfc2268.c
8237 * lib/libgcrypt/cipher/rijndael-tables.h
8238 * lib/libgcrypt/cipher/rijndael.c
8239 * lib/libgcrypt/cipher/rmd.h
8240 * lib/libgcrypt/cipher/rmd160.c
8241 * lib/libgcrypt/cipher/rsa.c
8242 * lib/libgcrypt/cipher/seed.c
8243 * lib/libgcrypt/cipher/serpent.c
8244 * lib/libgcrypt/cipher/sha1.c
8245 * lib/libgcrypt/cipher/sha256.c
8246 * lib/libgcrypt/cipher/sha512.c
8247 * lib/libgcrypt/cipher/tiger.c
8248 * lib/libgcrypt/cipher/twofish.c
8249 * lib/libgcrypt/cipher/whirlpool.c
8250
8251 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8252
8253 Fix build for systems without error().
8254
8255 * gnulib/error.c: New file (imported from Gnulib).
8256 * gnulib/error.h: Likewise.
8257 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8258 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8259 (this variable is now used by error()).
8260
8261 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8262
8263 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8264 instead of relying that char is signed.
8265
8266 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8269 blocksize different from specified.
8270 (grub_pxefs_read): Likewise.
8271
8272 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8273
8274 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8275
8276 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8277 (grub_ata_readwrite): Likewise. Update 2 format strings.
8278 (grub_atapi_read): Likewise.
8279
8280 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8281 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8282 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8283 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8284 (ata_mod_LDFLAGS): Move from here ...
8285 * conf/i386.rmk: ... to here ...
8286 * conf/x86_64-efi.rmk: ... and here.
8287 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8288 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8289
8290 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8291
8292 Relicense multiboot.h, with RMS' blessing.
8293
8294 * include/multiboot.h: Change to X11 license.
8295
8296 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8297
8298 Support --version in grub-mkisofs.
8299
8300 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8301 (OPTION_VERSION): New macro.
8302 (ld_options): Recognize --version.
8303 (usage): Move `program_name' from here ...
8304 (program_name): ... to here. Add `static' qualifier.
8305 (main): Recognize `OPTION_VERSION'.
8306
8307 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8308
8309 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8310 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8311
8312 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8313
8314 Fix help2man generation for mkisofs.
8315
8316 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8317 (usage): Send output to stdout (rather than stderr).
8318
8319 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8320
8321 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8322 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8323 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8324 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8325 (bin_SCRIPTS): Add `grub-mkfloppy'.
8326 (grub_mkfloppy_SOURCES): New variable.
8327
8328 * util/grub-mkrescue.in: New file.
8329 * util/i386/pc/grub-mkfloppy.in: New file.
8330
8331 * util/i386/coreboot/grub-mkrescue.in: Remove.
8332 * util/i386/pc/grub-mkrescue.in: Remove.
8333
8334 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8335
8336 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8337 from here ...
8338 * include/multiboot.h (struct multiboot_header): ... to here. Update
8339 all users.
8340 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8341 from here ...
8342 * include/multiboot.h (struct multiboot_info): ... to here. Update
8343 all users.
8344 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8345 from here ...
8346 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8347 Update all users.
8348 * include/grub/multiboot.h (struct grub_mod_list): Move
8349 from here ...
8350 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8351 Update all users.
8352
8353 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8354
8355 * include/multiboot2.h (multiboot_word): Rename from this ...
8356 (multiboot2_word): ... to this. Update all users.
8357 (multiboot_header): Rename from this ...
8358 (multiboot2_header): ... to this. Update all users.
8359 (multiboot_tag_header): Rename from this ...
8360 (multiboot2_tag_header): ... to this. Update all users.
8361 (multiboot_tag_start): Rename from this ...
8362 (multiboot2_tag_start): ... to this. Update all users.
8363 (multiboot_tag_name): Rename from this ...
8364 (multiboot2_tag_name): ... to this. Update all users.
8365 (multiboot_tag_module): Rename from this ...
8366 (multiboot2_tag_module): ... to this. Update all users.
8367 (multiboot_tag_memory): Rename from this ...
8368 (multiboot2_tag_memory): ... to this. Update all users.
8369 (multiboot_tag_unused): Rename from this ...
8370 (multiboot2_tag_unused): ... to this. Update all users.
8371 (multiboot_tag_end): Rename from this ...
8372 (multiboot2_tag_end): ... to this. Update all users.
8373
8374 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8375
8376 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8377 this platform we should support Multiboot1 first.
8378
8379 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8380 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8381 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8382
8383 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8384
8385 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8386 of write calls (converting them to fwrite() if they aren't already).
8387 (get_torito_desc): Likewise.
8388 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8389
8390 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8391
8392 * util/i386/pc/grub-install.in: Move from here ...
8393 * util/grub-install.in: ... to here. Update all users.
8394
8395 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8396
8397 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8398
8399 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8400
8401 Support for El Torito without floppy emulation.
8402
8403 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8404 (init_boot_catalog): Improve error handling.
8405 (get_torito_desc): Don't use floppy emulation unless requested by
8406 user. Patch boot information table when requested via
8407 `-boot-info-table'.
8408 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8409 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8410 (use_boot_info_table): New variables.
8411 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8412 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8413 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8414 `--eltorito-emul-floppy'.
8415 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8416 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8417 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8418 (use_boot_info_table, get_731): New prototypes.
8419 * util/mkisofs/write.c (get_731): New function.
8420
8421 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8422
8423 Fix the generation of the man page.
8424
8425 * util/pc/i386/grub-install.in: Source
8426 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8427
8428 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8429
8430 Large file support for grub-mkisofs.
8431
8432 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8433 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8434 (session_start): Upgrade type to `uint64_t'. Update all users.
8435 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8436 (struct directory_entry): Upgrade type of `starting_block' and
8437 `size' to `uint64_t'. Update all users.
8438 (struct deferred): Remove unused structure.
8439 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8440 Update all users.
8441 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8442 file is larger than `UINT32_MAX'.
8443 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8444 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8445 return value.
8446 (struct deferred_write): Upgrade type of `extent' and `size' to
8447 `uint64_t'. Update all users.
8448 (last_extent_written): Upgrade type to `uint64_t'. Update all
8449 users.
8450 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8451 Update all users. Upgrade type of `remain' to `int64_t' and
8452 `use' to `size_t'. Use error() to handle fread() errors.
8453 (write_files): Rely on write_one_file() rather than calling
8454 xfwrite() directly.
8455
8456 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8457
8458 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8459
8460 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8461
8462 * util/mkisofs/fnmatch.c: Remove.
8463 * util/mkisofs/getopt1.c: Likewise.
8464 * util/mkisofs/getopt.c: Likewise.
8465 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8466 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8467 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8468 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8469 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8470
8471 * configure.ac: Detect `mingw32msvc' host_os.
8472 Check for lstat(), getuid() and getgid().
8473
8474 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8475 instances of `u_char' with `uint8_t'.
8476
8477 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8478 [!HAVE_GETUID] (getuid): New function (stub).
8479 [!HAVE_GETGID] (getgid): Likewise.
8480 [!HAVE_LSTAT] (lstat): Likewise.
8481 [!S_IROTH] (S_IROTH): New macro (dummy).
8482 [!S_IRGRP] (S_IRGRP): Likewise.
8483
8484 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8485
8486 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8487 conditional expression).
8488
8489 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8490
8491 Import from Gnulib.
8492
8493 * gnulib/fnmatch.c: New file.
8494 * gnulib/fnmatch.h: Likewise.
8495 * gnulib/fnmatch_loop.c: Likewise.
8496 * gnulib/getopt.c: Likewise.
8497 * gnulib/getopt.h: Likewise.
8498 * gnulib/getopt1.c: Likewise.
8499 * gnulib/getopt_int.h: Likewise.
8500 * gnulib/gettext.h: Likewise.
8501
8502 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8503
8504 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8505 * normal/handler.c (read_handler_list): Likewise.
8506
8507 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8508
8509 Misc cleanup.
8510
8511 * kern/command.c (grub_register_command_prio): Use
8512 grub_zalloc() instead of explicitly zeroing data.
8513 * kern/list.c: Include `<grub/mm.h>'.
8514 (grub_named_list_find): Replace `0' with `NULL'.
8515 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8516 (fs_module_list): Change type to `grub_named_list_t'. Update all
8517 users.
8518 * normal/dyncmd.c (read_command_list): Add space between function
8519 call and parenthesis.
8520 * normal/handler.c (read_handler_list): Likewise.
8521
8522 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8523
8524 * normal/auth.c (punishment_delay): Moved from here ...
8525 (grub_auth_strcmp): ... to here (inside function).
8526
8527 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8528
8529 * include/grub/list.h (struct grub_named_list): Remove `const'
8530 qualifier from `name'.
8531 (struct grub_prio_list): Likewise.
8532
8533 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8534
8535 * normal/auth.c: Include `<grub/time.h>'.
8536 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8537
8538 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8539
8540 * normal/auth.c (punishment_delay): New variable.
8541 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8542 (grub_auth_check_authentication): Punish failed login attempts with
8543 an incremental (2^N) delay.
8544
8545 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8546
8547 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8548 path with $(srcdir).
8549
8550 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8553
8554 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8555
8556 * util/i386/coreboot/grub-mkrescue.in: New file.
8557 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8558 variables.
8559
8560 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8561 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8562 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8563 requirements.
8564 * util/mkisofs/defaults.h: New file.
8565 * util/mkisofs/eltorito.c: Likewise.
8566 * util/mkisofs/exclude.h: Likewise.
8567 * util/mkisofs/fnmatch.c: Likewise.
8568 * util/mkisofs/getopt.c: Likewise.
8569 * util/mkisofs/getopt1.c: Likewise.
8570 * util/mkisofs/hash.c: Likewise.
8571 * util/mkisofs/include/fctldefs.h: Likewise.
8572 * util/mkisofs/include/mconfig.h: Likewise.
8573 * util/mkisofs/include/prototyp.h: Likewise.
8574 * util/mkisofs/include/statdefs.h: Likewise.
8575 * util/mkisofs/iso9660.h: Likewise.
8576 * util/mkisofs/joliet.c: Likewise.
8577 * util/mkisofs/match.c: Likewise.
8578 * util/mkisofs/match.h: Likewise.
8579 * util/mkisofs/mkisofs.c: Likewise.
8580 * util/mkisofs/mkisofs.h: Likewise.
8581 * util/mkisofs/multi.c: Likewise.
8582 * util/mkisofs/name.c: Likewise.
8583 * util/mkisofs/rock.c: Likewise.
8584 * util/mkisofs/tree.c: Likewise.
8585 * util/mkisofs/write.c: Likewise.
8586
8587 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8590 being insecure.
8591
8592 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8593
8594 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8595 `grub-mkimage' (and use $0 when possible).
8596
8597 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8598
8599 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8600 error message for excessively large memory map.
8601
8602 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8603
8604 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8605 executable bit.
8606
8607 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8608
8609 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8610 message for coreboot users.
8611
8612 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8613
8614 Fix build with GNU gold.
8615
8616 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8617 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8618 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8619 link addresses.
8620 * aclocal.m4: Likewise.
8621
8622 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8623
8624 * configure.ac (AC_PREREQ): Bump to 2.59d.
8625 * INSTALL: Make it more clear when Autoconf and Ruby are
8626 needed and when to run `./autogen.sh'.
8627
8628 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8629
8630 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8631 OSes.
8632
8633 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8634
8635 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8636
8637 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8638
8639 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8640 giving it to GNU Mach.
8641
8642 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8643
8644 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8645 GNU partition number to get internal GRUB partition number.
8646
8647 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8648
8649 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8650 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8651
8652 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8653
8654 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8655 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8656 case.
8657
8658 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8659
8660 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8661
8662 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8663
8664 Fix build problem.
8665
8666 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8667 `-isystem=$(srcdir)/include'.
8668
8669 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8670
8671 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8672 checked (grub-install doesn't currently rely on it).
8673
8674 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8675
8676 Revert SVN r2660.
8677
8678 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8679 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8680 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8681 * conf/i386-ieee1275.rmk: Likewise.
8682 * conf/i386-pc.rmk: Likewise.
8683 * conf/powerpc-ieee1275.rmk: Likewise.
8684 * conf/sparc64-ieee1275.rmk: Likewise.
8685 * conf/x86_64-efi.rmk: Likewise.
8686
8687 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8688
8689 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8690
8691 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8692
8693 * include/grub/misc.h: Stop checking for APPLE_CC.
8694
8695 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8696
8697 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8698 doesn't cause an infinite call loop.
8699
8700 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8701
8702 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8703 strings.
8704
8705 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8706
8707 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8708 variable.
8709 * Makefile.in: Likewise.
8710
8711 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8712
8713 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8714
8715 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8716
8717 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8718
8719 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8720
8721 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8722
8723 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8724
8725 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8726 from here ...
8727 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8728
8729 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8730
8731 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8732 in $(MAKEINFO) invocation. This makes it clear in output that
8733 errors are being ignored.
8734
8735 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8736
8737 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8738 from here ...
8739 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8740 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8741 * conf/i386-ieee1275.rmk: Likewise.
8742 * conf/i386-pc.rmk: Likewise.
8743 * conf/powerpc-ieee1275.rmk: Likewise.
8744 * conf/sparc64-ieee1275.rmk: Likewise.
8745 * conf/x86_64-efi.rmk: Likewise.
8746
8747 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8748
8749 * util/grub-editenv.c (main): If only a command is given, use
8750 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8751 (usage): FILENAME is now optional and has a default.
8752
8753 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8754
8755 Improve grub-mkconfig performance when there are several menu
8756 entries on a single filesystem.
8757
8758 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8759 prepare_grub_to_access_device.
8760 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8761 * util/grub.d/30_os-prober.in: Likewise.
8762
8763 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8764
8765 * util/grub.d/10_freebsd.in: Remove.
8766 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8767 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8768
8769 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8770
8771 * docs/grub.cfg: Fix example usage of *BSD loaders.
8772
8773 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8774
8775 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8776 grub_util_error() call.
8777
8778 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8779
8780 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8781 `reserved_first_sector' member.
8782 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8783 `reserved_first_sector' to 1.
8784 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8785 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8786 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8787 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8788 filesystems which begin at first sector.
8789 (options): New option --skip-fs-probe.
8790 (main): Handle --skip-fs-probe and pass it to setup().
8791
8792 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8793
8794 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8795 (memset): Fix function prototype.
8796
8797 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8798 2009-10-25 Vasily Averin <vvs@parallels.com>
8799
8800 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8801 `dirent.direntlen == 0'.
8802
8803 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8804
8805 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8806 `cpio'.
8807 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8808
8809 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8810
8811 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8812 `__trampoline_setup' and `__ucmpdi2'.
8813 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8814 that libgcc provides.
8815
8816 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8817
8818 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8819 * include/grub/sparc64/libgcc.h (memset): Likewise.
8820 * include/grub/misc.h (memset, memcmp): New function prototypes.
8821
8822 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8823
8824 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8825 `cpio'.
8826 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8827
8828 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8829
8830 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8831 * docs/grub.cfg: Compensate for recent change in multiboot
8832 loader (since 2009-08-14 it won't pass filename to payload).
8833 * util/grub.d/10_hurd.in: Likewise.
8834
8835 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8836
8837 * config.guess: Update to latest version from config git
8838 repository.
8839 * config.sub: Likewise.
8840
8841 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8842
8843 Fix build on sparc64.
8844
8845 * configure.ac: Perform checks for libgcc symbols before
8846 adding `-nostdlib' to LDFLAGS.
8847
8848 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Let user specify OpenBSD root device.
8851
8852 * loader/i386/bsd.c (openbsd_root): New variable.
8853 (openbsd_opts): New option 'root'.
8854 (OPENBSD_ROOT_ARG): New macro.
8855 (grub_openbsd_boot): Use 'openbsd_root'.
8856 (grub_cmd_openbsd): Fill 'openbsd_root'.
8857
8858 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8859
8860 * NEWS: Misc adjustments.
8861
8862 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8865
8866 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8867
8868 * configure.ac: Bump version to 1.97.
8869
8870 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8871
8872 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8873 -mno-3dnow on x86 architectures. Some toolchains enable these
8874 features by default, but they rely on registers that aren't enabled
8875 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8876
8877 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8878
8879 Make entry text a bit more readable.
8880
8881 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8882
8883 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8886
8887 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8890 operations.
8891
8892 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * configure.ac: Add missing dollar.
8895
8896 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8899
8900 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8901 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8902 exports.
8903 * include/grub/sparc64/libgcc.h: Likewise. Use
8904 preprocessor conditionals.
8905
8906 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8907
8908 * conf/common.rmk (grub-dumpbios): Remove rule.
8909 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8910 * util/grub-dumpbios.in: Remove file.
8911
8912 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8913
8914 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8915 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8916
8917 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8918 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8919 users.
8920
8921 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8922 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8923 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8924 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8925 users.
8926
8927 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8928
8929 * term/tparm.c: Switch to GPLv3.
8930
8931 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8932
8933 * include/grub/i386/cpuid.h: Add header protection.
8934
8935 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8936
8937 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8938
8939 * include/grub/i386/cpuid.h: New file.
8940 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8941 (has_longmode): Rename to ...
8942 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8943 `static' attribute.
8944 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8945 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8946 on a CPU that doesn't implement AMD64 instruction set.
8947
8948 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8949
8950 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8951 that version.texi is rebuilt on version number changes.
8952
8953 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8954
8955 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8956 Fixes bug #27602.
8957
8958 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8959
8960 * util/i386/pc/grub-install.in: Source
8961 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8962 that the --grub-probe option will work.
8963 * util/sparc64/ieee1275/grub-install.in: Likewise.
8964
8965 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8966
8967 * configure.ac: Bump version to 1.97~beta4.
8968
8969 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8970
8971 Resync grub-mkdevicemap in x86_64-efi.
8972
8973 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8974 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8975 `util/devicemap.c'.
8976
8977 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8978
8979 * util/grub-editenv.c (create_envblk_file): Write new block with a
8980 .new suffix and then rename it into place, to ensure atomic
8981 creation.
8982
8983 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8984
8985 Do not automatically install headers.
8986
8987 * Makefile.in (include_DATA): Remove. Update all users.
8988
8989 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8990
8991 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8992 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8993
8994 * util/osdetect.lua: Remove.
8995 * script/lua/lauxlib.c: Likewise.
8996 * script/lua/ldebug.c: Likewise.
8997 * script/lua/grub_main.c: Likewise.
8998 * script/lua/lauxlib.h: Likewise.
8999 * script/lua/ldebug.h: Likewise.
9000 * script/lua/ltablib.c: Likewise.
9001 * script/lua/liolib.c: Likewise.
9002 * script/lua/lstrlib.c: Likewise.
9003 * script/lua/lualib.h: Likewise.
9004 * script/lua/ldo.c: Likewise.
9005 * script/lua/ldump.c: Likewise.
9006 * script/lua/ldo.h: Likewise.
9007 * script/lua/loslib.c: Likewise.
9008 * script/lua/lundump.c: Likewise.
9009 * script/lua/grub_lib.c: Likewise.
9010 * script/lua/ldblib.c: Likewise.
9011 * script/lua/lundump.h: Likewise.
9012 * script/lua/lmem.c: Likewise.
9013 * script/lua/grub_lib.h: Likewise.
9014 * script/lua/lmathlib.c: Likewise.
9015 * script/lua/lstate.c: Likewise.
9016 * script/lua/ltm.c: Likewise.
9017 * script/lua/lvm.c: Likewise.
9018 * script/lua/lmem.h: Likewise.
9019 * script/lua/lstate.h: Likewise.
9020 * script/lua/ltm.h: Likewise.
9021 * script/lua/ltable.c: Likewise.
9022 * script/lua/lvm.h: Likewise.
9023 * script/lua/llex.c: Likewise.
9024 * script/lua/lgc.c: Likewise.
9025 * script/lua/grub_lua.h: Likewise.
9026 * script/lua/loadlib.c: Likewise.
9027 * script/lua/lfunc.c: Likewise.
9028 * script/lua/lopcodes.c: Likewise.
9029 * script/lua/lparser.c: Likewise.
9030 * script/lua/ltable.h: Likewise.
9031 * script/lua/llex.h: Likewise.
9032 * script/lua/lgc.h: Likewise.
9033 * script/lua/lfunc.h: Likewise.
9034 * script/lua/lbaselib.c: Likewise.
9035 * script/lua/lopcodes.h: Likewise.
9036 * script/lua/lparser.h: Likewise.
9037 * script/lua/lzio.c: Likewise.
9038 * script/lua/linit.c: Likewise.
9039 * script/lua/lobject.c: Likewise.
9040 * script/lua/llimits.h: Likewise.
9041 * script/lua/lstring.c: Likewise.
9042 * script/lua/lzio.h: Likewise.
9043 * script/lua/lapi.c: Likewise.
9044 * script/lua/lcode.c: Likewise.
9045 * script/lua/lua.h: Likewise.
9046 * script/lua/lobject.h: Likewise.
9047 * script/lua/lstring.h: Likewise.
9048 * script/lua/lapi.h: Likewise.
9049 * script/lua/lcode.h: Likewise.
9050 * script/lua/luaconf.h: Likewise.
9051
9052 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
9053
9054 * docs/grub.texi (Command-line and menu entry commands): Document
9055 date and echo commands.
9056
9057 2009-09-24 Pavel Roskin <proski@gnu.org>
9058
9059 * include/grub/kernel.h (struct grub_module_header): Remove
9060 `grub_module_header_types'. Make `type' unsigned. Make `size'
9061 32-bit on all platforms.
9062 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9063 8-bit field. Use grub_host_to_target32() for `size'.
9064 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9065 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9066 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9067
9068 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9069
9070 Fix "lost keypress" bug in at_keyboard.
9071
9072 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9073 Checks for readyness of input buffer (without flushing it).
9074 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9075 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9076
9077 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9078
9079 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9080 size check within GRUB_MACHINE_PCBIOS section.
9081
9082 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9083
9084 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9085 return value.
9086 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9087 KEYBOARD_ISREADY check.
9088 (grub_at_keyboard_checkkey): Rename to ...
9089 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9090 Remove gratuitous cast.
9091
9092 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9093
9094 * configure.ac: Call AC_PROG_MKDIR_P.
9095 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9096 version.texi in $(builddir) rather than $(srcdir).
9097 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9098 to makeinfo's @include search path.
9099
9100 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9101
9102 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9103
9104 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9105
9106 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9107 for `*.dpkg-new'.
9108
9109 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9110
9111 Build info documentation. Some code borrowed from Automake.
9112
9113 * configure.ac: Check for makeinfo.
9114 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9115 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9116 docs/version.texi.
9117 (MOSTLYCLEANFILES): Add vti.tmp.
9118 (docs/version.texi, docs/stamp-vti): Update automatically.
9119 (docs/grub.info): Build info documentation. Use --force and ignore
9120 errors for now.
9121 (all-local): Add $(INFOS).
9122 (install-local): Install info files.
9123 (uninstall): Uninstall info files.
9124 * docs/version.texi: Remove from revision control. This file is
9125 automatically generated on build now.
9126 * gendistlist.sh: Add `*.info'.
9127
9128 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9129
9130 * kern/term.c: Fix indentation.
9131
9132 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9133
9134 * util/hostdisk.c: Fix a comment.
9135
9136 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9137
9138 Fix regression introduced in r2539.
9139
9140 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9141 to 0xA1.
9142
9143 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9144
9145 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9146 os-prober. Under normal operation, it does not print anything to
9147 stderr; if it does, we need to debug it, and throwing away stderr
9148 makes that excessively difficult.
9149
9150 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9153
9154 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9155
9156 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9157 AC_LANG_PROGRAM from autoconf.
9158 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9159 prototypes (fixes warning).
9160
9161 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9162 `--disable-werror' was used.
9163
9164 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9165
9166 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9167 uninitialized `lastaddr'.
9168
9169 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9172
9173 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9174
9175 * commands/test.c (get_fileinfo): Return immediately if
9176 grub_fs_probe fails.
9177
9178 2009-09-14 José Martínez <xosemp@gmail.com>
9179
9180 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9181
9182 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9183
9184 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9185 output.
9186
9187 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9188
9189 * configure.ac: Remove --enable-grub-pe2elf. Only build
9190 grub-pe2elf when needed by the build system itself.
9191 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9192
9193 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9194
9195 * configure.ac: Bump version to 1.97~beta3.
9196 * docs/version.texi: Likewise.
9197
9198 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9199
9200 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9201 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9202 from here ...
9203 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9204 (grub_linux_setup_video): ... to here (with some adjustments).
9205
9206 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9207
9208 Fix memory corruption issue (spotted by Colin Watson).
9209
9210 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9211 causing returned size to be stored in an incorrect memory location.
9212 Fix use of uninitialized value when storing the returned size.
9213
9214 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9215
9216 Change clean rules to properly remove files
9217
9218 * genmk.rb: add new clean rules
9219 * Makefile.in (clean): add the new targets
9220 (mostlyclean): likewise
9221
9222 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9223
9224 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9225 to grub_uint64_t.
9226 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9227 non-resident files.
9228
9229 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9232 part of bug #27349.
9233
9234 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9235
9236 * util/grub-mkconfig.in: Make the created config mode 400 and
9237 print a warning if it fails.
9238
9239 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9240
9241 * util/grub.d/40_custom.in: Ask user to type custom entries below
9242 comment, rather than below 'exec tail' line.
9243
9244 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9245
9246 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9247 visible in grub.cfg.
9248
9249 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9250
9251 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9252 file.
9253
9254 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9255
9256 * docs/grub.cfg: Add an example menu entry for memtest86+.
9257
9258 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9259
9260 * config.guess: Update to latest version from config git.
9261 * config.sub: Likewise.
9262
9263 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9264
9265 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9266 unknown-command case. Fixes bug #27320.
9267
9268 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9269
9270 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9271 `help' if the command exists.
9272
9273 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9274
9275 * INSTALL: Require GCC 4.1.3 or later.
9276
9277 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9278
9279 * Makefile.in (RMKFILES): add i386-qemu.rmk
9280 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9281 $(srcdir)/stamp-h.in
9282
9283 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9284
9285 * util/grub-probe.c (probe): Comment out buggy codepath, which
9286 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9287 should be re-enabled after 1.97.
9288
9289 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9290
9291 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9292 find searches for.
9293
9294 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9297 unnecessary calls to grub_error.
9298
9299 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9300
9301 * NEWS: Mention `keystatus' and Unicode fonts.
9302
9303 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9304
9305 * configure.ac: Bump version to 1.97~beta2.
9306 * docs/version.texi: Likewise.
9307
9308 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9309
9310 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9311 containing unwind information in some cases where it previously did
9312 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9313 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9314 discussion.
9315
9316 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9317
9318 Embedding loadenv module into grub-emu
9319
9320 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9321 commands/loadenv.c
9322 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9327 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9328
9329 2009-09-03 Magnus Granberg <zorry@ume.nu>
9330
9331 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9332 include -fPIE in the default specs.
9333 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9334 to TARGET_CFLAGS.
9335
9336 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9337
9338 * INSTALL: Note that GNU Bison 2.3 or later is required.
9339
9340 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * kern/i386/pc/startup.S: Fix typo.
9343
9344 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9347 according to GCS.
9348
9349 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9350
9351 * docs/grub.texi (Naming convention): Describe one-based partition
9352 numbering.
9353 (Device syntax): Likewise.
9354 (File name syntax): Likewise.
9355 (Block list syntax): Likewise.
9356 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9357 menu.lst.
9358 (File name syntax): Likewise.
9359 (Command-line and menu entry commands): Document acpi, blocklist,
9360 crc, export, insmod, keystatus, ls, set, and unset commands.
9361
9362 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9363
9364 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9365 to avoid implying that only one of --shift, --ctrl, or --alt may be
9366 used.
9367
9368 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9369
9370 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9371 rather than comparing against S_IFREG, which will almost never work.
9372
9373 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9376 (write_blocklists): Likewise.
9377
9378 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9379
9380 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9381 argument to grub_printf.
9382
9383 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9384
9385 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9386 non GNU test.
9387
9388 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * kern/file.c (grub_file_read): Spelling fix
9391
9392 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9395 loading of headers in some cases.
9396
9397 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9398
9399 * configure.ac: Bump version to 1.97~beta1.
9400 * docs/version.texi: Likewise.
9401
9402 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * include/grub/i386/xnu.h: Add license header.
9405 include grub/err.h explicitly.
9406
9407 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9408
9409 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9410 to `ufs' in the vfs.root.mountfrom kernel parameter.
9411
9412 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9413
9414 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9415
9416 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9417 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9418
9419 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9420 `ARRAY_SIZE' macro.
9421
9422 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * kern/file.c (grub_file_read): Check offset.
9425 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9426 * fs/jfs.c (grub_jfs_read_file): Likewise.
9427 * fs/ntfs.c (grub_ntfs_read): Likewise.
9428 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9429 * fs/minix.c (grub_minix_read_file): Correct offset check.
9430 * fs/ufs.c (grub_ufs_read_file): Likewise.
9431
9432 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9433
9434 * term/i386/pc/console.c (bios_data_area): Cast
9435 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9436
9437 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 1-bit optimised blitters.
9440
9441 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9442 prototype.
9443 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9444 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9445 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9446 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9447 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9448 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9449 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9450 function.
9451 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9452 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9453 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9454 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9455 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9456 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9457 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9458 when possible.
9459 * video/video.c (grub_video_get_blit_format): Return
9460 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9461
9462 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9463
9464 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9465 the first argument to grub_printf.
9466
9467 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9468 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9469
9470 Add `getkeystatus' terminal method. Add a new `keystatus' command
9471 to query it.
9472
9473 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9474 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9475 modifier key bitmasks.
9476 (struct grub_term_input): Add `getkeystatus' member.
9477 (grub_getkeystatus): Add prototype.
9478 * kern/term.c (grub_getkeystatus): New function.
9479
9480 * include/grub/i386/pc/memory.h
9481 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9482 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9483 Data Area layout.
9484 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9485 (grub_console_term_input): Set `getkeystatus' member.
9486 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9487 constants.
9488 (grub_usb_keyboard_getreport): Likewise.
9489 (grub_usb_keyboard_checkkey): Likewise.
9490 (grub_usb_keyboard_getkeystatus): New function.
9491 (grub_usb_keyboard_term): Set `getkeystatus' member.
9492
9493 * commands/keystatus.c: New file.
9494 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9495 (keystatus_mod_SOURCES): New variable.
9496 (keystatus_mod_CFLAGS): Likewise.
9497 (keystatus_mod_LDFLAGS): Likewise.
9498 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9499 commands/keystatus.c.
9500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9501 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9502 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9506
9507 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Split befs.mod and afs.mod into *_be.mod and *.mod
9510
9511 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9512 (grub_fstest_SOURCES): Likewise.
9513 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9514 (afs_be_mod_SOURCES): New variable.
9515 (afs_be_mod_CFLAGS): Likewise.
9516 (afs_be_mod_LDFLAGS): Likewise.
9517 (befs_be_mod_SOURCES): Likewise.
9518 (befs_be_mod_CFLAGS): Likewise.
9519 (befs_be_mod_LDFLAGS): Likewise.
9520 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9521 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9522 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9523 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9524 (grub_emu_SOURCES): Likewise.
9525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9526 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9527 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9528 * fs/afs_be.c: New file.
9529 * fs/befs_be.c: New file.
9530 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9531 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9532 (U16): Replaced with ...
9533 (grub_afs_to_cpu16): ...this. All users updated.
9534 (U32): Replaced with ...
9535 (grub_afs_to_cpu32): ...this. All users updated.
9536 (U64): Replaced with ...
9537 (grub_afs_to_cpu64): ...this. All users updated.
9538 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9539 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9540 (grub_afs_validate_sblock): Check only one endianness.
9541 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9542 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9543 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9544 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9545 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9546 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9547 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9548 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9549
9550 2009-08-26 Bean <bean123ch@gmail.com>
9551
9552 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9553 64-bit number.
9554 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9555 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9556 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9557
9558 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 NetBSD memory map support.
9561
9562 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9563 (grub_netbsd_btinfo_mmap_header): New structure.
9564 (grub_netbsd_btinfo_mmap_entry): Likewise.
9565 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9566
9567 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Enable bsd.mod on coreboot.
9570
9571 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9572 (bsd_mod_SOURCES): New variable.
9573 (bsd_mod_CFLAGS): Likewise.
9574 (bsd_mod_LDFLAGS): Likewise.
9575 (bsd_mod_ASFLAGS): Likewise.
9576 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9577 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9578
9579 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 Cleanup NetBSD root support.
9582
9583 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9584 grub_bsd_get_device.
9585 Fix typo.
9586
9587 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9588
9589 * util/grub.d/00_header.in: Move check for the video backend of
9590 gfxterm from here ...
9591 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9592 a suitable video backend.
9593
9594 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 Fix breakage in grub-setup.
9597
9598 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9599 "msdos_partition_map".
9600
9601 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Fix breakage in normal/auth.c.
9604
9605 * normal/auth.c (grub_iswordseparator): New function.
9606
9607 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 Authentication support.
9610
9611 * commands/password.c: New file.
9612 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9613 (password_mod_SOURCES): New variable.
9614 (password_mod_CFLAGS): Likewise.
9615 (password_mod_LDFLAGS): Likewise.
9616 (normal_mod_SOURCES): Add normal/auth.c.
9617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9618 normal/auth.c.
9619 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9620 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9621 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9623 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9624 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9625 * include/grub/auth.h: New file.
9626 * include/grub/err.h (grub_err_t): New enum value
9627 GRUB_ERR_ACCESS_DENIED.
9628 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9629 'users'.
9630 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9631 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9632 users updated.
9633 * normal/auth.c: New file.
9634 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9635 (grub_cmdline_run): Don't allow to go to command line without
9636 authentication.
9637 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9638 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9639 menuentry without superuser rights.
9640 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9641 user isn't a superuser.
9642
9643 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 Save space by inlining misc.c functions.
9646
9647 * kern/misc.c (grub_iswordseparator): Made static.
9648 * kern/misc.c (grub_strcat): Moved from here ...
9649 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9650 * kern/misc.c (grub_strncat): Moved from here ...
9651 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9652 * kern/misc.c (grub_strcasecmp): Moved from here ...
9653 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9654 * kern/misc.c (grub_strncasecmp): Moved from here ...
9655 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9656 * kern/misc.c (grub_isalpha): Moved from here ...
9657 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9658 * kern/misc.c (grub_isdigit): Moved from here ...
9659 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9660 * kern/misc.c (grub_isgraph): Moved from here ...
9661 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9662 * kern/misc.c (grub_tolower): Moved from here ...
9663 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9664
9665 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * script/sh/function.c (grub_script_function_find): Cut error message
9668 not to flood terminal.
9669 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9670 limit.
9671 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9672
9673 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9674
9675 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9676 `report' grub_uint8_t *.
9677 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9678 Use a 50-millisecond timeout rather than just repeating
9679 grub_usb_keyboard_getreport 50 times.
9680 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9681
9682 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 Rename *_partition_map to part_*
9685
9686 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9687 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9688 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9689 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9690 All users updated.
9691 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9692 All users updated.
9693 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9694 * util/grub-probe.c (probe_partmap): Don't transform partition name
9695 to get module name.
9696
9697 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 Fix OpenBSD and NetBSD support.
9700
9701 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9702 memory address conflict.
9703 (OPENBSD_MMAP_ACPI): New definition.
9704 (OPENBSD_MMAP_NVS): Likewise.
9705 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9706 and OPENBSD_MMAP_NVS.
9707 Add memory map terminator
9708 Explicit cast when calling grub_unix_real_boot.
9709 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9710
9711 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 Let user specify NetBSD root device.
9714
9715 * loader/i386/bsd.c (netbsd_root): New variable.
9716 (netbsd_opts): New option 'root'.
9717 (NETBSD_ROOT_ARG): New macro.
9718 (grub_netbsd_boot): Use 'netbsd_root'.
9719 (grub_bsd_unload): Free 'netbsd_root'.
9720 (grub_cmd_netbsd): Fill 'netbsd_root'.
9721
9722 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Support for 64-bit NetBSD.
9725
9726 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9727 point when booting non-FreeBSD.
9728
9729 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 Support --no-smp and --no-acpi for NetBSD.
9732
9733 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9734 (NETBSD_AB_NOACPI): Likewise.
9735 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9736 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9737
9738 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9741 errors.
9742 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9743 errors. Call grub_error when needed.
9744
9745 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * commands/search.c (search_fs): Try searching without autoload first.
9748 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9749 filesystem module explicitly for faster booting.
9750
9751 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9752
9753 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9754
9755 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9756
9757 * util/grub.d/30_os-prober.in: Disable os-prober if
9758 `GRUB_DISABLE_OS_PROBER' was set to true.
9759
9760 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9761
9762 * partmap/pc.c: Rename to ...
9763 * partmap/msdos.c: ... this. Update all users.
9764 (grub_pc_partition_map): Rename to ...
9765 (grub_msdos_partition_map): ... this. Update all users.
9766
9767 * parttool/pcpart.c: Rename to ...
9768 * parttool/msdospart.c: ... this. Update all users.
9769
9770 * include/grub/pc_partition.h: Rename to ...
9771 * include/grub/msdos_partition.h: ... this. Update all users.
9772 (grub_pc_partition_bsd_entry): Rename to ...
9773 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9774 (grub_pc_partition_disk_label): Rename to ...
9775 (grub_msdos_partition_disk_label): ... this. Update all users.
9776 (grub_pc_partition_entry): Rename to ...
9777 (grub_msdos_partition_entry): ... this. Update all users.
9778 (grub_pc_partition_mbr): Rename to ...
9779 (grub_msdos_partition_mbr): ... this. Update all users.
9780 (grub_pc_partition): Rename to ...
9781 (grub_msdos_partition): ... this. Update all users.
9782 (grub_pc_partition_is_empty): Rename to ...
9783 (grub_msdos_partition_is_empty): ... this. Update all users.
9784 (grub_pc_partition_is_extended): Rename to ...
9785 (grub_msdos_partition_is_extended): ... this. Update all users.
9786 (grub_pc_partition_is_bsd): Rename to ...
9787 (grub_msdos_partition_is_bsd): ... this. Update all users.
9788
9789 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9790 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9791 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9792 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9793 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9794 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9795 (gpt_mod_LDFLAGS): Rename to ...
9796 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9797 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9798 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9799 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9800 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9801 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9802 (part_gpt_mod_LDFLAGS): ... this.
9803 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9804 `pcpart.mod' to `msdospart.mod'.
9805 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9806 to ...
9807 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9808 (msdospart_mod_LDFLAGS): ... this.
9809
9810 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9813 (openbsd_opts): Likewise.
9814 (netbsd_opts): Likewise.
9815 (freebsd_flags): Added 0 terminator.
9816 (openbsd_flags): Likewise.
9817 (netbsd_flags): Likewise.
9818 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9819 (grub_cmd_freebsd): Transformed into extended command.
9820 (grub_cmd_openbsd): Likewise.
9821 (grub_cmd_netbsd): Likewise.
9822 (cmd_freebsd): Changed type to grub_extcmd_t.
9823 (cmd_openbsd): Likewise.
9824 (cmd_netbsd): Likewise.
9825 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9826 grub_cmd_openbsd as extended commands.
9827 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9828 cmd_netbsd and cmd_openbsd
9829
9830 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9833
9834 2009-08-21 Pavel Roskin <proski@gnu.org>
9835
9836 * Makefile.in (install-local): When checking if a file is in the
9837 build directory, use "test -e" to detect symlinks.
9838
9839 * Makefile.in (install-local): Remove all files in
9840 $(DESTDIR)$(pkglibdir) before installing new files there.
9841
9842 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9843
9844 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9845 grub-mkelfimage.
9846
9847 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9848
9849 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9850 explicitly specified by the user.
9851
9852 2009-08-18 Pavel Roskin <proski@gnu.org>
9853
9854 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9855 grub_uint8_t pointer for data.
9856 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9857 Likewise.
9858 * video/fb/fbutil.c: Remove unnecessary casts.
9859
9860 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9861
9862 VBE cleanup.
9863
9864 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9865 (grub_vbe_set_video_mode): Save active mode info
9866 only after setting the mode.
9867 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9868 second argument.
9869
9870 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9871
9872 Rename variables for clarity.
9873
9874 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9875 (active_vbe_mode_info): ... this. All users updated.
9876 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9877 All users updated.
9878 (initial_mode): Rename to ...
9879 (initial_vbe_mode): ... this. All users updated.
9880 (mode_in_use): Rename to ..
9881 (vbe_mode_in_use): ... this. All users updated.
9882 (mode_list): Rename to ..
9883 (vbe_mode_list): ... this. All users updated.
9884 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9885 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9886 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9887 'mode_list_size' to 'vbe_mode_list_size'.
9888 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9889 'best_mode_info' to 'best_vbe_mode_info' and
9890 'best_mode' to 'best_vbe_mode'
9891
9892 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9893
9894 Remove duplicate grub_video_fb_get_video_ptr.
9895
9896 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9897 (grub_video_fb_get_video_ptr): ... this.
9898 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9899 * video/fb/fbutil.c: Add comment about addressing.
9900 (get_data_ptr): Rename to ...
9901 (grub_video_fb_get_video_ptr): ... this. All users updated.
9902 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9903
9904 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9905
9906 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9907 grub_dprintf() that was just added.
9908
9909 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9910
9911 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9912 (DEFAULT_VIDEO_MODE): Remove macros.
9913 (grub_linux_boot): Remove assumption that Linux has FB support,
9914 and use "text" as default video mode.
9915
9916 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9919 grub_dprintf.
9920 * fs/fat.c (grub_fat_read_data): Likewise.
9921
9922 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9925 payload.
9926 (grub_module): Likewise.
9927
9928 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9931 mbi->cmdline but free playground.
9932
9933 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 Handle group offset on UFS1.
9936
9937 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9938 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9939
9940 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 Split ufs.mod into ufs1.mod and ufs2.mod.
9943
9944 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9945 (grub_fstest_SOURCES): Likewise.
9946 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9947 (ufs_mod_SOURCES): Remove.
9948 (ufs_mod_CFLAGS): Likewise.
9949 (ufs_mod_LDFLAGS): Likewise.
9950 (ufs1_mod_SOURCES): New variable.
9951 (ufs1_mod_CFLAGS): Likewise.
9952 (ufs1_mod_LDFLAGS): Likewise.
9953 (ufs2_mod_SOURCES): New variable.
9954 (ufs2_mod_CFLAGS): Likewise.
9955 (ufs2_mod_LDFLAGS): Likewise.
9956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9957 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9958 Likewise.
9959 (grub_emu_SOURCES): Likewise.
9960 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9962 (grub_setup_SOURCES): Likewise.
9963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9964 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9965 (grub_setup_SOURCES): Likewise.
9966 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9967 Likewise.
9968 * fs/ufs2.c: New file.
9969 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9970
9971 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 Framebuffer split.
9974
9975 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9976 subsystem at the end.
9977 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9978 (video_fb_mod_SOURCES): New variable.
9979 (video_fb_mod_CFLAGS): Likewise.
9980 (video_fb_mod_LDFLAGS): Likewise.
9981 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9982 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9983 * video/i386/pc/vbeblit.c: Moved from here ...
9984 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9985 * video/i386/pc/vbefill.c: Moved from here ...
9986 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9987 * video/i386/pc/vbeutil.c: Moved from here ...
9988 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9989 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9990 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9991 * include/grub/i386/pc/vbefill.h: Moved from here ...
9992 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9993 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9994 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9995 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9996 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9997 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9998 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9999 (grub_video_adapter): Added 'get_info_and_fini'.
10000 (grub_video_get_info_and_fini): New prototype.
10001 (grub_video_set_mode): make modestring const char *.
10002 * loader/i386/linux.c (grub_linux_setup_video): Use
10003 grub_video_get_info_and_fini.
10004 (grub_linux_boot): Move modesetting just before booting.
10005 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10006 grub_video_get_info_and_fini.
10007 * video/i386/pc/vbe.c: Moved framebuffer part ...
10008 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10009 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10010 grub_video_fbstd_colors and grub_video_fb_set_palette.
10011 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10012 grub_video_fb_init.
10013 (grub_video_vbe_fini): Use grub_video_fb_fini.
10014 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10015 render_target and use grub_video_fb_set_active_render_target and
10016 grub_video_fb_set_palette.
10017 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10018 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10019 (grub_video_vbe_adapter): Use framebuffer.
10020 * video/video.c (grub_video_get_info_and_fini): New function.
10021 (grub_video_set_mode): Make modestring const char *.
10022 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10023 values are already initialised.
10024
10025 2009-08-14 Pavel Roskin <proski@gnu.org>
10026
10027 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10028 ABS and APPLE_CC.
10029 * boot/i386/pc/diskboot.S: Likewise.
10030 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10031 sectors allow compilation on MacOSX.
10032 * conf/i386-pc.rmk: Enable unconditional compilation of
10033 lnxboot.img.
10034
10035 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
10036
10037 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10038 * util/grub.d/00_header.in: Enter interruptible sleep if
10039 GRUB_HIDDEN_TIMEOUT is set.
10040
10041 2009-08-13 Yves Blusseau <blusseau@zetam.org>
10042
10043 * include/grub/symbol.h: Add the LOCAL macro.
10044 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10045 starting with "L_".
10046
10047 2009-08-13 Pavel Roskin <proski@gnu.org>
10048
10049 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10050 any modern compilers we support.
10051
10052 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10053 Use local labels starting with "L_" so that Apple assembler
10054 knows they are local.
10055
10056 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10057
10058 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10059 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10060 (bsd_kernel_types): ... this enum.
10061
10062 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10063 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10064 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10065
10066 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10067 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10068 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10069 messages.
10070
10071 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10072
10073 * util/grub-dumpdevtree: Moved from here ...
10074 * util/i386/efi/grub-dumpdevtree: ... to here.
10075 (hexify): New function. Converts a string to its hex version.
10076 Generate hex versions of "efi" and "device-properties" by calling
10077 hexify() on the ASCII strings rather than by hardcoding numbers.
10078
10079 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10080
10081 * fs/jfs.c: Update copyright year.
10082
10083 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10084
10085 * util/grub.d/00_header.in: Fix a comment.
10086 * util/grub.d/10_linux.in: Likewise.
10087 * util/grub.d/10_windows.in: Likewise.
10088 * util/grub.d/10_hurd.in: Likewise.
10089
10090 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10091
10092 * util/grub-mkconfig.in: Allow the user to specify the used font
10093 with GRUB_FONT.
10094
10095 2009-08-08 Pavel Roskin <proski@gnu.org>
10096
10097 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10098 available, xfs.mod needs it now.
10099
10100 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10101 the "g" modifier in sed when the intention is to strip something
10102 once. This fixes comparison of kernels with multiple dashes.
10103
10104 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10105 on it. Add missing space before closing bracket. Fix
10106 misleading formatting.
10107
10108 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10109
10110 * docs/grub.texi: Major overhaul. Remove all sections that are
10111 specific to GRUB Legacy, or mostly composed of Legacy-specific
10112 information.
10113
10114 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10115
10116 * docs/version.texi: New file. Provides version information for
10117 grub.texi.
10118
10119 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10120
10121 * docs/grub.texi: Update CVS information to SVN.
10122 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10123
10124 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10125
10126 * util/grub-mkconfig.in: Remove a wrong `fi'.
10127
10128 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10129
10130 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10131 (grub_jfs_uuid): New function.
10132 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10133
10134 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10135
10136 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10137 of it to ...
10138 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10139 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10140
10141 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10142
10143 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10144 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10145 Update all users.
10146
10147 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10148 not just "vmlinu[zx]".
10149 Moved from here ...
10150 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10151 all users.
10152
10153 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10154 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10155 all users.
10156
10157 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10158
10159 * util/grub.d/10_freebsd.in: Use an absolute device path for
10160 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10161
10162 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10163
10164 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10165 handling of multiple abstraction modules.
10166
10167 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10168
10169 Fix a bug resulting in black screen when loading Linux using a
10170 packed video mode.
10171
10172 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10173 function.
10174
10175 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10176 (grub_vbe_bios_getset_dac_palette_width): New function.
10177 (grub_vbe_bios_get_dac_palette_width)
10178 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10179 grub_vbe_bios_getset_dac_palette_width()).
10180
10181 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10182 check for return status.
10183 (grub_vbe_get_video_mode_info): When getting information for a packed
10184 mode (<= 8 bpp), obtain DAC palette width using
10185 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10186 {red,green,blue}_mark_size.
10187
10188 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10189
10190 * commands/search.c (options): Fix help output to match actual code.
10191
10192 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10195 of homegrown code.
10196
10197 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10200 on XFS or ReiserFS.
10201
10202 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 Support Apple partition map with sector size different from 512 bytes.
10205
10206 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10207 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10208 and 'apart.partmap_size'.
10209
10210 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10211 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10212
10213 Fix cpuid command.
10214
10215 * commands/i386/cpuid.c (options): New variable.
10216 (grub_cmd_cpuid): Return real error.
10217 (GRUB_MOD_INIT(cpuid)): Declare options.
10218
10219 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10222 valid.
10223
10224 2009-07-31 Bean <bean123ch@gmail.com>
10225
10226 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10227 log2_inode.
10228 (grub_fshelp_node): Move inode field to the end.
10229 (grub_xfs_data): Remove inode field.
10230 (grub_xfs_inode_block): Calculate inode size using sblock.
10231 (grub_xfs_inode_offset): Likewise.
10232 (grub_xfs_read_inode): Calculate inode size using sblock.
10233 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10234 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10235 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10236 to match inode size.
10237 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10238 not accessible when data is null.
10239 (grub_xfs_open): Likewise.
10240
10241 2009-07-31 Bean <bean123ch@gmail.com>
10242
10243 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10244 Don't change pv->disk if it's already set.
10245
10246 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10247 (grub_raid_register): ... here.
10248 (grub_raid_rescan): Removed.
10249
10250 * include/grub/raid.h (grub_raid_rescan): Removed.
10251
10252 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10253 (fstest): Replace grub_raid_rescan with module fini function followed
10254 by init function.
10255
10256 * util/grub-probe.c: Add include file <grub/raid.h>.
10257 (probe_raid_level): New function.
10258 (probe): Detect abstraction by walking the disk device, support two
10259 level of abstraction (LVM on RAID) when detecting partition map.
10260
10261 2009-07-31 Pavel Roskin <proski@gnu.org>
10262
10263 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10264 to grub_zalloc(), it was erroneous.
10265 Reported by Bean <bean123ch@gmail.com>
10266
10267 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10270 embedding zone, not only the first one.
10271
10272 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10273
10274 * term/gfxterm.c (clear_char): New function.
10275 (grub_virtual_screen_setup): Use clear_char.
10276 (scroll_up): Likewise.
10277 (grub_virtual_screen_cls): Likewise.
10278
10279 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10280
10281 * util/deviceiter.c (get_acceleraid_disk_name): New static
10282 function.
10283 (grub_util_iterate_devices): Handle Accelraid devices.
10284 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10285
10286 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10287
10288 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10289 separator for the suggested gfxpayload string (';' collides with the
10290 parser and needs escaping).
10291
10292 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10295 Clear direction flag before jumping to OS.
10296 (grub_multiboot2_real_boot): Likewise.
10297
10298 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10299
10300 * util/i386/pc/grub-install: Fix parsing of --disk-module
10301 option.
10302
10303 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10304
10305 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10306 when embedding.
10307
10308 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10309
10310 * util/grub-mkconfig.in (package_version): New variable.
10311 Use it do display the version.
10312
10313 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10314
10315 * kern/file.c (grub_file_open): Revert to previous check with
10316 grub_errno.
10317
10318 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10321 from help line. It's out of sync with code.
10322
10323 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10326 entries on failed boot.
10327
10328 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10329
10330 * kern/file.c (grub_file_open): Fix an error check.
10331
10332 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10335 partition map couldn't be identified.
10336
10337 2009-07-23 Pavel Roskin <proski@gnu.org>
10338
10339 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10340 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10341 case of little endian words becomes just an optimization.
10342 Respect const modifier.
10343 (md5_final): Use code that doesn't depend on endianness.
10344
10345 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10346 to avoid loss of upper bits if align is unsigned and shorter
10347 than addr.
10348
10349 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 UUID support for UFS
10352
10353 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10354 (grub_ufs_uuid): New function.
10355 (grub_ufs_fs): add .uuid
10356
10357 2009-07-21 Pavel Roskin <proski@gnu.org>
10358
10359 * kern/dl.c (grub_dl_check_header): Make static.
10360
10361 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10362
10363 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10364 add drivemap for Vista. It breaks Windows 7.
10365
10366 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10369 128 bytes
10370
10371 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 Add BFS support
10374
10375 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10376 (grub_fstest_SOURCES): Likewise.
10377 (pkglib_MODULES): Add befs.mod.
10378 (befs_mod_SOURCES): New variable.
10379 (befs_mod_CFLAGS): Likewise.
10380 (befs_mod_LDFLAGS): Likewise.
10381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10382 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10383 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10384 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10385 (grub_setup_SOURCES): Likewise.
10386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10387 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10388 (grub_setup_SOURCES): Likewise.
10389 * fs/befs.c: New file.
10390 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10391 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10392 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10393 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10394 (B_KEY_INDEX_ALIGN): New declaration.
10395 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10396 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10397 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10398 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10399 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10400 (grub_afs_mount) [MODE_BFS]: Likewise.
10401 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10402 (grub_afs_fs): Use GRUB_AFS_FSNAME
10403 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10404 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10405 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10406 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10407
10408 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10409
10410 * util/getroot.c (find_root_device): Add support for MacOSX.
10411 * util/hostdisk.c: Likewise.
10412
10413 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * font/font.c (find_glyph): Check whether a font is present to avoid
10416 segmentation fault.
10417
10418 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10419
10420 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10421
10422 2009-07-20 Pavel Roskin <proski@gnu.org>
10423
10424 * configure.ac: Trim excessively wordy excuses.
10425
10426 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 Add symlink, mtime and label support to AtheFS.
10429
10430 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10431 (grub_afs_iterate_dir): Handle symlinks.
10432 (grub_afs_open): Use grub_afs_read_symlink.
10433 (grub_afs_dir): Likewise.
10434 Pass mtime.
10435 (grub_afs_label): New function.
10436 (grub_afs_fs): Add grub_afs_label.
10437 (grub_afs_read_symlink): New function.
10438
10439 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Fix AtheFS support.
10442
10443 * fs/afs.c: Fix comments style.
10444 (grub_afs_blockrun): Declare as packed.
10445 (grub_afs_datastream): Likewise.
10446 (grub_afs_bnode): Likewise.
10447 (grub_afs_btree): Likewise.
10448 (grub_afs_sblock): Likewise.
10449 Declare `name' as char.
10450 (grub_afs_inode): Declare as packed.
10451 Change void *vnode to grub_uint32_t unused.
10452 (grub_afs_iterate_dir): Check that key_size is positive.
10453 (grub_afs_mount): Don't read superblock twice.
10454 (grub_afs_dir): Don't free node in case of error,
10455 grub_fshelp_find_file already handles this.
10456 (grub_afs_open): Likewise.
10457
10458 2009-07-19 Pavel Roskin <proski@gnu.org>
10459
10460 * Makefile.in: Remove LIBLZO and enable_lzo.
10461 * conf/i386-pc.rmk: Remove lzo support.
10462 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10463 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10464 support.
10465 * kern/i386/pc/lzo1x.S: Remove.
10466 * kern/i386/pc/startup.S: Remove lzo support.
10467 * util/i386/pc/grub-mkimage.c: Likewise.
10468
10469 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10472 * fs/xfs.c (grub_xfs_dir): Likewise.
10473 * fs/afs.c (grub_afs_dir): Likewise.
10474 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10475 (grub_iso9660_open): Likewise.
10476 * fs/jfs.c (grub_jfs_open): Likewise.
10477 * fs/ext2.c (grub_ext2_dir): Likewise.
10478 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10479 * script/sh/lexer.c (grub_script_yylex): Likewise.
10480
10481 2009-07-16 Pavel Roskin <proski@gnu.org>
10482
10483 * configure.ac: Never add "-c" to CFLAGS.
10484
10485 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10486
10487 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10488 grub_cv_cc_efiemu should be used.
10489
10490 * configure.ac: Typo fixes.
10491
10492 * kern/mm.c (grub_zalloc): New function.
10493 (grub_debug_zalloc): Likewise.
10494 * include/grub/mm.h: Declare grub_zalloc() and
10495 grub_debug_zalloc().
10496 * util/misc.c (grub_zalloc): New function.
10497 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10498 instead of grub_malloc(), remove unneeded initializations.
10499 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10500 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10501 * commands/parttool.c (grub_cmd_parttool): Likewise.
10502 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10503 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10504 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10505 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10506 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10507 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10508 (grub_cmd_efiemu_pnvram): Likewise.
10509 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10510 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10511 (grub_iso9660_iterate_dir): Likewise.
10512 * fs/jfs.c (grub_jfs_opendir): Likewise.
10513 * fs/ntfs.c (list_file): Likewise.
10514 (grub_ntfs_mount): Likewise.
10515 * kern/disk.c (grub_disk_open): Likewise.
10516 * kern/dl.c (grub_dl_load_core): Likewise.
10517 * kern/elf.c (grub_elf_file): Likewise.
10518 * kern/env.c (grub_env_context_open): Likewise.
10519 (grub_env_set): Likewise.
10520 (grub_env_set_data_slot): Likewise.
10521 * kern/file.c (grub_file_open): Likewise.
10522 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10523 * loader/i386/multiboot.c (grub_module): Likewise.
10524 * loader/xnu.c (grub_xnu_create_key): Likewise.
10525 (grub_xnu_create_value): Likewise.
10526 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10527 (read_config_file): Likewise.
10528 * normal/menu_entry.c (make_screen): Likewise.
10529 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10530 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10531 * script/sh/script.c (grub_script_parse): Likewise.
10532 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10533 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10534 * video/readers/png.c (grub_png_output_byte): Likewise.
10535 (grub_video_reader_png): Likewise.
10536
10537 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Enable all targets that can be built by default
10540
10541 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10542 grub-mkfont and grub-fstest if they can be built
10543
10544 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 Fix hang and segmentation fault in grub-emu-usb
10547
10548 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10549 * util/usb.c (grub_libusb_devices): likewise
10550 (grub_libusb_init): rename to ...
10551 (GRUB_MOD_INIT (libusb)):...this
10552 (grub_libusb_fini): rename to ..
10553 (GRUB_MOD_FINI (libusb)):...this
10554 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10555 * include/grub/disk.h (grub_raid_init): removed, it's useless
10556 (grub_raid_fini): likewise
10557 (grub_lvm_init): likewise
10558 (grub_lvm_fini): likewise
10559 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10560 by grub_init_all
10561
10562 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 Fix libusb
10565
10566 * Makefile.in (LIBUSB): new macro
10567 * genmk.rb (Utility/print_tail): new method
10568 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10569 (top level): call util.print_tail at the end.
10570
10571 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 Make FreeBSD accept zpool.cache
10574
10575 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10576 type is /boot/zfs/zpool.cache
10577
10578 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 Fix 64-bit efiemu
10581
10582 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10583 correct wrong typedef
10584 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10585
10586 2009-07-15 Pavel Roskin <proski@gnu.org>
10587
10588 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10589 * kern/disk.c (struct grub_disk_cache): Likewise.
10590
10591 * commands/probe.c (options): Typo fix.
10592
10593 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10594 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10595 accordingly.
10596 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10597
10598 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10599 the end of "Error" to make the message more readable.
10600
10601 * boot/i386/pc/boot.S (kernel_segment): Remove.
10602 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10603 for destination.
10604
10605 * boot/i386/pc/boot.S (boot_version): Remove.
10606 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10607 Remove.
10608
10609 * include/grub/i386/pc/boot.h: Sort all offsets.
10610 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10611 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10612 * boot/i386/pc/boot.S: Assert location of every offset listed in
10613 include/grub/i386/pc/boot.h.
10614
10615 2009-07-13 Pavel Roskin <proski@gnu.org>
10616
10617 * include/grub/i386/coreboot/machine.h: Rename
10618 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10619 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10620 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10621
10622 * kern/dl.c: Force native word size to suppress warnings when
10623 compiling grub-emu.
10624
10625 * kern/device.c (grub_device_iterate): Change struct part_ent to
10626 hold the name, not a pointer to it. Use one grub_malloc() per
10627 partition, not two. Free partition_name if grub_malloc() fails.
10628 Set ents to NULL only before grub_partition_iterate() is called.
10629
10630 2009-07-11 Bean <bean123ch@gmail.com>
10631
10632 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10633 childname.
10634
10635 2009-07-10 Bean <bean123ch@gmail.com>
10636 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10637
10638 * kern/ieee1275/openfw.c (grub_children_iterate)
10639 (grub_devalias_iterate): Fix size evaluation for property or path
10640 strings, which was broken since r2132.
10641
10642 2009-07-07 Pavel Roskin <proski@gnu.org>
10643
10644 * commands/search.c (search_file): Merge into ...
10645 (search_fs): ... this. Accept search type as argument.
10646 (grub_cmd_search): Pass search type to search_fs().
10647
10648 * include/grub/util/console.h: New file.
10649 * util/console.c: Use it instead of grub/machine/console.h.
10650 * util/grub-emu.c: Likewise.
10651
10652 * lib/arg.c (find_long_option): Remove.
10653 (find_long): Add `len' argument, make `s' const char *.
10654 (grub_arg_parse): Parse long options in place, not in a
10655 temporary buffer.
10656
10657 2009-07-06 Pavel Roskin <proski@gnu.org>
10658
10659 * commands/search.c (search_fs): Fix potential NULL pointer
10660 dereference.
10661
10662 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10663 function pointer.
10664
10665 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10666
10667 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10668 comparison.
10669
10670 2009-07-05 Pavel Roskin <proski@gnu.org>
10671
10672 * include/grub/i386/linux.h (struct linux_kernel_params):
10673 Restore padding3, it's still needed.
10674
10675 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10676 FreeBSD.
10677 * util/osdetect.lua: Likewise.
10678
10679 2009-07-05 Bean <bean123ch@gmail.com>
10680
10681 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10682
10683 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10684 (grub_lua_getenv): Likewise.
10685 (grub_lua_setenv): Likewise.
10686 (save_errno): New function.
10687 (push_result): Likewise.
10688 (grub_lua_enum_device): Likewise.
10689 (grub_lua_enum_file): Likewise.
10690 (grub_lua_file_open): Likewise.
10691 (grub_lua_file_close): Likewise.
10692 (grub_lua_file_seek): Likewise.
10693 (grub_lua_file_read): Likewise.
10694 (grub_lua_file_getline): Likewise.
10695 (grub_lua_file_getsize): Likewise.
10696 (grub_lua_file_getpos): Likewise.
10697 (grub_lua_file_eof): Likewise.
10698 (grub_lua_file_exist): Likewise.
10699 (grub_lua_add_menu): Likewise.
10700
10701 * script/lua/grub_lua.h (isupper): New inline function.
10702 (islower): Likewise.
10703 (ispunct): Likewise.
10704 (isxdigit): Likewise.
10705 (strcspn): Change to normal function.
10706 (strpbkr): New function declaration.
10707 (memchr): Likewise.
10708
10709 * script/lua/grub_main.c (scan_str): New function.
10710 (strcspn): Likewise.
10711 (strpbrk): Likewise.
10712 (memchr): Likewise.
10713
10714 * script/lua/linit.c (lualibs): Enable the string library.
10715
10716 * util/osdetect.lua: New file.
10717
10718 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10719
10720 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10721 `capabilities' member.
10722
10723 2009-07-02 Pavel Roskin <proski@gnu.org>
10724
10725 * genparttoollist.sh: Add missing newline at the end.
10726
10727 2009-07-01 Pavel Roskin <proski@gnu.org>
10728
10729 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10730
10731 * util/hostdisk.c (open_device): Remove `const' from
10732 `sysctl_size', as sysctlbyname() can change it (in this case it
10733 doesn't actually happen).
10734
10735 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10736 using signed long int constants.
10737
10738 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10739 constant to avoid a warning on FreeBSD.
10740
10741 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10742 where it's needed.
10743
10744 * Makefile.in: Install include/grub/machine symlink.
10745
10746 * Makefile.in: When installing symlinks, use "cp -fR", which
10747 works on FreeBSD and MacOSX.
10748 From Yves Blusseau <cl7m42e02@sneakemail.com>
10749
10750 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10751 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10752
10753 * util/misc.c: Move grub_reboot() and grub_halt() ...
10754 * util/grub-emu.c: ... here. Make main_env static.
10755 * include/grub/util/misc.h: Remove main_env.
10756
10757 * kern/mm.c: Use correct format to print size_t.
10758
10759 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10760 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10761 * kern/powerpc/dl.c: Likewise.
10762 * kern/sparc64/dl.c: Likewise.
10763 * kern/x86_64/dl.c: Likewise.
10764
10765 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10766
10767 Fix grub-emu build on sparc64-ieee1275.
10768
10769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10771
10772 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10773
10774 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10775 (grub_reboot, grub_halt): New functions.
10776
10777 * util/i386/pc/misc.c: Delete. Update all users.
10778 * util/sparc64/ieee1275/misc.c: Likewise.
10779 * util/powerpc/ieee1275/misc.c: Likewise.
10780
10781 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10782
10783 * conf/i386.rmk (setjmp_mod_SOURCES)
10784 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10785 * conf/common.rmk (setjmp_mod_SOURCES)
10786 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10787 to use $(target_cpu).
10788 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10789 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10790 * conf/powerpc-ieee1275.rmk: Likewise.
10791 * conf/sparc64-ieee1275.rmk: Likewise.
10792
10793 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10794 $(target_cpu) for kern/$(target_cpu)/dl.c.
10795 * conf/i386-efi.rmk: Likewise.
10796 * conf/i386-ieee1275.rmk: Likewise.
10797 * conf/x86_64-efi.rmk: Likewise.
10798 * conf/i386-coreboot.rmk: Likewise.
10799 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10800 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10801 kern/$(target_cpu)/cache.S.
10802 * conf/sparc64-ieee1275.rmk: Likewise.
10803
10804 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10805
10806 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10807 type to `grub_uint8_t', and adjust `padding9' accordingly.
10808
10809 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10810
10811 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10812
10813 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10814 assembly in final jump, using register constraints.
10815
10816 (grub_linux_boot): For text mode, initialize `have_vga' using
10817 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10818
10819 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10820 right before the final jump.
10821
10822 Set `video_mode' to 0x3.
10823
10824 Document initialization of `video_page', `video_mode' and
10825 `video_ega_bx'.
10826
10827 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10828
10829 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10830 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10831 and set GRUB_LINUX_FLAG_QUIET appropriately.
10832
10833 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10834
10835 Fix build on Debian / sparc.
10836
10837 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10838
10839 2009-06-28 Pavel Roskin <proski@gnu.org>
10840
10841 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10842 fix a warning.
10843
10844 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10845
10846 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10847
10848 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10849 `err'.
10850
10851 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10852
10853 Revert r2338.
10854
10855 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10856 file can't be opened. grub_file_open() is already supposed to set
10857 grub_errno / grub_errmsg appropriately.
10858 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10859
10860 2009-06-27 Pavel Roskin <proski@gnu.org>
10861 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10862
10863 * include/grub/dl.h: Include grub/elf.h.
10864 (struct grub_dl): Add symtab field.
10865 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10866 GRUB_MODULES_MACHINE_READONLY.
10867 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10868 of the header for read-only modules.
10869 (grub_dl_unload): Free mod->symtab for read-only modules.
10870 * kern/i386/dl.c: Use mod->symtab.
10871 * kern/powerpc/dl.c: Likewise.
10872 * kern/sparc64/dl.c: Likewise.
10873 * kern/x86_64/dl.c: Likewise.
10874
10875 * conf/i386-qemu.rmk: New file.
10876 * kern/i386/qemu/startup.S: Likewise.
10877 * kern/i386/qemu/mmap.c: Likewise.
10878 * boot/i386/qemu/boot.S: Likewise.
10879 * include/grub/i386/qemu/time.h: Likewise.
10880 * include/grub/i386/qemu/serial.h: Likewise.
10881 * include/grub/i386/qemu/kernel.h: Likewise.
10882 * include/grub/i386/qemu/console.h: Likewise.
10883 * include/grub/i386/qemu/boot.h: Likewise.
10884 * include/grub/i386/qemu/init.h: Likewise.
10885 * include/grub/i386/qemu/machine.h: Likewise.
10886 * include/grub/i386/qemu/loader.h: Likewise.
10887 * include/grub/i386/qemu/memory.h: Likewise.
10888
10889 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10890 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10891 [qemu] (pkglib_IMAGES): Add `boot.img'.
10892 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10893 [qemu] (boot_img_FORMAT): New variables.
10894 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10895 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10896 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10897 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10898 [qemu] (kernel_img_FORMAT): New variables.
10899
10900 * configure.ac: Recognise `i386-qemu'.
10901
10902 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10903 (for no compression).
10904 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10905 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10906 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10907 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10908 ifdefs).
10909
10910 2009-06-27 Pavel Roskin <proski@gnu.org>
10911
10912 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10913 read.
10914 * efiemu/prepare32.c: Likewise.
10915 * efiemu/prepare64.c: Likewise.
10916
10917 2009-06-26 Pavel Roskin <proski@gnu.org>
10918
10919 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10920 * include/grub/elf.h: Define symbols without "32" or "64" based
10921 on GRUB_TARGET_WORDSIZE.
10922 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10923 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10924 ELF definitions.
10925 * efiemu/loadcore64.c: Likewise.
10926 * loader/i386/bsd32.c: Likewise.
10927 * loader/i386/bsd64.c: Likewise.
10928 * kern/dl.c: Remove own ELF definitions.
10929 * util/i386/efi/grub-mkimage.c: Likewise.
10930
10931 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10932
10933 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10934 segment 0x0 unconditionally, because the reference generated by
10935 GAS is an absolute address.
10936
10937 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10938
10939 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10940 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10941
10942 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10943
10944 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10945 indexes. Check for -f explicitly.
10946 (search_file): Improve error message.
10947 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10948
10949 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10950
10951 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10952 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10953
10954 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10955
10956 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10957 * conf/i386-ieee1275.rmk: Likewise.
10958 * conf/i386-coreboot.rmk: Likewise.
10959
10960 * kern/i386/pc/startup.S (grub_stop): Remove function.
10961 * kern/i386/ieee1275/startup.S: Likewise.
10962 * kern/i386/coreboot/startup.S: Likewise.
10963 * kern/i386/misc.S (grub_stop): New function.
10964
10965 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10966
10967 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10968 * kern/i386/realmode.S (real_to_prot): ... to here.
10969
10970 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10971
10972 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10973 with `kernel.img'.
10974 (kernel_elf_SOURCES): Rename to ...
10975 (kernel_img_SOURCES): ... this.
10976 (kernel_elf_HEADERS): Rename to ...
10977 (kernel_img_HEADERS): ... this. Update all users.
10978 (kernel_elf_ASFLAGS): Rename to ...
10979 (kernel_img_ASFLAGS): ... this.
10980 (kernel_elf_CFLAGS): Rename to ...
10981 (kernel_img_CFLAGS): ... this.
10982 (kernel_elf_LDFLAGS): Rename to ...
10983 (kernel_img_LDFLAGS): ... this.
10984 * conf/i386-coreboot.rmk: Likewise.
10985 * conf/powerpc-ieee1275.rmk: Likewise.
10986
10987 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10988 with "kernel.img".
10989
10990 2009-06-21 Pavel Roskin <proski@gnu.org>
10991
10992 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10993 to match nested functions.
10994 * loader/sparc64/ieee1275/linux.c: Likewise.
10995
10996 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10997
10998 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10999
11000 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11001 all i386 platforms.
11002
11003 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11004
11005 Fix asm file handling on ELF, and remove workarounds.
11006
11007 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
11008 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
11009 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11010 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11011
11012 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 Load BSD ELF modules
11015
11016 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11017 and loader/i386/bsd64.c
11018 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11019 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11020 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11021 (grub_freebsd_load_elfmodule32): New declaration
11022 (grub_freebsd_load_elfmoduleobj64): Likewise
11023 (grub_freebsd_load_elf_meta32): Likewise
11024 (grub_freebsd_load_elf_meta64): Likewise
11025 (grub_freebsd_add_meta): Likewise
11026 (grub_freebsd_add_meta_module): Likewise
11027 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11028 (grub_freebsd_add_meta_module): Likewise and move module-specific
11029 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11030 (grub_cmd_freebsd): Add elf-kernel specific parts
11031 based on grub_freebsd_add_meta_module
11032 (grub_cmd_freebsd_module): Add type parsing moved from
11033 grub_freebsd_add_meta_module
11034 (grub_cmd_freebsd_module_elf): New function
11035 (cmd_freebsd_module_elf): New variable
11036 (GRUB_MOD_INIT): Register freebsd_module_elf
11037 * loader/i386/bsd32.c: New file
11038 * loader/i386/bsd64.c: Likewise
11039 * loader/i386/bsdXX.c: Likewise
11040 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11041 (grub_elf64_load): Likewise
11042 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11043 All users updated
11044 (grub_elf64_load_hook_t): Likewise
11045
11046 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
11047
11048 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11049 variable.
11050 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11051 don't write a menu entry for recovery mode.
11052
11053 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11054
11055 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11056 after it's no longer needed.
11057
11058 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11059
11060 * include/grub/i386/loader.h (grub_linux_prot_size)
11061 (grub_linux_tmp_addr, grub_linux_real_addr)
11062 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11063 GRUB_MACHINE_PCBIOS.
11064 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11065 common grub_util_info() call to ...
11066 (generate_image): ... here.
11067 Fix use of uninitialized memory, comparison of signed with
11068 unsigned integers and memory leak.
11069 Remove bogus module address message.
11070
11071 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11074 grub_raid_register
11075 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11076
11077 2009-06-19 Pavel Roskin <proski@gnu.org>
11078
11079 * configure.ac: Remove stray AC_MSG_CHECKING.
11080
11081 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * disk/scsi.c (grub_scsi_open): use continue instead of big if
11084
11085 2009-06-18 Pavel Roskin <proski@gnu.org>
11086
11087 * conf/common.rmk: Add fs_file.mod.
11088 * disk/fs_file.c: New file.
11089 * include/grub/disk.h (enum grub_disk_dev_id): Add
11090 GRUB_DISK_DEVICE_FILE_ID.
11091
11092 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 Fix build with Apple's toolchain. Part 2
11095
11096 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11097 a fake start
11098
11099 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 Fix build with Apple's toolchain. Part 1
11102
11103 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11104 for long calls
11105 * configure.ac: remove a leftover AC_MSG_RESULT
11106 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11107 Apple's toolchain
11108
11109 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 Fix warnings
11112
11113 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11114 (decomp_block): initialize ch
11115 use grub_memcpy instead of memcpy
11116
11117 2009-06-17 Pavel Roskin <proski@gnu.org>
11118
11119 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11120 version, use declarations needed to use vga_text as the startup
11121 console.
11122
11123 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11124 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11125 the kernel.
11126 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11127 and grub_at_keyboard_fini(), it's done on module load and
11128 unload.
11129
11130 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11131
11132 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11133 file can't be found.
11134 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11135
11136 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Fix newline handling
11139
11140 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11141 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11142 (grub_script_yylex): don't segfault on unterminated script
11143 newline terminates command and variable
11144
11145 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 avoid double grub_adjust_range call. Bug reported by David Simner
11148
11149 * kern/disk.c (grub_disk_write): change to raw disk access before
11150 calling disk_read
11151
11152 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11153
11154 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11155 spaces, for the benefit of help2man.
11156 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11157
11158 2009-06-16 Pavel Roskin <proski@gnu.org>
11159
11160 * kern/i386/halt.c: Include grub/machine/init.h.
11161 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11162
11163 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11164
11165 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11166 drivemap menuentry.
11167
11168 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11169
11170 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11171 `echo' command.
11172
11173 2009-06-16 Pavel Roskin <proski@gnu.org>
11174
11175 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11176 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11177 save %dx, we only need %dl and we never change it.
11178 * boot/i386/pc/cdboot.S: Don't set the root drive.
11179 * boot/i386/pc/pxeboot.S: Likewise.
11180 * include/grub/i386/pc/boot.h: Remove
11181 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11182 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11183 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11184 * kern/i386/pc/init.c (make_install_device): Remove references
11185 to grub_root_drive.
11186 * kern/i386/pc/startup.S: Likewise.
11187 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11188
11189 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 xnu_uuid command
11192
11193 * commands/xnu_uuid.c: new file
11194 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11195 (xnu_uuid_mod_SOURCES): new variable
11196 (xnu_uuid_mod_CFLAGS): likewise
11197 (xnu_uuid_mod_LDFLAGS): likewise
11198 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11199 * conf/i386-ieee1275.rmk: likewise
11200 * conf/i386-pc.rmk: likewise
11201 * conf/powerpc-ieee1275.rmk: likewise
11202 * conf/sparc64-ieee1275.rmk: likewise
11203 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11204
11205 2009-06-16 Pavel Roskin <proski@gnu.org>
11206
11207 * configure.ac: Avoid '==' in test command, it's not portable.
11208
11209 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 Probe command
11212
11213 * commands/probe.c: new file
11214 * conf/common.rmk (pkglib_MODULES): add probe.mod
11215 (probe_mod_SOURCES): new variable
11216 (probe_mod_CFLAGS): likewise
11217 (probe_mod_LDFLAGS): likewise
11218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11219 * conf/i386-ieee1275.rmk: likewise
11220 * conf/i386-pc.rmk: likewise
11221 * conf/powerpc-ieee1275.rmk: likewise
11222 * conf/sparc64-ieee1275.rmk: likewise
11223
11224 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 Fix handling of string like \"hello\" and "a
11227 b"
11228
11229 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11230 (grub_script_yylex): fix parsing of quoting, escaping and newline
11231
11232 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11235 handling
11236
11237 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11238
11239 * util/grub-mkconfig.in: Fix parsing of --output option.
11240
11241 2009-06-12 Pavel Roskin <proski@gnu.org>
11242
11243 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11244 genmk.rb don't need to be generated or installed.
11245
11246 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * commands/i386/pc/drivemap_int13h.S: add more comments
11249
11250 2009-06-11 Pavel Roskin <proski@gnu.org>
11251
11252 * Makefile.in (uninstall): Uninstall manuals.
11253
11254 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11255 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11256 and update-grub_lib in two places.
11257 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11258
11259 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11260 a compiler warning.
11261
11262 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11263 `entry_lo' to fix variable shadowing.
11264
11265 2009-06-11 Christian Franke <franke@computer.org>
11266
11267 * kern/misc.c (__enable_execute_stack): Add missing return type
11268 to prevent gcc warning.
11269
11270 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11271
11272 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11273
11274 2009-06-11 Pavel Roskin <proski@gnu.org>
11275
11276 * Makefile.in: Don't rely on any scripts being executable.
11277 Always use $(SHELL) to run shell scripts.
11278
11279 * configure.ac: Always define ___main if using -nostdlib. This
11280 fixes tests on Cygwin.
11281
11282 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11283
11284 UDF fix
11285
11286 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11287 is in bytes and not in blocks
11288
11289 2009-06-11 Pavel Roskin <proski@gnu.org>
11290
11291 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11292 warning.
11293
11294 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11295
11296 * util/grub.d/30_os-prober.in: Fix a comment. Source
11297 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11298 to set the root device. Place drivemap command in the generated
11299 chain entry.
11300
11301 2009-06-11 Pavel Roskin <proski@gnu.org>
11302
11303 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11304 have long been resolved.
11305
11306 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11307
11308 * util/grub.d/10_linux.in: Capitalise "Linux".
11309
11310 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11311
11312 2009-06-11 Pavel Roskin <proski@gnu.org>
11313
11314 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11315 fix a gcc warning and ensure that the function won't ever exit.
11316
11317 * kern/i386/ieee1275/init.c: Add missing prototype for
11318 grub_stop_floppy().
11319
11320 * loader/ieee1275/multiboot2.c [__i386__]: Include
11321 grub/cpu/multiboot.h.
11322
11323 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11324 casts to short - they are not portable and cause warnings. Fix
11325 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11326
11327 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Drivemap fixes
11330
11331 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11332 new function
11333 (grub_get_root_biosnumber_saved): new variable
11334 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11335 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11336 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11337 %dx after the call if necessary
11338 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11339 (boot_mod_SOURCES): remove
11340 (boot_mod_CFLAGS): remove
11341 (boot_mod_LDFLAGS): remove
11342 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11343 (boot_mod_SOURCES): new variable
11344 (boot_mod_CFLAGS): likewise
11345 (boot_mod_LDFLAGS): likewise
11346 * conf/i386-efi.rmk: likewise
11347 * conf/i386-ieee1275.rmk: likewise
11348 * conf/i386-pc.rmk: likewise
11349 * conf/powerpc-ieee1275.rmk: likewise
11350 * conf/sparc64-ieee1275.rmk: likewise
11351 * conf/x86_64-efi.rmk: likewise
11352 * include/grub/i386/pc/biosnum.h: new file
11353 * lib/i386/pc/biosnum.c: likewise
11354 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11355 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11356 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11357
11358 2009-06-10 Pavel Roskin <proski@gnu.org>
11359
11360 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11361 Use separate variables. Read only the file size at the end, but
11362 not the checksum that we don't use.
11363
11364 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11365 Adjust all callers.
11366
11367 * kern/ieee1275/openfw.c: Remove libc includes.
11368 * kern/ieee1275/cmain.c: Likewise.
11369 * include/grub/ieee1275/ieee1275.h: Likewise.
11370
11371 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11372 compiler warnings.
11373
11374 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11375
11376 * Makefile.in: Remove all trailing whitespace.
11377 * conf/i386-pc.rmk: Likewise.
11378 * conf/powerpc-ieee1275.rmk: Likewise.
11379 * conf/sparc64-ieee1275.rmk: Likewise.
11380 * docs/grub.texi: Likewise.
11381 * docs/texinfo.tex: Likewise.
11382 * disk/fs_uuid.c: Likewise.
11383 * disk/lvm.c: Likewise.
11384 * disk/scsi.c: Likewise.
11385 * disk/ata.c: Likewise.
11386 * disk/ieee1275/ofdisk.c: Likewise.
11387 * disk/i386/pc/biosdisk.c: Likewise.
11388 * disk/host.c: Likewise.
11389 * disk/raid.c: Likewise.
11390 * disk/efi/efidisk.c: Likewise.
11391 * disk/usbms.c: Likewise.
11392 * disk/memdisk.c: Likewise.
11393 * disk/loopback.c: Likewise.
11394 * kern/powerpc/dl.c: Likewise.
11395 * kern/device.c: Likewise.
11396 * kern/dl.c: Likewise.
11397 * kern/sparc64/dl.c: Likewise.
11398 * kern/ieee1275/ieee1275.c: Likewise.
11399 * kern/term.c: Likewise.
11400 * kern/fs.c: Likewise.
11401 * kern/i386/dl.c: Likewise.
11402 * kern/i386/pc/startup.S: Likewise.
11403 * kern/i386/pc/init.c: Likewise.
11404 * kern/i386/pc/mmap.c: Likewise.
11405 * kern/i386/pc/lzo1x.S: Likewise.
11406 * kern/i386/ieee1275/init.c: Likewise.
11407 * kern/i386/realmode.S: Likewise.
11408 * kern/i386/tsc.c: Likewise.
11409 * kern/partition.c: Likewise.
11410 * kern/corecmd.c: Likewise.
11411 * kern/file.c: Likewise.
11412 * kern/efi/efi.c: Likewise.
11413 * kern/efi/init.c: Likewise.
11414 * kern/efi/mm.c: Likewise.
11415 * kern/main.c: Likewise.
11416 * kern/err.c: Likewise.
11417 * kern/env.c: Likewise.
11418 * kern/disk.c: Likewise.
11419 * kern/generic/millisleep.c: Likewise.
11420 * kern/generic/rtc_get_time_ms.c: Likewise.
11421 * kern/misc.c: Likewise.
11422 * kern/parser.c: Likewise.
11423 * genmk.rb: Likewise.
11424 * configure.ac: Likewise.
11425 * boot/i386/pc/diskboot.S: Likewise.
11426 * boot/i386/pc/pxeboot.S: Likewise.
11427 * boot/i386/pc/boot.S: Likewise.
11428 * boot/i386/pc/lnxboot.S: Likewise.
11429 * boot/i386/pc/cdboot.S: Likewise.
11430 * parttool/pcpart.c: Likewise.
11431 * video/readers/tga.c: Likewise.
11432 * video/video.c: Likewise.
11433 * video/bitmap.c: Likewise.
11434 * lib/envblk.c: Likewise.
11435 * lib/i386/setjmp.S: Likewise.
11436 * fs/xfs.c: Likewise.
11437 * fs/afs.c: Likewise.
11438 * fs/fat.c: Likewise.
11439 * fs/ntfs.c: Likewise.
11440 * fs/udf.c: Likewise.
11441 * fs/affs.c: Likewise.
11442 * fs/iso9660.c: Likewise.
11443 * fs/hfs.c: Likewise.
11444 * fs/fshelp.c: Likewise.
11445 * fs/ext2.c: Likewise.
11446 * fs/jfs.c: Likewise.
11447 * fs/reiserfs.c: Likewise.
11448 * fs/hfsplus.c: Likewise.
11449 * fs/minix.c: Likewise.
11450 * fs/cpio.c: Likewise.
11451 * fs/sfs.c: Likewise.
11452 * fs/ufs.c: Likewise.
11453 * efiemu/prepare.c: Likewise.
11454 * efiemu/loadcore_common.c: Likewise.
11455 * efiemu/runtime/efiemu.sh: Likewise.
11456 * efiemu/runtime/efiemu.S: Likewise.
11457 * efiemu/runtime/efiemu.c: Likewise.
11458 * efiemu/pnvram.c: Likewise.
11459 * efiemu/main.c: Likewise.
11460 * efiemu/i386/pc/cfgtables.c: Likewise.
11461 * efiemu/i386/loadcore64.c: Likewise.
11462 * efiemu/i386/loadcore32.c: Likewise.
11463 * efiemu/loadcore.c: Likewise.
11464 * efiemu/symbols.c: Likewise.
11465 * efiemu/mm.c: Likewise.
11466 * include/grub/autoefi.h: Likewise.
11467 * include/grub/datetime.h: Likewise.
11468 * include/grub/term.h: Likewise.
11469 * include/grub/hfs.h: Likewise.
11470 * include/grub/lvm.h: Likewise.
11471 * include/grub/i386/tsc.h: Likewise.
11472 * include/grub/i386/linux.h: Likewise.
11473 * include/grub/i386/xnu.h: Likewise.
11474 * include/grub/i386/efiemu.h: Likewise.
11475 * include/grub/i386/pc/biosdisk.h: Likewise.
11476 * include/grub/i386/pc/memory.h: Likewise.
11477 * include/grub/i386/pc/vbe.h: Likewise.
11478 * include/grub/parttool.h: Likewise.
11479 * include/grub/video.h: Likewise.
11480 * include/grub/memory.h: Likewise.
11481 * include/grub/fs.h: Likewise.
11482 * include/grub/partition.h: Likewise.
11483 * include/grub/xnu.h: Likewise.
11484 * include/grub/efi/api.h: Likewise.
11485 * include/grub/efi/pe32.h: Likewise.
11486 * include/grub/efi/memory.h: Likewise.
11487 * include/grub/multiboot.h: Likewise.
11488 * include/grub/usbdesc.h: Likewise.
11489 * include/grub/multiboot2.h: Likewise.
11490 * include/grub/acpi.h: Likewise.
11491 * include/grub/efiemu/efiemu.h: Likewise.
11492 * include/grub/disk.h: Likewise.
11493 * include/grub/ieee1275/ieee1275.h: Likewise.
11494 * include/grub/net.h: Likewise.
11495 * include/grub/machoload.h: Likewise.
11496 * include/grub/macho.h: Likewise.
11497 * include/multiboot.h: Likewise.
11498 * genmoddep.awk: Likewise.
11499 * normal/main.c: Likewise.
11500 * normal/menu_entry.c: Likewise.
11501 * normal/menu_viewer.c: Likewise.
11502 * normal/completion.c: Likewise.
11503 * normal/cmdline.c: Likewise.
11504 * normal/misc.c: Likewise.
11505 * normal/datetime.c: Likewise.
11506 * bus/usb/usbtrans.c: Likewise.
11507 * bus/usb/ohci.c: Likewise.
11508 * bus/usb/uhci.c: Likewise.
11509 * bus/usb/usb.c: Likewise.
11510 * mmap/efi/mmap.c: Likewise.
11511 * mmap/i386/pc/mmap_helper.S: Likewise.
11512 * mmap/i386/pc/mmap.c: Likewise.
11513 * mmap/i386/mmap.c: Likewise.
11514 * mmap/i386/uppermem.c: Likewise.
11515 * mmap/mmap.c: Likewise.
11516 * commands/acpi.c: Likewise.
11517 * commands/echo.c: Likewise.
11518 * commands/blocklist.c: Likewise.
11519 * commands/loadenv.c: Likewise.
11520 * commands/usbtest.c: Likewise.
11521 * commands/boot.c: Likewise.
11522 * commands/parttool.c: Likewise.
11523 * commands/search.c: Likewise.
11524 * commands/cat.c: Likewise.
11525 * commands/i386/pc/play.c: Likewise.
11526 * commands/i386/pc/drivemap.c: Likewise.
11527 * commands/i386/pc/vbeinfo.c: Likewise.
11528 * commands/i386/pc/acpi.c: Likewise.
11529 * commands/i386/pc/vbetest.c: Likewise.
11530 * commands/ls.c: Likewise.
11531 * commands/cmp.c: Likewise.
11532 * commands/test.c: Likewise.
11533 * commands/efi/acpi.c: Likewise.
11534 * commands/gptsync.c: Likewise.
11535 * commands/help.c: Likewise.
11536 * partmap/amiga.c: Likewise.
11537 * partmap/apple.c: Likewise.
11538 * partmap/acorn.c: Likewise.
11539 * partmap/pc.c: Likewise.
11540 * partmap/sun.c: Likewise.
11541 * partmap/gpt.c: Likewise.
11542 * script/sh/lexer.c: Likewise.
11543 * script/sh/function.c: Likewise.
11544 * font/font.c: Likewise.
11545 * font/font_cmd.c: Likewise.
11546 * loader/powerpc/ieee1275/linux.c: Likewise.
11547 * loader/efi/chainloader.c: Likewise.
11548 * loader/multiboot_loader.c: Likewise.
11549 * loader/macho.c: Likewise.
11550 * loader/i386/multiboot.c: Likewise.
11551 * loader/i386/linux.c: Likewise.
11552 * loader/i386/pc/linux.c: Likewise.
11553 * loader/i386/pc/multiboot2.c: Likewise.
11554 * loader/i386/pc/chainloader.c: Likewise.
11555 * loader/i386/pc/xnu.c: Likewise.
11556 * loader/i386/bsd_trampoline.S: Likewise.
11557 * loader/i386/efi/linux.c: Likewise.
11558 * loader/i386/multiboot_elfxx.c: Likewise.
11559 * loader/i386/bsd_helper.S: Likewise.
11560 * loader/i386/bsd.c: Likewise.
11561 * loader/i386/linux_trampoline.S: Likewise.
11562 * loader/i386/xnu_helper.S: Likewise.
11563 * loader/i386/xnu.c: Likewise.
11564 * loader/i386/bsd_pagetable.c: Likewise.
11565 * loader/i386/multiboot_helper.S: Likewise.
11566 * loader/xnu.c: Likewise.
11567 * loader/xnu_resume.c: Likewise.
11568 * io/gzio.c: Likewise.
11569 * term/efi/console.c: Likewise.
11570 * term/terminfo.c: Likewise.
11571 * term/ieee1275/ofconsole.c: Likewise.
11572 * term/i386/pc/serial.c: Likewise.
11573 * term/i386/pc/vesafb.c: Likewise.
11574 * term/i386/pc/vga.c: Likewise.
11575 * term/usb_keyboard.c: Likewise.
11576 * term/gfxterm.c: Likewise.
11577 * aclocal.m4: Likewise.
11578 * util/lvm.c: Likewise.
11579 * util/grub.d/30_os-prober.in: Likewise.
11580 * util/grub.d/10_hurd.in: Likewise.
11581 * util/console.c: Likewise.
11582 * util/grub-macho2img.c: Likewise.
11583 * util/grub-probe.c: Likewise.
11584 * util/hostfs.c: Likewise.
11585 * util/i386/pc/grub-mkimage.c: Likewise.
11586 * util/i386/pc/grub-setup.c: Likewise.
11587 * util/i386/efi/grub-mkimage.c: Likewise.
11588 * util/grub-mkconfig.in: Likewise.
11589 * util/raid.c: Likewise.
11590 * util/resolve.c: Likewise.
11591 * util/grub-mkdevicemap.c: Likewise.
11592 * util/grub-emu.c: Likewise.
11593 * util/getroot.c: Likewise.
11594 * util/hostdisk.c: Likewise.
11595 * util/usb.c: Likewise.
11596 * util/grub-editenv.c: Likewise.
11597 * util/misc.c: Likewise.
11598
11599 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11600
11601 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11602 `genparttoollist.sh'.
11603 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11604 Add `*.sh' to the list find searches for and change `mdate.sh'
11605 to `mdate-sh'.
11606
11607 2009-06-10 Pavel Roskin <proski@gnu.org>
11608
11609 * include/grub/multiboot2.h: Provide compatibility defines for
11610 multiboot2.h.
11611 * include/multiboot2.h: Include stdint.h only if needed, using
11612 angle brackets.
11613 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11614 grub/multiboot2.h.
11615 * loader/ieee1275/multiboot2.c: Likewise.
11616 * loader/multiboot2.c: Likewise.
11617 * loader/multiboot_loader.c: Likewise.
11618
11619 * configure.ac: Use -nostdlib when probing for the target. It
11620 should not be required to have libc for the target.
11621
11622 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11623 they fail without libc headers for the target.
11624 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11625 exports.
11626 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11627 preprocessor conditionals.
11628
11629 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11630 build system doesn't need to be aware of the tar.c internals.
11631
11632 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11633
11634 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11635
11636 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11637
11638 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11639 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11640
11641 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11642
11643 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11644 aren't available if ata.mod gets used.
11645
11646 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11647
11648 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11649 initialising controller.
11650 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11651
11652 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11653
11654 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11655 to choose between ata and biosdisk module on i386-pc.
11656
11657 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11658
11659 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11660 Subclass and Programming Interface fields in terms of the 3 byte
11661 Class Code register.
11662 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11663
11664 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11665 interface is OHCI. Add grub_dprintf for symmetry with
11666 bus/usb/uhci.c.
11667 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11668 interface is UHCI. Add interf variable for programming
11669 interface. Print interface with class/subclass.
11670
11671 * bus/usb/ohci.c: Set interf with correct field.
11672
11673 * bus/usb/uhci.c: Remove unneeded doubled lines.
11674 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11675 Remove whitespace inside comment.
11676
11677 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11678
11679 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11680 as fallback an equivalent option without depth.
11681
11682 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 Not fail if unable to retrieve C/H/S on LBA disks
11685
11686 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11687 if unable to retrieve C/H/S on LBA disks
11688
11689 2009-06-08 Pavel Roskin <proski@gnu.org>
11690
11691 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11692 about aliasing.
11693
11694 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11695
11696 * Makefile.in (uninstall): Remove all $lib_DATA files.
11697
11698 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 Bugfix: install on partitionless device
11701
11702 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11703 is a whole disk
11704
11705 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11706
11707 * Makefile.in (uninstall): Remove all $include_DATA files.
11708
11709 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11710
11711 * commands/true.c: New file. Implement the true and false commands.
11712 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11713 (true_mod_SOURCES): New variable.
11714 (true_mod_CFLAGS): Likewise.
11715 (true_mod_LDFLAGS): Likewise.
11716
11717 2009-06-05 Colin D Bennett <colin@gibibit.com>
11718
11719 Optimized font character lookup using binary search instead of linear
11720 search. Fonts now are required to have the character index ordered by
11721 code point.
11722
11723 * font/font.c (load_font_index): Verify that fonts have ordered
11724 character indices.
11725 (find_glyph): Use binary search instead of linear search to find a
11726 character in a font.
11727
11728 2009-06-05 Michael Scherer <misc@mandriva.org>
11729
11730 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11731 uses case sensitive btree.
11732 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11733 only for case insensitive filesystems.
11734
11735 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11738 * conf/common.rmk (search_mod_CFLAGS): likewise
11739
11740 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11743 compensate a compiler bug
11744
11745 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11748 instead of '\b'
11749
11750 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 Definitions for creating asm symbols with Apple's CC
11753
11754 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11755 [APPLE_CC] (VARIABLE): likewise
11756
11757 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 Disable lnxboot.img when compiled
11760 with Apple's CC
11761
11762 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11763 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11764 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11765 [! APPLE_CC] (CODE_LENG): skip
11766 [! APPLE_CC] (setup_sects): likewise
11767 [! APPLE_CC]: skip filling
11768
11769 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 Address in trampolines based on 32-bit registers when compiled
11772 with Apple's CC
11773
11774 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11775 for addresses
11776 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11777
11778 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11781
11782 * kern/misc.c [APPLE_CC] (memcpy): new function
11783 [APPLE_CC] (memmove): likewise
11784 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11785 (memcpy): define alias conditionally on !APPLE_CC
11786 (memset): likewise
11787 (abort): likewise
11788 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11789 APPLE_CC are defined
11790 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11791 (grub_assert_fail): make prototype conditional
11792
11793 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11796
11797 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11798 grub-macho2img
11799 (CLEANFILES): add grub-macho2img
11800 (grub_macho2img_SOURCES): new variable
11801 * kern/i386/pc/startup.S (bss_start): new variable
11802 (bss_end): likewise
11803 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11804 * util/grub-macho2img.c: new file
11805
11806 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 Use objconv when compiling with Apple's CC
11809
11810 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11811 (efiemu64.o): likewise
11812 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11813 when compiling with Apple's CC
11814 (efiemu64_s.o): likewise
11815 * configure.ac: check for objconv when compiling with Apple's CC
11816 * genmk.rb: use objconv for modules when compiled with Apple's CC
11817
11818 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 Define segment as well as section when compiling with
11821 Apple's CC
11822
11823 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11824 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11825 (efiemu_convert_pointer): likewise
11826 (efiemu_set_virtual_address_map): likewise
11827 (efiemu_convert_pointer): likewise
11828 (efiemu_getcrc32): likewise
11829 (init_crc32_table): likewise
11830 (reflect): likewise
11831 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11832 (GRUB_MOD_DEP): likewise
11833
11834 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 Allow a compilation without -mcmodel=large
11837
11838 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11839 when compiled without -mcmodel=large
11840 (filter_memory_map): remove memory post 4 GiB when compiled
11841 without -mcmodel=large
11842 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11843 TARGET_CFLAGS when -mcmodel=large isn't supported
11844
11845 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 Remove nested functions in efiemu core
11848
11849 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11850
11851 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11854
11855 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11856 temporary storage
11857 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11858 using Apple's CC
11859 (grub_cpu_is_tsc_supported): likewise
11860 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11861
11862 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 Absolute addressing through constant with Apple's cc
11865
11866 * kern/i386/pc/startup.S: Define necessary constants
11867 and address through it when using ABS with Apple's CC
11868 * boot/i386/pc/diskboot.S: likewise
11869 * boot/i386/pc/boot.S: likewise
11870 * boot/i386/pc/lnxboot.S: likewise
11871 * boot/i386/pc/cdboot.S: likewise
11872 * mmap/i386/pc/mmap_helper.S: likewise
11873 * commands/i386/pc/drivemap_int13h.S: likewise
11874
11875 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 Check if compiler is apple cc
11878
11879 * Makefile.in (ASFLAGS): new variable
11880 (TARGET_ASFLAGS): likewise
11881 (TARGET_MODULE_FORMAT): likewise
11882 (TARGET_APPLE_CC): likewise
11883 (OBJCONV): likewise
11884 (TARGET_IMG_CFLAGS): likewise
11885 (TARGET_CPPFLAGS): add includedir
11886 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11887 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11888 Check for linker script only if compiler isn't Apple's CC
11889 (TARGET_MODULE_FORMAT): set
11890 (TARGET_APPLE_CC): likewise
11891 (TARGET_ASFLAGS): likewise
11892 (ASFLAGS): likewise
11893 Check for objcopy only if compiler isn't Apple's CC
11894 Check for BSS symbol only if compiler isn't Apple's CC
11895 * genmk.rb: adapt nm options if we use Apple's utils
11896 * aclocal.m4 (grub_apple_cc): new test
11897 (grub_apple_target_cc): likewise
11898
11899 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 Simplify sed expressions and improve awk
11902
11903 * Makefile.in (install-local): simplify sed expression
11904 * gencmdlist.sh: likewise
11905 * genmoddep.awk: avoid adding module as a dependency of itself
11906
11907 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 Add missing start symbols
11910
11911 * boot/i386/pc/boot.S: add start
11912 * boot/i386/pc/pxeboot.S: likewise
11913
11914 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Fix wrong assumptions with grub-mkimage on EFI
11917
11918 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11919 (relocate_addresses): consider both r_addend and value at offset
11920 (make_mods_section): zerofill modinfo and header
11921 (convert_elf): write prefix here
11922
11923 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 Use .asciz instead of .string
11926
11927 * i386/pc/diskboot.S: use .asciz instead of .string
11928 * i386/pc/boot.S: likewise
11929 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11930 (GRUB_MOD_NAME): likewise
11931
11932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 gfxpayload support
11935
11936 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11937 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11938 (grub_video_setup): remove
11939 (grub_video_set_mode): new prototype
11940 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11941 (vid_mode): remove
11942 (linux_vesafb_res): compile only on PCBIOS
11943 (grub_linux_boot): support gfxpayload
11944 * loader/i386/pc/xnu.c (video_hook): new function
11945 (grub_xnu_set_video): support gfxpayload
11946 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11947 (DEFAULT_VIDEO_HEIGHT): likewise
11948 (DEFAULT_VIDEO_FLAGS): likewise
11949 (DEFAULT_VIDEO_MODE): new definition
11950 (video_hook): new function
11951 (grub_gfxterm_init): use grub_video_set_mode
11952 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11953 loading xnu
11954 * video/video.c (grub_video_setup): removed
11955 (grub_video_set_mode): new function based on grub_gfxterm_init and
11956 grub_video_setup
11957
11958 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Avoid calling biosdisk in drivemap
11961
11962 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11963 (revparse_biosdisk): likewise
11964 (list_mappings): derive name from id directly
11965 (grub_cmd_drivemap): use tryparse_diskstring
11966
11967 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 Script fixes
11970
11971 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11972 (grub_lexer_param): add tokenonhold
11973 (grub_script_create_cmdline): remove cmdline. All callers updated
11974 (grub_script_function_create): make functionname
11975 grub_script_arg. All callers updated
11976 (grub_script_execute_argument_to_string): new prototype
11977 * kern/parser.c (state_transitions): reorder
11978 (grub_parser_cmdline_state): fix a bug and make more compact
11979 * script/sh/execute.c (grub_script_execute_argument_to_string):
11980 make global
11981 (grub_script_execute_cmdline): use new format
11982 * script/sh/function.c (grub_script_function_create): make functionname
11983 grub_script_arg. All callers updated
11984 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11985 (grub_script_yylex): remove
11986 (grub_script_yylex2): renamed to ...
11987 (grub_script_yylex): ...renamed
11988 parse the expressions like a${b}c
11989 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11990 (GRUB_PARSER_TOKEN_VAR): remove
11991 (GRUB_PARSER_TOKEN_NAME): likewise
11992 ("if"): declare as typeless
11993 ("while"): likewise
11994 ("function"): likewise
11995 ("else"): likewise
11996 ("then"): likewise
11997 ("fi"): likewise
11998 (text): remove
11999 (argument): likewise
12000 (script): accept empty scripts and make exit on error
12001 (arguments): use GRUB_PARSER_TOKEN_ARG
12002 (function): likewise
12003 (command): move error handling to script
12004 (menuentry): move grub_script_lexer_ref before
12005 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
12006 argument. All callers updated
12007
12008 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12009
12010 Prevent GRUB from probing floppies during boot.
12011
12012 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12013 * commands/search.c (options): Add --no-floppy.
12014 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12015 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12016 --no-floppy when searching for UUIDs.
12017
12018 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12019
12020 Simplify the code duplication in commands/search.c.
12021
12022 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12023 (search_fs): ... this. Update all users.
12024
12025 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
12026
12027 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12028
12029 2009-05-28 Pavel Roskin <proski@gnu.org>
12030
12031 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12032 Remove the original symlink explicitly.
12033
12034 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12035 just one slash. That's how grub_fshelp_find_file() does it.
12036
12037 2009-05-26 Pavel Roskin <proski@gnu.org>
12038
12039 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12040 to `str'.
12041
12042 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12043 possibly unused.
12044
12045 2009-05-25 Christian Franke <franke@computer.org>
12046
12047 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12048 register.
12049 (grub_atapi_identify): Add wait after drive select.
12050 (grub_ata_identify): Do more strict status register check before
12051 calling grub_atapi_identify (). Suppress error message if status
12052 register is 0x00 after command failure. Add status register
12053 check after PIO read to avoid bogus identify due to stuck DRQ.
12054 Thanks to Pavel Roskin for testing.
12055 (grub_device_initialize): Remove unsafe status register check.
12056 Thanks to 'phcoder' for problem report and patch.
12057 Prevent sign extension in debug message.
12058
12059 2009-05-23 Colin D Bennett <colin@gibibit.com>
12060
12061 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12062 definition file, and functions defined in `normal/menu.c' have had
12063 their prototypes moved to `include/grub/menu.h' for consistency.
12064
12065 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12066 from normal.h.
12067 (grub_menu_get_entry): Likewise.
12068 (grub_menu_get_timeout): Likewise.
12069 (grub_menu_set_timeout): Likewise.
12070 (grub_menu_execute_entry): Likewise.
12071 (grub_menu_execute_with_fallback): Likewise.
12072 (grub_menu_entry_run): Likewise.
12073
12074 * include/grub/normal.h: Re-ordered and grouped function
12075 prototypes by file that the function is defined in.
12076 (grub_menu_execute_callback): Removed; moved to menu.h.
12077 (grub_menu_get_entry): Likewise.
12078 (grub_menu_get_timeout): Likewise.
12079 (grub_menu_set_timeout): Likewise.
12080 (grub_menu_execute_entry): Likewise.
12081 (grub_menu_execute_with_fallback): Likewise.
12082 (grub_menu_entry_run): Likewise.
12083 (grub_menu_addentry): Renamed from this ...
12084 (grub_normal_add_menu_entry): ... to this.
12085
12086 * normal/main.c (grub_menu_addentry): Renamed from this ...
12087 (grub_normal_add_menu_entry): ... to this.
12088
12089 * script/sh/execute.c (grub_script_execute_menuentry): Update
12090 reference to renamed grub_menu_addentry function.
12091
12092 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12093
12094 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12095
12096 2009-05-22 Pavel Roskin <proski@gnu.org>
12097
12098 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12099 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12100 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12101 compiling for the i386 targets, but not for the utilities.
12102
12103 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12104 to grub_uint8_t.
12105 (grub_root_drive): Likewise.
12106 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12107 remove alignment.
12108 (grub_root_drive): Change size to byte.
12109 (grub_start_addr): Remove.
12110 (grub_end_addr): Likewise.
12111 (grub_apm_bios_info): Likewise.
12112
12113 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12114
12115 * normal/i386: Remove.
12116 * normal/powerpc: Likewise.
12117 * normal/sparc64: Likewise.
12118 * normal/x86_64: Likewise.
12119
12120 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12123 * loader/i386/linux_trampoline.S: Fix indentation
12124 * loader/i386/xnu_helper.S: Likewise
12125
12126 2009-05-18 Colin D Bennett <colin@gibibit.com>
12127
12128 Display error messages when parsing a Lua statement fails.
12129 Previously, executing a syntactically invalid statement like
12130 ")foo" or "bar;" would silently fail.
12131
12132 * script/lua/grub_main.c (handle_lua_error): New function.
12133 (grub_lua_parse_line): Improved reporting of Lua parser and
12134 execution errors.
12135
12136 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Remove -Werror which causes build to fail on some systems
12139
12140 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12141 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12142 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12143
12144 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 trampoline for linux on 64-bit platform
12147
12148 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12149 loader/i386/efi/linux_trampoline.S
12150 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12151 declaration
12152 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12153 here
12154 * loader/i386/linux_trampoline.S: moved here
12155 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12156 trampoline
12157 (jumpvector): removed
12158 (grub_linux_trampoline_start): new declaration
12159 (grub_linux_trampoline_end): likewise
12160 (grub_linux_boot): use trampoline when on 64-bit platform
12161 * loader/i386/linux.c: likewise
12162
12163 2009-05-16 Pavel Roskin <proski@gnu.org>
12164
12165 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12166 const to avoid a warning.
12167 (grub_lua_setenv): Likewise.
12168 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12169 lmsg to fix a warning.
12170
12171 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12172
12173 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12174 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12175 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12176 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12177 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12178 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12179 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12180 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12181
12182 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12183
12184 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12185
12186 2009-05-16 Bean <bean123ch@gmail.com>
12187
12188 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12189 (lua_mod_SOURCES): New variable.
12190 (lua_mod_CFLAGS): Likewise.
12191 (lua_mod_LDFLAGS): Likewise.
12192
12193 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12194 (setjmp_mod_SOURCES): New variable.
12195 (setjmp_mod_CFLAGS): Likewise.
12196 (setjmp_LDFLAGS): Likewise.
12197
12198 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12199 (setjmp_mod_SOURCES): New variable.
12200 (setjmp_mod_CFLAGS): Likewise.
12201 (setjmp_LDFLAGS): Likewise.
12202
12203 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12204 (setjmp_mod_SOURCES): New variable.
12205 (setjmp_mod_CFLAGS): Likewise.
12206 (setjmp_LDFLAGS): Likewise.
12207
12208 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12209 (setjmp_mod_SOURCES): New variable.
12210 (setjmp_mod_CFLAGS): Likewise.
12211 (setjmp_LDFLAGS): Likewise.
12212
12213 * normal/i386/setjmp.S: Moved from here ...
12214 * lib/i386/setjmp.S: ... Moved here
12215 * normal/x86_64/setjmp.S: Moved from here ...
12216 * lib/x86_64/setjmp.S: ... Moved here
12217 * normal/powerpc/setjmp.S: Moved from here ...
12218 * lib/powerpc/setjmp.S: ... Moved here
12219 * normal/sparc64/setjmp.S: Moved from here ...
12220 * lib/sparc64/setjmp.S: ... Moved here
12221
12222 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12223 returns_twice in mingw.
12224
12225 * script/lua/grub_lib.c: New file.
12226 * script/lua/grub_lib.h: Likewise.
12227 * script/lua/grub_lua.h: Likewise.
12228 * script/lua/grub_main.c: Likewise.
12229 * script/lua/lapi.c: Likewise.
12230 * script/lua/lapi.h: Likewise.
12231 * script/lua/lauxlib.c: Likewise.
12232 * script/lua/lauxlib.h: Likewise.
12233 * script/lua/lbaselib.c: Likewise.
12234 * script/lua/lcode.c: Likewise.
12235 * script/lua/lcode.h: Likewise.
12236 * script/lua/ldblib.c: Likewise.
12237 * script/lua/ldebug.c: Likewise.
12238 * script/lua/ldebug.h: Likewise.
12239 * script/lua/ldo.c: Likewise.
12240 * script/lua/ldo.h: Likewise.
12241 * script/lua/ldump.c: Likewise.
12242 * script/lua/lfunc.c: Likewise.
12243 * script/lua/lfunc.h: Likewise.
12244 * script/lua/lgc.c: Likewise.
12245 * script/lua/lgc.h: Likewise.
12246 * script/lua/linit.c: Likewise.
12247 * script/lua/liolib.c: Likewise.
12248 * script/lua/llex.c: Likewise.
12249 * script/lua/llex.h: Likewise.
12250 * script/lua/llimits.h: Likewise.
12251 * script/lua/lmathlib.c: Likewise.
12252 * script/lua/lmem.c: Likewise.
12253 * script/lua/lmem.h: Likewise.
12254 * script/lua/loadlib.c: Likewise.
12255 * script/lua/lobject.c: Likewise.
12256 * script/lua/lobject.h: Likewise.
12257 * script/lua/lopcodes.c: Likewise.
12258 * script/lua/lopcodes.h: Likewise.
12259 * script/lua/loslib.c: Likewise.
12260 * script/lua/lparser.c: Likewise.
12261 * script/lua/lparser.h: Likewise.
12262 * script/lua/lstate.c: Likewise.
12263 * script/lua/lstate.h: Likewise.
12264 * script/lua/lstring.c: Likewise.
12265 * script/lua/lstring.h: Likewise.
12266 * script/lua/lstrlib.c: Likewise.
12267 * script/lua/ltable.c: Likewise.
12268 * script/lua/ltable.h: Likewise.
12269 * script/lua/ltablib.c: Likewise.
12270 * script/lua/ltm.c: Likewise.
12271 * script/lua/ltm.h: Likewise.
12272 * script/lua/lua.h: Likewise.
12273 * script/lua/luaconf.h: Likewise.
12274 * script/lua/lualib.h: Likewise.
12275 * script/lua/lundump.c: Likewise.
12276 * script/lua/lundump.h: Likewise.
12277 * script/lua/lvm.c: Likewise.
12278 * script/lua/lvm.h: Likewise.
12279 * script/lua/lzio.c: Likewise.
12280 * script/lua/lzio.h: Likewise.
12281
12282 2009-05-16 Bean <bean123ch@gmail.com>
12283
12284 * include/grub/kernel.h (grub_module_header_types): Add type
12285 OBJ_TYPE_CONFIG.
12286
12287 * kern/main.c (grub_load_config): New function.
12288 (grub_main): Call grub_load_config to read boot config.
12289
12290 * grub-mkimage (generate_image): New parameter config_path.
12291 (options): New option --config.
12292 (main): Parse --config option, and pass it to generate_image.
12293
12294 2009-05-14 Christian Franke <franke@computer.org>
12295
12296 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12297 This fixes build on Cygwin.
12298
12299 2009-05-14 Pavel Roskin <proski@gnu.org>
12300
12301 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12302 jump. This saves two bytes, so the typical case of 2 swapped
12303 drives would fit 32 bytes.
12304
12305 2009-05-13 Pavel Roskin <proski@gnu.org>
12306
12307 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12308 grub_uint32_t to avoid a warning.
12309
12310 * loader/i386/linux.c (allocate_pages): When assigning
12311 real_mode_mem, cast through grub_size_t to fix a warning. The
12312 code already makes sure that the value would fit a pointer.
12313 (grub_linux_setup_video): Cast render_target->data to
12314 grub_size_t to fix a warning.
12315
12316 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12317
12318 * commands/i386/pc/drivemap.c: New file - implement drivemap
12319 command.
12320 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12321 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12322
12323 2009-05-13 Pavel Roskin <proski@gnu.org>
12324
12325 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12326 embedding_area_exists.
12327
12328 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12329
12330 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12331 it easier to understand / work with.
12332 Improve warning messages for cases where there's no embedding area,
12333 or when it is too small (or core.img too large).
12334
12335 2009-05-13 Pavel Roskin <proski@gnu.org>
12336
12337 * loader/i386/pc/multiboot2.c: Add necessary includes for
12338 grub_multiboot2_real_boot().
12339
12340 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12341 PX record is always little-endian. We only need the lower 2
12342 bytes of the mode.
12343
12344 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12345 facilitate code reuse.
12346 (grub_cpio_mount): Use "struct head", not a char buffer. This
12347 fixes a warning reported by gcc 4.4.
12348
12349 * kernel/disk.c (grub_disk_read): Use void pointer for the
12350 buffer.
12351 (grub_disk_write): Use const void pointer for the buffer.
12352 Adjust all callers. Remove unnecessary casts.
12353
12354 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12355
12356 * util/i386/pc/grub-install.in: Update copyright year.
12357
12358 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 gptsync
12361
12362 * commands/gptsync.c: new file
12363 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12364 (gptsync_mod_SOURCES): new variable
12365 (gptsync_mod_CFLAGS): likewise
12366 (gptsync_mod_LDFLAGS): likewise
12367 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12368 new definition
12369 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12371 * conf/i386-ieee1275.rmk: likewise
12372 * conf/i386-pc.rmk: likewise
12373 * conf/powerpc-ieee1275.rmk: likewise
12374
12375 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 Fixed grub-emu
12378
12379 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12380 (grub_dl_ref): likewise
12381
12382 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12383
12384 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12385 split in two functions (one for msdos and one for gpt).
12386
12387 2009-05-08 Pavel Roskin <proski@gnu.org>
12388
12389 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12390 not modified.
12391
12392 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12393 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12394 Initialize them with -1. Add sanity check for bad1. Eliminate
12395 nerr variable.
12396
12397 2009-05-08 David S. Miller <davem@davemloft.net>
12398
12399 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12400
12401 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12402
12403 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12404 existence.
12405
12406 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12407
12408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12409 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12410
12411 2009-05-05 David S. Miller <davem@davemloft.net>
12412
12413 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12414
12415 2009-05-05 Pavel Roskin <proski@gnu.org>
12416
12417 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12418 of grub_dl_ref() and grub_dl_unref().
12419 * commands/parttool.c: Remove preprocessor conditionals around
12420 grub_dl_ref() and grub_dl_unref().
12421 * fs/affs.c: Likewise.
12422 * fs/afs.c: Likewise.
12423 * fs/cpio.c: Likewise.
12424 * fs/ext2.c: Likewise.
12425 * fs/fat.c: Likewise.
12426 * fs/hfs.c: Likewise.
12427 * fs/hfsplus.c: Likewise.
12428 * fs/iso9660.c: Likewise.
12429 * fs/jfs.c: Likewise.
12430 * fs/minix.c: Likewise.
12431 * fs/ntfs.c: Likewise.
12432 * fs/reiserfs.c: Likewise.
12433 * fs/sfs.c: Likewise.
12434 * fs/udf.c: Likewise.
12435 * fs/ufs.c: Likewise.
12436 * fs/xfs.c: Likewise.
12437 * include/grub/dl.h: Likewise.
12438 * loader/xnu.c: Likewise.
12439
12440 2009-05-04 Pavel Roskin <proski@gnu.org>
12441
12442 * commands/acpi.c: Remove unused variable my_mod.
12443 * partmap/amiga.c: Likewise.
12444 * partmap/apple.c: Likewise.
12445 * partmap/gpt.c: Likewise.
12446 * partmap/pc.c: Likewise.
12447 * partmap/sun.c: Likewise.
12448 * term/gfxterm.c: Likewise.
12449 * term/i386/pc/vesafb.c: Likewise.
12450 * term/i386/pc/vga.c: Likewise.
12451
12452 2009-05-04 David S. Miller <davem@davemloft.net>
12453
12454 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12455 pointer args to grub_ieee1275_get_property().
12456
12457 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12458
12459 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12460 devices, and do not traverse down under controller nodes.
12461
12462 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12463 (grub_ofdisk_open): Use it to un-escape "," characters.
12464 * kern/disk.c (find_part_sep): New.
12465 (grub_disk_open): Use it to find the first non-escaped ','
12466 character in the disk name.
12467 * util/ieee1275/devicemap.c (escape_of_path): New.
12468 (grub_util_emit_devicemap_entry): Use it.
12469 * util/sparc64/ieee1275/grub-install.in: Update script to
12470 strip partition specifiers properly by not triggering on
12471 '\' escaped ',' characters.
12472
12473 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12474
12475 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12476 to 0x300.
12477 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12478 resolutions.
12479 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12480 on documentation from Wikipedia).
12481
12482 2009-05-04 Pavel Roskin <proski@gnu.org>
12483
12484 * disk/ata.c: Spelling fixes.
12485 * disk/raid.c: Likewise.
12486 * disk/usbms.c: Likewise.
12487 * disk/dmraid_nvidia.c: Likewise.
12488 * kern/ieee1275/openfw.c: Likewise.
12489 * kern/ieee1275/init.c: Likewise.
12490 * kern/ieee1275/cmain.c: Likewise.
12491 * boot/i386/pc/cdboot.S: Likewise.
12492 * video/readers/png.c: Likewise.
12493 * video/i386/pc/vbe.c: Likewise.
12494 * fs/udf.c: Likewise.
12495 * fs/hfs.c: Likewise.
12496 * fs/reiserfs.c: Likewise.
12497 * efiemu/runtime/efiemu.c: Likewise.
12498 * efiemu/main.c: Likewise.
12499 * efiemu/mm.c: Likewise.
12500 * include/grub/elf.h: Likewise.
12501 * include/grub/xnu.h: Likewise.
12502 * include/grub/usbdesc.h: Likewise.
12503 * include/grub/usb.h: Likewise.
12504 * include/grub/script_sh.h: Likewise.
12505 * include/grub/lib/LzmaEnc.h: Likewise.
12506 * include/grub/efiemu/efiemu.h: Likewise.
12507 * include/grub/command.h: Likewise.
12508 * normal/menu.c: Likewise.
12509 * normal/main.c: Likewise.
12510 * normal/datetime.c: Likewise.
12511 * bus/usb/uhci.c: Likewise.
12512 * mmap/i386/uppermem.c: Likewise.
12513 * mmap/mmap.c: Likewise.
12514 * commands/acpi.c: Likewise.
12515 * commands/test.c: Likewise.
12516 * partmap/apple.c: Likewise.
12517 * font/font.c: Likewise.
12518 * loader/sparc64/ieee1275/linux.c: Likewise.
12519 * loader/macho.c: Likewise.
12520 * loader/i386/bsd_trampoline.S: Likewise.
12521 * loader/i386/bsd.c: Likewise.
12522 * loader/xnu.c: Likewise.
12523 * term/i386/pc/vesafb.c: Likewise.
12524 * term/usb_keyboard.c: Likewise.
12525 * util/resolve.c: Likewise.
12526 * util/getroot.c: Likewise.
12527
12528 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12529
12530 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12531
12532 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12533
12534 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12535 build error.
12536
12537 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12538
12539 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12540 parameter only available on BIOS.
12541
12542 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Removed wrong semicolon in declaration
12545
12546 * grub/misc.h (grub_dprintf): remove semicolon
12547
12548 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12549
12550 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12551 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12552 is done by grub_cmd_linux() now).
12553 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12554 restore video to text mode.
12555 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12556 indicates lack of "vga=" parameter. "vga=0" is mapped to
12557 `GRUB_LINUX_VID_MODE_NORMAL'.
12558
12559 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12560
12561 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12562 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12563 and `normal/script.c'. Add `kern/rescue_reader.c',
12564 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12565 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12566 `grub_script.tab.c'.
12567
12568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12569 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12573
12574 * Makefile.in: Remove duplicated 2008 in Copyright line.
12575
12576 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12577
12578 * util/misc.c (grub_util_warn): New function. Emits a warning
12579 unconditionally.
12580 * include/grub/util/misc.h (grub_util_warn): New declaration.
12581
12582 * util/i386/pc/grub-install.in: Understand --force and pass it down
12583 to grub-setup.
12584
12585 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12586 down to setup().
12587 (setup): Improve error messages and add warnings when requested to
12588 install in odd layouts. Refuse to install using blocklists unless
12589 --force was set.
12590
12591 2009-05-04 martin f. krafft <madduck@madduck.net>
12592
12593 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12594
12595 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 Updated copyright year
12598
12599 * fs/hfsplus.c: updated copyright year
12600
12601 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 HFS+ UUID
12604
12605 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12606 in the space previously used by unused3
12607 (grub_hfsplus_uuid): new function
12608 (grub_hfsplus_fs): added uuid field
12609
12610 2009-05-03 Pavel Roskin <proski@gnu.org>
12611
12612 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12613 suppress warnings. It's no longer needed.
12614 * disk/host.c: Likewise.
12615 * disk/ata_pthru.c: Likewise.
12616 * disk/loopback.c: Likewise.
12617 * hook/datehook.c: Likewise.
12618 * parttool/pcpart.c: Likewise.
12619 * fs/i386/pc/pxe.c: Likewise.
12620 * fs/ntfscomp.c: Likewise.
12621 * efiemu/main.c: Likewise.
12622 * mmap/mmap.c: Likewise.
12623 * commands/crc.c: Likewise.
12624 * commands/hexdump.c: Likewise.
12625 * commands/hdparm.c: Likewise.
12626 * commands/acpi.c: Likewise.
12627 * commands/echo.c: Likewise.
12628 * commands/minicmd.c: Likewise.
12629 * commands/blocklist.c: Likewise.
12630 * commands/memrw.c: Likewise.
12631 * commands/loadenv.c: Likewise.
12632 * commands/usbtest.c: Likewise.
12633 * commands/lsmmap.c: Likewise.
12634 * commands/boot.c: Likewise.
12635 * commands/parttool.c: Likewise.
12636 * commands/configfile.c: Likewise.
12637 * commands/search.c: Likewise.
12638 * commands/ieee1275/suspend.c: Likewise.
12639 * commands/cat.c: Likewise.
12640 * commands/i386/pc/pxecmd.c: Likewise.
12641 * commands/i386/pc/play.c: Likewise.
12642 * commands/i386/pc/halt.c: Likewise.
12643 * commands/i386/pc/vbeinfo.c: Likewise.
12644 * commands/i386/pc/vbetest.c: Likewise.
12645 * commands/lspci.c: Likewise.
12646 * commands/date.c: Likewise.
12647 * commands/handler.c: Likewise.
12648 * commands/ls.c: Likewise.
12649 * commands/test.c: Likewise.
12650 * commands/cmp.c: Likewise.
12651 * commands/efi/loadbios.c: Likewise.
12652 * commands/efi/fixvideo.c: Likewise.
12653 * commands/halt.c: Likewise.
12654 * commands/help.c: Likewise.
12655 * commands/reboot.c: Likewise.
12656 * hello/hello.c: Likewise.
12657 * script/sh/main.c: Likewise.
12658 * loader/xnu.c: Likewise.
12659 * term/terminfo.c: Likewise.
12660 * term/i386/pc/serial.c: Likewise.
12661 * term/usb_keyboard.c: Likewise.
12662
12663 2009-05-03 David S. Miller <davem@davemloft.net>
12664
12665 * normal/menu.c: Include grub/parser.h
12666
12667 2009-05-03 Pavel Roskin <proski@gnu.org>
12668
12669 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12670 not char*.
12671 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12672 Suggested by Javier Martín <lordhabbit@gmail.com>
12673
12674 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12675 efiemu??.o doesn't exist.
12676 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12677 copying.
12678
12679 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 FreeBSD 64-bit support
12682
12683 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12684 and loader/i386/bsd_trampoline.S
12685 (bsd_mod_ASFLAGS): new variable
12686 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12687 (FREEBSD_MODTYPE_KERNEL64): likewise
12688 (grub_bsd64_trampoline_start): likewise
12689 (grub_bsd64_trampoline_end): likewise
12690 (grub_bsd64_trampoline_selfjump): likewise
12691 (grub_bsd64_trampoline_gdt): likewise
12692 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12693 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12694 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12695 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12696 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12697 of "attrib" member
12698 * loader/i386/bsd_pagetable.c: new file
12699 * loader/i386/bsd_trampoline.S: likewise
12700 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12701 (ALIGN_VAR): likewise
12702 (entry_hi): new variable
12703 (kern_end_mdofs): likewise
12704 (is_64bit): likewise
12705 (grub_freebsd_add_meta): use ALIGN_VAR
12706 (grub_e820_mmap): new declaration
12707 (grub_freebsd_add_mmap): new function
12708 (grub_freebsd_add_meta_module): support 64 bit kernels
12709 (grub_freebsd_list_modules): use ALIGN_VAR
12710 (gdt_descriptor): new declaration
12711 (grub_freebsd_boot): support 64 bit kernels
12712 (grub_bsd_elf64_hook): new function
12713 (grub_bsd_load_elf): support elf64
12714
12715 2009-05-03 Bean <bean123ch@gmail.com>
12716
12717 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12718 after we get the result of if statement.
12719
12720 2009-05-03 Bean <bean123ch@gmail.com>
12721
12722 * Makefile.in (enable_efiemu): New variable.
12723
12724 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12725 set.
12726 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12727 path.
12728 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12729 path, add -mno-red-zone option.
12730 (efiemu64_s.o): Likewise.
12731 (efiemu64.o): Use macro $^ for source file.
12732
12733 * configure.ac (--enable-efiemu): New option.
12734
12735 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 xnu support
12738
12739 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12740 (pkglib_MODULES): add xnu.mod
12741 (xnu_mod_SOURCES): new variable
12742 (xnu_mod_CFLAGS): likewise
12743 (xnu_mod_LDFLAGS): likewise
12744 (xnu_mod_ASFLAGS): likewise
12745 * conf/i386-pc.rmk: likewise
12746 * conf/x86_64-efi.rmk: likewise
12747 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12748 new declaration
12749 * include/grub/i386/macho.h: new file
12750 * include/grub/i386/xnu.h: likewise
12751 * include/grub/macho.h: likewise
12752 * include/grub/machoload.h: likewise
12753 * include/grub/x86_64/macho.h: likewise
12754 * include/grub/x86_64/xnu.h: likewise
12755 * include/grub/xnu.h: likewise
12756 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12757 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12758 * loader/i386/efi/xnu.c: new file
12759 * loader/i386/pc/xnu.c: likewise
12760 * loader/i386/xnu.c: likewise
12761 * loader/i386/xnu_helper.S: likewise
12762 * loader/macho.c: likewise
12763 * loader/xnu.c: likewise
12764 * loader/xnu_resume.c: likewise
12765 * util/grub-dumpdevtree: likewise
12766 * include/grub/i386/pit.h: include grub/err.h
12767 (grub_pit_wait): export
12768 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12769
12770 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 Efiemu
12773
12774 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12775 _linux_efi, linux_efi.
12776 new files in grub-emu
12777 new targets efiemu32.o and efiemu64.o
12778 * loader/linux_normal_efiemu.c: likewise
12779 * loader/i386/efi/linux.c: added preliminary efiemu support
12780 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12781 files to copy
12782 * include/grub/autoefi.h: new file
12783 * include/grub/i386/efiemu.h: likewise
12784 * include/grub/i386/pc/efiemu.h: likewise
12785 * include/grub/efi/api.h: add LL suffix when necessary
12786 new definitions relating to tables
12787 * include/grub/efiemu/efiemu.h: new file
12788 * include/grub/efiemu/runtime.h: likewise
12789 * efiemu/prepare.c: likewise
12790 * efiemu/loadcore_common.c: likewise
12791 * efiemu/loadcore64.c: likewise
12792 * efiemu/runtime/efiemu.sh: likewise
12793 * efiemu/runtime/efiemu.S: likewise
12794 * efiemu/runtime/efiemu.c: likewise
12795 * efiemu/runtime/config.h: likewise
12796 * efiemu/prepare32.c: likewise
12797 * efiemu/main.c: likewise
12798 * efiemu/modules/pnvram.c: likewise
12799 * efiemu/modules/i386: likewise
12800 * efiemu/modules/i386/pc: likewise
12801 * efiemu/modules/acpi.c: likewise
12802 * efiemu/i386/pc/cfgtables.c: likewise
12803 * efiemu/i386/loadcore64.c: likewise
12804 * efiemu/i386/loadcore32.c: likewise
12805 * efiemu/prepare64.c: likewise
12806 * efiemu/loadcore.c: likewise
12807 * efiemu/symbols.c: likewise
12808 * efiemu/mm.c: likewise
12809 * efiemu/loadcore32.c: likewise
12810
12811 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 ACPI spoofing
12814
12815 * commands/acpi.c: new file
12816 * commands/i386/pc/acpi.c: likewise
12817 * commands/efi/acpi.c: likewise
12818 * include/grub/acpi.h: likewise
12819 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12820 (acpi_mod_SOURCES): new variable
12821 (acpi_mod_CFLAGS): likewise
12822 (acpi_mod_LDFLAGS): likewise
12823 * conf/i386-efi.rmk: likewise
12824 * conf/x86_64-efi.rmk: likewise
12825
12826 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Missing part from mmap patch
12829
12830 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12831 (grub_mmap_unregister)
12832 (grub_mmap_free_and_unregister): use grub_mmap_register
12833
12834 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 Mmap services
12837
12838 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12839 * loader/i386/linux.c (find_mmap_size): likewise
12840 (allocate_pages): likewise
12841 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12842 (grub_fill_multiboot_mmap): likewise
12843 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12844 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12845 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12846 (OPENBSD_MMAP_RESERVED): likewise
12847 * include/grub/i386/pc/memory.h: include grub/memory.h
12848 (grub_lower_mem): removed
12849 (grub_upper_mem): likewise
12850 (GRUB_MACHINE_MEMORY_ACPI): new definition
12851 (GRUB_MACHINE_MEMORY_NVS): likewise
12852 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12853 (GRUB_MACHINE_MEMORY_HOLE): likewise
12854 (grub_machine_mmap_register): likewise
12855 (grub_machine_mmap_unregister): likewise
12856 (grub_machine_get_upper): likewise
12857 (grub_machine_get_lower): likewise
12858 (grub_machine_get_post64): likewise
12859 * include/grub/i386/efi/memory.h: new file
12860 * include/grub/x86_64/efi/memory.h: likewise
12861 * include/grub/efi/memory.h: likewise
12862 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12863 (mmap_mod_SOURCES): new variable
12864 (mmap_mod_LDFLAGS): likewise
12865 (mmap_mod_ASFLAGS): likewise
12866 * conf/i386-coreboot.rmk: likewise
12867 * conf/i386-ieee1275.rmk: likewise
12868 * conf/i386-efi.rmk: likewise
12869 * conf/x86_64-efi.rmk: likewise
12870 * include/grub/types.h (UINT_TO_PTR): new macro
12871 (PTR_TO_UINT32): likewise
12872 (PTR_TO_UINT64): likewise
12873 * include/grub/memory.h: new file
12874 * mmap/i386/pc/mmap.c: likewise
12875 * mmap/i386/pc/mmap_helper.S: likewise
12876 * mmap/i386/uppermem.c: likewise
12877 * mmap/mmap.c: likewise
12878 * mmap/efi/mmap.c: likewise
12879 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12880 grub_upper_mem
12881 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12882 (grub_upper_mem): likewise
12883 (grub_machine_init): don't use grub_upper_mem,
12884 make grub_lower_mem local
12885 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12886 grub_mmap_iterate and grub_mmap_get_upper
12887 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12888
12889 2009-05-02 Bean <bean123ch@gmail.com>
12890
12891 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12892 script/sh/parser.y.
12893 (pkglib_MODULES): Add normal.mod and sh.mod.
12894 (normal_SOURCES): New variable.
12895 (normal_mod_CFLAGS): Likewise.
12896 (normal_mod_LDFLAGS): Likewise.
12897 (sh_mod_SOURCES): Likewise.
12898 (sh_mod_CFLAGS): Likewise.
12899 (sh_mod_LDFLAGS): Likewise.
12900
12901 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12902 script/sh/lexer.c_DEPENDENCIES.
12903 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12904 kern/rescue_reader.c and kern/rescue_parser.c.
12905 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12906 (grub_emu_SOURCES): Change source files.
12907 (pkglib_MODULES): Remove normal.mod.
12908 (normal_SOURCES): Removed.
12909 (normal_mod_CFLAGS): Likewise.
12910 (normal_mod_LDFLAGS): Likewise.
12911 * conf/i386-coreboot.rmk: Likewise.
12912 * conf/i386-efi.rmk: Likewise.
12913 * conf/i386-ieee1276.rmk: Likewise.
12914 * conf/powerpc-ieee1275.rmk: Likewise.
12915 * conf/sparc64-ieee1275.rmk: Likewise.
12916 * conf/x86_64-efi.rmk: Likewise.
12917
12918 * include/grub/command.h (grub_command_execute): New inline function.
12919
12920 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12921
12922 * include/grub/normal.h: Remove <grub/setjmp.h>.
12923 (grub_fs_module_list): Moved to normal/autofs.c.
12924 (grub_exit_env): Removed.
12925 (grub_command_execute): Likewise.
12926 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12927 parameter script.
12928 (read_command_list): New function declaration.
12929 (read_fs_list): Likewise.
12930
12931 * include/parser.h: Include <grub/reader.h>.
12932 (grub_parser_split_cmdline): Change type of getline parameter.
12933 (grub_parser): New structure.
12934 (grub_parser_class): New variable.
12935 (grub_parser_execute): New function declaration.
12936 (grub_register_rescue_parser): Likewise.
12937 (grub_parser_register): New inline function.
12938 (grub_parser_unregister): Likewise.
12939 (grub_parser_get_current): Likewise.
12940 (grub_parser_set_current): Likewise.
12941
12942 * include/grub/reader.h: New file.
12943 * kern/reader.c: Likewise.
12944 * kern/rescue_parser.c: Likewise.
12945 * kern/rescue_reader.c: Likewise.
12946 * normal/autofs.c: Likewise.
12947 * normal/dyncmd.c: Likewise.
12948
12949 * include/grub/rescue.h: Removed.
12950 * normal/command.h: Likewise.
12951
12952 * include/grub/script.h: Moved to ...
12953 * include/grub/script_sh.h: ... Moved here.
12954 * normal/execute.c: Moved to ...
12955 * script/sh/execute.c: ... Moved here.
12956 * normal/function.c: Moved to ...
12957 * script/sh/function.c: ... Moved here.
12958 * normal/lexer.c: Moved to ...
12959 * script/sh/lexer.c: ... Moved here.
12960 * normal/parser.y: Moved to ...
12961 * script/sh/parser.y: ... Moved here.
12962 * normal/script.c: Moved to ...
12963 * script/sh/script.c: ... Moved here.
12964
12965 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12966 <grub/reader.h>.
12967 (grub_exit_env): Removed.
12968 (fs_module_list): Moved to normal/autofs.c.
12969 (grub_file_getline): Don't handle comment here.
12970 (free_menu): Skip removed field entry->commands.
12971 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12972 script parameter.
12973 (read_config_file): Removed nested parameter, change getline function.
12974 (grub_enter_normal_mode): Removed.
12975 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12976 (read_command_list): Likewise.
12977 (autoload_fs_module): Moved to normal/autofs.c.
12978 (read_fs_list): Likewise.
12979 (reader_nested): New variable.
12980 (grub_normal_execute): Run parser.sh to switch to sh parser.
12981 (grub_cmd_rescue): Removed.
12982 (cmd_normal): Removed.
12983 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12984 rescue command.
12985 (grub_cmdline_run): New function.
12986 (grub_normal_reader_init): Likewise.
12987 (grub_normal_read_line): Likewise.
12988 (grub_env_write_pager): Likewise.
12989 (cmdline): New variable.
12990 (grub_normal_reader): Likewise.
12991 (GRUB_MOD_INIT): Register normal reader and set as current, register
12992 pager hook, register normal command with grub_register_command_prio,
12993 so that it won't show up in command.lst.
12994 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12995 grub_fs_autoload_hook.
12996
12997 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12998 (grub_menu_execute_entry): Replace grub_script_execute with
12999 grub_parser_execute, change parameter to grub_command_execute.
13000
13001 * normal/menu_text.c: Remove <grub/script.h>.
13002
13003 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13004 and <grub/parser.h>.
13005 (run): Change editor_getline to use new parser interface. Change
13006 parameter to grub_command_execute.
13007
13008 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13009 <grub/reader.h> and <grub/parser.h>.
13010 (grub_load_normal_mode): Execute normal command.
13011 (grub_main): Call grub_register_core_commands,
13012 grub_register_rescue_parser and grub_register_rescue_reader, use
13013 grub_reader_loop to enter input loop.
13014
13015 * kern/parser.c (grub_parser_split_cmdline): Change type of
13016 getline parameter.
13017 (grub_parser_class): New variable.
13018 (grub_parser_execute): New function.
13019
13020 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13021 * loader/multiboot2.c: Likewise.
13022 * loader/sparc64/ieee1275/linux.c: Likewise.
13023
13024 * util/grub-emu.c (read_command_list): New dummy function.
13025
13026 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13027
13028 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13029 count to 16 for CCISS and IDA.
13030
13031 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13032
13033 * normal/menu_text.c (grub_wait_after_message): Print a newline
13034 after waiting for user input.
13035
13036 * loader/i386/linux.c: Include `<grub/normal.h>'.
13037 (grub_cmd_linux): Improve the error message about `ask' mode, by
13038 waiting for user input so it's not missed (we can do this, since
13039 user requested interaction).
13040
13041 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Added missing lst to grub-mkrescue
13044
13045 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13046 and ${input_dir}/parttool.lst
13047
13048 2009-04-30 David S. Miller <davem@davemloft.net>
13049
13050 * util/hostdisk.c (device_is_wholedisk): New function.
13051 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13052 zero only if device_is_wholedisk() returns true.
13053
13054 * util/hostdisk.c (convert_system_partition_to_system_disk):
13055 Handle virtual disk devices named /dev/vdiskX as found on sparc
13056 and powerpc.
13057
13058 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13059 lettered partition specifier is found, convert to numbered.
13060
13061 2009-04-29 David S. Miller <davem@davemloft.net>
13062
13063 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13064 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13065
13066 * normal/command.c: Add missing newline at end of file.
13067
13068 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13069 warnings.
13070 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13071 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13072 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13073 ihandles have a 32-bit type but need to be stored in a "void *".
13074
13075 2009-04-28 Pavel Roskin <proski@gnu.org>
13076
13077 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13078 not disk. Adjust all dependencies.
13079 (grub_fs_uuid_close): Use grub_device_close(), not
13080 grub_disk_close().
13081
13082 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13083 parent's partition, don't copy it by reference, as it gets freed
13084 on close.
13085
13086 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 Preboot hooks support
13089
13090 * commands/boot.c (struct grub_preboot_t): new declaration
13091 (preboots_head): new variable
13092 (preboots_tail): likewise
13093 (grub_loader_register_preboot_hook): new function
13094 (grub_loader_unregister_preboot_hook): likewise
13095 (grub_loader_set): launch preboot hooks
13096 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13097 (grub_loader_register_preboot_hook): new declaration
13098 (grub_loader_unregister_preboot_hook): likewise
13099
13100 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 Warning fix
13103
13104 * disk/scsi.c (grub_scsi_open): added missing cast when
13105 calling grub_dprintf
13106
13107 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Bug and warning fixes
13110
13111 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13112 declaration
13113 * commands/test.c (test_parse): fixed bug with file tests and corrected
13114 declaration of find_file
13115
13116 2009-04-26 Pavel Roskin <proski@gnu.org>
13117
13118 * Makefile.in: Don't install empty manual pages if help2man is
13119 missing. Use help2man option for output, not shell redirection.
13120
13121 2009-04-26 David S. Miller <davem@davemloft.net>
13122
13123 * util/grub-mkdevicemap.c (make_device_map): Add missing
13124 NESTED_FUNC_ATTR to process_device().
13125
13126 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Test command
13129
13130 * commands/test.c: rewritten to use bash-like test
13131
13132 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 Parttool autoloading and improvements
13135
13136 * Makefile.in (pkglib_DATA): add parttool.lst
13137 (parttool.lst): new target
13138 * genmk.rb: generate parttool-*
13139 (CLEANFILES): add #{parttool}
13140 (PARTTOOLFILES): new variable
13141 * genparttoollist.sh: new file
13142 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13143 (grub_pcpart_type): likewise
13144 * commands/parttool.c (helpmsg): new variable
13145 (grub_cmd_parttool): output help if not enough arguments are supplied
13146 autoload modules
13147 (GRUB_MOD_INIT(parttool)): use helpmsg
13148
13149 2009-04-24 David S. Miller <davem@davemloft.net>
13150
13151 Avoiding opening same device multiple times in device iterator.
13152
13153 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13154 and use it to build a list of partitions in iterate_disk() and
13155 iterate_partition().
13156
13157 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13158 on disk->data.
13159
13160 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13161 grub_devalias_iterate() result instead of unconditional 0.
13162 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13163 Also, capture hook return value, either directly or via
13164 grub_children_iterate(), and propagate to caller.
13165 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13166 grub_children_iterate): Return value is now 'int' instead of
13167 'grub_err_t'.
13168 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13169 like a proper iterator, stopping when hooks return non-zero.
13170 (grub_devalias_iterate): Likewise.
13171
13172 2009-04-23 David S. Miller <davem@davemloft.net>
13173
13174 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13175
13176 2009-04-22 David S. Miller <davem@davemloft.net>
13177
13178 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13179 is larger than address_cells, use that value for address_cells too.
13180
13181 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13182 IEEE1275_MAX_PATH_LEN): Define.
13183 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13184 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13185 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13186 'devtype'. Explicitly NULL terminate devalias expansion.
13187
13188 * util/sparc64/ieee1275/misc.c: New file.
13189 * util/sparc64/ieee1275/grub-setup.c: New file.
13190 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13191 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13192 * util/sparc64/ieee1275/grub-install.in: New file.
13193 * util/ieee1275/ofpath.c: New file.
13194 * util/ieee1275/devicemap.c: New file.
13195 * util/devicemap.c: New file.
13196 * util/deviceiter.c: New file.
13197 * kern/sparc64/ieee1275/init.c: New file.
13198 * include/grub/util/ofpath.h: New file.
13199 * include/grub/util/deviceiter.h: New file.
13200 * util/grub-mkdevicemap.c: Include deviceiter.h.
13201 Implement using grub_util_emit_devicemap_entry and
13202 grub_util_iterate_devices.
13203 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13204 util/devicemap.c into grub-mkdevicemap
13205 * conf/i386-efi.rmk: Likewise.
13206 * conf/i386-ieee1275.rmk: Likewise.
13207 * conf/i386-pc.rmk: Likewise.
13208 * conf/powerpc-ieee1275.rmk: Likewise.
13209 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13210 images and installation utilities. Build kernel as image
13211 instead of as elf binary. Use common rules as much as possible.
13212
13213 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 Correct GPT definition
13216
13217 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13218 of "attrib" member
13219
13220 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13221
13222 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13223
13224 2009-04-19 David S. Miller <davem@davemloft.net>
13225
13226 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13227 (grub_rescue_cmd_linux): Rename to...
13228 (grub_cmd_linux): and fix prototype.
13229 (grub_rescue_cmd_initrd): Rename to...
13230 (grub_cmd_initrd): and fix prototype.
13231 (cmd_linux, cmd_initrd): New.
13232 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13233 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13234
13235 2009-04-17 Pavel Roskin <proski@gnu.org>
13236
13237 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13238 format.
13239 (grub_ohci_transfer): Likewise.
13240
13241 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13242
13243 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13244 return without a value. Fix inconsistent indentation.
13245
13246 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13247 match struct grub_fs.
13248
13249 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13250 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13251 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13252 * commands/lspci.c (grub_lspci_iter): Likewise.
13253
13254 2009-04-16 Bean <bean123ch@gmail.com>
13255
13256 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13257 value.
13258
13259 2009-04-15 Pavel Roskin <proski@gnu.org>
13260
13261 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13262 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13263 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13264 definitions.
13265
13266 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13267
13268 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13269 that no multiple data or metadata areas are supported and `Unknown
13270 metadata header'.
13271
13272 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 Move loader out of the kernel
13275
13276 * kern/loader.c: moved to ...
13277 * commands/boot.c: ... moved here
13278 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13279 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13280 * include/grub/kernel.h (grub_machine_fini): export
13281 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13282 (grub_loader_set): likewise
13283 (grub_loader_unset): likewise
13284 (grub_loader_boot): likewise
13285 * conf/common.rmk: new module boot.mod
13286 (pkglib_MODULES): add boot.mod
13287 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13288 (grub_emu_SOURCES): likewise
13289 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13290 (grub_emu_SOURCES): likewise
13291 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13292 (grub_emu_SOURCES): likewise
13293 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13294 (grub_emu_SOURCES): likewise
13295 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13296 (grub_emu_SOURCES): likewise
13297 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13298 (grub_emu_SOURCES): likewise
13299 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13300 (grub_emu_SOURCES): likewise
13301
13302 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13305
13306 * kern/misc.c (grub_itoa): Removed function
13307 (grub_ltoa): likewise
13308 (grub_vsprintf): use grub_lltoa
13309
13310 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 Restore grub-emu
13313
13314 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13315 * conf/i386-coreboot.rmk: likewise
13316 * conf/i386-ieee1275.rmk: likewise
13317 * conf/powerpc-ieee1275.rmk: likewise
13318
13319 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13320
13321 * INSTALL: Add that `./autogen.sh' needs to be run before
13322 `./configure.'.
13323
13324 2009-04-14 Bean <bean123ch@gmail.com>
13325
13326 * Makefile.in (pkglib_DATA): Add handler.lst.
13327 (handler.lst): New rule.
13328
13329 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13330 * conf/i386-coreboot.rmk: Likewise.
13331 * conf/i386-ieee1275.rmk: Likewise.
13332 * conf/i386-efi.rmk: Likewise.
13333 * conf/x86_64-efi.rmk: Likewise.
13334 * conf/powerpc-ieee1275.rmk: Likewise.
13335 * conf/sparc64-ieee1275.rmk: Likewise.
13336
13337 * genhandlerlist.sh: New file.
13338
13339 * genmk.rb: Add rules to generate handler.lst.
13340
13341 * include/grub/normal.h (grub_file_getline): New function definition.
13342 (read_handler_list): Likewise.
13343 (free_handler_list): Likewise.
13344
13345 * include/grub/term.h (grub_term_register_input): Add name parameter
13346 for auto generation of handler.lst.
13347 (grub_term_register_output): Likewise.
13348
13349 * normal/handler.c: New file.
13350
13351 * normal/main.c (get_line): Renamed to grub_file_getline.
13352 (read_config_file): Use the newly renamed grub_file_getline.
13353 (read_command_list): Likewise.
13354 (read_fs_list): Likewise.
13355 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13356 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13357
13358 * term/efi/console.c (grub_console_init): Add name parameter for auto
13359 generation of handler.lst.
13360 * term/gfxterm.c: Likewise.
13361 * term/i386/pc/at_keyboard.c: Likewise.
13362 * term/i386/pc/console.c: Likewise.
13363 * term/i386/pc/serial.c: Likewise.
13364 * term/i386/pc/vesafb.c: Likewise.
13365 * term/i386/pc/vga.c: Likewise.
13366 * term/i386/pc/vga_text.c: Likewise.
13367 * term/ieee1275/ofconsole.c: Likewise.
13368 * term/usb_keyboard.c: Likewise.
13369
13370 2009-04-14 Bean <bean123ch@gmail.com>
13371
13372 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13373 properly with null character.
13374
13375 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13376
13377 * configure: Remove.
13378 * config.h.in: Likewise.
13379 * stamp-h.in: Likewise.
13380 * DISTLIST: Likewise.
13381 * conf/common.mk: Likewise.
13382 * conf/i386-coreboot.mk: Likewise.
13383 * conf/i386-efi.mk: Likewise.
13384 * conf/i386-ieee1275.mk: Likewise.
13385 * conf/i386.mk: Likewise.
13386 * conf/i386-pc.mk: Likewise.
13387 * conf/powerpc-ieee1275.mk: Likewise.
13388 * conf/sparc64-ieee1275.mk: Likewise.
13389 * conf/x86_64-efi.mk: Likewise.
13390
13391 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13392 develop on GRUB.
13393
13394 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13395 David S. Miller <davem@davemloft.net>
13396
13397 * util/hostdisk.c (make_device_name): Fix buffer length
13398 calculations.
13399
13400 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13401
13402 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13403 <sys/param.h> and <sys/sysctl.h>.
13404 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13405 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13406 opening the device and reset them afterwards.
13407
13408 2009-04-13 Pavel Roskin <proski@gnu.org>
13409
13410 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13411 Reported by John Stanley <jpsinthemix@verizon.net>
13412
13413 2009-04-13 Robert Millan <rmh@aybabtu.com>
13414
13415 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13416 that name for menuentries when appropriate.
13417
13418 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13419
13420 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13421
13422 2009-04-13 Robert Millan <rmh@aybabtu.com>
13423
13424 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13425 to Linux, simply abort telling the user it's no longer supported.
13426
13427 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13428
13429 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13430 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13431 `freebsd_loadenv' only when devices.hints exist.
13432
13433 2009-04-13 Pavel Roskin <proski@gnu.org>
13434
13435 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13436
13437 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13438
13439 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13440 partition number.
13441 (grub_drive): Likewise.
13442
13443 2009-04-13 David S. Miller <davem@davemloft.net>
13444
13445 * kern/sparc64/ieee1275/ieee1275.c: New file.
13446 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13447 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13448 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13449 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13450 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13451 grub_ieee1275_alloc_physmem): Declare new exported functions.
13452
13453 * include/grub/sparc64/ieee1275/loader.h: New file.
13454 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13455 * include/grub/sparc64/kernel.h: Likewise.
13456 * loader/sparc64/ieee1275/linux.c: Likewise.
13457
13458 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13459 (grub_fstest_SOURCES): Likewise.
13460
13461 * util/hostdisk.c (make_device_name): Do not make any assumptions
13462 about the length of drive names.
13463
13464 * kern/dl.c (grub_dl_load_file): Close file immediately when
13465 we are done using it.
13466
13467 2009-04-12 David S. Miller <davem@davemloft.net>
13468
13469 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13470 values. Noticed by Pavel Roskin.
13471
13472 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13473 target compiler.
13474
13475 * genmk.rb: Add more flexible image type specification, also
13476 pass --strip-unneeded to objcopy.
13477 * conf/i386-pc.rmk: Use *_FORMAT.
13478 * conf/i386-pc.mk: Rebuilt.
13479
13480 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13481 (OFDISK_HASH_SZ): Define.
13482 (ofdisk_hash): New hash table.
13483 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13484 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13485 instead of device phandle which is not unique.
13486
13487 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13488 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13489 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13490 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13491 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13492 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13493 GRUB_KERNEL_MACHINE_DATA_END): Define.
13494 (grub_kernel_image_size, grub_total_module_size): Declare.
13495
13496 2009-04-12 Pavel Roskin <proski@gnu.org>
13497
13498 * configure.ac: Change the logic when we check for target tools.
13499 Do it when the target is specified and it's different from the
13500 specified value of the host.
13501
13502 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13503
13504 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13505 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13506 GNU/kFreeBSD. Check if a device is a character device. Use
13507 DIOCGMEDIASIZE to get the size.
13508 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13509 support for GNU/kFreeBSD.
13510 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13511 is a character device instead of a block device. Add support for
13512 FreeBSD device names.
13513
13514 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13515 is a character device instead of a block device.
13516
13517 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13518 is a character device instead of a block device.
13519
13520 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13521
13522 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13523 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13524 FreeBSD. Check if a device is a character device. Use
13525 DIOCGMEDIASIZE to get the size.
13526 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13527 support for FreeBSD.
13528 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13529 is a character device instead of a block device. Add support for
13530 FreeBSD device names.
13531
13532 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13533 a character device instead of a block device.
13534 (grub_util_check_char_device): New function.
13535
13536 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13537 a character device instead of a block device.
13538
13539 * include/grub/util/getroot.h (grub_util_check_char_device): New
13540 prototype.
13541
13542 2009-04-11 David S. Miller <davem@davemloft.net>
13543
13544 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13545 static libgcc.
13546 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13547 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13548 function, if present.
13549 (__bswapdi2): Likewise.
13550
13551 * include/grub/sparc64/ieee1275/boot.h: New file.
13552 * boot/sparc64/ieee1275/boot.S: Likewise.
13553 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13554
13555 * kern/misc.c (grub_ltoa): New function.
13556 (grub_vsprintf): Use it to format 'long' integers.
13557
13558 2009-04-10 David S. Miller <davem@davemloft.net>
13559
13560 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13561 slots are of type grub_ieee1275_cell_t.
13562 (grub_nand_read): Likewise.
13563 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13564 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13565 macros are used to compare values in arg/ret block of the call.
13566 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13567 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13568 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13569 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13570 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13571 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13572 grub_ieee1275_close, grub_ieee1275_set_property,
13573 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13574 grub_ieee1275_cell_t.
13575 * kern/ieee1275/openfw.c (grub_map): Likewise.
13576 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13577 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13578
13579 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13580 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13581 (grub_devalias_iterate): Likewise.
13582
13583 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 UFS improvements
13586
13587 * fs/ufs.c (INODE_NBLOCKS): new definition
13588 (struct grub_ufs_dirent): added fields for non-BSD dirents
13589 (grub_ufs_get_file_block): fixed double indirect handling
13590 (grub_ufs_lookup_symlink): use more robust way to determine whether
13591 symlink is inline
13592 (grub_ufs_find_file): support for non-BSD dirents
13593 (grub_ufs_dir): support for non-BSD dirents
13594
13595 2009-04-10 Bean <bean123ch@gnail.com>
13596
13597 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13598 attribute, otherwise the size would be wrong for i386 platform.
13599
13600 * include/grub/pci.h (grub_pci_read_word): New inline function.
13601 (grub_pci_read_byte): Likewise.
13602 (grub_pci_write): Likewise.
13603 (grub_pci_write_word): Likewise.
13604 (grub_pci_write_byte): Likewise.
13605
13606 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13607
13608 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13609 (find_framebuf): Scan pci to locate the frame buffer address.
13610
13611 * commands/efi/fixvideo.c: New file.
13612
13613 * commands/efi/loadbios.c: Likewise.
13614
13615 * commands/memrw.c: Likewise.
13616
13617 * util/grub-dumpbios.in: Likewise.
13618
13619 * conf/common.rmk (grub-dumpbios): New utility.
13620 (pkglib_MODULES): New module memrw.mod.
13621 (memrw_mod_SOURCE): New macro.
13622 (memrw_mod_CFLAGS): Likewise.
13623 (memrw_mod_LDFLAGS): Likewise.
13624
13625 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13626 fixvideo.mod.
13627 (loadbios_mod_SOURCE): New macro.
13628 (loadbios_mod_CFLAGS): Likewise.
13629 (loadbios_mod_LDFLAGS): Likewise.
13630 (fixvideo_mod_SOURCE): Likewise.
13631 (fixvideo_mod_CFLAGS): Likewise.
13632 (fixvideo_mod_LDFLAGS): Likewise.
13633
13634 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13635 fixvideo.mod.
13636 (loadbios_mod_SOURCE): New macro.
13637 (loadbios_mod_CFLAGS): Likewise.
13638 (loadbios_mod_LDFLAGS): Likewise.
13639 (fixvideo_mod_SOURCE): Likewise.
13640 (fixvideo_mod_CFLAGS): Likewise.
13641 (fixvideo_mod_LDFLAGS): Likewise.
13642
13643 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13644
13645 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13646
13647 2009-04-07 David S. Miller <davem@davemloft.net>
13648
13649 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13650 support for R_SPARC_OLO10 relocations. Fix compile warning for
13651 R_SPARC_WDISP30 case.
13652 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13653
13654 2009-04-06 Pavel Roskin <proski@gnu.org>
13655
13656 * include/grub/misc.h (ARRAY_SIZE): New macro.
13657 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13658 New macro.
13659 * loader/i386/linux.c (allocate_pages): Use free_pages().
13660 (grub_linux_unload): Don't use free_pages().
13661 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13662 wrong index. Treat all other modes as text modes.
13663 (grub_cmd_linux): Initialize vid_mode unconditionally to
13664 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13665
13666 * commands/help.c (print_command_help): Use cmd->prio, not
13667 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13668
13669 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 Parttool
13672
13673 * parttool/pcpart.c: new file
13674 * commands/parttool.c: likewise
13675 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13676 (parttool_mod_SOURCES): new variable
13677 (parttool_mod_CFLAGS): likewise
13678 (parttool_mod_LDFLAGS): likewise
13679 (pcpart_mod_SOURCES): likewise
13680 (pcpart_mod_CFLAGS): likewise
13681 (pcpart_mod_LDFLAGS): likewise
13682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13683 and parttool/pcpart.c
13684 * conf/i386-efi.rmk: likewise
13685 * conf/i386-ieee1275.rmk: likewise
13686 * conf/i386-pc.rmk: likewise
13687 * conf/powerpc-ieee1275.rmk: likewise
13688 * conf/sparc64-ieee1275.rmk: likewise
13689 * conf/x86_64-ieee1275.rmk: likewise
13690
13691 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 Support for mtime and further expandability of dir command
13694
13695 * include/grub/lib/datetime.h: moved to ...
13696 * include/grub/datetime.h: ... moved here and added
13697 declaration of grub_unixtime2datetime. All users updated
13698 * include/grub/fs.h: new syntax for dir and mtime functions in
13699 struct grub_fs
13700 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13701 and GRUB_FSHELP_FLAGS_MASK
13702 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13703 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13704 (grub_ext2_mtime): new function
13705 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13706 (grub_hfsplus_mtime): new function
13707 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13708 (GRUB_UFS_ATTR_FILE): likewise
13709 (GRUB_UFS_ATTR_LNK): likewise
13710 (struct grub_ufs_sblock): new fields mtime
13711 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13712 all users updated
13713 (grub_ufs_dir): mtime support
13714 (grub_ufs_mtime): new function
13715 * fs/affs.c (grub_affs_dir): use new dir syntax
13716 * fs/afs.c (grub_afs_dir): likewise
13717 * fs/cpio.c (grub_cpio_dir): likewise
13718 * fs/fat.c (grub_fat_find_dir): likewise
13719 * fs/hfs.c (grub_hfs_dir): likewise
13720 * fs/iso9660.c (grub_iso9660_dir): likewise
13721 * fs/jfs.c (grub_jfs_dir): likewise
13722 * fs/minix.c (grub_minix_dir): likewise
13723 * fs/ntfs.c (grub_ntfs_dir): likewise
13724 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13725 * fs/sfs.c (grub_sfs_dir): likewise
13726 * fs/xfs.c (grub_xfs_dir): likewise
13727 * util/hostfs.c (grub_hostfs_dir): likewise
13728 * lib/datetime.c: moved to ...
13729 * normal/datetime.c: ... moved here
13730 (grub_unixtime2datetime): new function
13731 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13732 * normal/completion.c (iterate_dir): use new dir syntax
13733 * normal/misc.c (grub_normal_print_device_info): tell the
13734 last modification time of a volume
13735 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13736 * conf/common.rmk: added lib/datetime.c to ls.mod
13737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13738 (normal_mod_SOURCES): likewise
13739 (datetime_mod_SOURCES): Removed lib/datetime.c
13740 * conf/i386-efi.rmk: likewise
13741 * conf/i386-ieee1275.rmk: likewise
13742 * conf/i386-pc.rmk: likewise
13743 * conf/powerpc-ieee1275.rmk: likewise
13744 * conf/sparc64-ieee1275.rmk: likewise
13745 * conf/x86_64-efi.rmk: likewise
13746
13747 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 Trim trailing spaces in FAT label and support mtools-like labels
13750
13751 * fs/fat.c (grub_fat_iterate_dir): New function based
13752 on grub_fat_find_dir
13753 (grub_fat_find_dir): use grub_fat_iterate_dir
13754 (grub_fat_label): likewise
13755
13756 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13759 and command.h
13760 remove extraneous kernel_elf_HEADERS
13761
13762 2009-04-04 Bean <bean123ch@gnail.com>
13763
13764 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13765
13766 * util/misc.c: Likewise.
13767
13768 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13769
13770 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13771 instead of grub_printf.
13772
13773 2009-04-03 Robert Millan <rmh@aybabtu.com>
13774
13775 * loader/i386/linux.c (grub_linux_setup_video): Fill
13776 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13777 values from `mode info' structure instead of hardcoded
13778 values.
13779
13780 2009-04-01 Pavel Roskin <proski@gnu.org>
13781
13782 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13783 unused now.
13784 * genmk.rb: Likewise.
13785 * configure.ac: Likewise.
13786
13787 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13788
13789 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13790 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13791
13792 2009-04-01 David S. Miller <davem@davemloft.net>
13793
13794 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13795 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13796 (grub_setjmp): Mark with 'returns_twice' attribute.
13797 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13798 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13799 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13800
13801 2009-04-01 Robert Millan <rmh@aybabtu.com>
13802
13803 Reapply fix from 2008-07-28 which was accidentally reverted; also
13804 perform the same fix to a similar check in same function.
13805
13806 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13807 with the same number are found, just use issue a warning with
13808 grub_dprintf(), as this error has been reported to be non-fatal.
13809
13810 2009-03-31 Pavel Roskin <proski@gnu.org>
13811
13812 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13813 for cross-compilation.
13814
13815 2009-03-30 Robert Millan <rmh@aybabtu.com>
13816
13817 Fix i386-ieee1275 build.
13818
13819 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13820 Remove declaration.
13821
13822 2009-03-30 Pavel Roskin <proski@gnu.org>
13823
13824 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13825 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13826 zero-terminated, rely only on the strlen value. Fix comparison
13827 of strings differing in length.
13828
13829 2009-03-30 Robert Millan <rmh@aybabtu.com>
13830
13831 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13832 checking for abi version. Improve error messages on BIOS to notify
13833 user about `linux16' command.
13834
13835 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 Leak fixes
13838
13839 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13840 in case of collision
13841 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13842
13843 2009-03-29 Robert Millan <rmh@aybabtu.com>
13844
13845 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13846 set `vid_mode' accordingly.
13847 (grub_linux_boot): Process `vid_mode' and set video mode.
13848
13849 2009-03-29 Robert Millan <rmh@aybabtu.com>
13850
13851 * util/grub.d/10_linux.in (linux_entry): New function.
13852 Factorize generation of Linux boot entries.
13853
13854 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13855
13856 Make the format of Environment Block plain text. The boot loader
13857 part is not tested well yet.
13858
13859 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13860 (buffer): Removed.
13861 (envblk): Likewise.
13862 (usage): Remove "info" and "clear". Add "unset". Update the
13863 description of "set", as this does not delete variables any
13864 longer.
13865 (create_envblk_file): Complete rewrite.
13866 (open_envblk_file): Likewise.
13867 (cmd_info): Removed.
13868 (cmd_list): Likewise.
13869 (cmd_set): Likewise.
13870 (cmd_clear): Likewise.
13871 (list_variables): New function.
13872 (write_envblk): Likewise.
13873 (set_variables): Likewise.
13874 (unset_variables): Likewise.
13875 (main): Complete rewrite.
13876
13877 * commands/loadenv.c (buffer): Removed.
13878 (envblk): Likewise.
13879 (open_envblk_file): New function.
13880 (read_envblk_file): Complete rewrite.
13881 (grub_cmd_load_env): Likewise.
13882 (grub_cmd_list_env): Likewise.
13883 (struct blocklist): New struct.
13884 (free_blocklists): New function.
13885 (check_blocklists): Likewise.
13886 (write_blocklists): Likewise.
13887 (grub_cmd_save_env): Complete rewrite.
13888
13889 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13890 a plain text signature.
13891 (GRUB_ENVBLK_MAXLEN): Removed.
13892 (struct grub_envblk): Complete rewrite.
13893 (grub_envblk_find): Removed.
13894 (grub_envblk_insert): Likewise.
13895 (grub_envblk_open): New prototype.
13896 (grub_envblk_set): Likewise.
13897 (grub_envblk_delete): Put const to VALUE.
13898 (grub_envblk_iterate): Put const to NAME and VALUE.
13899 (grub_envblk_close): New prototype.
13900 (grub_envblk_buffer): New inline function.
13901 (grub_envblk_size): Likewise.
13902
13903 * lib/envblk.c: Include grub/mm.h.
13904 (grub_env_find): Removed.
13905 (grub_envblk_open): New function.
13906 (grub_envblk_close): Likewise.
13907 (escaped_value_len): Likewise.
13908 (find_next_line): Likewise.
13909 (grub_envblk_insert): Removed.
13910 (grub_envblk_set): New function.
13911 (grub_envblk_delete): Complete rewrite.
13912 (grub_envblk_iterate): Likewise.
13913
13914 2009-03-28 Robert Millan <rmh@aybabtu.com>
13915
13916 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13917 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13918 variables. Use 16-bit loader.
13919 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13920 loader.
13921 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13922 (grub_linux16_boot): ... this. Update all users.
13923 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13924 (grub_linux_boot): ... this. Update all users.
13925
13926 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13927 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13928 commands to `linux16' and `initrd16'.
13929 (GRUB_MOD_FINI(linux)): Rename to ...
13930 (GRUB_MOD_FINI(linux16)): ... this.
13931
13932 2009-03-24 Pavel Roskin <proski@gnu.org>
13933
13934 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13935 not just for compilation.
13936
13937 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 Move multiboot helper out of kernel
13940
13941 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13942 `loader/i386/multiboot_helper.S'.
13943 * conf/i386-coreboot.rmk: Likewise
13944 * conf/i386-ieee1275.rmk: Likewise
13945
13946 * kern/i386/loader.S: Move multiboot helpers from here...
13947 * loader/i386/multiboot_helper.S: ...moved here
13948 * include/grub/i386/loader.h: Move declarations of multiboot
13949 helpers from here...
13950 * include/grub/i386/multiboot.h: ...moved here
13951 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13952
13953 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13954
13955 * kern/env.c (grub_env_context_open): Added an argument to specify
13956 whether a new context inherits exported variables from current
13957 one. This is useful when making a sandbox to interpret a config
13958 file.
13959 All callers updated.
13960
13961 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13962
13963 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13964
13965 * kern/env.c (grub_env_context_close): Fix memory leaks.
13966
13967 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13968
13969 * normal/main.c (grub_normal_execute): Added an argument
13970 BATCH to specify if an interactive interface should be provided
13971 after reading a config file.
13972 All callers updated.
13973 (read_command_list): Prevent being executed twice.
13974 (read_fs_list): Likewise.
13975
13976 * include/grub/normal.h (grub_normal_execute): Updated the
13977 prototype.
13978
13979 2009-03-22 Pavel Roskin <proski@gno.org>
13980
13981 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13982 _start.
13983 * kern/i386/pc/startup.S: Likewise.
13984 * kern/i386/efi/startup.S: Likewise.
13985 * kern/i386/ieee1275/startup.S: Likewise.
13986 * kern/i386/coreboot/startup.S: Likewise.
13987 * kern/x86_64/efi/startup.S: Likewise.
13988
13989 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13990 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13991 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13992
13993 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13996
13997 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13998 limit detection.
13999 Use vaddr of correct segment for entry_point.
14000
14001 2009-03-21 Bean <bean123ch@gmail.com>
14002
14003 * commands/blocklist.c: Add include file <grub/command.h>, remove
14004 <grub/normal.h> and <grub/arg.h>.
14005 (grub_cmd_blocklist): Use the new command interface.
14006 (GRUB_MOD_INIT): Likewise.
14007 (GRUB_MOD_FINI): Likewise.
14008 * commands/boot.c: Likewise.
14009 * commands/cat.c: Likewise.
14010 * commands/cmp.c: Likewise.
14011 * commands/configfile.c: Likewise.
14012 * commands/crc.c: Likewise.
14013 * commands/echo.c: Likewise.
14014 * commands/halt.c: Likewise.
14015 * commands/handler.c: Likewise.
14016 * commands/hdparm.c: Likewise.
14017 * commands/help.c: Likewise.
14018 * commands/hexdump.c: Likewise.
14019 * commands/loadenv.c: Likewise.
14020 * commands/ls.c: Likewise.
14021 * commands/lsmmap.c: Likewise.
14022 * commands/lspci.c: Likewise.
14023 * commands/loadenv.c: Likewise.
14024 * commands/read.c: Likewise.
14025 * commands/reboot.c: Likewise.
14026 * commands/search.c: Likewise.
14027 * commands/sleep.c: Likewise.
14028 * commands/test.c: Likewise.
14029 * commands/usbtest.c: Likewise.
14030 * commands/videotest.c: Likewise.
14031 * commands/i386/cpuid.c: Likewise.
14032 * commands/i386/pc/halt.c: Likewise.
14033 * commands/i386/pc/play.c: Likewise.
14034 * commands/i386/pc/pxecmd.c: Likewise.
14035 * commands/i386/pc/vbeinfo.c: Likewise.
14036 * commands/i386/pc/vbetest.c: Likewise.
14037 * commands/ieee1275/suspend.c: Likewise.
14038 * disk/loopback.c: Likewise.
14039 * font/font_cmd.c: Likewise.
14040 * hello/hello.c: Likewise.
14041 * loader/efi/appleloader.c: Likewise.
14042 * loader/efi/chainloader.c: Likewise.
14043 * loader/i386/bsd.c: Likewise.
14044 * loader/i386/efi/linux.c: Likewise.
14045 * loader/i386/ieee1275/linux.c: Likewise.
14046 * loader/i386/linux.c: Likewise.
14047 * loader/i386/pc/chainloader.c: Likewise.
14048 * loader/i386/pc/linux.c: Likewise.
14049 * loader/powerpc/ieee1275/linux.c: Likewise.
14050 * loader/multiboot_loader.c: Likewise.
14051 * term/gfxterm.c: Likewise.
14052 * term/i386/pc/serial.c: Likewise.
14053 * term/terminfo.c: Likewise.
14054
14055 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14056 * term/i386/pc/vga.c: Likewise.
14057 * video/readers/jpeg.c: Likewise.
14058 * video/readers/png.c: Likewise.
14059 * video/readers/tga.c: Likewise.
14060
14061 * util/grub-fstest (cmd_loopback): Removed.
14062 (cmd_blocklist): Likewise.
14063 (cmd_ls): Likewise.
14064 (grub_register_command): Likewise.
14065 (grub_unregister_command): Likewise.
14066 (execute_command): Use grub_command_find to locate command and execute
14067 it.
14068
14069 * include/grub/efi/chainloader.h: Removed.
14070 * loader/efi/chainloader_normal.c: Likewise.
14071 * loader/i386/bsd_normal.c: Likewise.
14072 * loader/i386/pc/chainloader_normal.c: Likewise.
14073 * loader/i386/pc/multiboot_normal.c: Likewise.
14074 * loader/linux_normal.c: Likewise.
14075 * loader/multiboot_loader_normal.c: Likewise.
14076 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14077
14078 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14079 and grub_register_command_p1.
14080
14081 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14082 kern/command.c, lib/arg.c and commands/extcmd.c.
14083 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14084 (minicmd_mod_SOURCES): New variable.
14085 (minicmd_mod_CFLAGS): Likewise.
14086 (minicmd_mod_LDFLAGS): Likewise.
14087 (extcmd_mod_SOURCES): Likewise.
14088 (extcmd_mod_CFLAGS): Likewise.
14089 (extcmd_mod_LDFLAGS): Likewise.
14090 (boot_mod_SOURCES): Removed.
14091 (boot_mod_CFLAGS): Likewise.
14092 (boot_mod_LDFLAGS): Likewise.
14093
14094 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14095 kern/corecmd.c.
14096 (kernel_img_HEADERS): Add command.h.
14097 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14098 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14099 and lib/arg.c.
14100 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14101 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14102 remove the corresponding normal mode command.
14103 (normal_mod_SOURCES): Remove normal/arg.c.
14104 * conf/i386-coreboot.rmk: Likewise.
14105 * conf/i386-efi.rmk: Likewise.
14106 * conf/i386-ieee1275.rmk: Likewise.
14107 * conf/powerpc-ieee1275.rmk: Likewise.
14108 * conf/x86_64-efi.rmk: Likewise.
14109
14110 * include/grub/arg.h: Move from here ...
14111 * include/grub/lib/arg.h: ... to here.
14112
14113 * normal/arg.c: Move from here ...
14114 * lib/arg.c: ... to here.
14115
14116 * commands/extcmd.c: New file.
14117 * commands/minicmd.c: Likewise.
14118 * include/grub/command.h: Likewise.
14119 * include/grub/extcmd.h: Likewise.
14120 * kern/command.c: Likewise.
14121 * kern/corecmd.c: Likewise.
14122
14123 * kern/list.c (grub_list_iterate): Return int instead of void.
14124 (grub_list_insert): New function.
14125 (grub_prio_list_insert): Likewise.
14126
14127 * kern/rescue.c (grub_rescue_command): Removed.
14128 (grub_rescue_command_list): Likewise.
14129 (grub_rescue_register_command): Likewise.
14130 (grub_rescue_unregister_command): Likewise.
14131 (grub_rescue_cmd_boot): Move to minicmd.c
14132 (grub_rescue_cmd_help): Likewise.
14133 (grub_rescue_cmd_info): Likewise.
14134 (grub_rescue_cmd_boot): Likewise.
14135 (grub_rescue_cmd_testload): Likewise.
14136 (grub_rescue_cmd_dump): Likewise.
14137 (grub_rescue_cmd_rmmod): Likewise.
14138 (grub_rescue_cmd_lsmod): Likewise.
14139 (grub_rescue_cmd_exit): Likewise.
14140 (grub_rescue_print_devices): Moved to corecmd.c.
14141 (grub_rescue_print_files): Likewise.
14142 (grub_rescue_cmd_ls): Likewise.
14143 (grub_rescue_cmd_insmod): Likewise.
14144 (grub_rescue_cmd_set): Likewise.
14145 (grub_rescue_cmd_unset): Likewise.
14146 (attempt_normal_mode): Use grub_command_find to get normal module.
14147 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14148 commands, remove grub_rescue_register_command calls.
14149
14150 * normal/command.c (grub_register_command): Removed.
14151 (grub_unregister_command): Likewise.
14152 (grub_command_find): Likewise.
14153 (grub_iterate_commands): Likewise.
14154 (rescue_command): Likewise.
14155 (export_command): Moved to corecmd.c.
14156 (set_command): Removed.
14157 (unset_command): Likewise.
14158 (insmod_command): Likewise.
14159 (rmmod_command): Likewise.
14160 (lsmod_command): Likewise.
14161 (grub_command_init): Likewise.
14162
14163 * normal/completion.c (iterate_command): Use cmd->prio to check for
14164 active command.
14165 (complete_arguments): Use grub_extcmd_t structure to find options.
14166 (grub_normal_do_completion): Change function grub_iterate_commands to
14167 grub_command_iterate.
14168
14169 * normal/execute.c (grub_script_execute_cmd): No need to parse
14170 argument here.
14171
14172 * normal/main.c (grub_dyncmd_dispatcher): New function.
14173 (read_command_list): Register unload commands as dyncmd.
14174 (grub_cmd_normal): Use new command interface, register rescue,
14175 unregister normal at entry, register normal, unregister rescue at exit.
14176
14177 * include/grub/list.h (grub_list_test_t): New type.
14178 (grub_list_iterate): Return int instead of void.
14179 (grub_list_insert): New function.
14180 (GRUB_AS_NAMED_LIST_P): New macro.
14181 (GRUB_AS_PRIO_LIST): Likewise.
14182 (GRUB_AS_PRIO_LIST_P): Likewise.
14183 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14184 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14185 (grub_prio_list): New structure.
14186 (grub_prio_list_insert): New function.
14187 (grub_prio_list_remove): New inline function.
14188
14189 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14190 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14191 (GRUB_COMMAND_FLAG_MENU): Likewise.
14192 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14193 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14194 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14195 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14196 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14197 (grub_command): Likewise.
14198 (grub_register_command): Likewise.
14199 (grub_command_find): Likewise.
14200 (grub_iterate_commands): Likewise.
14201 (grub_command_init): Likewise.
14202 (grub_arg_parse): Likewise.
14203 (grub_arg_show_help): Likewise.
14204
14205 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14206 (grub_rescue_unregister_command): Likewise.
14207
14208 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14209 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14210 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14211
14212 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14213 grub_rescue_cmd_initrd.
14214 * include/grub/i386/loader.h: Likewise.
14215 * include/grub/x86_64/loader.h: Likewise.
14216
14217 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14218
14219 2009-03-21 Bean <bean123ch@gmail.com>
14220
14221 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14222 instead of stat in mingw environment.
14223
14224 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14225
14226 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14227
14228 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14229 AC_CONFIG_LINKS.
14230
14231 2009-03-21 Bean <bean123ch@gmail.com>
14232
14233 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14234 out of range error.
14235
14236 2009-03-18 Michel Dänzer <michel@daenzer.net>
14237
14238 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14239 checking inode flags for EXT4_EXTENTS_FLAG.
14240
14241 2009-03-18 Robert Millan <rmh@aybabtu.com>
14242
14243 * loader/i386/linux.c: Include `<grub/video.h>' and
14244 `<grub/i386/pc/vbe.h>'..
14245 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14246 (grub_linux32_boot): Attempt to configure video settings with
14247 grub_linux_setup_video().
14248 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14249 to avoid grub_console_fini() which would step out of graphical mode
14250 unconditionally.
14251
14252 2009-03-14 Robert Millan <rmh@aybabtu.com>
14253
14254 Fix build on powerpc.
14255 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14256
14257 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14260 background image command.
14261
14262 2009-03-12 Colin D Bennett <colin@gibibit.com>
14263
14264 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14265 (grub_gfxterm_putchar): Extract pairs of identical calls to
14266 draw_cursor out of conditional blocks.
14267
14268 2009-03-11 Pavel Roskin <proski@gnu.org>
14269
14270 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14271 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14272
14273 2009-03-11 Robert Millan <rmh@aybabtu.com>
14274
14275 * loader/i386/multiboot_elfxx.c
14276 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14277
14278 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14279
14280 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14281 `kern/handler.c'.
14282
14283 2009-03-11 Robert Millan <rmh@aybabtu.com>
14284
14285 * loader/i386/multiboot.c (code_size): New variable.
14286 (grub_multiboot): Define offsets by adding to `code_size' rather
14287 than subtracting from `grub_multiboot_payload_size'. Provide
14288 4-byte alignment to MBI and others by increasing
14289 `boot_loader_name_length' appropriately.
14290
14291 * loader/i386/multiboot_elfxx.c
14292 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14293
14294 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14295
14296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14297 `fs/ext2.c'.
14298
14299 2009-03-08 Robert Millan <rmh@aybabtu.com>
14300
14301 Make loader/i386/linux.c usable on i386-pc again.
14302
14303 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14304 memory to heap.
14305 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14306 `#error' stanza.
14307
14308 2009-03-07 Bean <bean123ch@gmail.com>
14309
14310 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14311 allocation.
14312
14313 2009-03-06 Robert Millan <rmh@aybabtu.com>
14314
14315 Fix display issue on terminals with screen size other than 80x25
14316 (e.g. gfxterm with resolution higher than 640x480).
14317
14318 * normal/main.c (grub_normal_init_page): Display title text in a
14319 position relative to the center of the terminal instead of relying
14320 on a hardcoded offset.
14321
14322 2009-03-04 Robert Millan <rmh@aybabtu.com>
14323
14324 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14325 installed.
14326
14327 * Makefile.in (host_kernel): New variable.
14328 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14329 scripts instead of just the windows one.
14330 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14331
14332 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14333
14334 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14335 `kern/handler.c'.
14336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14337 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14342
14343 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14344
14345 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14346 or if there's no space for the disk label and print the partition number on a
14347 invalid magic.
14348
14349 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14350
14351 * util/misc.c: Include <time.h>.
14352 (grub_millisleep): New function.
14353
14354 2009-03-04 Bean <bean123ch@gmail.com>
14355
14356 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14357 another option -mno-red-zone.
14358
14359 * commands/handler.c: Change module description.
14360
14361 * kern/handler.c: Add missing space at the end of description line.
14362
14363 * kern/list.c: Likewise.
14364
14365 2009-03-03 Robert Millan <rmh@aybabtu.com>
14366
14367 Move more components to the relocation area, and fix mbi pointer
14368 handling to use the destination rather than the origin (thanks to
14369 Vladimir Serbinenko for spotting).
14370
14371 * loader/i386/multiboot.c (mbi_dest): New variable.
14372 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14373 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14374 relocation area.
14375
14376 2009-03-01 Bean <bean123ch@gmail.com>
14377
14378 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14379 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14380 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14381 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14382
14383 * loader/i386/efi/linux.c (acpi_guid): New variable.
14384 (acpi_guid): Likewise.
14385 (EBDA_SEG_ADDR): New constant.
14386 (LOW_MEM_ADDR): Likewise.
14387 (FAKE_EBDA_SEG): Likewise.
14388 (fake_bios_data): New function.
14389 (grub_linux_boot): Call fake_bios_data.
14390
14391 2009-03-01 Bean <bean123ch@gmail.com>
14392
14393 * commands/terminal.c: Removed.
14394
14395 * commands/handler.c: New file.
14396
14397 * include/grub/list.h: Likewise.
14398
14399 * include/grub/handler.h: Likewise.
14400
14401 * kern/list.c: Likewise.
14402
14403 * kern/handler.c: Likewise.
14404
14405 * kern/term.h: Include header file <grub/handler.h>.
14406 (grub_term_input): Move next field to the beginning.
14407 (grub_term_output): Likewise.
14408 (grub_term_input_class): New variable.
14409 (grub_term_output_class): Likewise.
14410 (grub_term_register_input): Changed to inline function.
14411 (grub_term_register_output): Likewise.
14412 (grub_term_unregister_input): Likewise.
14413 (grub_term_unregister_output): Likewise.
14414 (grub_term_set_current_input): Likewise.
14415 (grub_term_set_current_output): Likewise.
14416 (grub_term_get_current_input): Likewise.
14417 (grub_term_get_current_output): Likewise.
14418 (grub_term_iterate_input): Removed.
14419 (grub_term_iterate_output): Likewise.
14420
14421 * kern/term.c (grub_term_list_input): Removed.
14422 (grub_term_list_output): Likewise.
14423 (grub_term_input_class): New variable.
14424 (grub_term_output_class): Likewise.
14425 (grub_cur_term_input): Change variable as macro.
14426 (grub_cur_term_output): Likewise.
14427 (grub_term_register_input): Removed.
14428 (grub_term_register_output): Likewise.
14429 (grub_term_unregister_input): Likewise.
14430 (grub_term_unregister_output): Likewise.
14431 (grub_term_set_current_input): Likewise.
14432 (grub_term_set_current_output): Likewise.
14433 (grub_term_iterate_input): Likewise.
14434 (grub_term_iterate_output): Likewise.
14435 (grub_term_get_current_input): Likewise.
14436 (grub_term_get_current_output): Likewise.
14437
14438 * util/grub-editenv.c: Include header file <grub/handler.h>.
14439 (grub_term_get_current_input): Removed.
14440 (grub_term_get_current_output): Likewise.
14441 (grub_term_input_class): New variable.
14442 (grub_term_output_class): Likewise.
14443
14444 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14445 (grub_term_get_current_output): Likewise.
14446 (grub_term_input_class): New variable.
14447 (grub_term_output_class): Likewise.
14448
14449 * util/grub-probe.c (grub_term_get_current_input): Removed.
14450 (grub_term_get_current_output): Likewise.
14451 (grub_term_input_class): New variable.
14452 (grub_term_output_class): Likewise.
14453
14454 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14455 (grub_term_get_current_output): Likewise.
14456 (grub_term_input_class): New variable.
14457 (grub_term_output_class): Likewise.
14458
14459 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14460 (terminal_mod_SOURCES): Likewise.
14461 (terminal_mod_CFLAGS): Likewise.
14462 (terminal_mod_LDFLAGS): Likewise.
14463
14464 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14465 handler.c.
14466 (kernel_img_SOURCES): Add list.c and handler.c.
14467 (kernel_img_HEADERS): Add list.h and handler.h.
14468
14469 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14470 handler.c.
14471 (kernel_mod_SOURCES): Add list.c and handler.c.
14472 (kernel_mod_HEADERS): Add list.h and handler.h.
14473
14474 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14475 handler.c.
14476 (kernel_elf_SOURCES): Add list.c and handler.c.
14477 (kernel_elf_HEADERS): Add list.h and handler.h.
14478
14479 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14480 handler.c.
14481 (kernel_elf_SOURCES): Add list.c and handler.c.
14482 (kernel_elf_HEADERS): Add list.h and handler.h.
14483
14484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14485 handler.c.
14486 (kernel_mod_SOURCES): Add list.c and handler.c.
14487 (kernel_mod_HEADERS): Add list.h and handler.h.
14488
14489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14490 handler.c.
14491 (kernel_elf_SOURCES): Add list.c and handler.c.
14492 (kernel_elf_HEADERS): Add list.h and handler.h.
14493
14494 2009-02-27 Robert Millan <rmh@aybabtu.com>
14495
14496 Factorize elf32 / elf64 code in Multiboot loader. This will
14497 prevent it from getting out of sync again.
14498
14499 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14500 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14501 grub_multiboot_load_elf64): Move from here ...
14502 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14503 grub_multiboot_load_elf): ... to here (new file).
14504
14505 2009-02-27 Robert Millan <rmh@aybabtu.com>
14506
14507 * util/grub.d/10_linux.in: Rename "single-user mode" to
14508 "recovery mode".
14509
14510 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 Don't leak in SCSI code.
14513 * disk/scsi.c (grub_scsi_close): free `scsi'.
14514
14515 2009-02-27 Robert Millan <rmh@aybabtu.com>
14516
14517 * loader/i386/pc/multiboot.c: Move from here ...
14518 * loader/i386/multiboot.c: ... to here. Update all users.
14519
14520 2009-02-27 Robert Millan <rmh@aybabtu.com>
14521
14522 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14523 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14524
14525 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14526
14527 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14528 b-tree.
14529
14530 2009-02-27 Robert Millan <rmh@aybabtu.com>
14531
14532 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14533 `0x' qualifier as 0 when base is specified as parameter).
14534
14535 2009-02-24 Bean <bean123ch@gmail.com>
14536
14537 * configure.ac: Check for -mcmodel=large in x86_64 target.
14538
14539 * include/grub/efi/api.h (efi_call_10): New macro.
14540 (efi_wrap_10): New function.
14541
14542 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14543 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14544 (GRUB_PE32_REL_BASED_LOW): Likewise.
14545 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14546 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14547 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14548 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14549 (GRUB_PE32_REL_BASED_REL): Likewise.
14550 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14551 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14552 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14553
14554 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14555 issue.
14556
14557 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14558 (efi_wrap_10): New function.
14559
14560 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14561
14562 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14563 MB/MBP model (NV chipset).
14564 (devdata_devs): Add devpath_5 to the list.
14565
14566 * load/i386/efi/linux.c (video_base): Remove variable.
14567 (RGB_MASK): New macro.
14568 (RGB_MAGIC): Likewise.
14569 (LINE_MIN): Likewise.
14570 (LINE_MAX): Likewise.
14571 (FBTEST_STEP): Likewise.
14572 (FBTEST_COUNT): Likewise.
14573 (fb_list): New variable.
14574 (grub_find_video_card): Remove function.
14575 (find_framebuf): New function.
14576 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14577 line length.
14578
14579 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14580 problem for x86_64.
14581
14582 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14583
14584 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14585
14586 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14587 coding tool name.
14588
14589 2009-02-22 Robert Millan <rmh@aybabtu.com>
14590
14591 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14592 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14593 in our relocation, instead of using it directly from heap. Also
14594 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14595
14596 2009-02-21 Robert Millan <rmh@aybabtu.com>
14597
14598 Implement USB keyboard support (based on patch by Marco Gerards)
14599
14600 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14601 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14602 (usb_keyboard_mod_LDFLAGS): New variables.
14603
14604 * term/usb_keyboard.c: New file.
14605
14606 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 Corrected wrong declaration
14609
14610 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14611
14612 2009-02-14 Christian Franke <franke@computer.org>
14613
14614 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14615 (grub_lspci_iter): Print class code and programming interface byte.
14616
14617 2009-02-14 Christian Franke <franke@computer.org>
14618
14619 * gendistlist.sh: Ignore `.svn' directories.
14620
14621 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14622
14623 * fs/fat.c: Add 2009 to Copyright line.
14624
14625 2009-02-14 Christian Franke <franke@computer.org>
14626
14627 * commands/hdparm.c: New file. Provides `hdparm' command
14628 which sends ATA commands via grub_disk_ata_pass_through ().
14629
14630 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14631
14632 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14633 and <grub/cpu/io.h> to include/grub/ata.h.
14634 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14635 (GRUB_CDROM_SECTOR_SIZE): Remove.
14636 (GRUB_ATA_*): Move to include/grub/ata.h.
14637 (GRUB_ATAPI_*): Likewise.
14638 (enum grub_ata_commands): Likewise.
14639 (enum grub_ata_timeout_milliseconds): Likewise.
14640 (struct grub_ata_device): Likewise.
14641 (grub_ata_regset): Likewise.
14642 (grub_ata_regget): Likewise.
14643 (grub_ata_regset2): Likewise.
14644 (grub_ata_regget2): Likewise.
14645 (grub_ata_check_ready): Likewise.
14646 (grub_ata_wait_not_busy): Remove static, exported in
14647 include/grub/ata.h.
14648 (grub_ata_wait_drq): Likewise.
14649 (grub_ata_pio_read): Likewise.
14650
14651 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14652 function for hdparm.mod.
14653
14654 * include/grub/ata.h: New file, contains declarations from
14655 disk/ata.c.
14656 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14657
14658 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14659 (grub_disk_ata_pass_through): New exported variable.
14660
14661 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14662
14663 2009-02-13 Colin D Bennett <colin@gibibit.com>
14664
14665 Support multiple fallback entries, and provide an API to support
14666 executing default+fallback menu entries. Renamed the `terminal' menu
14667 viewer to `text'.
14668
14669 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14670 variable declaration.
14671 (grub_menu_execute_callback): New structure declaration.
14672 (grub_menu_execute_callback_t): New typedef.
14673 (grub_menu_execute_with_fallback): New function declaration.
14674 (grub_menu_get_entry): Likewise.
14675 (grub_menu_get_timeout): Likewise.
14676 (grub_menu_set_timeout): Likewise.
14677
14678 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14679
14680 * normal/menu.c (grub_wait_after_message): Moved to
14681 `normal/menu_text.c'.
14682 (draw_border): Likewise.
14683 (print_message): Likewise.
14684 (print_entry): Likewise.
14685 (print_entries): Likewise.
14686 (grub_menu_init_page): Likewise.
14687 (get_entry_number): Likewise.
14688 (print_timeout): Likewise.
14689 (run_menu): Likewise.
14690 (grub_menu_execute_entry): Likewise.
14691 (show_text_menu): Likewise.
14692 (get_and_remove_first_entry_number): New function.
14693 (grub_menu_execute_with_fallback): Likewise.
14694 (get_entry): Renamed to ...
14695 (grub_menu_get_entry): .. this and made it global.
14696 (get_timeout): Renamed to ...
14697 (grub_menu_get_timeout): ... this and made it global.
14698 (set_timeout): Renamed to ...
14699 (grub_menu_set_timeout): ... this and made it global.
14700 (grub_normal_terminal_menu_viewer): Renamed to ...
14701 (grub_normal_text_menu_viewer): ... this.
14702
14703 * normal/menu_text.c: New file. Extracted text-menu-specific code
14704 from normal/menu.c.
14705
14706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14707 (normal_mod_SOURCES): Likewise.
14708
14709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14710 (normal_mod_SOURCES): Likewise.
14711
14712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14713 (normal_mod_SOURCES): Likewise.
14714
14715 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14716 (normal_mod_SOURCES): Likewise.
14717
14718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14719 (normal_mod_SOURCES): Likewise.
14720
14721 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14722 (normal_mod_SOURCES): Likewise.
14723
14724 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14725 (normal_mod_SOURCES): Likewise.
14726
14727 2009-02-11 Robert Millan <rmh@aybabtu.com>
14728
14729 * util/grub.d/00_header.in: Update old reference to `font' command.
14730
14731 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14732
14733 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14734
14735 Based on patch from Javier Martín.
14736
14737 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14738
14739 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14740 to avoid false positives with FAT.
14741 (grub_fstest_SOURCES): Likewise.
14742 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14743 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14745 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14747 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14748
14749 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14750
14751 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14752 bpb.version_specific.fat12_or_fat16.fstype and
14753 bpb.version_specific.fat32.fstype.
14754
14755 2009-02-08 Robert Millan <rmh@aybabtu.com>
14756
14757 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14758
14759 2009-02-08 Robert Millan <rmh@aybabtu.com>
14760
14761 * Makefile.in (host_os, host_cpu): New variables.
14762 (target_os): Remove. Update all users.
14763
14764 2009-02-08 Marco Gerards <marco@gnu.org>
14765
14766 * Makefile.in (enable_grub_emu_usb): New variable.
14767 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14768 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14769 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14770 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14771 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14772 `usbtest.mod' and `usbms.mod'.
14773 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14774 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14775 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14776 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14777 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14778 variables.
14779
14780 * disk/usbms.c: New file.
14781
14782 * include/grub/usb.h: Likewise.
14783
14784 * include/grub/usbtrans.h: Likewise.
14785
14786 * include/grub/usbdesc.h: Likewise.
14787
14788 * bus/usb/usbtrans.c: Likewise.
14789
14790 * bus/usb/ohci.c: Likewise.
14791
14792 * bus/usb/uhci.c: Likewise.
14793
14794 * bus/usb/usbhub.c: Likewise.
14795
14796 * bus/usb/usb.c: Likewise.
14797
14798 * commands/usbtest.c: Likewise.
14799
14800 * util/usb.c: Likewise.
14801
14802 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14803
14804 * configure.ac: Test for libusb presence.
14805
14806 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14807
14808 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14809
14810 * kern/mm.c: Add more comments.
14811
14812 2009-02-08 Robert Millan <rmh@aybabtu.com>
14813
14814 Patch from Javier Martín.
14815 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14816 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14817
14818 2009-02-08 Robert Millan <rmh@aybabtu.com>
14819
14820 * fs/cpio.c: Split tar functionality to ...
14821 * fs/tar.c: ... here (new file). Update all users.
14822
14823 2009-02-07 Robert Millan <rmh@aybabtu.com>
14824
14825 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14826 backward-incompatible features.
14827
14828 Based on patch from Javier Martín, with some adjustments.
14829
14830 2009-02-07 Michael Scherer <misc@mandriva.org>
14831
14832 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14833
14834 2009-02-07 Robert Millan <rmh@aybabtu.com>
14835
14836 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14837 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14838 after the RAID stuff.
14839
14840 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14841
14842 Fixes problem when running vbetest command as reported by
14843 Vladimir Serbinenko <phcoder@gmail.com>.
14844
14845 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14846
14847 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14848
14849 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14850 /dev/md/NpN style mdraid devices.
14851
14852 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14853
14854 * util/unifont2pff.rb: Remove.
14855
14856 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14857
14858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14859 `#'.
14860
14861 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14862
14863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14864 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14865 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14870
14871 2009-02-02 Christian Franke <franke@computer.org>
14872
14873 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14874
14875 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14876
14877 * INSTALL: Note that we now require at least autoconf 2.59 and
14878 that LZO is optional.
14879
14880 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14881
14882 Base on patch on bug #24154 created by Tomas Tintera
14883 <trosos@seznam.cz>.
14884
14885 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14886
14887 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14888
14889 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14890 <bero@arklinux.org>.
14891
14892 * normal/parser.y (script_init): Add missing semicolon.
14893
14894 2009-01-31 Colin D Bennett <colin@gibibit.com>
14895
14896 * normal/main.c: Add include to grub/menu_viewer.h.
14897 (free_menu_entry_classes): Added.
14898 (grub_normal_menu_addentry): Added class property handling.
14899 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14900 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14901
14902 * normal/menu_viewer.c: New file.
14903
14904 * normal/menu.c (run_menu_entry): Renamed to ...
14905 (grub_menu_execute_entry): ... this and made it as global.
14906 (grub_menu_run): Renamed to ...
14907 (show_text_menu): ... this and made it local.
14908 (show_text_menu): Adapt to new function names.
14909 (grub_normal_terminal_menu_viewer): New global variable.
14910
14911 * include/grub/menu.h: New file.
14912
14913 * include/grub/menu_viewer.h: New file.
14914
14915 * include/grub/normal.h: Added include to grub/menu.h.
14916 (grub_menu_entry): Moved to include/grub/menu.h.
14917 (grub_menu_entry_t): Likewise.
14918 (grub_menu): Likewise.
14919 (grub_menu_t): Likewise.
14920 (grub_normal_terminal_menu_viewer): Added.
14921 (grub_menu_execute_entry): Likewise.
14922 (grub_menu_run): Removed.
14923
14924 * DISTLIST: Added include/grub/menu.h.
14925 Added include/grub/menu_viewer.h.
14926 Added normal/menu_viewer.c.
14927
14928 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14929
14930 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14931 arglist for menutitle arguments.
14932
14933 * normal/main.c (grub_normal_menu_addentry): Likewise.
14934
14935 * normal/parser.y (menuentry): Likewise.
14936
14937 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14938
14939 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14940 (grub_script_create_cmdmenu): Likewise.
14941
14942 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14943
14944 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14945 changes.
14946
14947 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14948
14949 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14950
14951 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14952
14953 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14954
14955 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14956
14957 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14958
14959 2009-01-30 Christian Franke <franke@computer.org>
14960
14961 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14962 in option help text.
14963
14964 2009-01-27 Pavel Roskin <proski@gnu.org>
14965
14966 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14967
14968 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14969
14970 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14971
14972 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14973
14974 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14975 unregister function.
14976
14977 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14978
14979 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14980
14981 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14982
14983 * util/grub-mkfont.c (usage): Fix typo.
14984
14985 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14986
14987 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14988
14989 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14990
14991 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14992
14993 * kern/misc.c (grub_strcasecmp): New function.
14994 (grub_strcasecmp): Use grub_size_t instead of int for length.
14995 Fix return value.
14996 * include/grub/misc.h: Update function prototypes.
14997
14998 2009-01-26 Robert Millan <rmh@aybabtu.com>
14999
15000 * configure.ac: Fix cross-compilation check.
15001
15002 2009-01-22 Christian Franke <franke@computer.org>
15003
15004 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15005 (precision) digit string. Allow `.format2' without `format1' (width).
15006 Limit input chars for `%s' output to `format2' if specified. This is
15007 compatible with standard printf ().
15008
15009 2009-01-22 Christian Franke <franke@computer.org>
15010
15011 * disk/ata.c (grub_ata_wait_status): Replace by ...
15012 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15013 other status bits may be invalid while BSY is asserted.
15014 (grub_ata_check_ready): New function.
15015 (grub_ata_cmd): Removed.
15016 (grub_ata_wait_drq): New function.
15017 (grub_ata_strncpy): Remove inline.
15018 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15019 and error check now done by grub_ata_wait_drq ().
15020 (grub_ata_pio_write): Likewise.
15021 (grub_atapi_identify): Set DEV before check for !BSY. Use
15022 grub_ata_wait_drq () to wait for data.
15023 (grub_ata_device_initialize): Add status register check to
15024 detect missing SATA slave devices. Add debug messages.
15025 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15026 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15027 transfer loop by grub_ata_pio_write ().
15028 (grub_ata_identify): Set DEV before check for !BSY. Use
15029 grub_ata_wait_drq () to wait for data.
15030 (grub_ata_setaddress): Set DEV before check for !BSY.
15031 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15032 read/write in one loop. Fix invalid command on write. Fix incomplete
15033 command on (size % batch) == 0. Add missing error check after write of
15034 last block. Add debug messages.
15035 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15036
15037 2009-01-19 Christian Franke <franke@computer.org>
15038
15039 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15040 (GRUB_ATAPI_IREASON_*): Likewise.
15041 (grub_ata_pio_write): Fix timeout error return.
15042 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15043 (grub_atapi_wait_drq): New function.
15044 (grub_atapi_packet): New parameter `size'.
15045 Use grub_atapi_wait_drq () and direct write instead of
15046 grub_ata_pio_write ().
15047 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15048 reads the number of bytes requested by the device for each DRQ
15049 assertion.
15050 (grub_atapi_write): Remove old implementation, return not
15051 implemented instead.
15052
15053 2009-01-19 Christian Franke <franke@computer.org>
15054
15055 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15056 of 512 to calculate data size.
15057 (grub_scsi_read12): Likewise.
15058 (grub_scsi_write10): Likewise.
15059 (grub_scsi_write12): Likewise.
15060 (grub_scsi_read): Adjust size according to blocksize.
15061 Add checks for invalid blocksize and unaligned transfer.
15062
15063 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15064
15065 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15066
15067 * term/gfxterm.c (write_char): Fix background rendering for wide
15068 width glyphs.
15069
15070 2009-01-19 Robert Millan <rmh@aybabtu.com>
15071
15072 * config.guess: Update to latest version from config git.
15073 * config.sub: Likewise.
15074
15075 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
15076
15077 * Makefile.in: Change font compilation to use new grub-mkfont instead
15078 of java version.
15079
15080 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15081 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15082 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15083 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15084 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15085 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15086 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15087 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15088 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15089
15090 2009-01-16 Christian Franke <franke@computer.org>
15091
15092 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15093 (enum grub_ata_timeout_milliseconds): New enum.
15094 (grub_ata_wait_status): Add parameter milliseconds.
15095 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15096 recovery from timed-out commands.
15097 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15098 return grub_errno instead of REG_ERROR.
15099 (grub_ata_pio_write): Add parameter milliseconds.
15100 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15101 Pass milliseconds to grub_ata_wait_status () and
15102 grub_ata_pio_read ().
15103 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15104 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15105 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15106 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15107 It is not suitable for device detection, because DEV bit is ignored,
15108 the command may run too long, and not all devices set the signature
15109 properly.
15110 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15111 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15112 Fix device selection, DEV bit must be set first to address the registers
15113 of the correct device.
15114 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15115 grub_ata_pio_read/write ().
15116 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15117 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15118
15119 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15120
15121 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15122
15123 2009-01-13 Bean <bean123ch@gmail.com>
15124
15125 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15126
15127 2009-01-13 Bean <bean123ch@gmail.com>
15128
15129 * Makefile.in: (enable_grub_mkfont): New variable.
15130 (freetype_cflags): Likewise.
15131 (freetype_libs): Likewise.
15132
15133 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15134 (grub_mkfont_SOURCES): New variable.
15135 (grub_mkfont_CFLAGS): Likewise.
15136 (grub_mkfont_LDFLAGS): Likewise.
15137
15138 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15139 library if `--enable-grub-mkfont' is requested.
15140 (enable_grub_mkfont): New variable.
15141 (freetype_cflags): Likewise.
15142 (freetype_libs): Likewise.
15143
15144 * util/grub-mkfont.c: New file.
15145
15146 2009-01-12 Christian Franke <franke@computer.org>
15147
15148 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15149 mode check. Fix setting of compat_use[].
15150
15151 2009-01-10 Robert Millan <rmh@aybabtu.com>
15152
15153 Update a few copyright years which we forgot to do in 2008 (only for
15154 files whose changes made in 2008 were copyright-significant)
15155
15156 * Makefile.in: Add 2008 to Copyright line.
15157 * disk/ieee1275/ofdisk.c: Likewise.
15158 * disk/efi/efidisk.c: Likewise.
15159 * kern/dl.c: Likewise.
15160 * kern/sparc64/ieee1275/init.c: Likewise.
15161 * kern/mm.c: Likewise.
15162 * kern/efi/mm.c: Likewise.
15163 * boot/i386/pc/boot.S: Likewise.
15164 * genfslist.sh: Likewise.
15165 * fs/iso9660.c: Likewise.
15166 * fs/hfs.c: Likewise.
15167 * fs/jfs.c: Likewise.
15168 * fs/minix.c: Likewise.
15169 * fs/ufs.c: Likewise.
15170 * gensymlist.sh.in: Likewise.
15171 * genkernsyms.sh.in: Likewise.
15172 * include/grub/misc.h: Likewise.
15173 * include/grub/types.h: Likewise.
15174 * include/grub/symbol.h: Likewise.
15175 * include/grub/elf.h: Likewise.
15176 * include/grub/kernel.h: Likewise.
15177 * include/grub/disk.h: Likewise.
15178 * include/grub/dl.h: Likewise.
15179 * include/grub/i386/linux.h: Likewise.
15180 * include/grub/i386/pc/biosdisk.h: Likewise.
15181 * include/grub/efi/api.h: Likewise.
15182 * include/grub/efi/pe32.h: Likewise.
15183 * include/grub/util/misc.h: Likewise.
15184 * normal/execute.c: Likewise.
15185 * normal/arg.c: Likewise.
15186 * normal/completion.c: Likewise.
15187 * normal/lexer.c: Likewise.
15188 * normal/parser.y: Likewise.
15189 * normal/misc.c: Likewise.
15190 * commands/i386/pc/vbeinfo.c: Likewise.
15191 * commands/hexdump.c: Likewise.
15192 * commands/terminal.c: Likewise.
15193 * commands/ls.c: Likewise.
15194 * commands/help.c: Likewise.
15195 * partmap/pc.c: Likewise.
15196 * loader/efi/chainloader.c: Likewise.
15197 * loader/multiboot_loader.c: Likewise.
15198 * loader/i386/pc/multiboot2.c: Likewise.
15199 * term/efi/console.c: Likewise.
15200 * term/i386/pc/serial.c: Likewise.
15201 * util/lvm.c: Likewise.
15202 * util/console.c: Likewise.
15203 * util/i386/efi/grub-mkimage.c: Likewise.
15204 * util/raid.c: Likewise.
15205
15206 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15207
15208 * commands/videotest.c: Removed include to grub/machine/memory.h.
15209
15210 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15211 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15212 (video_mod_SOURCES): Removed.
15213 (video_mod_CFLAGS): Likewise.
15214 (video_mod_LDFLAGS): Likewise.
15215 (gfxterm_mod_SOURCES): Likewise.
15216 (gfxterm_mod_CFLAGS): Likewise.
15217 (gfxterm_mod_LDFLAGS): Likewise.
15218 (videotest_mod_SOURCES): Likewise.
15219 (videotest_mod_CFLAGS): Likewise.
15220 (videotest_mod_LDFLAGS): Likewise.
15221 (bitmap_mod_SOURCES): Likewise.
15222 (bitmap_mod_CFLAGS): Likewise.
15223 (bitmap_mod_LDFLAGS): Likewise.
15224 (tga_mod_SOURCES): Likewise.
15225 (tga_mod_CFLAGS): Likewise.
15226 (tga_mod_LDFLAGS): Likewise.
15227 (jpeg_mod_SOURCES): Likewise.
15228 (jpeg_mod_CFLAGS): Likewise.
15229 (jpeg_mod_LDFLAGS): Likewise.
15230 (png_mod_SOURCES): Likewise.
15231 (png_mod_CFLAGS): Likewise.
15232 (png_mod_LDFLAGS): Likewise.
15233
15234 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15235 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15236 (video_mod_SOURCES): Added.
15237 (video_mod_CFLAGS): Likewise.
15238 (video_mod_LDFLAGS): Likewise.
15239 (videotest_mod_SOURCES): Likewise.
15240 (videotest_mod_CFLAGS): Likewise.
15241 (videotest_mod_LDFLAGS): Likewise.
15242 (bitmap_mod_SOURCES): Likewise.
15243 (bitmap_mod_CFLAGS): Likewise.
15244 (bitmap_mod_LDFLAGS): Likewise.
15245 (tga_mod_SOURCES): Likewise.
15246 (tga_mod_CFLAGS): Likewise.
15247 (tga_mod_LDFLAGS): Likewise.
15248 (jpeg_mod_SOURCES): Likewise.
15249 (jpeg_mod_CFLAGS): Likewise.
15250 (jpeg_mod_LDFLAGS): Likewise.
15251 (png_mod_SOURCES): Likewise.
15252 (png_mod_CFLAGS): Likewise.
15253 (png_mod_LDFLAGS): Likewise.
15254 (gfxterm_mod_SOURCES): Likewise.
15255 (gfxterm_mod_CFLAGS): Likewise.
15256 (gfxterm_mod_LDFLAGS): Likewise.
15257
15258 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15259 grub/machine/console.h.
15260
15261 2009-01-04 Jerone Young <jerone@gmail.com>
15262
15263 Make on screen instructions clearer
15264
15265 Based on patch created by Jidanni <jidanni@jidanni.org>
15266
15267 * normal/menu.c: print clearer instructions on the screen
15268
15269 2009-01-02 Colin D Bennett <colin@gibibit.com>
15270
15271 New font engine.
15272
15273 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15274 build system and fixed gfxterm.c to work with different sized fonts.
15275
15276 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15277
15278 * configure: Re-generated.
15279
15280 * DISTLIST: Removed font/manager.c.
15281 Added font/font.c.
15282 Added font/font_cmd.c.
15283
15284 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15285 compilation.
15286
15287 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15288
15289 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15290
15291 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15292
15293 * normal/menu.c: Likewise.
15294
15295 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15296 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15297
15298 * include/grub/font.h: Replaced with new file.
15299
15300 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15301 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15302 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15303 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15304 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15305 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15306 fg_red, fg_green, fg_blue, fg_alpha.
15307 (grub_video_adapter): Removed blit_glyph.
15308 (grub_video_blit_glyph): Removed.
15309
15310 * font/manager.c: Removed file.
15311
15312 * font/font.c: New file.
15313
15314 * font/font_cmd.c: Likewise.
15315
15316 * video/video.c (grub_video_blit_glyph): Removed.
15317
15318 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15319 (grub_video_vbe_map_rgba): Likewise.
15320 (grub_video_vbe_unmap_color_int): Likewise.
15321 (grub_video_vbe_blit_glyph): Removed.
15322 (grub_video_vbe_adapter): Removed blit_glyph.
15323
15324 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15325 (get_pixel): Likewise.
15326 (set_pixel): Likewise.
15327
15328 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15329
15330 * term/gfxterm.c: Adapted to new font engine.
15331
15332 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15333
15334 * term/i386/pc/vga.c: Likewise.
15335
15336 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15337
15338 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15339
15340 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15341
15342 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15343
15344 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15345
15346 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15347
15348 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15349
15350 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15351
15352 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15353
15354 * util/grub.d/00_header.in: Changed to use new loadfont command.
15355
15356 * util/grub-mkconfig_lib.in: Changed font extension.
15357
15358 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15359
15360 * util/getroot.c (grub_util_get_grub_dev): Add support for
15361 /dev/md/dNNpNN style partitionable mdraid devices.
15362
15363 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15364
15365 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15366 at a time limit of the PXE TFTP API correctly.
15367 (grub_pxefs_close): Likewise.
15368
15369 2008-11-29 Robert Millan <rmh@aybabtu.com>
15370
15371 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15372 grub_ata_device_initialize() calls.
15373
15374 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15375
15376 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15377 iteration failed.
15378 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15379
15380 2008-11-28 Robert Millan <rmh@aybabtu.com>
15381
15382 Fix build on powerpc-ieee1275. Based on patch created by
15383 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15384 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15385 `kern/ieee1275/mmap.c'.
15386 * include/grub/powerpc/ieee1275/memory.h: New file.
15387
15388 Provide grub-install on coreboot.
15389 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15390 (grub_install_SOURCES): New variable.
15391 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15392 usable on coreboot.
15393
15394 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15395
15396 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15397 to `grub_term_input_t'.
15398 (grub_term_get_current_output): Change return type to
15399 `grub_term_output_t'.
15400
15401 2008-11-22 Robert Millan <rmh@aybabtu.com>
15402
15403 Fix breakage on coreboot due to declaration mismatch.
15404 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15405 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15406 grub_vga_text_cls().
15407
15408 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15409 comments. Avoid copying one more byte than necessary (just in case).
15410
15411 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15412 to 0x200000 (avoids trouble with some OFW implementations, and matches
15413 with the one in Yaboot).
15414 Reported by Manoel Abranches
15415
15416 2008-11-20 Robert Millan <rmh@aybabtu.com>
15417
15418 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15419 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15420
15421 * util/grub-mkconfig_lib.in (grub_warn): New function.
15422 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15423 warnings, to obtain consistent formatting.
15424 * util/grub.d/00_header.in: Likewise.
15425 * util/update-grub_lib.in: Likewise.
15426
15427 * loader/i386/linux.c (allocate_pages): Fix a warning.
15428 Move comment text to `#error' stanza.
15429
15430 Harmonize ieee1275's grub_available_iterate() with the generic
15431 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15432 build problem on i386-ieee1275):
15433 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15434 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15435 parameter `type'. Update all users of this function.
15436 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15437 `kern/ieee1275/mmap.c'.
15438 * kern/ieee1275/init.c
15439 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15440 with ...
15441 (grub_machine_mmap_iterate): ... this.
15442 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15443 return type to `grub_err_t'. Update all implementations of this
15444 function prototype.
15445 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15446 Likewise.
15447
15448 Add `lsmmap' command (lists firmware-provided memory map):
15449 * commands/lsmmap.c: New file.
15450 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15451 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15452 variables.
15453 * conf/powerpc-ieee1275.rmk: Likewise.
15454 * conf/i386-coreboot.rmk: Likewise.
15455 * conf/i386-ieee1275.rmk: Likewise.
15456
15457 2008-11-19 Robert Millan <rmh@aybabtu.com>
15458
15459 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15460 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15461 constraints to initrd allocation (based on code from
15462 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15463 for Linux to find it.
15464
15465 2008-11-14 Robert Millan <rmh@aybabtu.com>
15466
15467 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15468 order to cope with duplicate slashes.
15469
15470 2008-11-14 Robert Millan <rmh@aybabtu.com>
15471
15472 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15473 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15474 don't want to mess with lower memory, because it is used in the Linux
15475 loader.
15476
15477 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15478 an appropriate place in lower memory, between 0x10000 and 0x90000,
15479 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15480 is in our heap (probably as a result of it being corrupted during
15481 decompression). Add #error instance with comment to explain why this
15482 loader isn't currently usable on PC/BIOS.
15483
15484 2008-11-14 Robert Millan <rmh@aybabtu.com>
15485
15486 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15487 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15488
15489 2008-11-12 Robert Millan <rmh@aybabtu.com>
15490
15491 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15492
15493 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15494 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15495 from here ...
15496 * include/grub/i386/pc/memory.h: ... to here.
15497
15498 2008-11-12 Robert Millan <rmh@aybabtu.com>
15499
15500 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15501 split).
15502
15503 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15504 (grub_console_cur_color, grub_console_real_putchar)
15505 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15506 (grub_console_setcolorstate, grub_console_setcolor)
15507 (grub_console_getcolor): Move from here ...
15508 * include/grub/i386/vga_common.h: ... to here (new file).
15509
15510 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15511 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15512 `<grub/i386/io.h>'.
15513 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15514 `<grub/i386/vga_common.h>'.
15515
15516 2008-11-12 Robert Millan <rmh@aybabtu.com>
15517
15518 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15519 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15520 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15521 variables.
15522 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15523 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15524
15525 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15526 grub_console_init() with call to grub_vga_text_init().
15527 (grub_machine_fini): Replace call to
15528 grub_console_fini() with call to grub_vga_text_fini() and
15529 grub_at_keyboard_fini().
15530
15531 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15532 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15533 (grub_console_setcolorstate, grub_console_setcolor)
15534 (grub_console_getcolor): New function prototypes.
15535
15536 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15537 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15538 (grub_vga_text_setcursor): Static-ize.
15539 (grub_vga_text_term): New structure.
15540 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15541
15542 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15543 (grub_console_cur_color, grub_console_standard_color)
15544 (grub_console_normal_color, grub_console_highlight_color)
15545 (map_char, grub_console_putchar, grub_console_getcharwidth)
15546 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15547 (grub_console_getcolor): Move from here ...
15548 * term/i386/vga_common.c: ... to here (same function names).
15549
15550 2008-11-12 Robert Millan <rmh@aybabtu.com>
15551
15552 Use newly-added Multiboot support in coreboot.
15553
15554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15555 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15556
15557 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15558 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15559 (codestart): Store the MBI in `startup_multiboot_info' when we're
15560 being loaded using Multiboot.
15561
15562 * kern/i386/coreboot/init.c (grub_machine_init): Move
15563 grub_at_keyboard_init() call to beginning of function (useful for
15564 debugging). Call grub_machine_mmap_init() before attempting to use
15565 grub_machine_mmap_iterate().
15566 (grub_lower_mem, grub_upper_mem): Move from here ...
15567 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15568 here (new file).
15569
15570 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15571 function prototype.
15572
15573 2008-11-12 Robert Millan <rmh@aybabtu.com>
15574
15575 Fix a regression introduced by the at_keyboard.mod split. Because
15576 some terminals are default on some platforms and non-default on
15577 others, the first terminal being registered determines which is
15578 going to be default.
15579
15580 * kern/term.c (grub_term_register_input): If this is the first
15581 terminal being registered, set it as the current one.
15582 (grub_term_register_output): Likewise.
15583
15584 * term/efi/console.c (grub_console_init): Do not call
15585 grub_term_set_current_output() or grub_term_set_current_input().
15586 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15587 * term/i386/pc/console.c (grub_console_init): Likewise.
15588 (grub_console_fini): Do not call grub_term_set_current_input()
15589 (but leave grub_term_set_current_output() to restore text mode).
15590
15591 2008-11-10 Robert Millan <rmh@aybabtu.com>
15592
15593 * util/grub.d/00_header.in: Add backward compatibility check for
15594 versions of terminal.mod that don't understand `terminal_input' or
15595 `terminal_output'.
15596
15597 2008-11-09 Robert Millan <rmh@aybabtu.com>
15598
15599 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15600 `terminal_input' / `terminal_output', not `terminal'.
15601
15602 2008-11-08 Robert Millan <rmh@aybabtu.com>
15603
15604 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15605 (DISTCLEANFILES): Add `build_env.mk'.
15606
15607 2008-11-08 Robert Millan <rmh@aybabtu.com>
15608
15609 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15610 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15611 members. Update all users.
15612 * util/console.c (grub_ncurses_term): Split in ...
15613 (grub_ncurses_term_input): ... this, and ...
15614 (grub_ncurses_term_output): ... this. Update all users.
15615 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15616
15617 2008-11-08 Robert Millan <rmh@aybabtu.com>
15618
15619 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15620 (PKGDATA): Add $(pkgdata_SRCDIR).
15621 (pkglib_BUILDDIR): New variable.
15622 (pkgdata_SRCDIR): New variable.
15623 (build_env.mk): New target.
15624 (include_DATA): New variable.
15625 (install-local): Install $(include_DATA) files in $(includedir).
15626
15627 2008-11-07 Pavel Roskin <proski@gnu.org>
15628
15629 * gendistlist.sh: Use C locale for sorting to ensure consistent
15630 output on all systems.
15631
15632 * util/grub.d/00_header.in: Remove incorrect space before
15633 "serial".
15634
15635 2008-11-07 Robert Millan <rmh@aybabtu.com>
15636
15637 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15638 per specification.
15639 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15640 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15641 (based on find_multi_boot1_header).
15642 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15643 using find_multi_boot2_header(), and abort if neither Multiboot or
15644 Multiboot headers were found.
15645
15646 2008-11-07 Robert Millan <rmh@aybabtu.com>
15647
15648 Modularize at_keyboard.mod:
15649
15650 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15651 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15652 (at_keyboard_mod_LDFLAGS): New variables.
15653
15654 Actual terminal split:
15655
15656 * include/grub/term.h (struct grub_term): Split in ...
15657 (struct grub_term_input): ... this, and ...
15658 (struct grub_term_output): ... this. Update all users.
15659 (grub_term_set_current): Split in ...
15660 (grub_term_set_current_input): ... this, and ...
15661 (grub_term_set_current_output): ... this.
15662 (grub_term_get_current): Split in ...
15663 (grub_term_get_current_input): ... this, and ...
15664 (grub_term_get_current_output): ... this.
15665 (grub_term_register): Split in ...
15666 (grub_term_register_input): ... this, and ...
15667 (grub_term_register_output): ... this.
15668 (grub_term_unregister): Split in ...
15669 (grub_term_unregister_input): ... this, and ...
15670 (grub_term_unregister_output): ... this.
15671 (grub_term_iterate): Split in ...
15672 (grub_term_iterate_input): ... this, and ...
15673 (grub_term_iterate_output): ... this.
15674
15675 * kern/term.c (grub_term_list): Split in ...
15676 (grub_term_list_input): ... this, and ...
15677 (grub_term_list_output): ... this. Update all users.
15678 (grub_cur_term): Split in ...
15679 (grub_cur_term_input): ... this, and ...
15680 (grub_cur_term_output): ... this. Update all users.
15681 (grub_term_set_current): Split in ...
15682 (grub_term_set_current_input): ... this, and ...
15683 (grub_term_set_current_output): ... this.
15684 (grub_term_get_current): Split in ...
15685 (grub_term_get_current_input): ... this, and ...
15686 (grub_term_get_current_output): ... this.
15687 (grub_term_register): Split in ...
15688 (grub_term_register_input): ... this, and ...
15689 (grub_term_register_output): ... this.
15690 (grub_term_unregister): Split in ...
15691 (grub_term_unregister_input): ... this, and ...
15692 (grub_term_unregister_output): ... this.
15693 (grub_term_iterate): Split in ...
15694 (grub_term_iterate_input): ... this, and ...
15695 (grub_term_iterate_output): ... this.
15696
15697 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15698 a check for input and one for output (and only attempt to get keys
15699 from user when input works).
15700
15701 * util/grub-probe.c (grub_term_get_current): Split in ...
15702 (grub_term_get_current_input): ... this, and ...
15703 (grub_term_get_current_output): ... this.
15704 * util/grub-fstest.c: Likewise.
15705 * util/i386/pc/grub-setup.c: Likewise.
15706 * util/grub-editenv.c: Likewise.
15707
15708 Portability adjustments:
15709
15710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15711 `term/i386/pc/at_keyboard.c'.
15712 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15713 grub_keyboard_controller_init() (now handled by terminal .init).
15714 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15715 grub_at_keyboard_init().
15716 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15717 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15718 at_keyboard.mod via input terminal interface).
15719 * include/grub/i386/coreboot/console.h: Convert into a stub for
15720 `<grub/i386/pc/console.h>'.
15721
15722 Migrate full terminals to new API:
15723
15724 * term/efi/console.c (grub_console_term): Split into ...
15725 (grub_console_term_input): ... this, and ...
15726 (grub_console_term_output): ... this. Update all users.
15727 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15728 (grub_ofconsole_init): Split into ...
15729 (grub_ofconsole_init_input): ... this, and ...
15730 (grub_ofconsole_init_output): ... this.
15731 (grub_ofconsole_term): Split into ...
15732 (grub_ofconsole_term_input): ... this, and ...
15733 (grub_ofconsole_term_output): ... this. Update all users.
15734 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15735 (grub_serial_term_input): ... this, and ...
15736 (grub_serial_term_output): ... this. Update all users.
15737 * term/i386/pc/console.c (grub_console_term): Split into ...
15738 (grub_console_term_input): ... this, and ...
15739 (grub_console_term_output): ... this. Update all users.
15740 (grub_console_term_input): Only enable it on PC/BIOS platform.
15741 (grub_console_init): Remove grub_keyboard_controller_init() call.
15742
15743 Migrate input terminals to new API:
15744
15745 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15746 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15747 i386-specific anyway).
15748 (grub_console_checkkey): Rename to ...
15749 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15750 users.
15751 (grub_keyboard_controller_orig): New variable.
15752 (grub_console_getkey): Rename to ...
15753 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15754 users.
15755 (grub_keyboard_controller_init): Static-ize. Save original
15756 controller value so that it can be restored ...
15757 (grub_keyboard_controller_fini): ... here (new function).
15758 (grub_at_keyboard_term): New structure.
15759 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15760 functions.
15761
15762 Migrate output terminals to new API:
15763
15764 * term/i386/pc/vga.c (grub_vga_term): Change type to
15765 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15766 members. Update all users.
15767 * term/gfxterm.c (grub_video_term): Change type to
15768 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15769 members. Update all users.
15770 * include/grub/i386/pc/console.h (grub_console_checkkey)
15771 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15772 etc).
15773
15774 Migrate `terminal' command and userland tools to new API:
15775
15776 * commands/terminal.c (grub_cmd_terminal): Split into ...
15777 (grub_cmd_terminal_input): ... this, and ...
15778 (grub_cmd_terminal_output): ... this.
15779 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15780 `terminal_input' and `terminal_output'.
15781 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15782 `terminal_input' / `terminal_output' API.
15783 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15784 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15785 provided ${GRUB_TERMINAL}, convert it).
15786
15787 2008-11-04 Robert Millan <rmh@aybabtu.com>
15788
15789 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15790 for FreeBSD.
15791 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15792
15793 2008-11-03 Bean <bean123ch@gmail.com>
15794
15795 * kern/elf.c (grub_elf32_load): Revert to previous code.
15796 (grub_elf64_load): Likewise.
15797
15798 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15799
15800 2008-11-01 Robert Millan <rmh@aybabtu.com>
15801
15802 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15803 (TARGET_CPPFLAGS): Likewise.
15804 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15805
15806 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15807
15808 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15809
15810 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15811
15812 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15813 addition of objects until the code is not going to be able to fail.
15814
15815 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15816
15817 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15818 (add a missing NULL check, and correct them by moving the pointer
15819 operations after the actual check).
15820
15821 2008-10-29 Robert Millan <rmh@aybabtu.com>
15822
15823 * util/i386/pc/grub-install.in: Handle empty string as output from
15824 make_system_path_relative_to_its_root().
15825
15826 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15827
15828 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15829 circular metadata worst case scenario. If the metadata is circular
15830 then copy the wrap in place.
15831 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15832 project lib/format_text/layout.h
15833 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15834
15835 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15836
15837 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15838
15839 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15840
15841 * util/update-grub_lib.in: Mention filename in warning message.
15842
15843 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15844
15845 * NEWS: Update for rename of update-grub to grub-mkconfig.
15846
15847 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15848
15849 * util/update-grub_lib.in: Copy to ...
15850 * util/grub-mkconfig_lib.in: ... this. Update all users.
15851 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15852 * util/update-grub.in: Rename to ...
15853 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15854 option. Add `--output' option to allow users to specify the generated
15855 configuration file. Default to stdout.
15856 (update_grub_dir): Rename to ...
15857 (grub_mkconfig_dir): ... this.
15858 (grub_cfg): Default to an empty string.
15859 * conf/common.rmk (update-grub): Rename to ...
15860 (grub-mkconfig): ... this.
15861 (update-grub_lib): Copy to ...
15862 (grub-mkconfig_lib): ... this.
15863 (update-grub_SCRIPTS): Copy to ...
15864 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15865 (update-grub_DATA): Rename to ...
15866 (grub-mkconfig_DATA): ... this.
15867
15868 2008-09-28 Robert Millan <rmh@aybabtu.com>
15869
15870 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15871 to `modified'. Add the real `created' field.
15872 (grub_iso9660_uuid): Use `modified' rather than `created' for
15873 constructing the UUID.
15874
15875 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15876
15877 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15878 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15879
15880 2008-09-28 Bean <bean123ch@gmail.com>
15881
15882 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15883 Thanks to Christian Franke for finding this bug.
15884
15885 2008-09-25 Robert Millan <rmh@aybabtu.com>
15886
15887 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15888 instances of grub_util_get_disk_name() (see previous commit).
15889
15890 2008-09-25 Robert Millan <rmh@aybabtu.com>
15891
15892 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15893 `util/i386/get_disk_name.c'.
15894 * conf/i386-efi.rmk: Likewise.
15895 * conf/x86_64-efi.rmk: Likewise.
15896 * conf/i386-coreboot.rmk: Likewise.
15897 * conf/i386-ieee1275.rmk: Likewise.
15898 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15899 `util/ieee1275/get_disk_name.c'.
15900 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15901 * util/ieee1275/get_disk_name.c: Remove file.
15902 * util/i386/get_disk_name.c: Remove file.
15903 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15904 "hd%d" for device.map entries, rather than using
15905 grub_util_get_disk_name().
15906
15907 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15908
15909 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15910 warning.
15911 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15912
15913 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15914
15915 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15916 Changed to 0x5100.
15917 (GRUB_TERM_PPAGE): Changed to 0x4900.
15918
15919 2008-09-24 Robert Millan <rmh@aybabtu.com>
15920
15921 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15922 macros (they were i386-pc specific).
15923 * include/grub/sparc64/ieee1275/console.h: Likewise.
15924 * include/grub/efi/console.h: Likewise.
15925
15926 2008-09-22 Bean <bean123ch@gmail.com>
15927
15928 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15929 resident and in attribute list.
15930
15931 * include/grub/ntfs.h (BMP_LEN): Removed.
15932
15933 2008-09-22 Bean <bean123ch@gmail.com>
15934
15935 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15936 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15937
15938 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15939 error occurs, as grub_disk_open will call grub_disk_close, which will
15940 call p->close (scsi).
15941
15942 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15943
15944 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15945 (AC_PREREQ): Bumped to 2.59.
15946 (AC_TRY_COMPILE): Replace obsolete macro with ...
15947 (AC_COMPILE_IFELSE): ... this.
15948 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15949 (AC_LINK_IFELSE): ... this.
15950
15951 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15952
15953 * autogen.sh: Add a call to `gendistlist.sh'.
15954
15955 2008-09-19 Christian Franke <franke@computer.org>
15956
15957 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15958 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15959 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15960 Export __enable_execute_stack() to modules.
15961 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15962 New function.
15963
15964 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15965
15966 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15967 Sort the list.
15968
15969 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15970
15971 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15972 #include <grub/util/hostdisk.h>.
15973
15974 2008-09-08 Robert Millan <rmh@aybabtu.com>
15975
15976 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15977 segments when their filesz is zero (grub_file_read() interprets
15978 zero-size as "read until EOF", which results in memory corruption).
15979 Use `lowest_segment' rather than 0 for calculating the current
15980 segment load address.
15981
15982 2008-09-08 Robert Millan <rmh@aybabtu.com>
15983
15984 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15985 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15986 clobbered useful information.
15987
15988 2008-09-08 Robert Millan <rmh@aybabtu.com>
15989
15990 * include/grub/util/biosdisk.h: Move to ...
15991 * include/grub/util/hostdisk.h: ... here. Update all users.
15992 * util/biosdisk.c: Move to ...
15993 * util/hostdisk.c: ... here. Update all users.
15994
15995 2008-09-07 Robert Millan <rmh@aybabtu.com>
15996
15997 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15998 variables.
15999 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16000 and length can be stored directly in the `mbi->mmap_addr' and
16001 `mbi->mmap_length' struct fields.
16002
16003 2008-09-07 Robert Millan <rmh@aybabtu.com>
16004
16005 * conf/i386.rmk: New file. Provides declaration for building
16006 `cpuid.mod'.
16007 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16008 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16009 variables.
16010 Include `conf/i386.mk'.
16011 * conf/i386-efi.rmk: Likewise.
16012 * conf/x86_64-efi.rmk: Likewise.
16013 * conf/i386-coreboot.rmk: Likewise.
16014 * conf/i386-ieee1275.rmk: Likewise.
16015
16016 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16017
16018 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16019 Adds optimization support for BGR based modes.
16020
16021 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16022 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16023 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16024 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16025 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16026 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16027 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16028 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16029 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16030 (grub_video_i386_vbeblit_index_index): Likewise.
16031 (grub_video_i386_vbeblit_replace_directN): Added.
16032 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16033 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16034 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16035 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16036 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16037 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16038 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16039 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16040 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16041 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16042 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16043 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16044 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16045
16046 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16047 (grub_video_i386_vbefill_R8G8B8): Likewise.
16048 (grub_video_i386_vbefill_index): Likewise.
16049 (grub_video_i386_vbefill_direct32): Added.
16050 (grub_video_i386_vbefill_direct24): Likewise.
16051 (grub_video_i386_vbefill_direct16): Likewise.
16052 (grub_video_i386_vbefill_direct8): Likewise.
16053
16054 * include/grub/video.h (grub_video_blit_format): Removed
16055 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16056 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16057 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16058 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16059 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
16060
16061 * video/video.c (grub_video_get_blit_format): Updated to use new
16062 blit formats. Added handling for 16 bit color modes.
16063
16064 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
16065 fillers.
16066 (common_blitter): Updated to use new blitters.
16067
16068 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16069 Removed.
16070 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16071 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16073 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16074 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16075 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16076 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16077 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16078 (grub_video_i386_vbeblit_index_index): Likewise.
16079 (grub_video_i386_vbeblit_replace_directN): Added.
16080 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16081 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16082 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16083 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16084 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16085 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16086 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16087 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16088 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16089 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16090 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16091 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16092 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16093
16094 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16095 (grub_video_i386_vbefill_R8G8B8): Likewise.
16096 (grub_video_i386_vbefill_index): Likewise.
16097 (grub_video_i386_vbefill_direct32): Added.
16098 (grub_video_i386_vbefill_direct24): Likewise.
16099 (grub_video_i386_vbefill_direct16): Likewise.
16100 (grub_video_i386_vbefill_direct8): Likewise.
16101
16102 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16103 types.
16104
16105 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16106 types.
16107
16108 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16109 blitter types.
16110
16111 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16112 types.
16113
16114 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16115
16116 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16117 RAID level 1.
16118
16119 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16120
16121 * fs/iso9660.c (grub_iso9660_date): New structure.
16122 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16123 (grub_iso9660_uuid): New function.
16124
16125 2008-09-05 Bean <bean123ch@gmail.com>
16126
16127 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16128
16129 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16130 insensitive bit for names in Win32 and Win32 & DOS namespace.
16131
16132 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16133
16134 * include/grub/types.h (LONG_MAX): Likewise.
16135
16136 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16137
16138 * util/getroot.c: Include <config.h>.
16139 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16140 add support for /dev/md/N devices and handle LVM double dash escaping.
16141
16142 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16143
16144 * config.guess: Update to latest version from config git.
16145 * config.sub: Likewise.
16146
16147 2008-09-03 Robert Millan <rmh@aybabtu.com>
16148
16149 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16150 `disk->total_sectors'.
16151
16152 2008-09-01 Colin D Bennett <colin@gibibit.com>
16153
16154 * include/grub/normal.h: Fixed incorrect comment for
16155 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16156
16157 2008-09-01 Colin D Bennett <colin@gibibit.com>
16158
16159 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16160 values with defines.
16161
16162 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16163 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16164 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16165 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16166 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16167 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16168 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16169 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16170 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16171 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16172 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16173 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16174 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16175 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16176 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16177 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16178 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16179 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16180 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16181
16182 2008-08-31 Robert Millan <rmh@aybabtu.com>
16183
16184 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16185 declaration.
16186 (grub_multiboot): Fix a few warnings.
16187
16188 2008-08-31 Robert Millan <rmh@aybabtu.com>
16189
16190 * loader/i386/pc/multiboot.c: Update comment not to say that
16191 boot_device support is unimplemented.
16192
16193 2008-08-31 Robert Millan <rmh@aybabtu.com>
16194
16195 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16196 or memory map support are unimplemented.
16197
16198 2008-08-31 Colin D Bennett <colin@gibibit.com>
16199
16200 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16201
16202 2008-08-31 Colin D Bennett <colin@gibibit.com>
16203
16204 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16205 total video memory in 'vbeinfo' output; show color format details for
16206 each video mode.
16207
16208 2008-08-30 Pavel Roskin <proski@gnu.org>
16209
16210 * util/genmoddep.c: Remove for real this time.
16211 * DISTLIST: Remove util/genmoddep.c.
16212
16213 2008-08-30 Robert Millan <rmh@aybabtu.com>
16214
16215 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16216 as required by Multiboot spec (it was already 4-byte aligned, but
16217 only by chance).
16218
16219 2008-08-29 Pavel Roskin <proski@gnu.org>
16220
16221 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16222 * kern/powerpc/ieee1275/startup.S: ... this.
16223 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16224 * DISTLIST: Likewise.
16225
16226 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16227 grub/cpu/kernel.h. Add start label for consistency with other
16228 platforms. Add grub_prefix immediately after start. Add jump
16229 to the code after grub_prefix.
16230 * include/grub/powerpc/kernel.h: Provide valid values for
16231 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16232
16233 2008-08-29 Bean <bean123ch@gmail.com>
16234
16235 * configure.ac: Change host_os to cygwin for mingw.
16236 (asprintf): New check for function.
16237
16238 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16239 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16240
16241 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16242 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16243 sync, sleep and grub_util_get_disk_size for mingw.
16244
16245 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16246 to get size in mingw.
16247 (open_device): Use flag O_BINARY if it's defined.
16248 (find_root_device): Add dummy code for mingw.
16249
16250 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16251 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16252 (get_scsi_disk_name): Return 0 for mingw.
16253
16254 * util/hostfs.c: #include <grub/util/misc.h>.
16255 (grub_hostfs_open): Use "rb" flag to open file, use
16256 grub_util_get_disk_size to get disk size for mingw.
16257
16258 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16259 (asprintf): New function if HAVE_ASPRINTF is not set.
16260 (sync): New function for mingw.
16261 (sleep): Likewise.
16262 (grub_util_get_disk_size): Likewise.
16263
16264 2008-08-28 Pavel Roskin <proski@gnu.org>
16265
16266 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16267 kern/time.c.
16268
16269 2008-08-28 Robert Millan <rmh@aybabtu.com>
16270
16271 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16272
16273 2008-08-28 Robert Millan <rmh@aybabtu.com>
16274
16275 Change find_grub_drive() syntax so it doesn't prevent it from
16276 detecting NULL names as errors.
16277
16278 * util/biosdisk.c (find_grub_drive): Move free slot search code
16279 from here ...
16280 (find_free_slot): ... to here.
16281 (read_device_map): Use find_free_slot() to search for free slots.
16282
16283 2008-08-27 Marco Gerards <marco@gnu.org>
16284
16285 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16286 (scsi_mod_SOURCES): New variable.
16287 (scsi_mod_CFLAGS): Likewise
16288 (scsi_mod_LDFLAGS): Likewise.
16289
16290 * disk/scsi.c: New file.
16291
16292 * include/grub/scsi.h: Likewise.
16293
16294 * include/grub/scsicmd.h: Likewise.
16295
16296 * disk/ata.c: Include <grub/scsi.h>.
16297 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16298 instead.
16299 (grub_ata_iterate): Skip ATAPI devices.
16300 (grub_ata_open): Only handle ATAPI devices.
16301 (struct grub_atapi_read): Removed.
16302 (grub_atapi_readsector): Likewise.
16303 (grub_ata_read): No longer handle ATAPI devices.
16304 (grub_ata_write): Likewise.
16305 (grub_atapi_iterate): New function.
16306 (grub_atapi_read): Likewise.
16307 (grub_atapi_write): Likewise.
16308 (grub_atapi_open): Likewise.
16309 (grub_atapi_close): Likewise.
16310 (grub_atapi_dev): New variable.
16311 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16312 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16313
16314 * include/grub/disk.h (enum grub_disk_dev_id): Add
16315 `GRUB_DISK_DEVICE_SCSI_ID'.
16316
16317 2008-08-26 Robert Millan <rmh@aybabtu.com>
16318
16319 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16320 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16321 descriptive.
16322
16323 2008-08-23 Bean <bean123ch@gmail.com>
16324
16325 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16326 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16327 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16328 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16329 dm_nv.mod.
16330 (raid5rec_mod_SOURCES): New macro.
16331 (raid5rec_mod_CFLAGS): Likewise.
16332 (raid5rec_mod_LDFLAGS): Likewise.
16333 (raid6rec_mod_SOURCES): Likewise.
16334 (raid6rec_mod_CFLAGS): Likewise.
16335 (raid6rec_mod_LDFLAGS): Likewise.
16336 (mdraid_mod_SOURCES): Likewise.
16337 (mdraid_mod_CFLAGS): Likewise.
16338 (mdraid_mod_LDFLAGS): Likewise.
16339 (dm_nv_mod_SOURCES): Likewise.
16340 (dm_nv_mod_CFLAGS): Likewise.
16341 (dm_nv_mod_LDFLAGS): Likewise.
16342
16343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16344 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16345 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16346
16347 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16348 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16349
16350 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16351
16352 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16353
16354 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16355
16356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16357
16358 * disk/raid5_recover.c: New file.
16359
16360 * disk/raid6_recover.c: Likewise.
16361
16362 * disk/mdraid_linux.c: Likewise.
16363
16364 * disk/dmraid_nvidia.c: Likewise.
16365
16366 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16367 ULONG_MAX.
16368
16369 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16370 calculate the size of raid device.
16371 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16372 different layout of raid5.
16373 (grub_raid_scan_device): Remove code specific to mdraid.
16374 (grub_raid_list): New variable.
16375 (free_array): New function.
16376 (grub_raid_register): Likewise.
16377 (grub_raid_unregister): Likewise.
16378 (grub_raid_rescan): Likewise.
16379 (GRUB_MOD_INIT): Don't iterate device here.
16380 (GRUB_MOD_FINI): Use free_array to release resource.
16381
16382 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16383 (grub_raid5_recover_func_t): New function variable type.
16384 (grub_raid6_recover_func_t): Likewise.
16385 (grub_raid5_recover_func): New variable.
16386 (grub_raid6_recover_func): Likewise.
16387 (grub_raid_register): New function.
16388 (grub_raid_unregister): Likewise.
16389 (grub_raid_rescan): Likewise.
16390 (grub_raid_block_xor): Likewise.
16391
16392 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16393 (CMD_CRC): New macro.
16394 (part): Removed.
16395 (read_file): Handle device as well as file.
16396 (cmd_crc): New function.
16397 (fstest): Handle multiple disks.
16398 (options): Remove part, raw and long, add root and diskcount.
16399 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16400 (main): Find the first non option entry and ignore subsequent options,
16401 add handling for the new options, support multiple disks.
16402
16403 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16404
16405 2008-08-23 Bean <bean123ch@gmail.com>
16406
16407 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16408
16409 * genfslist.sh: Ignore kernel.mod.
16410
16411 * genpartmaplist.sh: Likewise.
16412
16413 2008-08-23 Robert Millan <rmh@aybabtu.com>
16414
16415 * util/getroot.c (find_root_device): Skip anything that starts with
16416 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16417
16418 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16419
16420 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16421 * util/grub.d/00_header.in: Allow the administrator to change default
16422 gfxmode via ${GRUB_GFXMODE}.
16423
16424 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16425
16426 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16427
16428 2008-08-21 Robert Millan <rmh@aybabtu.com>
16429
16430 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16431 loader.
16432 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16433 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16434
16435 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16436
16437 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16438 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16439
16440 2008-08-19 Robert Millan <rmh@aybabtu.com>
16441
16442 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16443 (struct grub_virtual_screen): Remove `cursor_color'.
16444 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16445 initialization.
16446 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16447
16448 2008-08-18 Robert Millan <rmh@aybabtu.com>
16449
16450 Unify (identical) linux_normal.c files.
16451 * loader/i386/efi/linux_normal.c: Move from here ...
16452 * loader/linux_normal.c: ... to here. Update all users.
16453 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16454 * loader/i386/ieee1275/linux_normal.c: Likewise.
16455
16456 2008-08-18 Robert Millan <rmh@aybabtu.com>
16457
16458 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16459 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16460 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16461 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16462 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16463 New macros.
16464 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16465 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16466 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16467 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16468 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16469 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16470 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16471 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16472 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16473 portably using grub_getxy().
16474 Replace `-EFI' with `-bzImage' in boot message.
16475
16476 2008-08-17 Robert Millan <rmh@aybabtu.com>
16477
16478 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16479
16480 2008-08-17 Robert Millan <rmh@aybabtu.com>
16481
16482 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16483
16484 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16485 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16486 (grub_machine_mmap_iterate): New function declaration.
16487 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16488 structure.
16489 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16490 macros.
16491
16492 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16493 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16494 Move e820 parsing from here ...
16495 * kern/i386/pc/mmap.c: New file.
16496 (grub_machine_mmap_iterate): ... to here.
16497
16498 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16499 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16500 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16501 (grub_available_iterate): Redeclare to return `void', and redeclare
16502 its hook to use grub_uint64_t as addr and size parameters, and rename
16503 to ...
16504 (grub_machine_mmap_iterate): ... this. Update all users.
16505
16506 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16507 to make it more readable. Rename to ...
16508 (grub_machine_mmap_iterate): ... this.
16509
16510 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16511 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16512 (grub_multiboot): Allocate an extra region after the payload, and fill
16513 it with a Multiboot memory map. Adjust a.out loader to calculate size
16514 with the extra space.
16515 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16516 with the extra space.
16517
16518 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16519
16520 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16521
16522 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16523
16524 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16525 mdate-sh to the list `find' searches for.
16526 * DISTLIST: Regenerated.
16527
16528 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16529
16530 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16531 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16532 genmoddep.awk, gensymlist.sh.in.
16533 (DISTDIRS): Add bus, docs, hook, lib.
16534 * DISTLIST: Regenerated.
16535 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16536
16537 2008-08-16 Robert Millan <rmh@aybabtu.com>
16538
16539 * disk/raid.c (grub_raid_init): Handle/report errors set by
16540 grub_device_iterate().
16541 * disk/lvm.c (grub_lvm_init): Likewise.
16542
16543 2008-08-15 Bean <bean123ch@gmail.com>
16544
16545 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16546 and datehook.mod.
16547 (datetime_mod_SOURCES): New macro.
16548 (datetime_mod_CFLAGS): Likewise.
16549 (datetime_mod_LDFLAGS): Likewise.
16550 (date_mod_SOURCES): Likewise.
16551 (date_mod_CFLAGS): Likewise.
16552 (date_mod_LDFLAGS): Likewise.
16553 (datehook_mod_SOURCES): Likewise.
16554 (datehook_mod_CFLAGS): Likewise.
16555 (datehook_mod_LDFLAGS): Likewise.
16556
16557 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16558 and datehook.mod.
16559 (datetime_mod_SOURCES): New macro.
16560 (datetime_mod_CFLAGS): Likewise.
16561 (datetime_mod_LDFLAGS): Likewise.
16562 (date_mod_SOURCES): Likewise.
16563 (date_mod_CFLAGS): Likewise.
16564 (date_mod_LDFLAGS): Likewise.
16565 (datehook_mod_SOURCES): Likewise.
16566 (datehook_mod_CFLAGS): Likewise.
16567 (datehook_mod_LDFLAGS): Likewise.
16568
16569 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16570 and datehook.mod.
16571 (datetime_mod_SOURCES): New macro.
16572 (datetime_mod_CFLAGS): Likewise.
16573 (datetime_mod_LDFLAGS): Likewise.
16574 (date_mod_SOURCES): Likewise.
16575 (date_mod_CFLAGS): Likewise.
16576 (date_mod_LDFLAGS): Likewise.
16577 (datehook_mod_SOURCES): Likewise.
16578 (datehook_mod_CFLAGS): Likewise.
16579 (datehook_mod_LDFLAGS): Likewise.
16580
16581 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16582 and datehook.mod.
16583 (datetime_mod_SOURCES): New macro.
16584 (datetime_mod_CFLAGS): Likewise.
16585 (datetime_mod_LDFLAGS): Likewise.
16586 (date_mod_SOURCES): Likewise.
16587 (date_mod_CFLAGS): Likewise.
16588 (date_mod_LDFLAGS): Likewise.
16589 (datehook_mod_SOURCES): Likewise.
16590 (datehook_mod_CFLAGS): Likewise.
16591 (datehook_mod_LDFLAGS): Likewise.
16592
16593 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16594 and datehook.mod.
16595 (datetime_mod_SOURCES): New macro.
16596 (datetime_mod_CFLAGS): Likewise.
16597 (datetime_mod_LDFLAGS): Likewise.
16598 (date_mod_SOURCES): Likewise.
16599 (date_mod_CFLAGS): Likewise.
16600 (date_mod_LDFLAGS): Likewise.
16601 (datehook_mod_SOURCES): Likewise.
16602 (datehook_mod_CFLAGS): Likewise.
16603 (datehook_mod_LDFLAGS): Likewise.
16604
16605 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16606
16607 * commands/date.c: New file.
16608
16609 * hook/datehook.c: Likewise.
16610
16611 * include/grub/lib/datetime.h: Likewise.
16612
16613 * include/grub/i386/cmos.h: Likewise.
16614
16615 * lib/datetime.c: Likewise.
16616
16617 * lib/i386/datetime.c: Likewise.
16618
16619 * lib/efi/datetime.c: Likewise.
16620
16621 2008-08-14 Robert Millan <rmh@aybabtu.com>
16622
16623 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16624 (grub_mkelfimage_SOURCES): New variable.
16625 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16626
16627 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16628 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16629 * conf/powerpc-ieee1275.rmk: Likewise.
16630 * conf/i386-ieee1275.rmk: Likewise.
16631
16632 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16633 * kern/i386/coreboot/init.c: Likewise.
16634
16635 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16636 with `<grub/cpu/kernel.h>'.
16637 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16638 to ...
16639 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16640 * kern/i386/coreboot/startup.S: Likewise.
16641
16642 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16643 (GRUB_MOD_GAP): Remove.
16644 * include/grub/powerpc/kernel.h: New file.
16645 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16646 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16647 * include/grub/i386/kernel.h: New file.
16648 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16649 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16650 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16651
16652 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16653 `grub-mkelfimage'.
16654 Use --directory when invoking grub_mkimage.
16655
16656 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16657 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16658 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16659 and GRUB_KERNEL_CPU_PREFIX.
16660
16661 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16662
16663 * include/grub/err.h (grub_err_printf): New function prototype.
16664 * util/misc.c (grub_err_printf): New function.
16665 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16666 grub_printf.
16667 * kern/err.c (grub_print_error): Use grub_err_printf.
16668
16669 2008-08-13 Robert Millan <rmh@aybabtu.com>
16670
16671 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16672
16673 2008-08-13 Robert Millan <rmh@aybabtu.com>
16674
16675 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16676 boot entry.
16677
16678 2008-08-12 Robert Millan <rmh@aybabtu.com>
16679
16680 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16681 of the relocation code from here ...
16682 (grub_multiboot): ... to here.
16683 (forward_relocator, backward_relocator): Move from here ...
16684 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16685 (grub_multiboot_backward_relocator): ... to here.
16686 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16687 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16688 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16689 (grub_multiboot_forward_relocator_end)
16690 (grub_multiboot_backward_relocator)
16691 (grub_multiboot_backward_relocator_end): New variables.
16692
16693 2008-08-12 Bean <bean123ch@gmail.com>
16694
16695 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16696
16697 2008-08-11 Robert Millan <rmh@aybabtu.com>
16698
16699 * kern/i386/linuxbios/startup.S: Move from here ...
16700 * kern/i386/coreboot/startup.S: ... to here.
16701
16702 * kern/i386/linuxbios/init.c: Move from here ...
16703 * kern/i386/coreboot/init.c: ... to here.
16704
16705 * kern/i386/linuxbios/table.c: Move from here ...
16706 * kern/i386/coreboot/mmap.c: ... to here.
16707
16708 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16709
16710 2008-08-11 Robert Millan <rmh@aybabtu.com>
16711
16712 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16713 errors. Leave it to the upper layer to handle them.
16714
16715 2008-08-09 Christian Franke <franke@computer.org>
16716
16717 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16718 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16719 Install `grub.d/10_windows' only on Cygwin.
16720 * configure.ac: Add subst of `target_os'.
16721 Check `target_os' also before setting TARGET_OBJ2ELF.
16722 Add `--enable-grub-pe2elf'.
16723
16724 2008-08-08 Robert Millan <rmh@aybabtu.com>
16725
16726 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16727 (grub_last_time): Change type to grub_uint64_t.
16728 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16729 (grub_disk_close): Likewise.
16730
16731 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16732 (run_menu): Migrate code from to using grub_get_time_ms().
16733
16734 * util/misc.c (grub_get_time_ms): New function.
16735
16736 2008-08-08 Marco Gerards <marco@gnu.org>
16737
16738 * disk/ata.c (grub_ata_regget): Change return type to
16739 `grub_uint8_t'.
16740 (grub_ata_regget2): Likewise.
16741 (grub_ata_wait_status): New function.
16742 (grub_ata_wait_busy): Removed function, updated all users to use
16743 `grub_ata_wait_status'.
16744 (grub_ata_wait_drq): Likewise.
16745 (grub_ata_cmd): New function.
16746 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16747 error handling.
16748 (grub_ata_pio_write): Add error handling.
16749 (grub_atapi_identify): Likewise.
16750 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16751 handling.
16752 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16753 handling. Actually use the detected registers. Reorder the
16754 detection logic such that it is easier to read.
16755 (grub_ata_pciinit): Do not assign the same ID to each controller.
16756 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16757 handling.
16758 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16759
16760 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16761
16762 2008-08-08 Marco Gerards <marco@gnu.org>
16763
16764 * NEWS: Update.
16765
16766 2008-08-07 Bean <bean123ch@gmail.com>
16767
16768 * include/grub/x86_64/pci.h: New file.
16769
16770 2008-08-07 Christian Franke <franke@computer.org>
16771
16772 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16773 (TIMER2_GATE): Likewise.
16774 (grub_pit_wait): Add enable/disable of the timer2 gate
16775 bit of port 0x61. This fixes a possible infinite loop.
16776
16777 2008-08-07 Bean <bean123ch@gmail.com>
16778
16779 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16780 kern/i386/tsc.c and kern/i386/pit.c.
16781
16782 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16783 x86_64 platform.
16784
16785 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16786 <grub/i386/tsc.h>.
16787
16788 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16789
16790 2008-08-07 Bean <bean123ch@gmail.com>
16791
16792 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16793
16794 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16795
16796 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16797 multiple inclusion. Add #include <grub/types.h>.
16798
16799 2008-08-06 Christian Franke <franke@computer.org>
16800
16801 * conf/common.rmk: Build and install `10_windows'.
16802 * util/grub.d/10_windows.in: New script.
16803
16804 2008-08-06 Pavel Roskin <proski@gnu.org>
16805
16806 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16807
16808 2008-08-06 Robert Millan <rmh@aybabtu.com>
16809
16810 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16811 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16812
16813 2008-08-06 Bean <bean123ch@gmail.com>
16814
16815 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16816 (grub_pxefs_fs_int): Remove dummy definition.
16817 (grub_pxefs_open): Use data->block_size to store the current block
16818 size setting.
16819 (grub_pxefs_read): Use block size stored in data->block_size. As the
16820 value of grub_pxe_blksize can be changed after the file is opened.
16821
16822 2008-08-06 Bean <bean123ch@gmail.com>
16823
16824 * fs/i386/pc/pxe.c (curr_file): new variable.
16825 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16826 require the dummy internal file system anymore.
16827 (grub_pxefs_read): Removed.
16828 (grub_pxefs_close): Likewise.
16829 (grub_pxefs_fs_int): Likewise.
16830 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16831 connection when we switch file.
16832 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16833
16834 2008-08-06 Robert Millan <rmh@aybabtu.com>
16835
16836 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16837 `halt.mod'.
16838 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16839 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16840
16841 * kern/i386/halt.c: New file.
16842 * kern/i386/reboot.c: Likewise.
16843 * include/grub/i386/reboot.h: Likewise.
16844 * include/grub/i386/halt.h: Likewise.
16845
16846 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16847 Include `<grub/cpu/halt.h>'.
16848 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16849 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16850
16851 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16852 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16853 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16854 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16855 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16856 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16857 from here ...
16858 * include/grub/i386/at_keyboard.h: ... to here.
16859
16860 2008-08-05 Robert Millan <rmh@aybabtu.com>
16861
16862 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16863 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16865 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16866 `kern/generic/millisleep.c'.
16867
16868 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16869 instead of grub_get_rtc().
16870 (grub_tsc_init): Initialize `tsc_boot_time'.
16871
16872 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16873 (grub_machine_init): Use grub_tsc_init() rather than
16874 installing an RTC-based handler via grub_install_get_time_ms().
16875
16876 * kern/i386/pit.c: New file.
16877 * include/grub/i386/pit.h: Likewise.
16878
16879 2008-08-05 Bean <bean123ch@gmail.com>
16880
16881 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16882
16883 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16884 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16885 (pxe_mod_SOURCES): New macro.
16886 (pxe_mod_CFLAGS): Likewise.
16887 (pxe_mod_LDFLAGS): Likewise.
16888 (pxecmd_mod_SOURCES): Likewise.
16889 (pxecmd_mod_CFLAGS): Likewise.
16890 (pxecmd_mod_LDFLAGS): Likewise.
16891
16892 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16893 (grub_pxe_call): Likewise.
16894
16895 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16896
16897 * commands/i386/pc/pxecmd.c: New file.
16898
16899 * fs/i386/pc/pxe.c: Likewise.
16900
16901 * include/grub/i386/pc/pxe.h: Likewise.
16902
16903 2008-08-05 Bean <bean123ch@gmail.com>
16904
16905 * util/console.c (grub_console_cur_color): New variable.
16906 (grub_console_standard_color): Likewise.
16907 (grub_console_normal_color): Likewise.
16908 (grub_console_highlight_color): Likewise.
16909 (color_map): Likewise.
16910 (use_color): Likewise.
16911 (NUM_COLORS): New macro.
16912 (grub_ncurses_setcolorstate): Handle color properly.
16913 (grub_ncurses_setcolor): Don't change color here, just remember the
16914 settings, color will be set in grub_ncurses_setcolorstate.
16915 (grub_ncurses_getcolor): New function.
16916 (grub_ncurses_init): Initialize color pairs.
16917 (grub_ncurses_term): New member grub_ncurses_getcolor.
16918
16919 2008-08-05 Colin D Bennett <colin@gibibit.com>
16920
16921 High resolution timer support. Implemented for x86 CPUs using TSC.
16922 Extracted generic grub_millisleep() so it's linked in only as needed.
16923 This requires a Pentium compatible CPU; if the RDTSC instruction is
16924 not supported, then it falls back on the generic grub_get_time_ms()
16925 implementation that uses the machine's RTC.
16926
16927 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16928 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16929 `kern/generic/millisleep.c'.
16930
16931 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16932 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16933
16934 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16935 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16936
16937 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16938
16939 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16940 `kern/generic/millisleep.c'.
16941
16942 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16943
16944 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16945
16946 * kern/generic/rtc_get_time_ms.c: New file.
16947
16948 * kern/generic/millisleep.c: New file.
16949
16950 * kern/misc.c: Don't include
16951 <kern/time.h> anymore.
16952 (grub_millisleep_generic): Removed.
16953
16954 * commands/sleep.c (grub_interruptible_millisleep): Uses
16955 grub_get_time_ms() instead of grub_get_rtc().
16956
16957 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16958 function.
16959 (grub_cpu_is_cpuid_supported): New inline function.
16960 (grub_cpu_is_tsc_supported): New inline function.
16961 (grub_tsc_init): New function prototype.
16962 (grub_tsc_get_time_ms): New function prototype.
16963
16964 * kern/i386/tsc.c (grub_get_time_ms): New file.
16965
16966 * include/grub/time.h: Include <grub/types.h.
16967 (grub_millisleep_generic): Removed.
16968 (grub_get_time_ms): New prototype.
16969 (grub_install_get_time_ms): New prototype.
16970 (grub_rtc_get_time_ms): New prototype.
16971
16972 * kern/time.c (grub_get_time_ms): New function.
16973 (grub_install_get_time_ms): New function.
16974
16975 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16976 <grub/time.h> anymore.
16977 (grub_millisleep): Removed.
16978 (grub_machine_init): Call grub_tsc_init.
16979
16980 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16981 get_time_ms() implementation.
16982
16983 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16984 (ieee1275_get_time_ms): New function.
16985 (grub_machine_init): Install get_time_ms() implementation.
16986
16987 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16988 (grub_machine_init): Call grub_tsc_init().
16989 (grub_millisleep): Removed.
16990
16991 * kern/ieee1275/init.c (grub_millisleep): Removed.
16992 (grub_machine_init): Install ieee1275_get_time_ms()
16993 implementation.
16994 (ieee1275_get_time_ms): New function.
16995 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16996 real work.
16997
16998 2008-08-05 Marco Gerards <marco@gnu.org>
16999
17000 * disk/ata.c: Include <grub/pci.h>.
17001 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17002 (grub_ata_initialize): Rewritten.
17003 (grub_ata_device_initialize): New function.
17004
17005 2008-08-04 Pavel Roskin <proski@gnu.org>
17006
17007 * kern/main.c: Include grub/mm.h.
17008
17009 2008-08-04 Robert Millan <rmh@aybabtu.com>
17010
17011 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17012 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17013 corruption problem).
17014
17015 2008-08-04 Robert Millan <rmh@aybabtu.com>
17016
17017 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17018 warnings introduced in my last commit.
17019
17020 2008-08-03 Robert Millan <rmh@aybabtu.com>
17021
17022 Make PCI available on all i386 architectures.
17023
17024 * include/grub/i386/pc/pci.h: Move from here ...
17025 * include/grub/i386/pci.h: ... to here.
17026
17027 * include/grub/i386/pc/pci.h: Remove.
17028 * include/grub/i386/efi/pci.h: Remove.
17029 * include/grub/x86_64/efi/pci.h: Remove.
17030
17031 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17032 `<grub/cpu/pci.h>'.
17033
17034 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17035 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17036 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17037
17038 * conf/i386-ieee1275.rmk: Likewise.
17039
17040 2008-08-03 Robert Millan <rmh@aybabtu.com>
17041
17042 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17043 (grub_console_setcursor): Make it possible to set cursor off.
17044
17045 2008-08-03 Robert Millan <rmh@aybabtu.com>
17046
17047 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17048 of modules instead of assuming which platform provides what.
17049 * util/update-grub.in: Likewise.
17050
17051 2008-08-03 Robert Millan <rmh@aybabtu.com>
17052
17053 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17054 instead of `grub_install_dos_part' to determine whether a drive needs
17055 to be prepended to prefix (`grub_install_dos_part' is not reliable,
17056 because it can be overridden when loading GRUB via Multiboot).
17057
17058 2008-08-02 Robert Millan <rmh@aybabtu.com>
17059
17060 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17061
17062 2008-08-02 Robert Millan <rmh@aybabtu.com>
17063
17064 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17065 of informational grub_dprintf() calls.
17066
17067 2008-08-02 Robert Millan <rmh@aybabtu.com>
17068
17069 * disk/memdisk.c (memdisk_size): Don't initialize.
17070 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17071
17072 * include/grub/i386/pc/kernel.h
17073 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17074 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17075 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17076 (grub_arch_memdisk_size): Remove.
17077
17078 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17079 field (was only used to transfer a constant). Add `type' field to
17080 support multiple module types.
17081 (grub_module_iterate): New function.
17082
17083 * kern/device.c (grub_device_open): Do not hide error messages
17084 when grub_disk_open() fails. Use grub_print_error() instead.
17085
17086 * kern/i386/pc/init.c (grub_arch_modules_addr)
17087 (grub_arch_memdisk_size): Remove functions.
17088 (grub_arch_modules_addr): Return the module address in high memory
17089 (now that it isn't copied anymore).
17090
17091 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17092 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17093 decompression routine (grub_total_module_size already includes that
17094 now). Don't copy modules back to low memory.
17095
17096 * kern/main.c: Include `<grub/mm.h>'.
17097 (grub_load_modules): Split out (and use) ...
17098 (grub_module_iterate): ... this function, which iterates through
17099 module objects and runs a hook.
17100 Comment out grub_mm_init_region() call, as it would cause non-ELF
17101 modules to be overwritten.
17102
17103 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17104 the memdisk image in its own region, make it part of the module list.
17105 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17106 (main): Parse --memdisk|-m option, and pass user-provided path as
17107 parameter to generate_image().
17108 (add_segments): Pass `memdisk_path' down to load_modules().
17109 (load_modules): Embed memdisk image in module section when requested.
17110 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17111 `header.type' instead of `header.offset'.
17112
17113 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17114 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17115 (memdisk_mod_LDFLAGS): New variables.
17116 * conf/i386-coreboot.rmk: Likewise.
17117 * conf/i386-ieee1275.rmk: Likewise.
17118
17119 2008-08-02 Robert Millan <rmh@aybabtu.com>
17120
17121 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17122 (backward_relocator): New variables. Used to allocate and relocate
17123 the payload, respectively.
17124 (grub_multiboot_load_elf32): Load into heap instead of requested
17125 address, install the appropriate relocator code in each bound of
17126 the payload, and set the entry point such that
17127 grub_multiboot_real_boot() will jump to one of them.
17128
17129 * kern/i386/loader.S (grub_multiboot_payload_size)
17130 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17131 (grub_multiboot_payload_entry_offset): New variables.
17132 (grub_multiboot_real_boot): Set cpu context to what the relocator
17133 expects, and jump to the relocator instead of the payload.
17134
17135 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17136 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17137 (grub_multiboot_payload_entry_offset): Export.
17138
17139 2008-08-01 Bean <bean123ch@gmail.com>
17140
17141 * normal/menu_entry.c (editor_getline): Don't return the original
17142 string as result, as it will be released by lexer once it has done
17143 using it.
17144
17145 2008-08-01 Robert Millan <rmh@aybabtu.com>
17146
17147 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17148 within menuentries, not before them.
17149 util/grub.d/10_hurd.in: Likewise.
17150
17151 2008-08-01 Bean <bean123ch@gmail.com>
17152
17153 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17154 (bufio_mod_SOURCES): New macro.
17155 (bufio_mod_CFLAGS): Likewise.
17156 (bufio_mod_LDFLAGS): Likewise.
17157
17158 * include/grub/bufio.h: New file.
17159
17160 * io/bufio.c: Likewise.
17161
17162 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17163 (grub_video_reader_png): Use grub_buffile_open to open file.
17164
17165 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17166 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17167
17168 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17169 (grub_video_reader_tga): Use grub_buffile_open to open file.
17170
17171 * font/manager.c: Include <grub/bufio.h>.
17172 (add_font): Use grub_buffile_open to open file.
17173
17174 2008-07-31 Robert Millan <rmh@aybabtu.com>
17175
17176 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17177 ELF segments, use a macro for arbitrarily accessing any of them instead
17178 of preparing a pointer that allows access to one at a time.
17179 (grub_multiboot_load_elf64): Likewise.
17180
17181 2008-07-31 Bean <bean123ch@gmail.com>
17182
17183 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17184 GRUB_KERNEL_MACHINE_DATA_END.
17185
17186 2008-07-30 Robert Millan <rmh@aybabtu.com>
17187
17188 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17189 Increase from 0x50 to 0x60.
17190 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17191 use UUIDs to identify the root drive for them. If that's not
17192 possible, abort.
17193 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17194 check, for cross-disk installs.
17195
17196 2008-07-30 Robert Millan <rmh@aybabtu.com>
17197
17198 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17199 is non-empty, use it to set the `prefix' environment variable instead
17200 of the usual approach.
17201 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17202 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17203 environment variable instead of dummy make_install_device().
17204
17205 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17206 (start): Insert a data section, with `grub_prefix' variable.
17207 * kern/i386/linuxbios/startup.S: Likewise.
17208
17209 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17210 New variable reference.
17211 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17212 New macro. Defines offset of `grub_prefix' within startup.S (relative
17213 to `start').
17214 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17215 section within startup.S (relative to `start').
17216 * include/grub/i386/coreboot/kernel.h: Likewise.
17217
17218 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17219 Overwrite grub_prefix with its contents, at the beginning of the
17220 first segment.
17221 (main): Understand -p|--prefix.
17222
17223 2008-07-30 Robert Millan <rmh@aybabtu.com>
17224
17225 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17226
17227 2008-07-30 Robert Millan <rmh@aybabtu.com>
17228
17229 * term/i386/pc/vga_text.c (grub_console_cls): Use
17230 grub_console_gotoxy() to go back to beginning of the screen.
17231 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17232
17233 2008-07-29 Christian Franke <franke@computer.org>
17234
17235 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17236 Add conversion of emulated mount points on Cygwin.
17237
17238 2008-07-29 Christian Franke <franke@computer.org>
17239
17240 * util/update-grub.in: Add a check for admin
17241 group on Cygwin.
17242 Remove old `grub.cfg.new' before creation.
17243 Add `-f' to `mv' to handle the different filesystem
17244 semantics of Windows.
17245
17246 2008-07-29 Bean <bean123ch@gmail.com>
17247
17248 * normal/main.c (get_line): Fix buffer overflow bug.
17249
17250 2008-07-28 Robert Millan <rmh@aybabtu.com>
17251
17252 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17253 (struct grub_apple_header): New struct. Describes the layout of
17254 the partmap header.
17255 (apple_partition_map_iterate): Check the header magic as well as the
17256 partition magic (which was already being checked).
17257
17258 2008-07-28 Pavel Roskin <proski@gnu.org>
17259
17260 * genmk.rb: Add a warning to the beginning of the output that
17261 it's a generated file and should not be edited.
17262
17263 2008-07-28 Robert Millan <rmh@aybabtu.com>
17264
17265 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17266 with the same number are found, just use issue a warning with
17267 grub_dprintf(), as this error has been reported to be non-fatal.
17268
17269 2008-07-27 Robert Millan <rmh@aybabtu.com>
17270
17271 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17272 information.
17273
17274 2008-07-27 Bean <bean123ch@gmail.com>
17275
17276 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17277 (grub_fat_find_dir): Ignore case when comparing filename.
17278
17279 2008-07-27 Bean <bean123ch@gmail.com>
17280
17281 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17282 smallino, as it's more descriptive, and i8count can be confused with
17283 the other field count.
17284 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17285 inode type.
17286
17287 2008-07-27 Bean <bean123ch@gmail.com>
17288
17289 * commands/crc.c: New file.
17290
17291 * lib/crc.c: Likewise.
17292
17293 * include/grub/lib/crc.h: Likewise.
17294
17295 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17296
17297 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17298 (hexdump): Move this function to ...
17299
17300 * lib/hexdump.c: ... here.
17301
17302 * include/grub/hexdump.h: Renamed to ...
17303
17304 * include/grub/lib/hexdump.h: ... this.
17305
17306 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17307
17308 * util/grub-editenv.c: Likewise.
17309
17310 * include/envblk.h: Renamed to ...
17311
17312 * include/lib/envblk.h: ... this.
17313
17314 * util/envblk.c: Renamed to ...
17315
17316 * lib/envblk.c: ... this.
17317
17318 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17319 lib/hexdump.c.
17320 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17321 (pkglib_MODULES): Add crc.mod.
17322 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17323 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17324 (crc_mod_SOURCES): New macro.
17325 (crc_mod_CFLAGS): Likewise.
17326 (crc_mod_LDFLAGS): Likewise.
17327
17328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17329
17330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17331
17332 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17333
17334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17335
17336 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17337
17338 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17339
17340 * commands/help.c: Include <grub/term.h>.
17341 (TERM_WIDTH): Removed. Updated all users.
17342
17343 2008-07-27 Pavel Roskin <proski@gnu.org>
17344
17345 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17346 spurious warnings about a comment within a comment.
17347
17348 2008-07-25 Robert Millan <rmh@aybabtu.com>
17349
17350 * util/getroot.c (find_root_device): Skip devices that match
17351 /dev/dm-[0-9]. This lets the real device be found for any type of
17352 abstraction (LVM, EVMS, RAID..).
17353 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17354 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17355 device is found first, find_root_device() will now skip it.
17356
17357 2008-07-24 Pavel Roskin <proski@gnu.org>
17358
17359 * include/grub/types.h: Use __builtin_bswap32() and
17360 __builtin_bswap64() with gcc 4.3 and newer.
17361
17362 2008-07-24 Christian Franke <franke@computer.org>
17363
17364 * util/i386/pc/grub-install.in: If `--debug' is specified,
17365 pass `--verbose' to grub-setup.
17366 Abort script if make_system_path_relative_to_its_root() fails.
17367
17368 2008-07-24 Bean <bean123ch@gmail.com>
17369
17370 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17371 variable `target_platform' should be `platform'.
17372
17373 2008-07-24 Bean <bean123ch@gmail.com>
17374
17375 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17376 (grub_png_init_fixed_block): New function.
17377 (grub_png_decode_image_data): Handle fixed huffman code compression.
17378
17379 2008-07-24 Bean <bean123ch@gmail.com>
17380
17381 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17382 (grub_pe2elf_SOURCES): New macro.
17383 (CLEANFILES): Add grub-pe2elf.
17384
17385 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17386 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17387 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17388 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17389 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17390 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17391 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17392 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17393 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17394 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17395 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17396 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17397 (GRUB_PE32_DT_FUNCTION): Likewise.
17398 (GRUB_PE32_REL_I386_DIR32): Likewise.
17399 (GRUB_PE32_REL_I386_REL32): Likewise.
17400 (grub_pe32_symbol): New structure.
17401 (grub_pe32_reloc): Likewise.
17402
17403 * util/grub-pe2elf.c: New file.
17404
17405 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17406 start symbol in non pc platform.
17407
17408 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17409
17410 The following patches are from Christian Franke.
17411
17412 * include/grub/dl.h: Remove .previous, gas supports this only
17413 for ELF format.
17414
17415 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17416 Remove .type, gas supports this only for ELF format.
17417
17418 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17419 nullbytes in symbol table. This fixes an infinite loop if table is
17420 zero filled.
17421
17422 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17423 TARGET_IMG_LDFLAGS and EXEEXT.
17424
17425 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17426 TARGET_IMG_LDFLAGS_AC.
17427 (grub_CHECK_STACK_ARG_PROBE): New function.
17428
17429 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17430
17431 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17432
17433 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17434 to set TARGET_IMG_LD* accordingly.
17435 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17436 Add call to grub_CHECK_STACK_ARG_PROBE.
17437 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17438
17439 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17440
17441 * genmk.rb: Add EXEEXT to CLEANFILES.
17442
17443 2008-07-23 Robert Millan <rmh@aybabtu.com>
17444
17445 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17446 define the codes for arrows and lines used for the menu).
17447 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17448 as well.
17449
17450 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17451 fonts, because the latter are too slow.
17452
17453 2008-07-21 Bean <bean123ch@gmail.com>
17454
17455 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17456 a20. Run keyboard test last, as it will cause macbook to halt.
17457
17458 2008-07-18 Pavel Roskin <proski@gnu.org>
17459
17460 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17461 load foreign architecture modules correctly anyway. Keep
17462 support for loading host architecture modules, whether we
17463 compile them or not.
17464
17465 2008-07-17 Pavel Roskin <proski@gnu.org>
17466
17467 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17468 change target_cpu. The compiler default can mismatch target_cpu
17469 in any case.
17470
17471 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17472 * kern/efi/efi.c: Likewise.
17473
17474 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17475 target compiler is functional.
17476 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17477 are set up.
17478
17479 * configure.ac: Default to efi platform for x86_64-apple. Allow
17480 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17481 adjustments from the rest, only do them if target is not
17482 explicitly given. Merge other adjustments with the final sanity
17483 check. Remove an extraneous check for supported CPU. Be
17484 specific which CPU and which platform is not supported.
17485
17486 * configure.ac: Default to pc platform for x86_64.
17487
17488 2008-07-17 Robert Millan <rmh@aybabtu.com>
17489
17490 Partial LinuxBIOS -> Coreboot rename.
17491
17492 * conf/i386-linuxbios.rmk: Renamed to ...
17493 * conf/i386-coreboot.rmk: ... this.
17494 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17495 * configure.ac: Accept "coreboot" as input platform (but maintain
17496 compatibility with "linuxbios").
17497 * include/grub/i386/linuxbios: Renamed to ...
17498 * include/grub/i386/coreboot: ... this.
17499
17500 2008-07-17 Bean <bean123ch@gmail.com>
17501
17502 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17503 (appleldr_mod_SOURCE): New variable.
17504 (appleldr_mod_CFLAGS): Likewise.
17505 (appleldr_mod_LDFLAGS): Likewise.
17506 (pci_mod_SOURCES): Likewise.
17507 (pci_mod_CFLAGS): Likewise.
17508 (pci_mod_LDFLAGS): Likewise.
17509 (lspci_mod_SOURCES): Likewise.
17510 (lspci_mod_CFLAGS): Likewise.
17511 (lspci_mod_LDFLAGS): Likewise.
17512
17513 * conf/x86_64-efi.rmk: New file.
17514
17515 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17516 macro.
17517 (grub_efidisk_write): Likewise.
17518
17519 * include/efi/api.h (efi_call_0): New macro.
17520 (efi_call_1): Likewise.
17521 (efi_call_2): Likewise.
17522 (efi_call_3): Likewise.
17523 (efi_call_4): Likewise.
17524 (efi_call_5): Likewise.
17525 (efi_call_6): Likewise.
17526
17527 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17528 grub_rescue_cmd_chainloader.
17529
17530 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17531 (grub_pe32_optional_header): Change some fields based on i386 or
17532 x86_64 platform.
17533 (GRUB_PE32_PE32_MAGIC): Likewise.
17534
17535 * include/grub/efi/uga_draw.h: New file.
17536
17537 * include/grub/elf.h (STN_ABS): New constant.
17538 (R_X86_64_NONE): Relocation constant for x86_64.
17539 (R_X86_64_64): Likewise.
17540 (R_X86_64_PC32): Likewise.
17541 (R_X86_64_GOT32): Likewise.
17542 (R_X86_64_PLT32): Likewise.
17543 (R_X86_64_COPY): Likewise.
17544 (R_X86_64_GLOB_DAT): Likewise.
17545 (R_X86_64_JUMP_SLOT): Likewise.
17546 (R_X86_64_RELATIVE): Likewise.
17547 (R_X86_64_GOTPCREL): Likewise.
17548 (R_X86_64_32): Likewise.
17549 (R_X86_64_32S): Likewise.
17550 (R_X86_64_16): Likewise.
17551 (R_X86_64_PC16): Likewise.
17552 (R_X86_64_8): Likewise.
17553 (R_X86_64_PC8): Likewise.
17554
17555 * include/grub/i386/efi/pci.h: New file.
17556
17557 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17558 Change it value based on platform.
17559 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17560 (GRUB_E820_RAM): Likewise.
17561 (GRUB_E820_RESERVED): Likewise.
17562 (GRUB_E820_ACPI): Likewise.
17563 (GRUB_E820_NVS): Likewise.
17564 (GRUB_E820_EXEC_CODE): Likewise.
17565 (GRUB_E820_MAX_ENTRY): Likewise.
17566 (grub_e820_mmap): New structure.
17567 (linux_kernel_header): Change the efi field according to different
17568 kernel version, also field from linux_kernel_header.
17569
17570 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17571
17572 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17573 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17574 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17575 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17576 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17577 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17578 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17579 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17580 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17581 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17582
17583 * include/grub/x86_64/efi/kernel.h: New file.
17584
17585 * include/grub/x86_64/efi/loader.h: Likewise.
17586
17587 * include/grub/x86_64/efi/machine.h: Likewise.
17588
17589 * include/grub/x86_64/efi/pci.h: Likewise.
17590
17591 * include/grub/x86_64/efi/time.h: Likewise.
17592
17593 * include/grub/x86_64/linux.h: Likewise.
17594
17595 * include/grub/x86_64/setjmp.h: Likewise.
17596
17597 * include/grub/x86_64/time.h: Likewise.
17598
17599 * include/grub/x86_64/types.h: Likewise.
17600
17601 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17602 GRUB_TARGET_SIZEOF_VOID_P.
17603
17604 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17605 (grub_efi_locate_handle): Likewise.
17606 (grub_efi_open_protocol): Likewise.
17607 (grub_efi_set_text_mode): Likewise.
17608 (grub_efi_stall): Likewise.
17609 (grub_exit): Likewise.
17610 (grub_reboot): Likewise.
17611 (grub_halt): Likewise.
17612 (grub_efi_exit_boot_services): Likewise.
17613 (grub_get_rtc): Likewise.
17614
17615 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17616 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17617 (grub_efi_allocate_pages): Wrap efi calls.
17618 (grub_efi_free_pages): Wrap efi calls.
17619 (grub_efi_get_memory_map): Wrap efi calls.
17620
17621 * kern/x86_64/dl.c: New file.
17622
17623 * kern/x86_64/efi/callwrap.S: Likewise.
17624
17625 * kern/x86_64/efi/startup.S: Likewise.
17626
17627 * loader/efi/appleloader.c: Likewise.
17628
17629 * loader/efi/chainloader.c (cmdline): New variable.
17630 (grub_chainloader_unload): Wrap efi calls.
17631 (grub_chainloader_boot): Likewise.
17632 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17633 command line.
17634
17635 * loader/efi/chainloader_normal.c (chainloader_command):
17636 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17637 command line.
17638
17639 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17640 method.
17641 (grub_e820_add_region): New function.
17642 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17643 booting.
17644 (grub_find_video_card): New function.
17645 (grub_linux_setup_video): New function.
17646 (grub_rescue_cmd_linux): Probe for video information.
17647
17648 * normal/x86_64/setjmp.S: New file.
17649
17650 * term/efi/console.c (map_char): New function.
17651 (grub_console_putchar): Map unicode char.
17652 (grub_console_checkkey): Wrap efi calls.
17653 (grub_console_getkey): Likewise.
17654 (grub_console_getwh): Likewise.
17655 (grub_console_gotoxy): Likewise.
17656 (grub_console_cls): Likewise.
17657 (grub_console_setcolorstate): Likewise.
17658 (grub_console_setcursor): Likewise.
17659
17660 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17661
17662 2008-07-16 Pavel Roskin <proski@gnu.org>
17663
17664 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17665 format strings.
17666
17667 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17668 pointer, not an integer. This fixes a warning and prevents
17669 precision loss on 64-bit systems.
17670 (relocate_addresses): Remove unneeded cast.
17671
17672 2008-07-15 Pavel Roskin <proski@gnu.org>
17673
17674 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17675
17676 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17677
17678 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17679 Fix comparison between signed and unsigned.
17680
17681 * include/grub/i386/ieee1275/console.h: Declare
17682 grub_console_init() and grub_console_fini().
17683
17684 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17685 It's empty and unused.
17686
17687 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17688 beginning to avoid warnings with some compilers.
17689
17690 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17691 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17692
17693 2008-07-14 Pavel Roskin <proski@gnu.org>
17694
17695 * kern/env.c (grub_register_variable_hook): Don't copy empty
17696 string, it leaks memory. Pass "" to grub_env_set(), it should
17697 handle constant strings.
17698
17699 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17700 * commands/cmp.c (grub_cmd_cmp): Likewise.
17701 * kern/dl.c (grub_dl_flush_cache): Likewise.
17702 (grub_dl_load_core): Likewise.
17703 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17704 (grub_elf64_load_phdrs): Likewise.
17705
17706 2008-07-13 Pavel Roskin <proski@gnu.org>
17707
17708 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17709 between signed and unsigned.
17710 (LzmaEnc_Finish): Fix warning about an unused parameter.
17711
17712 2008-07-13 Bean <bean123ch@gmail.com>
17713
17714 * Makefile.in (enable_lzo): New rule.
17715
17716 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17717
17718 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17719
17720 * boot/i386/pc/lnxboot.S: #include <config.h>.
17721
17722 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17723 its value according to the compression algorithm used, lzo or lzma.
17724
17725 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17726 compression algorithm according to configure macro.
17727
17728 * kern/i386/pc/startup.S (codestart): Likewise.
17729
17730 * kern/i386/pc/lzma_decode.S: New file.
17731
17732 * include/grub/lib/LzFind.h: Likewise.
17733
17734 * include/grub/lib/LzHash.h: Likewise.
17735
17736 * include/grub/lib/LzmaDec.h: Likewise.
17737
17738 * include/grub/lib/LzmaEnc.h: Likewise.
17739
17740 * include/grub/lib/LzmaTypes.h: Likewise.
17741
17742 * lib/LzFind.c: Likewise.
17743
17744 * lib/LzmaDec.c: Likewise.
17745
17746 * lib/LzmaEnc.c: Likewise.
17747
17748 2008-07-13 Bean <bean123ch@gmail.com>
17749
17750 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17751 (grub_ext4_extent_header): New structure.
17752 (grub_ext4_extent): Likewise.
17753 (grub_ext4_extent_idx): Likewise.
17754 (grub_ext4_find_leaf): New function.
17755 (grub_ext2_read_block): Handle extents.
17756
17757 2008-07-12 Robert Millan <rmh@aybabtu.com>
17758
17759 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17760
17761 2008-07-11 Robert Millan <rmh@aybabtu.com>
17762
17763 * util/grub.d/40_custom.in: New file. Example on how to add custom
17764 entries to /etc/grub.d.
17765 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17766 40_custom (implicitly, by merging all the grub.d rules).
17767
17768 2008-07-11 Pavel Roskin <proski@gnu.org>
17769
17770 * commands/read.c (grub_getline): Fix invalid memory access.
17771 Don't add newline to the variable value.
17772
17773 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17774 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17775 (serial_hw_get_port): Check validity of the port number.
17776 (grub_cmd_serial): Check return value of serial_hw_get_port().
17777
17778 2008-07-07 Pavel Roskin <proski@gnu.org>
17779
17780 * boot/i386/pc/diskboot.S (notification_string): Replace
17781 "Loading kernel" with just "loading". This is shorter, less
17782 confusing and saves a few bytes for possible future changes.
17783
17784 2008-07-05 Pavel Roskin <proski@gnu.org>
17785
17786 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17787 size for ATAPI devices, they are undefined. Output sector
17788 number in decimal form.
17789
17790 * disk/ata.c: Use named constants for status bits.
17791
17792 2008-07-04 Pavel Roskin <proski@gnu.org>
17793
17794 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17795 grub_addr_t before casting it to the void pointer to fix a
17796 warning. Non-addressable regions are discarded earlier.
17797 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17798 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17799 (check_signature): Don't shadow table_header.
17800 (grub_linuxbios_table_iterate): Cast numeric constants to
17801 grub_linuxbios_table_header_t.
17802 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17803 grub_stop().
17804
17805 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17806 prevent warnings.
17807
17808 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17809 pointer, which can cause warnings. Support 64-bit addresses.
17810
17811 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17812 of sizeof(long). This fixes PowerPC image generation on x86_64.
17813
17814 2008-07-04 Robert Millan <rmh@aybabtu.com>
17815
17816 This fixes a performance issue when pc & gpt partmap iterators
17817 didn't abort iteration even after our hook found what it was
17818 looking for (often causing expensive probes of non-existent drives).
17819
17820 Some callers relied on previous buggy behaviour, since they would
17821 raise an error when their own hooks caused early abortion of its
17822 iteration.
17823
17824 * kern/device.c (grub_device_open): Improve error message.
17825 * disk/lvm.c (grub_lvm_open): Likewise.
17826 * disk/raid.c (grub_raid_open): Likewise.
17827
17828 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17829 when hook requests it, independently of grub_errno.
17830 (pc_partition_map_probe): Do not fail when find_func() caused
17831 early abortion of pc_partition_map_iterate().
17832
17833 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17834 when hook requests it, independently of grub_errno.
17835 (gpt_partition_map_probe): Do not fail when find_func() caused
17836 early abortion of gpt_partition_map_iterate().
17837
17838 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17839 when hook requests it, independently of grub_errno. Do not fail when
17840 part_map_iterate_hook() caused early abortion of p->iterate().
17841
17842 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17843 when grub_partition_iterate() returned with non-zero.
17844
17845 2008-07-03 Pavel Roskin <proski@gnu.org>
17846
17847 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17848 like we do in grub_ata_pio_read().
17849 (grub_ata_readwrite): Always write individual sectors. Fix the
17850 sector count for the remainder.
17851 (grub_ata_write): Enable writing to ATA devices. Correctly
17852 report error for ATAPI devices.
17853
17854 2008-07-02 Pavel Roskin <proski@gnu.org>
17855
17856 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17857 warning.
17858
17859 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17860 for every read sector, we already increment it for the whole
17861 batch. This fixes reading more than 256 sectors at once.
17862
17863 * util/grub-editenv.c (cmd_info): Cast argument to long
17864 explicitly. ptrdiff_t reduces to int on i386.
17865
17866 * util/grub-editenv.c (main): Be specific which parameter is
17867 missing.
17868
17869 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17870 (memdisk): Make memdisk_orig_addr a pointer.
17871
17872 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17873 for file offsets, use grub_off_t instead. Fix printf format
17874 warnings.
17875
17876 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17877 there. Real unexpected warnings should not drown in the noise
17878 about known problems.
17879
17880 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17881 grub_disk_addr_t for memory addresses.
17882
17883 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17884 explicitly to fix a warning.
17885
17886 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17887
17888 * Makefile.in (MODULE_LDFLAGS): New variable.
17889 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17890 the linker accepts --build-id=none.
17891 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17892 MODULE_LDFLAGS.
17893 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17894
17895 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17896 those in Linux XFS code. Provide a way to access 64-bit parent
17897 inode.
17898 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17899 the end of struct grub_xfs_dir_header.
17900
17901 2008-07-02 Bean <bean123ch@gmail.com>
17902
17903 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17904 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17905 and GRUB_IEEE1275_FLAG_NO_ANSI.
17906
17907 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17908 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17909 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17910
17911 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17912 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17913
17914 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17915 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17916
17917 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17918 esc sequence on non ANSI terminal.
17919 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17920
17921 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17922 beginning of file.
17923
17924 2008-07-02 Bean <bean123ch@gmail.com>
17925
17926 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17927 (grub_editenv_SOURCES): New variable.
17928 (pkglib_MODULES): Add loadenv.mod.
17929 (loadenv_mod_SOURCES): New variable.
17930 (loadenv_mod_CFLAGS): Likewise.
17931 (loadenv_mod_LDFLAGS): Likewise.
17932
17933 * include/grub/envblk.h: New file.
17934
17935 * util/envblk.c: New file.
17936
17937 * util/grub-editenv.c: New file.
17938
17939 * commands/loadenv.c: New file.
17940
17941 2008-07-01 Pavel Roskin <proski@gnu.org>
17942
17943 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17944 not unsigned char. This fixes warnings and is consistent with
17945 other tags.
17946
17947 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17948
17949 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17950
17951 * term/tparm.c (analyze): Always set *popcount.
17952
17953 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17954 cast to fix a warning.
17955
17956 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17957 cast to suppress a warning.
17958
17959 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17960 grub_fshelp_read_file() expects.
17961
17962 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17963 write uuid as a 32-bit value in CPU byte order, so declare and
17964 use it as such.
17965
17966 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17967 long if the format specifier expects it.
17968 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17969 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17970 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17971 long to fix a warning.
17972 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17973 grub_dprintf() arguments to fix warnings.
17974
17975 2008-06-30 Pavel Roskin <proski@gnu.org>
17976
17977 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17978 install_bsd_part immediately before core.img is embedded or
17979 modified on disk. This fixes core.img verification if core.img
17980 cannot be embedded.
17981
17982 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17983 core_path to calculate the blocklist.
17984 Patch from Javier Martín <lordhabbit@gmail.com>
17985
17986 2008-06-29 Robert Millan <rmh@aybabtu.com>
17987
17988 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17989 block to disk block.
17990 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17991 Patch from Niels Böhm <bitbucket@arcor.de>
17992
17993 2008-06-29 Robert Millan <rmh@aybabtu.com>
17994
17995 * util/update-grub_lib.in (font_path): Search for fonts in
17996 /boot/grub first, which is more likely to be readable (we aren't
17997 deciding where fonts live, just looking for them).
17998
17999 2008-06-26 Pavel Roskin <proski@gnu.org>
18000
18001 * util/biosdisk.c (read_device_map): Don't leave dead map
18002 entries for devices failing stat() check.
18003
18004 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18005 core_path_dev for the core.img path on the target device.
18006
18007 2008-06-26 Robert Millan <rmh@aybabtu.com>
18008
18009 * disk/fs_uuid.c: New file.
18010 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18011 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18012 (fs_uuid_mod_LDFLAGS): New variables.
18013 * include/grub/disk.h (grub_disk_dev_id): Add
18014 `GRUB_DISK_DEVICE_UUID_ID'.
18015 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18016 implement iterate().
18017
18018 2008-06-26 Robert Millan <rmh@aybabtu.com>
18019
18020 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18021 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18022 Linux image includes no initrd.
18023
18024 2008-06-21 Javier Martín <lordhabbit@gmail.com>
18025
18026 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18027 call to resolve the core image location that effectively appended the
18028 name twice.
18029
18030 2008-06-21 Robert Millan <rmh@aybabtu.com>
18031
18032 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18033 call from here ...
18034
18035 * util/grub.d/10_hurd.in: ... to here ...
18036 * util/grub.d/10_linux.in: ... and here.
18037
18038 2008-06-19 Robert Millan <rmh@aybabtu.com>
18039
18040 * kern/main.c (grub_main): Export `prefix' variable immediately
18041 after it has been set by grub_machine_set_prefix().
18042
18043 2008-06-19 Robert Millan <rmh@aybabtu.com>
18044
18045 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18046 search result when not saving to variable, not the other way around.
18047 When saving to variable, abort iteration as soon as a match is found.
18048
18049 2008-06-19 Robert Millan <rmh@aybabtu.com>
18050
18051 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18052 check for partition that provides /boot/grub. Its logic is flawed,
18053 as it prevents prepare_grub_to_access_device() from being called
18054 multiple times.
18055
18056 2008-06-19 Robert Millan <rmh@aybabtu.com>
18057
18058 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18059 "insmod" command directly when abstraction modules are needed,
18060 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
18061 since it had already been processed).
18062
18063 2008-06-19 Pavel Roskin <proski@gnu.org>
18064
18065 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18066 changed. This is needed in case GRUB_LIBDIR changes.
18067 * conf/i386-ieee1275.rmk: Likewise.
18068 * conf/i386-linuxbios.rmk: Likewise.
18069 * conf/i386-pc.rmk: Likewise.
18070 * conf/powerpc-ieee1275.rmk: Likewise.
18071
18072 2008-06-18 Pavel Roskin <proski@gnu.org>
18073
18074 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18075 kernel_elf_symlist.c to symlist.c for consistency with other
18076 architectures. Update all users.
18077 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18078
18079 2008-06-18 Robert Millan <rmh@aybabtu.com>
18080
18081 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18082 it in prefix.
18083
18084 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18085 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18086 a RAID device, run setup() for all members independently on whether
18087 LVM abstraction is being used.
18088 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18089 If grub-mkimage has set `*install_dos_part == -2', don't override this
18090 value.
18091 Perform *install_dos_part adjustments independently on whether
18092 we're embedding or not.
18093 Clarify error message when image is too big for embedding.
18094 Remove duplicate *install_dos_part stanza.
18095
18096 2008-06-17 Robert Millan <rmh@aybabtu.com>
18097
18098 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18099 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18100 variables.
18101 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18102 values in grub_ofconsole_normal_color and
18103 grub_ofconsole_highlight_color (they're not directly related to
18104 background and foreground).
18105 (grub_ofconsole_setcolorstate): Extract background and foreground
18106 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18107
18108 2008-06-17 Robert Millan <rmh@aybabtu.com>
18109
18110 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18111 /boot/grub for the check in last commit, not /boot (they could be
18112 different partitions).
18113
18114 2008-06-16 Robert Millan <rmh@aybabtu.com>
18115
18116 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18117 asked to setup access for the same partition that provides /boot,
18118 don't bother using UUIDs since our root already has the value we
18119 want.
18120
18121 2008-06-16 Robert Millan <rmh@aybabtu.com>
18122
18123 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18124 I2O devices.
18125 Patch from Sven Mueller <sven@debian.org>.
18126
18127 2008-06-16 Robert Millan <rmh@aybabtu.com>
18128
18129 * util/update-grub.in: Check for $EUID instead of $UID.
18130 Reported by Vincent Zweije.
18131
18132 2008-06-16 Bean <bean123ch@gmail.com>
18133
18134 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18135 (grub_ext2_read_block): Likewise.
18136 (grub_ext2_read_inode): Likewise.
18137 (grub_ext2_mount): Likewise.
18138 (grub_ext2_close): Likewise.
18139 (grub_ext3_get_journal): Removed.
18140
18141 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18142 (grub_reiserfs_read_symlink): Likewise.
18143 (grub_reiserfs_mount): Likewise.
18144 (grub_reiserfs_open): Likewise.
18145 (grub_reiserfs_read): Likewise.
18146 (grub_reiserfs_close): Likewise.
18147 (grub_reiserfs_get_journal): Removed.
18148
18149 * fs/fshelp.c (grub_fshelp_read): Removed.
18150 (grub_fshelp_map_block): Likewise.
18151
18152 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18153 (grub_fshelp_journal): Likewise.
18154 (grub_fshelp_read): Likewise.
18155 (grub_fshelp_map_block): Likewise.
18156
18157 2008-06-16 Pavel Roskin <proski@gnu.org>
18158
18159 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18160 floating point anymore.
18161 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18162
18163 2008-06-15 Pavel Roskin <proski@gnu.org>
18164
18165 * commands/ls.c (grub_ls_list_files): Use integer calculations
18166 for human readable format, avoid floating point use.
18167 * kern/misc.c (grub_ftoa): Remove.
18168 (grub_vsprintf): Remove floating point support.
18169
18170 2008-06-15 Robert Millan <rmh@aybabtu.com>
18171
18172 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18173 devices.
18174 Reported by Max Vozeler.
18175
18176 2008-06-15 Robert Millan <rmh@aybabtu.com>
18177
18178 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18179 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18180 skipped later.
18181 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18182 the beginning of the prefix.
18183
18184 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18185 It is assumed that if we have a memdisk, grub-mkimage has set
18186 grub_prefix to include the "(memdisk)" drive in it.
18187
18188 2008-06-15 Robert Millan <rmh@aybabtu.com>
18189
18190 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18191 Initialize keyboard controller after registering the terminal, so that
18192 grub_printf() can be called from grub_keyboard_controller_init().
18193
18194 2008-06-15 Robert Millan <rmh@aybabtu.com>
18195
18196 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18197 extent-btree which is written as big endian on disk.
18198 Reported by Alain Greppin <al@chilibi.org>.
18199
18200 2008-06-14 Robert Millan <rmh@aybabtu.com>
18201
18202 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18203 * util/i386/pc/grub-install.in (modules): Likewise.
18204
18205 2008-06-13 Pavel Roskin <proski@gnu.org>
18206
18207 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18208
18209 2008-06-13 Bean <bean123ch@gmail.com>
18210
18211 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18212
18213 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18214
18215 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18216 to indicate sparse block.
18217
18218 2008-06-12 Pavel Roskin <proski@gnu.org>
18219
18220 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18221 number, grub_fshelp_read() does it for us.
18222
18223 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18224 linear disk read with journal translation.
18225 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18226 * include/grub/fshelp.h: Declare grub_fshelp_read().
18227
18228 2008-06-09 Pavel Roskin <proski@gnu.org>
18229
18230 * fs/minix.c (grub_minix_mount): Handle error reading
18231 superblock.
18232
18233 2008-06-08 Robert Millan <rmh@aybabtu.com>
18234
18235 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18236 don't append the RAID prefix afterwards.
18237 Reported by Clint Adams.
18238
18239 2008-06-08 Robert Millan <rmh@aybabtu.com>
18240
18241 Based on description from Pavel:
18242 * kern/disk.c (grub_disk_check_range): Rename to ...
18243 (grub_disk_adjust_range): ... this. Add a comment explaining the
18244 tasks performed by this function.
18245
18246 2008-06-08 Robert Millan <rmh@aybabtu.com>
18247
18248 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18249 `num_serial' (for consistency with other variables).
18250 (struct grub_ntfs_data): Add `uuid' member.
18251 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18252 (grub_ntfs_uuid): New function.
18253 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18254
18255 2008-06-07 Pavel Roskin <proski@gnu.org>
18256
18257 * util/biosdisk.c (open_device): Revert last change to the
18258 function, it broke installation. The sector needs to be
18259 different dependent on which device is opened.
18260
18261 2008-06-06 Robert Millan <rmh@aybabtu.com>
18262
18263 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18264 rest of GRUB, and breakage doesn't happen if its value were modified.
18265
18266 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18267 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18268 a constant (same value).
18269 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18270 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18271
18272 2008-06-06 Robert Millan <rmh@aybabtu.com>
18273
18274 * util/biosdisk.c (open_device): Do not modify sector offset when
18275 accessing a partition. kern/disk.c already handles this for us.
18276
18277 2008-06-06 Robert Millan <rmh@aybabtu.com>
18278
18279 * util/grub-emu.c (grub_machine_init): Move code in this function from
18280 here ...
18281 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18282 segfault in case grub_printf() is called).
18283
18284 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18285 grub_probe. Update all users not to explicitly add it again.
18286 (grub_device): New variable; contains corresponding device for grubdir.
18287 (fs_module, partmap_module, devabstraction_module): Pass
18288 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18289 every time.
18290
18291 2008-06-05 Robert Millan <rmh@aybabtu.com>
18292
18293 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18294 is found, print it (same layout as with labels).
18295
18296 2008-06-04 Robert Millan <rmh@aybabtu.com>
18297
18298 * util/biosdisk.c (get_drive): Rename to ...
18299 (find_grub_drive): ... this. Update all users.
18300
18301 (get_os_disk): Rename to ...
18302 (convert_system_partition_to_system_disk): ... this. Update all users.
18303
18304 (find_drive): Rename to ...
18305 (find_system_device): ... this. Update all users.
18306
18307 2008-06-04 Robert Millan <rmh@aybabtu.com>
18308
18309 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18310 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18311 (make_device_map): Likewise.
18312
18313 2008-06-01 Robert Millan <rmh@aybabtu.com>
18314
18315 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18316 before dereferencing it.
18317
18318 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18319 union with fat12/fat16-specific ones. Add some new fields, including
18320 `num_serial' for both versions.
18321 (struct grub_fat_data): Add `uuid' member.
18322 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18323 names. Initialize `data->uuid' using `num_serial'.
18324 (grub_fat_uuid): New function.
18325 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18326
18327 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18328 (grub_reiserfs_uuid): New function.
18329 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18330 member.
18331
18332 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18333 (grub_xfs_uuid): New function.
18334 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18335
18336 2008-06-01 Robert Millan <rmh@aybabtu.com>
18337
18338 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18339 code that is backward compatible with pre-uuid search command.
18340
18341 2008-05-31 Robert Millan <rmh@aybabtu.com>
18342
18343 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18344 floppies after everything else, to ensure floppy drive isn't accessed
18345 unnecessarily (patch from Bean).
18346
18347 2008-05-31 Robert Millan <rmh@aybabtu.com>
18348
18349 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18350 not print device names when we were asked to set a variable.
18351
18352 2008-05-31 Robert Millan <rmh@aybabtu.com>
18353
18354 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18355 using "cursor-on" and "cursor-off" commands (understood at least by
18356 the Open Firmware flavour on OLPC).
18357
18358 2008-05-31 Michael Gorven <michael@gorven.za.net>
18359
18360 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18361 on and off sequences.
18362
18363 2008-05-31 Robert Millan <rmh@aybabtu.com>
18364
18365 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18366 * util/update-grub.in: Likewise.
18367
18368 2008-05-30 Pavel Roskin <proski@gnu.org>
18369
18370 * util/biosdisk.c (linux_find_partition): Simplify logic and
18371 make the code more universal. Keep special processing for
18372 devfs, but use a simple rule for all other devices. If the
18373 device ends with a number, append 'p' and the partition number.
18374 Otherwise, append only the partition number.
18375
18376 2008-05-30 Robert Millan <rmh@aybabtu.com>
18377
18378 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18379 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18380 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18381 the `root' parameter to Linux.
18382
18383 2008-05-30 Robert Millan <rmh@aybabtu.com>
18384
18385 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18386 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18387 --fs_uuid with --fs-uuid.
18388 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18389 all filesystems support them).
18390
18391 2008-05-30 Robert Millan <rmh@aybabtu.com>
18392
18393 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18394 grub_printf() flags, since we're printing in units of 2 bytes.
18395
18396 2008-05-30 Robert Millan <rmh@aybabtu.com>
18397
18398 * util/grub.d/00_header.in: Remove obsolete comment referencing
18399 convert_system_path_to_grub_path().
18400 * util/update-grub.in: Likewise.
18401 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18402 (convert_system_path_to_grub_path): Add a warning message explaining
18403 that this function is deprecated. Rely on is_path_readable_by_grub()
18404 for the readability checks.
18405 (font_path): Use is_path_readable_by_grub() for the readability
18406 check rather than convert_system_path_to_grub_path().
18407
18408 2008-05-30 Robert Millan <rmh@aybabtu.com>
18409
18410 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18411 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18412 converting it first.
18413 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18414 grub.cfg for access to font file, and afterwards call it again to set
18415 the root device.
18416
18417 2008-05-30 Robert Millan <rmh@aybabtu.com>
18418
18419 * commands/search.c (options): Add --fs_uuid option.
18420 (search_fs_uuid): New function.
18421 (grub_cmd_search): Fix --set argument passing.
18422 Use search_fs_uuid() when requested via --fs_uuid.
18423 (grub_search_init): Update help message.
18424 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18425 and redeclare it as an array of 16-bit words.
18426 (grub_ext2_uuid): New function.
18427 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18428 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18429 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18430 (GRUB_DEVICE_BOOT_UUID): New variables.
18431 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18432 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18433 whenever possible.
18434 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18435 just assume `root' variable has the right value.
18436 * util/grub.d/10_linux.in: Likewise.
18437 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18438 via PRINT_FS_UUID.
18439 (main): Recognise `-t fs_uuid' argument.
18440
18441 2008-05-30 Robert Millan <rmh@aybabtu.com>
18442
18443 * util/biosdisk.c (map): Redefine structure to hold information
18444 about GRUB drive name.
18445 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18446 drive names.
18447 (call_hook): Remove.
18448 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18449 member. Assume drive has partitions.
18450 (grub_util_biosdisk_open): Access device names via `.device' struct
18451 member.
18452 (open_device): Likewise.
18453 (find_drive): Likewise.
18454 (read_device_map): Adjust map[] usage to match the new struct
18455 definition. Don't check for duplicates (still possible, but not cheap
18456 anymore).
18457 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18458 (make_device_name): Remove assumption of BIOS-like drive names.
18459
18460 2008-05-30 Pavel Roskin <proski@gnu.org>
18461
18462 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18463 compiling execute.c doesn't need grub_script.tab.h anymore.
18464 (normal/command.c_DEPENDENCIES): Likewise.
18465 (normal/function.c_DEPENDENCIES): Likewise.
18466 * conf/i386-ieee1275.rmk: Likewise.
18467 * conf/i386-linuxbios.rmk: Likewise.
18468 * conf/i386-pc.rmk: Likewise.
18469 * conf/powerpc-ieee1275.rmk: Likewise.
18470 * conf/sparc64-ieee1275.rmk: Likewise.
18471
18472 2008-05-29 Pavel Roskin <proski@gnu.org>
18473
18474 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18475 when scanning metadata for volume group name.
18476
18477 * include/grub/script.h: Don't include grub_script.tab.h. It's
18478 a generated file, which may only be included from the files with
18479 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18480 use union YYSTYPE, as the later allows forward declaration.
18481 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18482
18483 2008-05-29 Robert Millan <rmh@aybabtu.com>
18484
18485 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18486 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18487 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18488 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18489 scan codes.
18490
18491 2008-05-29 Robert Millan <rmh@aybabtu.com>
18492
18493 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18494 control key combinations.
18495
18496 2008-05-29 Robert Millan <rmh@aybabtu.com>
18497
18498 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18499 * util/ieee1275/grub-install.in: ... to here.
18500 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18501 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18502 (grub_install_SOURCES): Likewise.
18503
18504 2008-05-29 Robert Millan <rmh@aybabtu.com>
18505
18506 * fs/affs.c: Update copyright year.
18507 * fs/ext2.c: Likewise.
18508 * fs/fshelp.c: Likewise.
18509 * fs/hfsplus.c: Likewise.
18510 * fs/ntfs.c: Likewise.
18511 * fs/xfs.c: Likewise.
18512 * include/grub/fshelp.h: Likewise.
18513 * util/grub-mkdevicemap.c: Likewise.
18514
18515 2008-05-28 Robert Millan <rmh@aybabtu.com>
18516
18517 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18518 might need to be fatfs to support some firmware implementations
18519 (e.g. OFW or EFI).
18520
18521 2008-05-28 Robert Millan <rmh@aybabtu.com>
18522
18523 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18524 devices.
18525 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18526 (make_device_map): Likewise.
18527
18528 2008-05-20 Bean <bean123ch@gmail.com>
18529
18530 * fs/fshelp.c (grub_fshelp_map_block): New function.
18531 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18532 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18533
18534 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18535 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18536 (grub_fshelp_journal): New structure.
18537 (grub_fshelp_map_block): New function prototype.
18538 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18539 (grub_fshelp_map_block): Likewise.
18540
18541 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18542 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18543 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18544 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18545 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18546 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18547 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18548 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18549 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18550 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18551 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18552 (grub_ext2_sblock): New members for journal support.
18553 (grub_ext3_journal_header): New structure.
18554 (grub_ext3_journal_revoke_header): Likewise.
18555 (grub_ext3_journal_block_tag): Likewise.
18556 (grub_ext3_journal_sblock): Likewise.
18557 (grub_fshelp_node): New members logfile and journal.
18558 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18559 grub_fshelp_map_block to get real block number.
18560 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18561 number.
18562 (grub_ext2_read_inode): Likewise.
18563 (grub_ext3_get_journal): New function.
18564 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18565 (grub_ext2_close): Release memory used by journal.
18566
18567 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18568 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18569 (grub_reiserfs_transaction_header): Renamed to
18570 grub_reiserfs_description_block, replace field data with real_blocks.
18571 (grub_reiserfs_commit_block): New structure.
18572 (grub_reiserfs_data): New member journal.
18573 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18574 number.
18575 (grub_reiserfs_read_symlink): Likewise.
18576 (grub_reiserfs_iterate_dir): Likewise.
18577 (grub_reiserfs_open): Likewise.
18578 (grub_reiserfs_read): Likewise.
18579 (grub_reiserfs_get_journal): New function.
18580 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18581 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18582 using grub_reiserfs_get_journal.
18583 (grub_reiserfs_close): Release memory used by journal.
18584
18585 * fs/affs.c (grub_affs_read_block): Change block type to
18586 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18587
18588 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18589
18590 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18591
18592 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18593
18594 * fs/udf.c (grub_udf_read_block): Change block type to
18595 grub_disk_addr_t. Use type cast to avoid warning.
18596
18597 * fs/xfs.c (grub_xfs_read_block): Likewise.
18598
18599 2008-05-16 Christian Franke <franke@computer.org>
18600
18601 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18602 to ensure that break with ESC will always work.
18603 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18604 Remove ESC from keyboard queue.
18605
18606 2008-05-16 Christian Franke <franke@computer.org>
18607
18608 * util/biosdisk.c: [__CYGWIN__] Add includes.
18609 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18610 (get_os_disk): Move variable declarations to OS specific
18611 parts to avoid warning.
18612 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18613 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18614 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18615 Cygwin.
18616 * util/getroot.c: [__CYGWIN__] Add includes.
18617 (strip_extra_slashes): Fix "/" case.
18618 [__CYGWIN__] (get_win32_path): New function.
18619 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18620 [__CYGWIN__] (find_root_device): Disable.
18621 [__CYGWIN__] (get_bootsec_serial): New function.
18622 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18623 [__linux__] (grub_guess_root_device): Add early returns to simplify
18624 structure.
18625 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18626 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18627 check for Linux only.
18628
18629 2008-05-15 Bean <bean123ch@gmail.com>
18630
18631 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18632 keyboard hang problem in apple's intel mac.
18633
18634 2008-05-09 Robert Millan <rmh@aybabtu.com>
18635
18636 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18637 devices.
18638 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18639 (make_device_map): Likewise.
18640 Reported by Aurelien Jarno <aurel32@debian.org>
18641
18642 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18643
18644 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18645 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18646 (make_device_map): Output entries for xvd type disks.
18647
18648 2008-05-07 Robert Millan <rmh@aybabtu.com>
18649
18650 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18651 devices.
18652 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18653 (make_device_map): Likewise.
18654 Reported by Roland Dreier <rdreier@cisco.com>
18655
18656 2008-05-07 Robert Millan <rmh@aybabtu.com>
18657
18658 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18659 grub_strstr() call. Correct a few mistakes in failure path handling.
18660
18661 2008-05-06 Robert Millan <rmh@aybabtu.com>
18662
18663 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18664 Do not print a trailing slash (therefore, the root directory is an
18665 empty string).
18666 (convert_system_path_to_grub_path): Do not remove trailing slash
18667 from make_system_path_relative_to_its_root() output.
18668
18669 * util/i386/pc/grub-install.in: Add trailing slash to output from
18670 make_system_path_relative_to_its_root().
18671
18672 2008-05-06 Robert Millan <rmh@aybabtu.com>
18673
18674 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18675 ensures that output lines aren't intermangled with those sent to
18676 stderr (via grub_util_info()).
18677 * util/grub-probe.c (grub_refresh): Likewise.
18678 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18679
18680 2008-05-05 Christian Franke <franke@computer.org>
18681
18682 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18683 Add Cygwin device names.
18684 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18685 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18686 (check_device): Return error instead of success on empty name.
18687 (make_device_map): Move label inside linux specific code to
18688 prevent compiler warning.
18689
18690 2008-04-30 Robert Millan <rmh@aybabtu.com>
18691
18692 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18693 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18694 first boot option.
18695 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18696
18697 2008-04-29 Robert Millan <rmh@aybabtu.com>
18698
18699 * docs/grub.cfg: New file (example GRUB configuration).
18700
18701 2008-04-26 Robert Millan <rmh@aybabtu.com>
18702
18703 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18704 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18705 and `disk/ieee1275/nand.c'.
18706
18707 2008-04-25 Bean <bean123ch@gmail.com>
18708
18709 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18710 i386-linuxbios.
18711
18712 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18713 change the buffer size to 4096 for cdrom device.
18714
18715 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18716 and nand.mod.
18717 (_linux_mod_SOURCES): New variable.
18718 (_linux_mod_CFLAGS): Likewise.
18719 (_linux_mod_LDFLAGS): Likewise.
18720 (linux_mod_SOURCES): Likewise.
18721 (linux_mod_CFLAGS): Likewise.
18722 (linux_mod_LDFLAGS): Likewise.
18723 (nand_mod_SOURCES): Likewise.
18724 (nand_mod_CFLAGS): Likewise.
18725 (nand_mod_LDFLAGS): Likewise.
18726
18727 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18728 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18729 type property. (nand device in olpc don't have this property)
18730
18731 * include/grub/disk.h (grub_disk_dev_id): New macro
18732 GRUB_DISK_DEVICE_NAND_ID.
18733
18734 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18735 function prototype.
18736 (grub_rescue_cmd_initrd): Likewise.
18737
18738 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18739 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18740 ofw_cif_handler and ofw_idt, adjust padding number.
18741
18742 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18743 GRUB_MACHINE_IEEE1275 is defined.
18744
18745 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18746 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18747
18748 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18749 on nested function heap_init.
18750 (grub_upper_mem): New variable for i386-ieee1275.
18751 (grub_get_extended_memory): New function for i386-ieee1275.
18752 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18753
18754 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18755 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18756 property.
18757
18758 * loader/i386/ieee1275/linux.c: New file.
18759
18760 * loader/i386/ieee1275/linux_normal.c: New file.
18761
18762 * disk/ieee1275/nand.c: New file.
18763
18764 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18765
18766 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18767 value.
18768 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18769
18770 2008-04-18 Robert Millan <rmh@aybabtu.com>
18771
18772 Restructures early code path on ieee1275 to unify grub_main() as
18773 the first C function that is executed in every platform.
18774
18775 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18776 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18777 cmain().
18778 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18779 * kern/ieee1275/cmain.c (cmain): Rename to ...
18780 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18781 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18782 at the beginning.
18783
18784 2008-04-18 Robert Millan <rmh@aybabtu.com>
18785
18786 * util/update-grub.in: Fix syntax error when setting
18787 `GRUB_PRELOAD_MODULES'.
18788 Reported by Stephane Chazelas <stephane@artesyncp.com>
18789
18790 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18791
18792 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18793 section into account, newer toolchains generate unique build ids
18794 * configure.ac: remove the test for --build-id=none acceptance,
18795 we want build ids to be preserved
18796 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18797 far from other sections don't cause the raw binary images grow
18798 size
18799
18800 2008-04-15 Robert Millan <rmh@aybabtu.com>
18801
18802 * disk/lvm.c: Update copyright year.
18803 * kern/misc.c: Likewise.
18804
18805 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18806
18807 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18808 there is no memory left for physical volume name.
18809
18810 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18811
18812 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18813 volume name mapping to support bigger than 9 character names properly.
18814
18815 2008-04-13 Robert Millan <rmh@aybabtu.com>
18816
18817 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18818 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18819
18820 2008-04-13 Christian Franke <franke@computer.org>
18821
18822 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18823 to create a floppy emulation boot CD when non emulation mode
18824 does not work.
18825 Enable Joliet CD filesystem extension.
18826
18827 2008-04-13 Robert Millan <rmh@aybabtu.com>
18828
18829 * kern/misc.c (grub_strncat): Fix off-by-one error.
18830 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18831
18832 * kern/env.c (grub_env_context_close): Clear current context, not
18833 previous one.
18834 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18835
18836 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18837
18838 2008-04-13 Robert Millan <rmh@aybabtu.com>
18839
18840 Improve robustness when handling LVM.
18841
18842 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18843 (and leave `*p' unmodified).
18844 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18845 through it.
18846 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18847 iterating through it.
18848 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18849 through it.
18850 (grub_lvm_scan_device): Check the return value (and fail gracefully
18851 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18852 Don't assume `vg->pvs != NULL' when iterating through it.
18853
18854 2008-04-13 Robert Millan <rmh@aybabtu.com>
18855
18856 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18857 * genmk.rb (partmap): New variable.
18858 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18859 (#{partmap}): New target rule.
18860 * genpartmaplist.sh: New file.
18861 * Makefile.in (pkglib_DATA): Add partmap.lst.
18862 (partmap.lst): New target rule.
18863 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18864 modules (including all partition maps), instead of preloading them.
18865
18866 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18867
18868 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18869 `linux-boot-prober' (if installed) to detect other operating
18870 systems which are installed on the computer and add them to
18871 the boot menu.
18872 * conf/common.rmk: Build and install 30_os-prober.
18873
18874 2008-04-12 Robert Millan <rmh@aybabtu.com>
18875
18876 * kern/powerpc/ieee1275/init.c: Move from here ...
18877 * kern/ieee1275/init.c: ... to here. Update all users.
18878
18879 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18880 * kern/ieee1275/cmain.c: ... to here. Update all users.
18881
18882 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18883 * kern/ieee1275/openfw.c: ... to here. Update all users.
18884
18885 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18886 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18887
18888 2008-04-10 Pavel Roskin <proski@gnu.org>
18889
18890 * configure.ac: Always use "_cv_" in cache variables for
18891 compatibility with Autoconf 2.62.
18892
18893 2008-04-07 Robert Millan <rmh@aybabtu.com>
18894
18895 Revert grub/machine/init.h addition by Pavel (since it breaks on
18896 i386-ieee1275 and others):
18897 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18898 * util/powerpc/ieee1275/misc.c: Likewise.
18899
18900 2008-04-07 Robert Millan <rmh@aybabtu.com>
18901
18902 * util/grub-probe.c (probe): Improve error message.
18903
18904 2008-04-07 Robert Millan <rmh@aybabtu.com>
18905
18906 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18907 (this prevents the presence of a bogus entry from ruining the whole
18908 thing).
18909
18910 2008-04-06 Pavel Roskin <proski@gnu.org>
18911
18912 * util/biosdisk.c: Include grub/util/biosdisk.h.
18913 * util/grub-fstest.c (execute_command): Make static.
18914 * util/grub-mkdevicemap.c (check_device): Likewise.
18915 * util/i386/pc/misc.c: Include grub/machine/init.h.
18916 * util/powerpc/ieee1275/misc.c: Likewise.
18917 * util/lvm.c: Include grub/util/lvm.h.
18918 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18919 grub/cache.h.
18920 * util/raid.c: Include grub/util/raid.h.
18921 (grub_util_getdiskname): Make static.
18922
18923 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18924 grub_hostfs_fini(), as they are called from grub_init_all() and
18925 grub_fini_all() respectively. This fixes an infinite loop in
18926 grub-fstest due to double registration of hostfs.
18927 Reported by Christian Franke <Christian.Franke@t-online.de>
18928
18929 2008-04-05 Pavel Roskin <proski@gnu.org>
18930
18931 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18932 all 8 functions. Otherwise, probe function 0 only.
18933
18934 2008-04-04 Pavel Roskin <proski@gnu.org>
18935
18936 * commands/lspci.c (grub_lspci_iter): Print the bus number
18937 correctly.
18938
18939 * commands/lspci.c (grub_pci_classes): Fix typos.
18940 (grub_lspci_iter): Don't print func twice. Print vendor ID
18941 before device ID, as it's normally done.
18942
18943 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18944 Fix signedness warnings.
18945 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18946 Likewise.
18947 * util/ieee1275/get_disk_name.c: Include config.h so that
18948 _GNU_SOURCE is defined and getline() is declared. Mark an
18949 unused argument as such. Fix a signedness warning.
18950
18951 2008-04-02 Pavel Roskin <proski@gnu.org>
18952
18953 * genkernsyms.sh.in: Use more robust assignments for CC and
18954 srcdir. Quote srcdir.
18955 * gensymlist.sh.in: Likewise. Assert at the compile time that
18956 the symbol table is not empty.
18957
18958 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18959 * fs/cpio.c (grub_cpio_read): Likewise.
18960
18961 2008-04-01 Pavel Roskin <proski@gnu.org>
18962
18963 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18964 * disk/host.c (grub_host_open): Likewise.
18965 * disk/loopback.c (grub_loopback_open): Likewise.
18966 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18967 disk->id as in disk/host.c, not a multi-character constant.
18968
18969 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18970 later is obsolete, potentially dangerous and sets a bad example.
18971 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18972 * util/misc.c (grub_util_get_image_size): Likewise.
18973
18974 * disk/loopback.c (options): Improve help for "--partitions".
18975
18976 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18977 options to align them with the short options, e.g. "echo -e".
18978
18979 2008-03-31 Bean <bean123ch@gmail.com>
18980
18981 * video/reader/png.c (grub_png_data): New member is_16bit and
18982 image_data.
18983 (grub_png_decode_image_header): Detect 16 bit png image.
18984 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18985 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18986 (grub_video_reader_png): Release memory occupied by image_data.
18987
18988 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18989 4096 bytes.
18990 (grub_nfs_mount): Skip the test for sector per cluster.
18991
18992 * include/grub/ntfs.h (MAX_SPC): Removed.
18993
18994 2008-03-31 Bean <bean123ch@gmail.com>
18995
18996 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18997 (grub_probe_SOURCES): Add fs/afs.c.
18998 (grub_fstest_SOURCES): Likewise.
18999 (afs_mod_SOURCES): New variable.
19000 (afs_mod_CFLAGS): Likewise.
19001 (afs_mod_LDFLAGS): Likewise.
19002
19003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19004 (grub_emu_SOURCES): Likewise.
19005
19006 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19007
19008 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19009
19010 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19011
19012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19013
19014 * fs/afs.c: New file.
19015
19016 2008-03-30 Pavel Roskin <proski@gnu.org>
19017
19018 * disk/host.c: Include grub/misc.h to fix a warning.
19019 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19020 warnings about implicit declarations.
19021
19022 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19023 variable.
19024 * include/grub/i386/loader.h: Change declaration of
19025 grub_linux_boot() to match what grub_loader_set() expects.
19026 * util/getroot.c (grub_guess_root_device): Return const char* to
19027 fix a warning.
19028 * util/grub-probe.c (probe): Fix a warning about uninitialized
19029 abstraction_name variable.
19030 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19031 second argument as unused to fix a warning.
19032
19033 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19034 missing grub_error() call.
19035
19036 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19037 2.60 and newer uses it to define datadir.
19038
19039 * commands/sleep.c: Fix warning about implicit declaration.
19040 * disk/memdisk.c: Likewise.
19041 * loader/aout.c: Likewise.
19042 * loader/i386/bsd_normal.c: Likewise.
19043 * util/grub-probe.c: Likewise.
19044
19045 * commands/i386/cpuid.c (has_longmode): Make static.
19046 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19047 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19048
19049 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19050 GDT. This is more robust, as %ds can change.
19051 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19052 calling real_to_prot().
19053 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19054
19055 2008-03-28 Pavel Roskin <proski@gnu.org>
19056
19057 * kern/i386/pc/startup.S: Assert that uncompressed functions
19058 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19059 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19060 code, as they push parts of the code (error handlers) beyond
19061 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19062 code as correctness and size.
19063
19064 2008-03-28 Pavel Roskin <proski@gnu.org>
19065
19066 * kern/i386/pc/startup.S
19067 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19068 data block address to the real mode, keep offset minimal. This
19069 works around a bug in AWARD BIOS on old Athlon systems, which
19070 makes CD detection hang.
19071
19072 2008-03-26 Pavel Roskin <proski@gnu.org>
19073
19074 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19075 const.
19076 * include/grub/normal.h: Add grub_parse_color_name_pair()
19077 declaration.
19078
19079 2008-03-24 Bean <bean123ch@gmail.com>
19080
19081 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19082 (cd_count): Removed.
19083 (cd_drive): New variable.
19084 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19085 (grub_biosdisk_call_hook): Likewise.
19086 (grub_biosdisk_iterate): Change cdrom detection method.
19087 (grub_biosdisk_open): Replace cd_start with cd_drive.
19088 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19089 detect cdrom device.
19090
19091 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19092 Removed.
19093 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19094 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19095 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19096 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19097 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19098 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19099 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19100 (grub_biosdisk_cdrp): New structure.
19101 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19102
19103 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19104
19105 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19106 device.
19107
19108 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19109 New function.
19110
19111 2008-03-20 Robert Millan <rmh@aybabtu.com>
19112
19113 Remove 2 TiB limit in ata.mod.
19114 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19115 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19116 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19117 grub_uint64_t instead of grub_uint32_t.
19118
19119 2008-03-05 Bean <bean123ch@gmail.com>
19120
19121 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19122 (grub_multiboot): Set boot device.
19123
19124 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19125
19126 2008-03-02 Bean <bean123ch@gmail.com>
19127
19128 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19129 symlink_buffer.
19130
19131 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19132
19133 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19134 texinfo.tex.
19135
19136 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19137 modified.
19138
19139 * docs/fdl.texi: New file.
19140
19141 * docs/mdate-sh: New file. Copied from gnulib.
19142 * docs/texinfo.tex: Likewise.
19143
19144 * config.guess: Updated from gnulib.
19145 * install-sh: Likewise.
19146
19147 2008-02-28 Robert Millan <rmh@aybabtu.com>
19148
19149 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19150 (aout_mod_SOURCES): New variable.
19151 (aout_mod_CFLAGS): Likewise.
19152 (aout_mod_LDFLAGS): Likewise.
19153
19154 * conf/i386-ieee1275.rmk: Likewise.
19155
19156 2008-02-28 Robert Millan <rmh@aybabtu.com>
19157
19158 * util/update-grub.in: Reorganise terminal validity check. Accept
19159 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19160 Based on suggestion by Franklin PIAT.
19161
19162 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19163
19164 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19165 function.
19166 * util/getroot.c (grub_util_check_block_device): New function that
19167 returns the given argument if it is a block device and returns NULL else.
19168 * util/grub-probe.c (argument_is_device): New variable.
19169 (probe): Promote device_name from a variable to an argument. Receive
19170 device_name from grub_util_check_block_device() if path is NULL and from
19171 grub_guess_root_device() else. Do not free() device_name anymore.
19172 (options): Introduce new parameter '-d, --device'.
19173 (main): Add description of the new parameter to the help screen.
19174 Rename path variable to argument. Set argument_is_device if the '-d'
19175 option is given. Pass argument to probe() depending on
19176 argument_is_device.
19177
19178 2008-02-24 Bean <bean123ch@gmail.com>
19179
19180 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19181 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19182 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19183 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19184 (GRUB_ISO9660_VOLDESC_END): Likewise.
19185 (grub_iso9660_primary_voldesc): New member escape.
19186 (grub_iso9660_data): New member joliet.
19187 (grub_iso9660_convert_string): New function.
19188 (grub_iso9660_mount): Detect joliet extension.
19189 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19190 (grub_iso9660_iso9660_label): Likewise.
19191
19192 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19193 (grub_setup_SOURCES): Add fs/udf.c.
19194 (grub_fstest_SOURCES): Likewise.
19195 (udf_mod_SOURCES): New variable.
19196 (udf_mod_CFLAGS): Likewise.
19197 (udf_mod_LDFLAGS): Likewise.
19198
19199 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19200 (grub_emu_SOURCES): Likewise.
19201
19202 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19203
19204 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19205
19206 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19207
19208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19209
19210 * fs/udf.c: New file.
19211
19212 2008-02-24 Robert Millan <rmh@aybabtu.com>
19213
19214 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19215 (normal/lexer.c_DEPENDENCIES): New variables.
19216 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19217 (normal/lexer.c_DEPENDENCIES): Likewise.
19218 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19219 (normal/lexer.c_DEPENDENCIES): Likewise.
19220 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19221 (normal/lexer.c_DEPENDENCIES): Likewise.
19222 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19223 (normal/lexer.c_DEPENDENCIES): Likewise.
19224 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19225 (normal/lexer.c_DEPENDENCIES): Likewise.
19226
19227 2008-02-23 Robert Millan <rmh@aybabtu.com>
19228
19229 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19230 since they were intended to be in hex. This didn't break previously
19231 because of a bug in gpt_partition_map_iterate() (see below).
19232
19233 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19234 when checking the validity of GPT header.
19235 Remove `partno', since it always provides the same information as `i'.
19236
19237 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19238
19239 * include/grub/efi/time.h: Fix a wrong comment.
19240
19241 2008-02-19 Pavel Roskin <proski@gnu.org>
19242
19243 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19244 message.
19245
19246 2008-02-19 Bean <bean123ch@gmail.com>
19247
19248 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19249 (aout_mod_SOURCES): New variable.
19250 (aout_mod_CFLAGS): Likewise.
19251 (aout_mod_LDFLAGS): Likewise.
19252 (_bsd_mod_SOURCES): New variable.
19253 (_bsd_mod_CFLAGS): Likewise.
19254 (_bsd_mod_LDFLAGS): Likewise.
19255 (bsd_mod_SOURCES): New variable.
19256 (bsd_mod_CFLAGS): Likewise.
19257 (bsd_mod_LDFLAGS): Likewise.
19258
19259 * include/grub/aout.h: New file.
19260
19261 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19262
19263 * include/grub/i386/bsd.h: New file.
19264
19265 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19266 to make it public.
19267
19268 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19269 function is called, so that it's possible to change it inside the hook.
19270 (grub_elf64_load): Likewise.
19271 (grub_elf_file): Don't close the file if elf header is not found.
19272 (grub_elf_close): Close the file if grub_elf_file fails (The new
19273 grub_elf_file won't close it).
19274 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19275 (grub_elf64_size): Likewise.
19276
19277 * kern/i386/loader.S (grub_unix_real_boot): New function.
19278
19279 * loader/aout.c: New file.
19280
19281 * loader/i386/bsd.c: New file.
19282
19283 * loader/i386/bsd_normal.c: New file.
19284
19285 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19286
19287 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19288 can test other formats.
19289
19290 2008-02-19 Robert Millan <rmh@aybabtu.com>
19291
19292 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19293 (grub_gpt_partition_type_empty): Redefine with macro from
19294 `<grub/gpt_partition.h>'.
19295 (gpt_partition_map_iterate): Adjust partition type comparison.
19296
19297 Export `entry' as partmap-specific `part.data' struct.
19298 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19299
19300 * include/grub/gpt_partition.h (grub_gpt_header)
19301 (grub_gpt_partentry): ... to here (new file).
19302
19303 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19304
19305 (grub_gpt_partition_type_bios_boot): New const variable, defined
19306 with macro from `<grub/gpt_partition.h>'.
19307
19308 (setup): Replace `first_start' with `embed_region', which keeps
19309 track of the embed region (and is partmap-agnostic).
19310
19311 Replace find_first_partition_start() with find_usable_region(),
19312 which finds a usable region for embedding using partmap-specific
19313 knowledge (supports PC/MSDOS and GPT).
19314
19315 Fix all assumptions that the embed region start at sector 1, using
19316 `embed_region.start' from now on. Similarly, use `embed_region.end'
19317 rather than `first_start' to calculate available size.
19318
19319 In grub_util_info() message, replace "into after the MBR" with an
19320 indication of the specific sector our embed region starts at.
19321
19322 2008-02-19 Robert Millan <rmh@aybabtu.com>
19323
19324 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19325 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19326 `commands/reboot.c'.
19327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19328 (halt_mod_SOURCES): Likewise.
19329 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19330 (halt_mod_SOURCES): Likewise.
19331
19332 2008-02-17 Christian Franke <franke@computer.org>
19333
19334 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19335
19336 2008-02-17 Robert Millan <rmh@aybabtu.com>
19337
19338 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19339 set `first_start' to 0 for non-PC/MSDOS partition maps.
19340
19341 2008-02-16 Robert Millan <rmh@aybabtu.com>
19342
19343 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19344 do not assume partition map is PC/MSDOS before performing checks that
19345 are specific to that layout.
19346
19347 2008-02-13 Robert Millan <rmh@aybabtu.com>
19348
19349 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19350 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19351 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19352
19353 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19354
19355 * configure.ac: Only a cosmetic change on the handling of
19356 -fno-stack-protector.
19357
19358 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19359
19360 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19361 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19362 reboot.c.
19363 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19364 (halt_mod_SOURCES): New variable.
19365 (halt_mod_CFLAGS): Likewise.
19366 (halt_mod_LDFLAGS): Likewise.
19367 (reboot_mod_SOURCES): Likewise.
19368 (reboot_mod_CFLAGS): Likewise.
19369 (reboot_mod_LDFLAGS): Likewise.
19370
19371 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19372 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19373 reboot.c.
19374 (halt_mod_SOURCES): Likewise.
19375 (reboot_mod_SOURCES): Likewise.
19376
19377 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19378 commands/i386/pc/reboot.c by commands/reboot.c.
19379 (reboot_mod_SOURCES): Likewise.
19380
19381 * commands/i386/pc/reboot.c: merge this file ...
19382
19383 * commands/ieee1275/reboot.c: ... and this file ...
19384
19385 * commands/reboot.c: ... to this file.
19386 Add some precompiler directive to include the correct header for
19387 each machine.
19388
19389 * commands/ieee1275/halt.c: move this file ...
19390
19391 * commands/halt.c: ... to here.
19392 Add some precompiler directive to include the correct header for
19393 each machine.
19394
19395 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19396 (grub_halt): Likewise.
19397
19398 * kern/efi/efi.c (grub_reboot): New function.
19399 (grub_halt): Likewise.
19400
19401 2008-02-12 Robert Millan <rmh@aybabtu.com>
19402
19403 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19404 /dev (like it is done for /dev/mapper). This doesn't provide support
19405 for EVMS, but at least it is now easy to identify the problem when it
19406 arises.
19407
19408 2008-02-11 Robert Millan <rmh@aybabtu.com>
19409
19410 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19411 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19412 comparing it with -1, not 0.
19413
19414 2008-02-10 Robert Millan <rmh@aybabtu.com>
19415
19416 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19417 `disk/lvm.c'.
19418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19419 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19420
19421 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19422 `disk/lvm.c' to the end of the list.
19423 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19424 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19425
19426 2008-02-10 Robert Millan <rmh@aybabtu.com>
19427
19428 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19429 grub_print_error() instead. This will let user know why we're entering
19430 rescue mode.
19431 Based on suggestions from Sam Morris.
19432
19433 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19434
19435 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19436 on remaining N args, instead of "--" arg N times.
19437
19438 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19439
19440 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19441 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19442 pattern for unknown glyphs.
19443
19444 2008-02-09 Robert Millan <rmh@aybabtu.com>
19445
19446 * configure.ac: Probe for `help2man'.
19447 * Makefile.in (builddir): New variable.
19448 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19449 or otherwise add a few flags/options to it.
19450 (install-local): For every executable utility or script that is
19451 installed, invoke $(HELP2MAN) to install a manpage based on --help
19452 output.
19453
19454 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19455 that it doesn't prevent --help from working in build tree.
19456
19457 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19458 with `bug-grub@gnu.org'.
19459 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19460 * util/update-grub.in (usage): New function.
19461 Implement proper argument check, with support for --help and --version
19462 (as well as existing -y).
19463
19464 2008-02-09 Christian Franke <franke@computer.org>
19465
19466 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19467 avoid overwriting previous output.
19468 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19469
19470 2008-02-09 Robert Millan <rmh@aybabtu.com>
19471
19472 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19473 drawing the menu.
19474
19475 2008-02-09 Robert Millan <rmh@aybabtu.com>
19476
19477 * commands/sleep.c: New file.
19478 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19479 (sleep_mod_SOURCES): New variable.
19480 (sleep_mod_CFLAGS): Likewise.
19481 (sleep_mod_LDFLAGS): Likewise.
19482
19483 2008-02-09 Robert Millan <rmh@aybabtu.com>
19484
19485 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19486 situations in which we can deduce the RAID size and the superblock
19487 doesn't match it.
19488
19489 2008-02-09 Robert Millan <rmh@aybabtu.com>
19490
19491 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19492 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19493 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19494
19495 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19496 and return a grub_diskmemberlist_t composed of physical array members.
19497 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19498
19499 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19500 prototype.
19501 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19502 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19503 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19504
19505 * util/grub-probe.c (probe): Move partmap probing code from here ...
19506 (probe_partmap): ... to here.
19507 (probe): Use probe_partmap() once for the disk we're probing, and
19508 additionally, when such disk contains a memberlist() struct member,
19509 once for each disk that is contained in the structure returned by
19510 memberlist().
19511
19512 2008-02-09 Robert Millan <rmh@aybabtu.com>
19513
19514 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19515 environment variable to 'all' in order to obtain debug output from
19516 non-util/ code.
19517 * util/i386/pc/grub-setup.c (main): Likewise.
19518
19519 2008-02-08 Robert Millan <rmh@aybabtu.com>
19520
19521 * disk/raid.c (grub_raid_scan_device): Check for
19522 `array->device[sb.this_disk.number]' rather than for
19523 `array->device[sb.this_disk.number]->name', since the latter is not
19524 guaranteed to be accessible.
19525
19526 2008-02-08 Robert Millan <rmh@aybabtu.com>
19527
19528 * disk/raid.c: Update copyright.
19529 * fs/cpio.c: Likewise.
19530 * include/grub/raid.h: Likewise.
19531 * loader/i386/pc/multiboot.c: Likewise.
19532 * util/hostfs.c: Likewise.
19533
19534 2008-02-08 Robert Millan <rmh@aybabtu.com>
19535
19536 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19537 to a grub_disk_t array.
19538 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19539 `device[x]'.
19540 (grub_raid_scan_device): Replace `device[x].name' accesses with
19541 `device[x]->name'. Simplify initialization of `array->device[x]'.
19542
19543 2008-02-08 Robert Millan <rmh@aybabtu.com>
19544
19545 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19546 grub_dprintf() calls.
19547 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19548 error message.
19549
19550 2008-02-07 Christian Franke <franke@computer.org>
19551
19552 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19553 instead of fseek and ftell to support large files.
19554 (grub_hostfs_read): Likewise.
19555
19556 2008-02-07 Robert Millan <rmh@aybabtu.com>
19557
19558 Patch from Jeroen Dekkers.
19559 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19560 failure, since successfully reading all array members might not be
19561 required.
19562
19563 2008-02-06 Robert Millan <rmh@aybabtu.com>
19564
19565 * util/grub-probe.c (probe): Simplify partmap probing (with the
19566 assumption that the first word up to the underscore equals to
19567 the module name).
19568
19569 2008-02-06 Christian Franke <franke@computer.org>
19570
19571 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19572 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19573 last block of a cpio or tar stream.
19574 Check for "TRAILER!!!" instead of any empty data
19575 block to detect last block of a cpio stream.
19576 (grub_cpio_dir): Fix constness of variable np.
19577 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19578 cpio or tar trailer is detected. This fixes a crash
19579 on open of a non existing file.
19580
19581 2008-02-05 Bean <bean123ch@gmail.com>
19582
19583 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19584 address of entry.
19585 (grub_multiboot_load_elf64): Likewise.
19586 (grub_multiboot): Initialize mbi structure.
19587
19588 * util/grub-fstest.c: Don't include unused header file script.h.
19589
19590 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19591 of file.
19592 (grub_fstest_SOURCES): Likewise.
19593
19594 2008-02-05 Robert Millan <rmh@aybabtu.com>
19595
19596 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19597 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19598 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19599 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19600
19601 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19602 (translation_table): Replace hardcoded values with macros
19603 provided by `<grub/term.h>'.
19604
19605 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19606 (keyboard_map): Correct/add a few values, with macros provided
19607 by `<grub/term.h>'.
19608 (keyboard_map_shift): Zero values that don't differ from their
19609 `keyboard_map' equivalents.
19610 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19611 Discard the second scan code that is always sent by Caps lock.
19612 Only use `keyboard_map_shift' when it provides a non-zero value,
19613 otherwise fallback to `keyboard_map'.
19614
19615 2008-02-04 Bean <bean123ch@gmail.com>
19616
19617 * Makefile.in (enable_grub_fstest): New variable.
19618
19619 * conf/common.rmk (grub_fstest_init.lst): New rule.
19620 (grub_fstest_init.h): Likewise.
19621 (grub_fstest_init.c): Likewise.
19622 (util/grub-fstest.c_DEPENDENCIES): New variable.
19623 (grub_fstest_SOURCES): Likewise.
19624
19625 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19626
19627 * util/grub-fstest.c: New file.
19628
19629 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19630
19631 Make grub-setup handle a separate root device.
19632
19633 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19634 so that the root device can be compared with the destination
19635 device.
19636 When embedding the core image, if the root and destination devices
19637 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19638 0xFF.
19639 When not embedding, set ROOT_DRIVE to 0xFF.
19640
19641 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19642
19643 Add support for having a grub directory in a different drive. This
19644 is still only the data handling part.
19645
19646 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19647 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19648 (grub_root_drive): New variable.
19649
19650 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19651 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19652 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19653 as it was.
19654
19655 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19656
19657 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19658 macro.
19659 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19660
19661 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19662 is bogus, because PXE booting does not specify any drive
19663 correctly.
19664
19665 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19666 am not sure if this is really correct.
19667
19668 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19669 is always identical to the boot drive when booting from a CD.
19670
19671 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19672 longer.
19673 (root_drive): New variable.
19674 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19675 (setup_sectors): Push %dx right after popping it, because %dh will
19676 be modified later.
19677 (copy_buffer): Restore %dx.
19678
19679 2008-02-03 Robert Millan <rmh@aybabtu.com>
19680
19681 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19682 use `cdboot.img' for cdrom images.
19683
19684 2008-02-03 Robert Millan <rmh@aybabtu.com>
19685
19686 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19687 only setup gfxterm when `font' command has succeeded.
19688
19689 2008-02-03 Robert Millan <rmh@aybabtu.com>
19690
19691 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19692 (grub_rescue_cmd_multiboot_loader)
19693 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19694
19695 2008-02-03 Pavel Roskin <proski@gnu.org>
19696
19697 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19698 %edx and %esi from stack only after grub_gate_a20() is called.
19699 grub_gate_a20() clobbers %edx.
19700
19701 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19702
19703 * configure.ac (AC_INIT): Bumped to 1.96.
19704
19705 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19706 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19707 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19708 video/readers/png.c.
19709
19710 2008-02-03 Bean <bean123ch@gmail.com>
19711
19712 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19713 (cdboot_img_SOURCES): New variable.
19714 (cdboot_img_ASFLAGS): New variable.
19715 (cdboot_img_LDFLAGS): New variable.
19716
19717 * boot/i386/pc/cdboot.S: New file.
19718
19719 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19720 (cd_count): Likewise.
19721 (grub_biosdisk_get_drive): Add support for cd device.
19722 (grub_biosdisk_call_hook): Likewise.
19723 (grub_biosdisk_iterate): Likewise.
19724 (grub_biosdisk_open): Likewise.
19725 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19726 (grub_biosdisk_rw): Support reading from cd device.
19727 (GRUB_MOD_INIT): Iterate cd devices.
19728
19729 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19730 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19731 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19732
19733 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19734
19735 2008-02-02 Robert Millan <rmh@aybabtu.com>
19736
19737 * commands/read.c: New file.
19738 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19739 (read_mod_SOURCES): New variable.
19740 (read_mod_CFLAGS): Likewise.
19741 (read_mod_LDFLAGS): Likewise.
19742
19743 2008-02-02 Robert Millan <rmh@aybabtu.com>
19744
19745 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19746 determining whether menu has to be displayed.
19747
19748 2008-02-02 Marco Gerards <marco@gnu.org>
19749
19750 * bus/pci.c: New file.
19751
19752 * include/grub/pci.h: Likewise.
19753
19754 * include/grub/i386/pc/pci.h: Likewise.
19755
19756 * commands/lspci.c: Likewise.
19757
19758 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19759 `lspci.mod'.
19760 (pci_mod_SOURCES): New variable.
19761 (pci_mod_CFLAGS): Likewise.
19762 (pci_mod_LDFLAGS): Likewise.
19763 (lspci_mod_SOURCES): Likewise.
19764 (lspci_mod_CFLAGS): Likewise.
19765 (lspci_mod_LDFLAGS): Likewise.
19766
19767 2008-02-02 Bean <bean123ch@gmail.com>
19768
19769 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19770 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19771
19772 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19773 (grub_xfs_btree_node): New structure.
19774 (grub_xfs_btree_root): New structure.
19775 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19776 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19777 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19778 (GRUB_XFS_EXTENT_SIZE): Likewise.
19779 (grub_xfs_read_block): Support btree format type.
19780 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19781 Use directory block as basic unit.
19782
19783 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19784
19785 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19786 __attribute__ ((__regparm__ (1))).
19787
19788 2008-02-01 Robert Millan <rmh@aybabtu.com>
19789
19790 Correct a mistake in previous commit.
19791
19792 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19793 top.
19794 (normal/command.c_DEPENDENCIES): New variable.
19795
19796 2008-02-01 Robert Millan <rmh@aybabtu.com>
19797
19798 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19799 top.
19800 (normal/command.c_DEPENDENCIES): New variable.
19801 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19802 * conf/i386-ieee1275.rmk: Likewise.
19803 * conf/i386-linuxbios.rmk: Likewise.
19804 * conf/i386-pc.rmk: Likewise.
19805 * conf/sparc64-ieee1275.rmk: Likewise.
19806 * conf/powerpc-ieee1275.rmk: Likewise.
19807 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19808
19809 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19810
19811 2008-02-01 Robert Millan <rmh@aybabtu.com>
19812
19813 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19814 call at beginning of function.
19815
19816 2008-01-31 Pavel Roskin <proski@gnu.org>
19817
19818 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19819 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19820 (grub_mkrescue_SOURCES): Likewise.
19821 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19822
19823 2008-01-30 Robert Millan <rmh@aybabtu.com>
19824
19825 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19826 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19827 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19828 (grub_probe_SOURCES): ... to here.
19829
19830 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19831 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19832 * conf/i386-ieee1275.rmk: Likewise.
19833 * conf/i386-linuxbios.rmk: Likewise.
19834 * conf/powerpc-ieee1275.rmk: Likewise.
19835
19836 2008-01-30 Tristan Gingold <gingold@free.fr>
19837
19838 * kern/rescue.c: Silently accept empty lines.
19839
19840 2008-01-29 Bean <bean123ch@gmail.com>
19841
19842 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19843 (real_code_2): Code cleanup and change comment style.
19844 (move_memory): Avoid using 32-bit address mode.
19845
19846 2008-01-29 Bean <bean123ch@gmail.com>
19847
19848 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19849 (png_mod_SOURCES): New variable.
19850 (png_mod_CFLAGS): Likewise.
19851 (png_mod_LDFLAGS): Likewise.
19852
19853 * video/readers/png.c: New file.
19854
19855 2008-01-28 Robert Millan <rmh@aybabtu.com>
19856
19857 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19858 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19859 `ifndef GRUB_MOD_GAP' hack.
19860 * util/elf/grub-mkimage.c (add_segments): Likewise.
19861
19862 2008-01-27 Robert Millan <rmh@aybabtu.com>
19863
19864 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19865 `GRUB_MOD_GAP' for platforms in which it's not defined.
19866 * util/elf/grub-mkimage.c (add_segments): Likewise.
19867
19868 2008-01-27 Robert Millan <rmh@aybabtu.com>
19869
19870 Get grub-emu to build again (including parallel builds).
19871
19872 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19873 Split into ...
19874 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19875 (normal/execute.c_DEPENDENCIES): ... this, ...
19876 (grub-emu_DEPENDENCIES): ... and this.
19877
19878 * conf/i386-efi.rmk: Likewise.
19879 * conf/i386-linuxbios.rmk: Likewise.
19880 * conf/i386-ieee1275.rmk: Likewise.
19881 * conf/powerpc-ieee1275.rmk: Likewise.
19882 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19883
19884 2008-01-27 Robert Millan <rmh@aybabtu.com>
19885
19886 * NEWS: Add a few items.
19887
19888 2008-01-27 Robert Millan <rmh@aybabtu.com>
19889
19890 Fix parallel builds with grub-emu. Based on earlier commit for
19891 grub-probe and grub-setup.
19892
19893 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19894 (util/grub-emu.c_DEPENDENCIES): ... this.
19895 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19896 (util/grub-emu.c_DEPENDENCIES): ... this.
19897 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19898 (util/grub-emu.c_DEPENDENCIES): ... this.
19899 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19900 (util/grub-emu.c_DEPENDENCIES): ... this.
19901 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19902 (util/grub-emu.c_DEPENDENCIES): ... this.
19903
19904 2008-01-27 Pavel Roskin <proski@gnu.org>
19905
19906 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19907 to create a gap between _end and the modules added to the image
19908 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19909 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19910 * util/elf/grub-mkimage.c (add_segments): Likewise.
19911
19912 2008-01-26 Pavel Roskin <proski@gnu.org>
19913
19914 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19915 just return an error.
19916
19917 2008-01-26 Bean <bean123ch@gmail.com>
19918
19919 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19920 (grub_reiserfs_get_item): Save offset of the next item.
19921 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19922
19923 2008-01-25 Robert Millan <rmh@aybabtu.com>
19924
19925 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19926 make all filesystem sources appear together (possibly fixing omissions
19927 while at it).
19928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19929 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19930 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19932
19933 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19934 add `kern/file.c'.
19935 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19936 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19937 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19938 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19939
19940 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19941 (probe): Add a sanity check to make sure of our ability to read
19942 requested files when probing for filesystem type.
19943
19944 * genmk.rb: Update copyright year (2007).
19945
19946 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19947 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19948 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19949 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19950 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19951 : Remove function prototypes.
19952
19953 2008-01-25 Robert Millan <rmh@aybabtu.com>
19954
19955 Revert my previous commits (based on wrong assumption of how grub_errno
19956 works).
19957
19958 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19959 * kern/file.c (grub_file_open): Likewise.
19960
19961 2008-01-24 Pavel Roskin <proski@gnu.org>
19962
19963 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19964 that hang if GRUB tries to setup colors.
19965 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19966 colors for firmwares that don't support it.
19967 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19968 Recognize Open Hack'Ware, set flags to work around its
19969 limitations.
19970
19971 2008-01-24 Robert Millan <rmh@aybabtu.com>
19972
19973 * kern/file.c (grub_file_open): Do not account previous failures of
19974 unrelated functions when grub_errno is checked for.
19975 Reported by Oleg Strikov.
19976
19977 2008-01-24 Bean <bean123ch@gmail.com>
19978
19979 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19980 (grub_ufs_sblock): New member volume name.
19981 (grub_ufs_find_file): Fix string copy bug.
19982 (grub_ufs_label): Implement this function properly.
19983
19984 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19985 (grub_hfs_iterate_records): Use the correct file number for extents
19986 and catalog file. Fix problem in next index calculation.
19987 (grub_hfs_find_node): Replace recursive function call with loop.
19988 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19989
19990 2008-01-23 Robert Millan <rmh@aybabtu.com>
19991
19992 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19993 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19994 (grub_multiboot2_real_boot): New function prototype.
19995
19996 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19997 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19998
19999 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20000 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20001
20002 2008-01-23 Robert Millan <rmh@aybabtu.com>
20003
20004 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20005 #ifdef'ed out grub_printf().
20006
20007 2008-01-23 Robert Millan <rmh@aybabtu.com>
20008
20009 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20010 grub_dprintf calls, since they make "debug=all" mode unusable.
20011 (grub_console_checkkey): Likewise.
20012
20013 2008-01-23 Robert Millan <rmh@aybabtu.com>
20014
20015 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20016 `term/i386/pc/at_keyboard.c'.
20017 (pkglib_MODULES): Add `serial.mod'.
20018 (serial_mod_SOURCES): New variable.
20019 (serial_mod_CFLAGS): Likewise.
20020 (serial_mod_LDFLAGS): Likewise.
20021
20022 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20023 `<grub/powerpc/ieee1275/console.h>'.
20024 (grub_keyboard_controller_init): New function prototype.
20025 (grub_console_checkkey): Likewise.
20026 (grub_console_getkey): Likewise.
20027
20028 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20029 keyboard on i386.
20030
20031 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20032 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20033
20034 2008-01-23 Robert Millan <rmh@aybabtu.com>
20035
20036 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20037 present, "(memdisk)/boot/grub" becomes the default prefix.
20038
20039 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20040 a memdisk tarball with all the modules. Add --overlay=DIR option that
20041 allows users to overlay additional files into the image.
20042
20043 2008-01-23 Robert Millan <rmh@aybabtu.com>
20044
20045 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20046 and `machine/memory.h'.
20047 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20048 (_multiboot_mod_SOURCES): New variable.
20049 (_multiboot_mod_CFLAGS): Likewise.
20050 (_multiboot_mod_LDFLAGS): Likewise.
20051 (multiboot_mod_SOURCES): Likewise.
20052 (multiboot_mod_CFLAGS): Likewise.
20053 (multiboot_mod_LDFLAGS): Likewise.
20054
20055 * include/grub/i386/ieee1275/loader.h: New file.
20056
20057 * include/grub/i386/ieee1275/machine.h: Likewise.
20058
20059 * include/grub/i386/ieee1275/memory.h: Likewise.
20060
20061 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20062 variable declaration.
20063 (grub_os_area_size): Likewise.
20064
20065 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20066 (grub_lower_mem, grub_upper_mem): New variables.
20067 (grub_stop_floppy): New function (just to make
20068 grub_multiboot2_real_boot() happy).
20069
20070 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20071 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20072 (grub_stop): New function.
20073 Include `"../realmode.S"' and `"../loader.S"'.
20074
20075 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20076 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20077
20078 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20079 rely on grub_multiboot2_real_boot() for final boot.
20080
20081 2008-01-22 Robert Millan <rmh@aybabtu.com>
20082
20083 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20084 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20085 device that doesn't look like an SD card.
20086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20087 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20089 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20090 found.
20091
20092 2008-01-22 Robert Millan <rmh@aybabtu.com>
20093
20094 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20095 avoid claiming over our own code.
20096
20097 2008-01-22 Bean <bean123ch@gmail.com>
20098
20099 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20100 (jpeg_mod_SOURCES): New variable.
20101 (jpeg_mod_CFLAGS): Likewise.
20102 (jpeg_mod_LDFLAGS): Likewise.
20103
20104 * video/readers/jpeg.c : New file.
20105
20106 2008-01-22 Bean <bean123ch@gmail.com>
20107
20108 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20109 there are no more items.
20110
20111 2008-01-21 Robert Millan <rmh@aybabtu.com>
20112
20113 * kern/mm.c (grub_mm_init_region): Improve debug message.
20114
20115 2008-01-21 Robert Millan <rmh@aybabtu.com>
20116
20117 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20118 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20119 address.
20120 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20121 a C macro.
20122 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20123 Indicates start of upper memory.
20124 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20125 (generate_image): Abort when image size is big enough to corrupt
20126 upper memory.
20127
20128 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20129 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20130 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20131 instead of hardcoding 0xA0000.
20132 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20133 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20134 instead of hardcoding 0xA0000.
20135
20136 2008-01-21 Robert Millan <rmh@aybabtu.com>
20137
20138 * disk/memdisk.c (memdisk_size): New variable.
20139 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20140 `memdisk_size'.
20141 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20142 image to dynamic memory.
20143 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20144 `memdisk_size'. Free memdisk block.
20145
20146 2008-01-21 Robert Millan <rmh@aybabtu.com>
20147
20148 Fix detection of very small filesystems (like tar).
20149
20150 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20151 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20152 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20153 a problem with this disk).
20154
20155 2008-01-21 Robert Millan <rmh@aybabtu.com>
20156
20157 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20158 on grub_biosdisk_rw_standard() error.
20159
20160 2008-01-21 Robert Millan <rmh@aybabtu.com>
20161
20162 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20163 recent changes.
20164 * kern/elf.c: Likewise.
20165 * kern/ieee1275/ieee1275.c: Likewise.
20166 * kern/powerpc/ieee1275/openfw.c: Likewise.
20167 * term/ieee1275/ofconsole.c: Likewise.
20168
20169 2008-01-21 Robert Millan <rmh@aybabtu.com>
20170
20171 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20172
20173 * include/grub/kernel.h (grub_arch_memdisk_addr)
20174 (grub_arch_memdisk_size): Moved from here ...
20175
20176 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20177 (grub_arch_memdisk_size): ... to here.
20178
20179 2008-01-21 Robert Millan <rmh@aybabtu.com>
20180
20181 Mostly based on bugfix from Bean.
20182
20183 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20184 attribute with hook() parameter.
20185 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20186 declaration.
20187 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20188 attribute with hook() parameter.
20189 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20190 declaration.
20191
20192 2008-01-21 Robert Millan <rmh@aybabtu.com>
20193
20194 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20195 (pkglib_MODULES): Add `memdisk.mod'.
20196 (memdisk_mod_SOURCES): New variable.
20197 (memdisk_mod_CFLAGS): Likewise.
20198 (memdisk_mod_LDFLAGS): Likewise.
20199
20200 * disk/memdisk.c: New file.
20201
20202 * include/grub/disk.h (grub_disk_dev_id): Add
20203 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20204
20205 * include/grub/i386/pc/kernel.h
20206 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20207 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20208 (grub_kernel_image_size): New variable declaration.
20209 (grub_total_module_size): Likewise.
20210 (grub_memdisk_image_size): Likewise.
20211
20212 * include/grub/i386/pc/memory.h
20213 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20214
20215 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20216 (grub_arch_memdisk_addr): New variable declaration.
20217 (grub_arch_memdisk_size): Likewise.
20218
20219 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20220 (grub_arch_memdisk_size): Likewise.
20221
20222 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20223 (codestart): Replace hardcoded `0x100000' with
20224 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20225
20226 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20227 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20228 not NULL, append the contents of the file it refers to, at the end of
20229 the compressed kernel image. Initialize `grub_memdisk_image_size'
20230 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20231 (options): Add "memdisk"|'m' option.
20232 (main): Parse --memdisk|-m option, and pass user-provided path as
20233 parameter to generate_image().
20234
20235 2008-01-20 Robert Millan <rmh@aybabtu.com>
20236
20237 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20238 grub_dprintf() calls from here ...
20239 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20240
20241 2008-01-20 Robert Millan <rmh@aybabtu.com>
20242
20243 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20244
20245 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20246 declaration.
20247 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20248 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20249 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20250 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20251 property).
20252 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20253 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20254
20255 2008-01-19 Robert Millan <rmh@aybabtu.com>
20256
20257 Get rid of confusing function (superseded by
20258 `grub_ieee1275_get_integer_property')
20259 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20260 prototype.
20261 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20262 function.
20263 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20264 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20265 in native endianness from grub_ieee1275_get_integer_property().
20266
20267 2008-01-19 Robert Millan <rmh@aybabtu.com>
20268
20269 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20270 command after "shut-down", since implementations differ on which
20271 the command for halt is.
20272
20273 2008-01-19 Robert Millan <rmh@aybabtu.com>
20274
20275 * include/grub/i386/linuxbios/console.h: Add header protection.
20276 (grub_keyboard_controller_init): New function prototype.
20277 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20278 (KEYBOARD_COMMAND_READ): Likewise.
20279 (KEYBOARD_COMMAND_WRITE): Likewise.
20280 (KEYBOARD_SCANCODE_SET1): Likewise.
20281 (grub_keyboard_controller_write): New function.
20282 (grub_keyboard_controller_read): Likewise.
20283 (grub_keyboard_controller_init): Likewise.
20284
20285 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20286 (grub_console_init): On coreboot/LinuxBIOS, call
20287 grub_keyboard_controller_init().
20288
20289 2008-01-19 Robert Millan <rmh@aybabtu.com>
20290
20291 PowerPC changes provided by Pavel Roskin.
20292
20293 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20294 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20295 don't rely on cmain() doing it.
20296 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20297 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20298
20299 2008-01-16 Robert Millan <rmh@aybabtu.com>
20300
20301 * include/grub/i386/linuxbios/memory.h
20302 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20303 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20304 receive `table_header' as argument. Instead, probe for it in the
20305 known memory ranges where it can be present.
20306 (grub_available_iterate): Do not pass a fixed `table_header' address
20307 to grub_linuxbios_table_iterate().
20308
20309 2008-01-15 Robert Millan <rmh@aybabtu.com>
20310
20311 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20312 * conf/i386-ieee1275.rmk: New file.
20313 * include/grub/i386/ieee1275/console.h: Likewise.
20314 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20315 * include/grub/i386/ieee1275/kernel.h: Likewise.
20316 * include/grub/i386/ieee1275/time.h: Likewise.
20317 * kern/i386/ieee1275/init.c: Likewise.
20318 * kern/i386/ieee1275/startup.S: Likewise.
20319
20320 2008-01-15 Robert Millan <rmh@aybabtu.com>
20321
20322 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20323 when pointers are 32-bit (but still do set it to one when they are
20324 64-bit).
20325
20326 2008-01-15 Robert Millan <rmh@aybabtu.com>
20327
20328 * include/grub/ieee1275/ieee1275.h
20329 (grub_ieee1275_get_integer_property): New function prototype.
20330
20331 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20332 (grub_ieee1275_get_integer_property): New function. Wraps around
20333 grub_ieee1275_get_property() to handle endianness.
20334
20335 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20336 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20337 where appropriate.
20338 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20339 (grub_map): Likewise.
20340 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20341
20342 2008-01-15 Bean <bean123ch@gmail.com>
20343
20344 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20345 (grub_script_execute_cmdline): Reset grub_errno.
20346
20347 * normal/main.c (read_config_file): Reset grub_errno.
20348
20349 * normal/parse.y (script_init): New.
20350 (script): Move function and menuentry here.
20351 (delimiter): New.
20352 (command): Add delimiter at the end of command.
20353 (commands): Adjust to match the new command.
20354 (commandblock): Remove grub_script_lexer_record_start.
20355 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20356 (if): Use the new commands.
20357
20358 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20359
20360 2008-01-15 Robert Millan <rmh@aybabtu.com>
20361
20362 * normal/menu.c (run_menu): Move timeout message from here ...
20363 (print_timeout): ... to here.
20364 (run_menu): Use print_timeout() once during initial draw to print
20365 the whole message, and again in every clock tick to update only
20366 the number of seconds.
20367
20368 2008-01-15 Robert Millan <rmh@aybabtu.com>
20369
20370 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20371 actual size of `available' from grub_ieee1275_get_property(), and
20372 restrict parsing to that bound.
20373
20374 2008-01-15 Christian Franke <franke@computer.org>
20375
20376 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20377 (argp_program_version): Remove variable.
20378 (argp_program_bug_address): Likewise.
20379 (options): Convert from struct argp_option to struct option.
20380 (struct arguments): Remove.
20381 (parse_opt): Remove.
20382 (usage): New function.
20383 (main): Replace struct args members by simple variables.
20384 Replace argp_parse() by getopt_long().
20385 Add switch to evaluate options.
20386 Add missing "(...)" around root_dev in prefix string.
20387
20388 2008-01-14 Robert Millan <rmh@aybabtu.com>
20389
20390 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20391 for grub_ieee1275_exit(), in order to improve portability.
20392
20393 2008-01-14 Robert Millan <rmh@aybabtu.com>
20394
20395 * util/grub.d/10_linux.in (prefix): Define.
20396 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20397
20398 2008-01-13 Pavel Roskin <proski@gnu.org>
20399
20400 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20401 grub_errno if no errors have been detected.
20402
20403 2008-01-12 Robert Millan <rmh@aybabtu.com>
20404
20405 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20406 (grub_util_get_dev_abstraction): New function prototype.
20407
20408 * util/getroot.c: Include `<grub/util/getroot.h>'
20409 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20410 (grub_util_get_dev_abstraction): ... here (new function).
20411
20412 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20413 `PRINT_ABSTRACTION'.
20414 (probe): Probe for abstraction type when requested.
20415 (main): Understand `--target=abstraction'.
20416
20417 * util/i386/efi/grub-install.in: Add abstraction module to core
20418 image when it is found to be necessary.
20419 * util/i386/pc/grub-install.in: Likewise.
20420 * util/powerpc/ieee1275/grub-install.in: Likewise.
20421
20422 * util/update-grub_lib.in (font_path): Return system path without
20423 converting to GRUB path.
20424 * util/update-grub.in: Convert system path returned by font_path()
20425 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20426 abstraction module is needed for loading fonts (if any). Export
20427 that as `GRUB_PRELOAD_MODULES'.
20428 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20429 insmod commands).
20430
20431 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20432
20433 Remove some unused code from reiserfs.
20434
20435 * fs/reiserfs.c (struct grub_reiserfs_key)
20436 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20437 (struct grub_reiserfs_node_body): Removed.
20438 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20439 Likewise.
20440 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20441 Likewise.
20442 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20443 Likewise.
20444 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20445 Likewise.
20446 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20447 Likewise.
20448 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20449 Likewise.
20450 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20451 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20452 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20453
20454 2008-01-10 Robert Millan <rmh@aybabtu.com>
20455
20456 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20457 Determines if a file is garbage left by packaging systems, etc.
20458 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20459 for processing /etc/grub.d scripts.
20460 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20461 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20462 as a condition for processing Linux images.
20463
20464 2008-01-10 Pavel Roskin <proski@gnu.org>
20465
20466 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20467 to compile reiserfs.c on PowerPC.
20468
20469 2008-01-10 Robert Millan <rmh@aybabtu.com>
20470
20471 * kern/device.c (grub_device_iterate): Do not abort device iteration
20472 when one of the devices cannot be opened.
20473 * kern/disk.c (grub_disk_open): Do not account previous failures of
20474 unrelated functions when grub_errno is checked for.
20475
20476 2008-01-08 Robert Millan <rmh@aybabtu.com>
20477
20478 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20479 `! grub_linux_is_bzimage', change order of address comparison to make
20480 it more intuitive, and improve "too big zImage" error message.
20481
20482 2008-01-08 Robert Millan <rmh@aybabtu.com>
20483
20484 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20485 `$(update-grub_DATA)'.
20486 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20487 targets.
20488
20489 2008-01-07 Robert Millan <rmh@aybabtu.com>
20490
20491 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20492 which instruction is modified by grub-setup during installation
20493 (since it wasn't obvious by only looking at this file).
20494
20495 2008-01-07 Robert Millan <rmh@aybabtu.com>
20496
20497 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20498 listing actual TODO items.
20499
20500 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20501
20502 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20503 correctly.
20504 (grub_reiserfs_get_key_offset): Likewise.
20505 (grub_reiserfs_set_key_offset): Likewise.
20506 (grub_reiserfs_set_key_type): Likewise.
20507 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20508
20509 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20510 better to remove the bitfield version completely.
20511
20512 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20513
20514 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20515 allocated from the heap, due to the fshelp implementation.
20516 (grub_reiserfs_dir): Free NODE, due to the same reason.
20517
20518 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20519
20520 Mostly from Vincent Pelletier:
20521
20522 * fs/reiserfs.c: New file.
20523
20524 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20525 (reiserfs_mod_SOURCES): New variable.
20526 (reiserfs_mod_CFLAGS): Likewise.
20527 (reiserfs_mod_LDFLAGS): Likewise.
20528
20529 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20530 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20531 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20532 normal/color.c.
20533
20534 2008-01-06 Robert Millan <rmh@aybabtu.com>
20535
20536 * normal/color.c: Remove `<grub/env.h>'.
20537
20538 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20539
20540 * include/grub/normal.h: Include <grub/env.h>.
20541
20542 2008-01-05 Robert Millan <rmh@aybabtu.com>
20543
20544 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20545 usage example with `(hd0,1)'.
20546 Reported by Samuel Thibault.
20547
20548 2008-01-05 Robert Millan <rmh@aybabtu.com>
20549
20550 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20551 (grub_linux_boot_zimage): Rename to ...
20552 (grub_linux_boot): ... this.
20553 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20554 (grub_linux_boot_zimage): Conditionalize zImage copy.
20555
20556 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20557 (grub_linux_boot_bzimage): Remove prototype.
20558 (grub_linux_boot_zimage): Rename to ...
20559 (grub_linux_boot): ... this.
20560
20561 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20562 (grub_linux_boot): Remove function.
20563
20564 2008-01-05 Robert Millan <rmh@aybabtu.com>
20565
20566 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20567 (grub_env_write_color_highlight): Likewise.
20568 (grub_wait_after_message): Likewise.
20569
20570 * normal/color.c: New file.
20571
20572 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20573 (normal_mod_DEPENDENCIES): Likewise.
20574
20575 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20576 (normal_mod_DEPENDENCIES): Likewise.
20577
20578 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20579 (normal_mod_DEPENDENCIES): Likewise.
20580
20581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20582 (normal_mod_DEPENDENCIES): Likewise.
20583
20584 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20585 for waiting after a message is printed.
20586 * normal/main.c (read_config_file): Likewise.
20587 (grub_normal_init): Register grub_env_write_color_normal() and
20588 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20589 `color_highlight' variables as global.
20590
20591 * normal/menu.c (grub_wait_after_message): New function.
20592 (grub_color_menu_normal): New variable. Replaces ...
20593 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20594 (grub_color_menu_highlight): New variable. Replaces ...
20595 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20596 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20597 `GRUB_TERM_COLOR_STANDARD'.
20598 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20599 `normal_code' and `highlight_code' to `old_color_normal' and
20600 `old_color_highlight', respectively.
20601 (grub_menu_init_page): Update colors when drawing the menu, based on
20602 `menu_color_normal' and `menu_color_highlight' variables.
20603 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20604 a message is printed.
20605
20606 2008-01-05 Robert Millan <rmh@aybabtu.com>
20607
20608 * kern/env.c (grub_env_context_open): Propagate hooks for global
20609 variables to new context.
20610
20611 * kern/main.c (grub_set_root_dev): Export `root' variable.
20612
20613 2008-01-05 Robert Millan <rmh@aybabtu.com>
20614
20615 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20616 discs unconditionally, since udev and others have options to provide
20617 them.
20618
20619 2008-01-05 Robert Millan <rmh@aybabtu.com>
20620
20621 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20622
20623 2008-01-04 Christian Franke <franke@computer.org>
20624
20625 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20626 of eisa_mmap.
20627
20628 2008-01-03 Pavel Roskin <proski@gnu.org>
20629
20630 * kern/i386/linuxbios/init.c: Put "void" to all function
20631 declarations with no arguments.
20632 * kern/powerpc/ieee1275/init.c: Likewise.
20633 * term/i386/pc/at_keyboard.c: Likewise.
20634 * term/i386/pc/vga_text.c: Likewise.
20635 * util/grub-mkdevicemap.c: Likewise.
20636
20637 2008-01-02 Robert Millan <rmh@aybabtu.com>
20638
20639 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20640 message when loaded image is out of bounds.
20641 (grub_multiboot_load_elf64): Likewise.
20642
20643 2008-01-02 Pavel Roskin <proski@gnu.org>
20644
20645 * util/grub.d/10_linux.in: Try version without ".old" when
20646 looking for initrd. It's better to use initrd from the newer
20647 kernel of the same version than no initrd at all.
20648
20649 2008-01-01 Robert Millan <rmh@aybabtu.com>
20650
20651 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20652
20653 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20654
20655 * include/grub/video.h: Added grub_video_unmap_color and
20656 grub_video_get_active_render_target.
20657 (grub_video_adapter): Added unmap_color and get_active_render_target.
20658
20659 * video/video.c: Added grub_video_unmap_color and
20660 grub_video_get_active_render_target.
20661 (grub_video_get_info): Changed method to accept NULL pointer as an
20662 argument to allow detection of active video adapter.
20663
20664 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20665 grub_video_vbe_unmap_color_int.
20666 Added grub_video_vbe_unmap_color and
20667 grub_video_vbe_get_active_render_target.
20668 (grub_video_vbe_adapter): Added unmap_color and
20669 get_active_render_target.
20670
20671 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20672 with grub_video_vbe_unmap_color_int.
20673
20674 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20675 (DEFAULT_NORMAL_COLOR): Likewise.
20676 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20677 (DEFAULT_FG_COLOR): Removed.
20678 (DEFAULT_BG_COLOR): Likewise.
20679 (DEFAULT_CURSOR_COLOR): Changed value.
20680 (grub_virtual_screen): Added standard_color_setting,
20681 normal_color_setting, highlight_color_setting and term_color.
20682 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20683 (bitmap_width): Added.
20684 (bitmap_height): Likewise.
20685 (bitmap): Likewise.
20686 (set_term_color): Likewise.
20687 (grub_virtual_screen_setup): Changed to use new terminal coloring
20688 settings.
20689 (grub_gfxterm_init): Added init for bitmap.
20690 (grub_gfxterm_fini): Added destroy for bitmap.
20691 (redraw_screen_rect): Updated to use background bitmap and new
20692 terminal coloring.
20693 (scroll_up): Added optimization for case when there is no bitmap.
20694 (grub_gfxterm_cls): Fixed to use correct background color.
20695 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20696 coloring.
20697 (grub_virtual_screen_setcolor): Likewise.
20698 (grub_virtual_screen_getcolor): Added.
20699 (grub_gfxterm_background_image_cmd): Likewise.
20700 (grub_video_term): Added setcolor and getcolor.
20701 (MOD_INIT): Added registration of background_image command.
20702 (MOD_TERM): Added unregistration for background_image command.
20703
20704 2007-12-30 Pavel Roskin <proski@gnu.org>
20705
20706 * loader/multiboot_loader.c: Fix multiboot command
20707 unregistration. Fix all typos in the word "multiboot".
20708
20709 2007-12-29 Pavel Roskin <proski@gnu.org>
20710
20711 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20712 support for initrd names used in Fedora.
20713
20714 2007-12-26 Bean <bean123ch@gmail.com>
20715
20716 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20717 (cpio_mod_SOURCES): New variable.
20718 (cpio_mod_CFLAGS): Likewise.
20719 (cpio_mod_LDFLAGS): Likewise.
20720
20721 * fs/cpio.c: New file.
20722
20723 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20724
20725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20726
20727 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20728
20729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20730
20731 2007-12-25 Robert Millan <rmh@aybabtu.com>
20732
20733 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20734 (grub_getcolor): New function.
20735
20736 * kern/term.c (grub_getcolor): New function.
20737 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20738 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20739 (print_entry): Set normal and highlight colors to
20740 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20741 respectively, before printing and restore them to old
20742 values afterwards.
20743 (grub_menu_init_page): Likewise. Fill an additional colored space
20744 that would otherwise be left blank.
20745
20746 * term/efi/console.c (grub_console_getcolor): New function.
20747 (struct grub_console_term.getcolor): New variable.
20748 * term/i386/pc/console.c (grub_console_getcolor): New function.
20749 (struct grub_console_term.getcolor): New variable.
20750 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20751 (struct grub_console_term.getcolor): New variable.
20752
20753 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20754 (struct grub_console_term.setcolor): Remove variable.
20755 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20756 (struct grub_console_term.setcolor): Remove variable.
20757 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20758 (struct grub_console_term.setcolor): Remove variable.
20759 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20760 (struct grub_console_term.setcolor): Remove variable.
20761
20762 2007-12-25 Robert Millan <rmh@aybabtu.com>
20763
20764 * configure.ac: Search for possible unifont.hex locations, and
20765 define UNIFONT_HEX if found.
20766
20767 * Makefile.in (UNIFONT_HEX): Define variable.
20768 (DATA): Rename to ...
20769 (PKGLIB): ... this. Update all users.
20770 (PKGDATA): New variable.
20771 (pkgdata_IMAGES): Rename to ...
20772 (pkglib_IMAGES): ... this. Update all users.
20773 (pkgdata_MODULES): Rename to ...
20774 (pkglib_MODULES): ... this. Update all users.
20775 (pkgdata_PROGRAMS): Rename to ...
20776 (pkglib_PROGRAMS): ... this. Update all users.
20777 (pkgdata_DATA): Rename to ...
20778 (pkglib_DATA): ... this. Update all users.
20779 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20780 (unicode.pff, ascii.pff): New rules.
20781 (all-local): Add `$(PKGDATA)' dependency.
20782 (install-local): Process `$(PKGDATA)'.
20783
20784 * util/update-grub_lib.in (font_path): Search for *.pff files in
20785 a few more locations, including `${pkgdata}'.
20786
20787 2007-12-23 Robert Millan <rmh@aybabtu.com>
20788
20789 Patch from Bean <bean123ch@gmail.com>:
20790 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20791 `size'.
20792
20793 2007-12-21 Bean <bean123ch@gmail.com>
20794
20795 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20796 (ntfscomp_mod_SOURCES): New variable.
20797 (ntfscomp_mod_CFLAGS): Likewise.
20798 (ntfscomp_mod_LDFLAGS): Likewise.
20799
20800 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20801 (grub_probe_SOURCES): Likewise.
20802 (grub_emu_SOURCES): Likewise.
20803
20804 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20805 (grub_emu_SOURCES): Likewise.
20806
20807 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20808 (grub_emu_SOURCES): Likewise.
20809
20810 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20811 (grub_emu_SOURCES): Likewise.
20812
20813 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20814 (read_run_list): Renamed to grub_ntfs_read_run_list.
20815 (decomp_nextvcn): Moved to ntfscomp.c.
20816 (decomp_getch): Likewise.
20817 (decomp_get16): Likewise.
20818 (decomp_block): Likewise.
20819 (read_block): Likewise.
20820 (read_data): Partially moved to ntfscomp.c.
20821 (fixup): Change unsigned to grub_uint16_t.
20822 (read_mft): Change unsigned long to grub_uint32_t.
20823 (read_attr): Likewise.
20824 (read_data): Likewise.
20825 (read_run_data): Likewise.
20826 (read_run_list): Likewise.
20827 (read_mft): Likewise.
20828
20829 * fs/ntfscomp.c: New file.
20830
20831 * include/grub/ntfs.h: New file.
20832
20833 2007-12-16 Robert Millan <rmh@aybabtu.com>
20834
20835 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20836 IDE disk check, since Linux is known to support 20 IDE disks.
20837 Reported by Colin Watson.
20838
20839 2007-12-15 Bean <bean123ch@gmail.com>
20840
20841 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20842 (lnxboot_img_SOURCES): New variable.
20843 (lnxboot_img_ASFLAGS): Likewise.
20844 (lnxboot_img_LDFLAGS): Likewise.
20845
20846 * boot/i386/pc/lnxboot.S: New file.
20847
20848 2007-11-24 Pavel Roskin <proski@gnu.org>
20849
20850 * configure.ac: Test if '--build-id=none' is supported by the
20851 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20852 objcopy to generate incorrect binary files (binutils
20853 2.17.50.0.18-1 as shipped by Fedora 8).
20854 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20855 linking, so that build ID doesn't break the test.
20856
20857 2007-11-24 Pavel Roskin <proski@gnu.org>
20858
20859 * include/grub/i386/time.h: use "void" in the argument list
20860 of grub_cpu_idle().
20861 * include/grub/powerpc/time.h: Likewise.
20862 * include/grub/sparc64/time.h: Likewise.
20863
20864 2007-11-18 Christian Franke <franke@computer.org>
20865
20866 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20867 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20868 This fixes the problem that function keys did not work in grub-emu.
20869
20870 2007-11-18 Christian Franke <franke@computer.org>
20871
20872 * disk/host.c (grub_host_open): Remove attribute unused from
20873 name parameter. Add check for "host". This fixes the problem
20874 that grub-emu does not find partitions.
20875
20876 2007-11-18 Christian Franke <franke@computer.org>
20877
20878 * util/hostfs.c (is_dir): New function.
20879 (grub_hostfs_dir): Handle missing dirent.d_type case.
20880 (grub_hostfs_read): Add missing fseek().
20881 (grub_hostfs_label): Clear label pointer. This fixes a crash
20882 of grub-emu on "ls (host)".
20883
20884 2007-11-18 Christian Franke <franke@computer.org>
20885
20886 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20887 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20888 to 64 bit boundary by default.
20889
20890 2007-11-18 Bean <bean123ch@gmail.com>
20891
20892 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20893 (hexdump_mod_SOURCES): New variable.
20894 (hexdump_mod_CFLAGS): Likewise.
20895 (hexdump_mod_LDFLAGS): Likewise.
20896
20897 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20898
20899 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20900
20901 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20902
20903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20904
20905 * include/grub/hexdump.h: New file.
20906
20907 * commands/hexdump.c: New file.
20908
20909 2007-11-10 Robert Millan <rmh@aybabtu.com>
20910
20911 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20912 in grub_outb() calls.
20913 (beep_on): Likewise.
20914
20915 2007-11-10 Christian Franke <franke@computer.org>
20916
20917 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20918 (grub_menu_run): Likewise.
20919
20920 2007-11-10 Robert Millan <rmh@aybabtu.com>
20921
20922 * include/grub/i386/efi/machine.h: New file.
20923 * include/grub/i386/linuxbios/machine.h: Likewise.
20924 * include/grub/i386/pc/machine.h: Likewise.
20925 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20926 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20927
20928 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20929 (serial_hw_io_addr): New variable.
20930 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20931 instead of `(unsigned short *) 0x400'.
20932
20933 2007-11-10 Bean <bean123ch@gmail.com>
20934
20935 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20936
20937 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20938
20939 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20940 (vga_mod_SOURCES): Added.
20941 (vga_mod_CFLAGS): Likewise.
20942 (vga_mod_LDFLAGS): Likewise.
20943
20944 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20945 grub_outb() calls.
20946 (set_map_mask): Likewise.
20947 (set_read_map): Likewise.
20948 (set_read_address): Likewise.
20949 (vga_font): Removed variable.
20950 (get_vga_glyph): Removed function.
20951 (invalidate_char): Likewise.
20952 (write_char): Changed to use grub_font_get_glyph() for font
20953 information.
20954 (grub_vga_putchar): Likewise.
20955 (grub_vga_getcharwidth): Likewise.
20956
20957 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20958
20959 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20960 flags.
20961 (pxeboot_img_LDFLAGS): Likewise.
20962 (diskboot_img_LDFLAGS): Likewise.
20963 (kernel_img_LDFLAGS): Likewise.
20964
20965 2007-11-06 Robert Millan <rmh@aybabtu.com>
20966
20967 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20968 in grub_outb() calls.
20969 (serial_hw_init): Likewise.
20970
20971 2007-11-05 Robert Millan <rmh@aybabtu.com>
20972
20973 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20974 spaces. Skip non-regular files.
20975
20976 2007-11-05 Robert Millan <rmh@aybabtu.com>
20977
20978 * kern/disk.c (grub_disk_firmware_fini)
20979 (grub_disk_firmware_is_tainted): New variables.
20980
20981 * include/grub/disk.h (grub_disk_firmware_fini)
20982 (grub_disk_firmware_is_tainted): Likewise.
20983
20984 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20985 (grub_disk_biosdisk_fini): ... to here.
20986 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20987 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20988 is set. Register grub_disk_biosdisk_fini() in
20989 `grub_disk_firmware_fini'.
20990
20991 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20992 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20993 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20994 to finish existing firmware disk interface.
20995
20996 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20997 (ata_mod_SOURCES): New variable.
20998 (ata_mod_CFLAGS): Likewise.
20999 (ata_mod_LDFLAGS): Likewise.
21000
21001 2007-11-05 Robert Millan <rmh@aybabtu.com>
21002
21003 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21004 (grub_ata_wait): Reimplement using grub_millisleep().
21005
21006 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21007 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21008
21009 2007-11-03 Marco Gerards <marco@gnu.org>
21010
21011 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21012 (CRTC_ADDR_PORT): New macro.
21013 (CRTC_DATA_PORT): Likewise.
21014 (CRTC_CURSOR): Likewise.
21015 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21016 (CRTC_CURSOR_ADDR_LOW): Likewise.
21017 (update_cursor): New function.
21018 (grub_console_real_putchar): Call `update_cursor'.
21019 (grub_console_gotoxy): Likewise.
21020 (grub_console_cls): Set the default color when clearing the
21021 screen.
21022 (grub_console_setcursor): Implemented.
21023
21024 2007-11-03 Marco Gerards <marco@gnu.org>
21025
21026 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21027 become activate.
21028 (grub_ata_pio_write): Likewise.
21029
21030 (grub_atapi_identify): Wait after issuing an ATA command.
21031 (grub_atapi_packet): Likewise.
21032 (grub_ata_identify): Likewise.
21033 (grub_ata_readwrite): Likewise.
21034
21035 2007-11-03 Marco Gerards <marco@gnu.org>
21036
21037 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21038 (grub_ata_pio_write): Likewise.
21039 (grub_ata_readwrite): Use `grub_error', instead of
21040 returning `grub_errno'.
21041
21042 2007-11-03 Marco Gerards <marco@gnu.org>
21043
21044 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21045 grub_ata_pio_write once for every single sector, instead of for
21046 multiple sectors.
21047
21048 2007-10-31 Robert Millan <rmh@aybabtu.com>
21049
21050 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21051
21052 * conf/i386-linuxbios.rmk: New file.
21053
21054 * kern/i386/pc/hardware.c: Likewise.
21055 * term/i386/pc/at_keyboard.c: Likewise.
21056 * term/i386/pc/vga_text.c: Likewise.
21057
21058 * include/grub/i386/linuxbios/boot.h: Likewise.
21059 * include/grub/i386/linuxbios/console.h: Likewise.
21060 * include/grub/i386/linuxbios/init.h: Likewise.
21061 * include/grub/i386/linuxbios/kernel.h: Likewise.
21062 * include/grub/i386/linuxbios/loader.h: Likewise.
21063 * include/grub/i386/linuxbios/memory.h: Likewise.
21064 * include/grub/i386/linuxbios/serial.h: Likewise.
21065 * include/grub/i386/linuxbios/time.h: Likewise.
21066
21067 * kern/i386/linuxbios/init.c: Likewise.
21068 * kern/i386/linuxbios/startup.S: Likewise.
21069 * kern/i386/linuxbios/table.c: Likewise.
21070
21071 2007-10-31 Marco Gerards <marco@gnu.org>
21072
21073 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21074 (ata_mod_SOURCES): New variable.
21075 (ata_mod_CFLAGS): Likewise.
21076 (ata_mod_LDFLAGS): Likewise.
21077
21078 * disk/ata.c: New file.
21079
21080 * include/grub/disk.h (grub_disk_dev_id): Add
21081 `GRUB_DISK_DEV_ATA_ID'.
21082
21083 2007-10-31 Robert Millan <rmh@aybabtu.com>
21084
21085 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21086 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21087
21088 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21089 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21090
21091 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21092 `<grub/types.h>'.
21093
21094 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21095
21096 2007-10-27 Robert Millan <rmh@aybabtu.com>
21097
21098 * include/grub/types.h (ULONG_MAX): Define macro.
21099
21100 2007-10-22 Robert Millan <rmh@aybabtu.com>
21101
21102 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21103 `"../realmode.S"'.
21104 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21105
21106 2007-10-22 Robert Millan <rmh@aybabtu.com>
21107
21108 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21109 (pkgdata_MODULES): Add `biosdisk.mod'.
21110 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21111 variables.
21112
21113 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21114 (grub_biosdisk_init): Replace with ...
21115 (GRUB_MOD_INIT(biosdisk)): ... this.
21116 (grub_biosdisk_fini): Replace with ...
21117 (GRUB_MOD_FINI(biosdisk)): ... this.
21118
21119 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21120 (grub_machine_init): Remove call to grub_biosdisk_init().
21121 (grub_machine_fini): Remove call to grub_machine_fini().
21122
21123 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21124
21125 2007-10-22 Robert Millan <rmh@aybabtu.com>
21126
21127 * include/grub/time.h: New file.
21128 * include/grub/i386/time.h: Likewise.
21129 * include/grub/powerpc/time.h: Likewise.
21130 * include/grub/sparc64/time.h: Likewise.
21131
21132 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21133 instances to ...
21134 (KERNEL_MACHINE_TIME_HEADER): ... this.
21135 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21136 instances to ...
21137 (KERNEL_MACHINE_TIME_HEADER): ... this.
21138 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21139 instances to ...
21140 (KERNEL_MACHINE_TIME_HEADER): ... this.
21141
21142 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21143 (grub_millisleep): New function.
21144 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21145 (grub_millisleep): New function.
21146 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21147 Remove `grub/machine/time.h' include.
21148 (grub_millisleep): New function.
21149 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21150 Remove `grub/machine/time.h' include.
21151 (grub_millisleep): New function.
21152
21153 * include/grub/misc.h (grub_div_roundup): New function.
21154
21155 * kern/misc.c: Include `<grub/time.h>'.
21156 (grub_millisleep_generic): New function.
21157
21158 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21159 Add `time.h'.
21160 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21161 Add `time.h'.
21162 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21163 `machine/time.h'. Add `time.h'.
21164 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21165
21166 2007-10-21 Robert Millan <rmh@aybabtu.com>
21167
21168 * include/grub/misc.h (grub_max): New function.
21169
21170 2007-10-21 Robert Millan <rmh@aybabtu.com>
21171
21172 * util/misc.c (grub_util_info): Call fflush() before returning.
21173
21174 2007-10-20 Robert Millan <rmh@aybabtu.com>
21175
21176 * genmk.rb (Image): Copy `extra_flags' from here ...
21177 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21178
21179 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21180 to `argc' and `args' arguments.
21181
21182 2007-10-17 Robert Millan <rmh@aybabtu.com>
21183
21184 * kern/i386/loader.S: New file.
21185
21186 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21187 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21188 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21189 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21190 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21191 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21192 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21193 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21194 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21195 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21196 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21197 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21198 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21199 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21200
21201 * kern/i386/realmode.S: New file.
21202
21203 * kern/i386/pc/startup.S (protstack): Moved from here ...
21204 * kern/i386/realmode.S (protstack)... to here.
21205 * kern/i386/pc/startup.S (gdt): Moved from here ...
21206 * kern/i386/realmode.S (gdt)... to here.
21207 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21208 * kern/i386/realmode.S (prot_to_real)... to here.
21209
21210 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21211 `kern/i386/realmode.S'.
21212
21213 2007-10-17 Robert Millan <rmh@aybabtu.com>
21214
21215 * include/grub/i386/loader.h: New file.
21216
21217 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21218 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21219 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21220 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21221 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21222 * include/grub/i386/loader.h (grub_linux_prot_size)
21223 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21224 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21225 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21226 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21227
21228 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21229
21230 2007-10-15 Robert Millan <rmh@aybabtu.com>
21231
21232 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21233 filesystem when dev->disk is unset.
21234 Do probe for filesystem even when dev->disk->has_partitions is set.
21235 In case a filesystem is found, always report it.
21236 In case it isn't, if dev->disk->has_partitions is set, report that
21237 a partition table was found instead of reporting that no filesystem
21238 could be identified.
21239
21240 2007-10-12 Robert Millan <rmh@aybabtu.com>
21241
21242 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21243 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21244
21245 * include/grub/types.h (grub_host_to_target16): New macro.
21246 (grub_host_to_target32): Likewise.
21247 (grub_host_to_target64): Likewise.
21248 (grub_target_to_host16): Likewise.
21249 (grub_target_to_host32): Likewise.
21250 (grub_target_to_host64): Likewise.
21251
21252 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21253 Renamed from to ...
21254 (GRUB_MOD_ALIGN): ...this. Update all users.
21255
21256 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21257 grub_host_to_target32.
21258 Replace grub_be_to_cpu32 with grub_target_to_host32.
21259 (load_modules): Likewise.
21260 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21261 Replace grub_be_to_cpu32 with grub_target_to_host32.
21262 Replace grub_cpu_to_be16 with grub_host_to_target16.
21263 Replace grub_cpu_to_be32 grub_host_to_target32.
21264
21265 2007-10-12 Robert Millan <rmh@aybabtu.com>
21266
21267 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21268 * util/elf/grub-mkimage.c: ... here.
21269
21270 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21271 `util/powerpc/ieee1275/grub-mkimage.c'.
21272
21273 2007-10-07 Robert Millan <rmh@aybabtu.com>
21274
21275 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21276 and make it easier to figure out.
21277 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21278 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21279 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21280 leave us with less than HEAP_MIN_SIZE total heap.
21281 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21282
21283 2007-10-03 Robert Millan <rmh@aybabtu.com>
21284
21285 * include/grub/i386/io.h: New file.
21286 * commands/i386/pc/play.c (inb): Removed.
21287 (outb): Removed.
21288 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21289 with grub_outb().
21290 * term/i386/pc/serial.c (inb): Removed.
21291 (outb): Removed.
21292 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21293 with grub_outb().
21294 * term/i386/pc/vga.c (inb): Removed.
21295 (outb): Removed.
21296 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21297 with grub_outb().
21298
21299 2007-10-02 Robert Millan <rmh@aybabtu.com>
21300
21301 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21303 Reported by Marcin Kurek.
21304
21305 2007-09-07 Robert Millan <rmh@aybabtu.com>
21306
21307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21308 SmartFirmware version updates (as released by Sven Luther), and avoid
21309 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21310 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21311 known broken.
21312
21313 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21314
21315 From Hitoshi Ozeki:
21316 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21317 when merging two regions.
21318
21319 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21320
21321 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21322 * normal/completion.c (grub_normal_do_completion): Likewise.
21323 Reported by Hitoshi Ozeki.
21324
21325 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21326
21327 Do not use devices at boot in chainloading.
21328
21329 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21330 (boot_part_addr): Likewise.
21331 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21332 with BOOT_DRIVE and BOOT_PART_ADDR.
21333 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21334 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21335
21336 2007-08-29 Robert Millan <rmh@aybabtu.com>
21337
21338 Patch from Simon Peter <dn.tlp@gmx.net>:
21339 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21340 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21341 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21342 util/i386/pc/grub-setup.c_DEPENDENCIES.
21343 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21344 util/grub-probe.c_DEPENDENCIES.
21345 * conf/powerpc-ieee1275.rmk: Likewise.
21346
21347 2007-08-28 Robert Millan <rmh@aybabtu.com>
21348
21349 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21350 to tell grub-mkdevicemap how to name devices.
21351 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21352 feature).
21353
21354 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21355 util/i386/get_disk_name.c.
21356 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21357 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21358 util/ieee1275/get_disk_name.c.
21359
21360 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21361
21362 * DISTLIST: Add util/i386/get_disk_name.c and
21363 util/ieee1275/get_disk_name.c.
21364
21365 * util/grub-mkdevicemap.c: Replace device naming logic with
21366 grub_util_get_disk_name() calls.
21367
21368 2007-08-20 Robert Millan <rmh@aybabtu.com>
21369
21370 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21371 (so that it works for both plural and singular quantities).
21372
21373 2007-08-05 Robert Millan <rmh@aybabtu.com>
21374
21375 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21376 so that [xz] isn't taken into account when determining order.
21377
21378 2007-08-02 Marco Gerards <marco@gnu.org>
21379
21380 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21381 `include/multiboot2.h', `include/grub/elfload.h',
21382 `include/multiboot.h', `include/grub/multiboot.h',
21383 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21384 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21385 `kern/elf.c', `loader/multiboot_loader.c',
21386 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21387 `loader/i386/pc/multiboot2.c',
21388 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21389 `util/i386/pc/grub-mkrescue.in'. Remove
21390 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21391 `include/grub/i386/pc/util/biosdisk.h' and
21392 `include/grub/powerpc/ieee1275/multiboot.h'.
21393
21394 2007-08-02 Bean <bean123ch@gmail.com>
21395
21396 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21397 (ntfs_mod_SOURCES): New variable.
21398 (ntfs_mod_CFLAGS): Likewise.
21399 (ntfs_mod_LDFLAGS): Likewise.
21400
21401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21402 (grub_probe_SOURCES): Likewise.
21403 (grub_emu_SOURCES): Likewise.
21404
21405 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21406 (grub_emu_SOURCES): Likewise.
21407
21408 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21409 (grub_emu_SOURCES): Likewise.
21410
21411 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21412
21413 * fs/ntfs.c: New file.
21414
21415 2007-08-02 Bean <bean123ch@gmail.com>
21416
21417 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21418
21419 * file.h (grub_file): Likewise.
21420
21421 * fshelp.h (grub_fshelp_read_file): Likewise.
21422
21423 * util/i386/pc/grub-setup.c (setup): Likewise.
21424 (save_first_sector): Likewise.
21425 (save_blocklists): Likewise.
21426
21427 * fs/affs.c (grub_affs_read_file): Likewise.
21428
21429 * fs/ext2.c (grub_ext2_read_file): Likewise.
21430
21431 * fs/fat.c (grub_fat_read_data): Likewise.
21432
21433 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21434
21435 * fs/hfs.c (grub_hfs_read_file): Likewise.
21436
21437 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21438
21439 * fs/jfs.c (grub_jfs_read_file): Likewise.
21440
21441 * fs/minix.c (grub_minix_read_file): Likewise.
21442
21443 * fs/sfs.c (grub_sfs_read_file): Likewise.
21444
21445 * fs/ufs.c (grub_ufs_read_file): Likewise.
21446
21447 * fs/xfs.c (grub_xfs_read_file): Likewise.
21448
21449 * command/blocklist.c (read_blocklist): Likewise.
21450 (print_blocklist): Likewise.
21451
21452 2007-08-02 Marco Gerards <marco@gnu.org>
21453
21454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21455 `util/hostfs.c'.
21456
21457 * disk/host.c: New file.
21458
21459 * util/hostfs.c: Likewise.
21460
21461 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21462 return `GRUB_ERR_BAD_FS'.
21463 * fs/sfs.c (grub_sfs_mount): Likewise.
21464 * fs/xfs.c (grub_xfs_mount): Likewise.
21465
21466 * include/grub/disk.h (enum grub_disk_dev_id): Add
21467 `GRUB_DISK_DEVICE_HOST_ID'.
21468
21469 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21470
21471 2007-07-24 Jerone Young <jerone@gmail.com>
21472
21473 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21474 modules for compilation.
21475 * conf/powerpc-ieee1275.rmk: Likewise.
21476
21477 * include/multiboot.h: Move multiboot definitions to one file. Rename
21478 many definitions to not get grub specific.
21479 * include/multiboot2.h: Create header with multiboot 2 definitions.
21480 * include/grub/multiboot.h: Header for grub specific function
21481 prototypes and definitions.
21482 * include/grub/multiboot2.h: Likewise.
21483 * include/grub/multiboot_loader.h: Likewise.
21484 * include/grub/i386/pc/multiboot.h: Removed.
21485 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21486
21487 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21488 and 2 to allow for one multiboot and module commands.
21489 * loader/multiboot2.c: Add multiboot2 functionality.
21490 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21491 and definition names.
21492 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21493 2 functions.
21494 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21495 ieee1275 specific multiboot2 code.
21496
21497 * kern/i386/pc/startup.S: Change headers and definition names for
21498 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21499
21500 2007-07-22 Robert Millan <rmh@aybabtu.com>
21501
21502 * geninitheader.sh: Process file specified in first parameter rather
21503 than hardcoding grub_modules_init.lst.
21504 * geninit.sh: Likewise. Also, construct header name dynamically rather
21505 than hardcoding grub_modules_init.h.
21506
21507 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21508 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21509 grub_probe_init.[ch] and grub_setup_init.[ch].
21510
21511 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21512 grub_modules_init.h with grub_emu_init.h.
21513 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21514 grub_probe_init.[ch] files.
21515 * conf/i386-efi.rmk: Likewise.
21516 * conf/i386-pc.rmk: Likewise.
21517 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21518 grub_setup_init.[ch] files.
21519
21520 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21521 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21522 to initialize modules rather than a list of hardcoded functions.
21523 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21524 grub_init_all() to initialize modules rather than a list of hardcoded
21525 functions.
21526
21527 2007-07-22 Robert Millan <rmh@aybabtu.com>
21528
21529 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21530 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21531
21532 2007-07-22 Robert Millan <rmh@aybabtu.com>
21533
21534 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21535 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21536 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21537 flag when running on SmartFirmware.
21538 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21539 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21540 was set.
21541
21542 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21543 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21544 rather than decreasing it.
21545
21546 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21547 there's not enough space to do it, fail in the same way as when it
21548 can't be done because there are no partitions.
21549
21550 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21551 when nvsetenv failed.
21552
21553 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21554
21555 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21556 because this rule is automatically generated.
21557 (grub-mkrescue): Removed for the same reason as above.
21558
21559 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21560
21561 Migrate to GNU General Public License Version 3.
21562
21563 * COPYING: Replaced with the plain text version of GPLv3.
21564
21565 * config.guess: Updated from gnulib.
21566 * config.sub: Likewise.
21567
21568 * geninit.sh: Output a GPLv3 copyright notice.
21569 * geninitheader.sh: Likewise.
21570 * genmodsrc.sh: Likewise.
21571 * gensymlist.sh.in: Likewise.
21572
21573 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21574 * boot/i386/pc/diskboot.S: Likewise.
21575 * boot/i386/pc/pxeboot.S: Likewise.
21576 * commands/blocklist.c: Likewise.
21577 * commands/boot.c: Likewise.
21578 * commands/cat.c: Likewise.
21579 * commands/cmp.c: Likewise.
21580 * commands/configfile.c: Likewise.
21581 * commands/echo.c: Likewise.
21582 * commands/help.c: Likewise.
21583 * commands/ls.c: Likewise.
21584 * commands/search.c: Likewise.
21585 * commands/terminal.c: Likewise.
21586 * commands/test.c: Likewise.
21587 * commands/videotest.c: Likewise.
21588 * commands/i386/cpuid.c: Likewise.
21589 * commands/i386/pc/halt.c: Likewise.
21590 * commands/i386/pc/play.c: Likewise.
21591 * commands/i386/pc/reboot.c: Likewise.
21592 * commands/i386/pc/vbeinfo.c: Likewise.
21593 * commands/i386/pc/vbetest.c: Likewise.
21594 * commands/ieee1275/halt.c: Likewise.
21595 * commands/ieee1275/reboot.c: Likewise.
21596 * commands/ieee1275/suspend.c: Likewise.
21597 * disk/loopback.c: Likewise.
21598 * disk/lvm.c: Likewise.
21599 * disk/raid.c: Likewise.
21600 * disk/efi/efidisk.c: Likewise.
21601 * disk/i386/pc/biosdisk.c: Likewise.
21602 * disk/ieee1275/ofdisk.c: Likewise.
21603 * font/manager.c: Likewise.
21604 * fs/affs.c: Likewise.
21605 * fs/ext2.c: Likewise.
21606 * fs/fat.c: Likewise.
21607 * fs/fshelp.c: Likewise.
21608 * fs/hfs.c: Likewise.
21609 * fs/hfsplus.c: Likewise.
21610 * fs/iso9660.c: Likewise.
21611 * fs/jfs.c: Likewise.
21612 * fs/minix.c: Likewise.
21613 * fs/sfs.c: Likewise.
21614 * fs/ufs.c: Likewise.
21615 * fs/xfs.c: Likewise.
21616 * hello/hello.c: Likewise.
21617 * include/grub/acorn_filecore.h: Likewise.
21618 * include/grub/arg.h: Likewise.
21619 * include/grub/bitmap.h: Likewise.
21620 * include/grub/boot.h: Likewise.
21621 * include/grub/cache.h: Likewise.
21622 * include/grub/device.h: Likewise.
21623 * include/grub/disk.h: Likewise.
21624 * include/grub/dl.h: Likewise.
21625 * include/grub/elfload.h: Likewise.
21626 * include/grub/env.h: Likewise.
21627 * include/grub/err.h: Likewise.
21628 * include/grub/file.h: Likewise.
21629 * include/grub/font.h: Likewise.
21630 * include/grub/fs.h: Likewise.
21631 * include/grub/fshelp.h: Likewise.
21632 * include/grub/gzio.h: Likewise.
21633 * include/grub/hfs.h: Likewise.
21634 * include/grub/kernel.h: Likewise.
21635 * include/grub/loader.h: Likewise.
21636 * include/grub/lvm.h: Likewise.
21637 * include/grub/misc.h: Likewise.
21638 * include/grub/mm.h: Likewise.
21639 * include/grub/net.h: Likewise.
21640 * include/grub/normal.h: Likewise.
21641 * include/grub/parser.h: Likewise.
21642 * include/grub/partition.h: Likewise.
21643 * include/grub/pc_partition.h: Likewise.
21644 * include/grub/raid.h: Likewise.
21645 * include/grub/rescue.h: Likewise.
21646 * include/grub/script.h: Likewise.
21647 * include/grub/setjmp.h: Likewise.
21648 * include/grub/symbol.h: Likewise.
21649 * include/grub/term.h: Likewise.
21650 * include/grub/terminfo.h: Likewise.
21651 * include/grub/tparm.h: Likewise.
21652 * include/grub/types.h: Likewise.
21653 * include/grub/video.h: Likewise.
21654 * include/grub/efi/api.h: Likewise.
21655 * include/grub/efi/chainloader.h: Likewise.
21656 * include/grub/efi/console.h: Likewise.
21657 * include/grub/efi/console_control.h: Likewise.
21658 * include/grub/efi/disk.h: Likewise.
21659 * include/grub/efi/efi.h: Likewise.
21660 * include/grub/efi/pe32.h: Likewise.
21661 * include/grub/efi/time.h: Likewise.
21662 * include/grub/i386/linux.h: Likewise.
21663 * include/grub/i386/setjmp.h: Likewise.
21664 * include/grub/i386/types.h: Likewise.
21665 * include/grub/i386/efi/kernel.h: Likewise.
21666 * include/grub/i386/efi/loader.h: Likewise.
21667 * include/grub/i386/efi/time.h: Likewise.
21668 * include/grub/i386/pc/biosdisk.h: Likewise.
21669 * include/grub/i386/pc/boot.h: Likewise.
21670 * include/grub/i386/pc/chainloader.h: Likewise.
21671 * include/grub/i386/pc/console.h: Likewise.
21672 * include/grub/i386/pc/init.h: Likewise.
21673 * include/grub/i386/pc/kernel.h: Likewise.
21674 * include/grub/i386/pc/loader.h: Likewise.
21675 * include/grub/i386/pc/memory.h: Likewise.
21676 * include/grub/i386/pc/multiboot.h: Likewise.
21677 * include/grub/i386/pc/serial.h: Likewise.
21678 * include/grub/i386/pc/time.h: Likewise.
21679 * include/grub/i386/pc/vbe.h: Likewise.
21680 * include/grub/i386/pc/vbeblit.h: Likewise.
21681 * include/grub/i386/pc/vbefill.h: Likewise.
21682 * include/grub/i386/pc/vbeutil.h: Likewise.
21683 * include/grub/i386/pc/vga.h: Likewise.
21684 * include/grub/ieee1275/ieee1275.h: Likewise.
21685 * include/grub/ieee1275/ofdisk.h: Likewise.
21686 * include/grub/powerpc/libgcc.h: Likewise.
21687 * include/grub/powerpc/setjmp.h: Likewise.
21688 * include/grub/powerpc/types.h: Likewise.
21689 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21690 * include/grub/powerpc/ieee1275/console.h: Likewise.
21691 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21692 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21693 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21694 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21695 * include/grub/powerpc/ieee1275/time.h: Likewise.
21696 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21697 * include/grub/sparc64/libgcc.h: Likewise.
21698 * include/grub/sparc64/setjmp.h: Likewise.
21699 * include/grub/sparc64/types.h: Likewise.
21700 * include/grub/sparc64/ieee1275/console.h: Likewise.
21701 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21702 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21703 * include/grub/sparc64/ieee1275/time.h: Likewise.
21704 * include/grub/util/biosdisk.h: Likewise.
21705 * include/grub/util/getroot.h: Likewise.
21706 * include/grub/util/lvm.h: Likewise.
21707 * include/grub/util/misc.h: Likewise.
21708 * include/grub/util/raid.h: Likewise.
21709 * include/grub/util/resolve.h: Likewise.
21710 * io/gzio.c: Likewise.
21711 * kern/device.c: Likewise.
21712 * kern/disk.c: Likewise.
21713 * kern/dl.c: Likewise.
21714 * kern/elf.c: Likewise.
21715 * kern/env.c: Likewise.
21716 * kern/err.c: Likewise.
21717 * kern/file.c: Likewise.
21718 * kern/fs.c: Likewise.
21719 * kern/loader.c: Likewise.
21720 * kern/main.c: Likewise.
21721 * kern/misc.c: Likewise.
21722 * kern/mm.c: Likewise.
21723 * kern/parser.c: Likewise.
21724 * kern/partition.c: Likewise.
21725 * kern/rescue.c: Likewise.
21726 * kern/term.c: Likewise.
21727 * kern/efi/efi.c: Likewise.
21728 * kern/efi/init.c: Likewise.
21729 * kern/efi/mm.c: Likewise.
21730 * kern/i386/dl.c: Likewise.
21731 * kern/i386/efi/init.c: Likewise.
21732 * kern/i386/efi/startup.S: Likewise.
21733 * kern/i386/pc/init.c: Likewise.
21734 * kern/i386/pc/lzo1x.S: Likewise.
21735 * kern/i386/pc/startup.S: Likewise.
21736 * kern/ieee1275/ieee1275.c: Likewise.
21737 * kern/powerpc/cache.S: Likewise.
21738 * kern/powerpc/dl.c: Likewise.
21739 * kern/powerpc/ieee1275/cmain.c: Likewise.
21740 * kern/powerpc/ieee1275/crt0.S: Likewise.
21741 * kern/powerpc/ieee1275/init.c: Likewise.
21742 * kern/powerpc/ieee1275/openfw.c: Likewise.
21743 * kern/sparc64/cache.S: Likewise.
21744 * kern/sparc64/dl.c: Likewise.
21745 * kern/sparc64/ieee1275/init.c: Likewise.
21746 * kern/sparc64/ieee1275/openfw.c: Likewise.
21747 * loader/efi/chainloader.c: Likewise.
21748 * loader/efi/chainloader_normal.c: Likewise.
21749 * loader/i386/efi/linux.c: Likewise.
21750 * loader/i386/efi/linux_normal.c: Likewise.
21751 * loader/i386/pc/chainloader.c: Likewise.
21752 * loader/i386/pc/chainloader_normal.c: Likewise.
21753 * loader/i386/pc/linux.c: Likewise.
21754 * loader/i386/pc/linux_normal.c: Likewise.
21755 * loader/i386/pc/multiboot.c: Likewise.
21756 * loader/i386/pc/multiboot_normal.c: Likewise.
21757 * loader/powerpc/ieee1275/linux.c: Likewise.
21758 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21759 * normal/arg.c: Likewise.
21760 * normal/cmdline.c: Likewise.
21761 * normal/command.c: Likewise.
21762 * normal/completion.c: Likewise.
21763 * normal/execute.c: Likewise.
21764 * normal/function.c: Likewise.
21765 * normal/lexer.c: Likewise.
21766 * normal/main.c: Likewise.
21767 * normal/menu.c: Likewise.
21768 * normal/menu_entry.c: Likewise.
21769 * normal/misc.c: Likewise.
21770 * normal/parser.y: Likewise.
21771 * normal/script.c: Likewise.
21772 * normal/i386/setjmp.S: Likewise.
21773 * normal/powerpc/setjmp.S: Likewise.
21774 * normal/sparc64/setjmp.S: Likewise.
21775 * partmap/acorn.c: Likewise.
21776 * partmap/amiga.c: Likewise.
21777 * partmap/apple.c: Likewise.
21778 * partmap/gpt.c: Likewise.
21779 * partmap/pc.c: Likewise.
21780 * partmap/sun.c: Likewise.
21781 * term/gfxterm.c: Likewise.
21782 * term/terminfo.c: Likewise.
21783 * term/efi/console.c: Likewise.
21784 * term/i386/pc/console.c: Likewise.
21785 * term/i386/pc/serial.c: Likewise.
21786 * term/i386/pc/vesafb.c: Likewise.
21787 * term/i386/pc/vga.c: Likewise.
21788 * term/ieee1275/ofconsole.c: Likewise.
21789 * util/biosdisk.c: Likewise.
21790 * util/console.c: Likewise.
21791 * util/genmoddep.c: Likewise.
21792 * util/getroot.c: Likewise.
21793 * util/grub-emu.c: Likewise.
21794 * util/grub-mkdevicemap.c: Likewise.
21795 * util/grub-probe.c: Likewise.
21796 * util/lvm.c: Likewise.
21797 * util/misc.c: Likewise.
21798 * util/raid.c: Likewise.
21799 * util/resolve.c: Likewise.
21800 * util/update-grub.in: Likewise.
21801 * util/update-grub_lib.in: Likewise.
21802 * util/grub.d/00_header.in: Likewise.
21803 * util/grub.d/10_hurd.in: Likewise.
21804 * util/grub.d/10_linux.in: Likewise.
21805 * util/i386/efi/grub-install.in: Likewise.
21806 * util/i386/efi/grub-mkimage.c: Likewise.
21807 * util/i386/pc/grub-install.in: Likewise.
21808 * util/i386/pc/grub-mkimage.c: Likewise.
21809 * util/i386/pc/grub-mkrescue.in: Likewise.
21810 * util/i386/pc/grub-setup.c: Likewise.
21811 * util/i386/pc/misc.c: Likewise.
21812 * util/powerpc/ieee1275/grub-install.in: Likewise.
21813 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21814 * util/powerpc/ieee1275/misc.c: Likewise.
21815 * video/bitmap.c: Likewise.
21816 * video/video.c: Likewise.
21817 * video/i386/pc/vbe.c: Likewise.
21818 * video/i386/pc/vbeblit.c: Likewise.
21819 * video/i386/pc/vbefill.c: Likewise.
21820 * video/i386/pc/vbeutil.c: Likewise.
21821 * video/readers/tga.c: Likewise.
21822
21823 2007-07-02 Robert Millan <rmh@aybabtu.com>
21824
21825 * conf/i386-efi.rmk: Replace obsolete reference to
21826 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21827 with util/getroot.c.
21828 * conf/powerpc-ieee1275.rmk: Likewise.
21829 * conf/sparc64-ieee1275.rmk: Likewise.
21830
21831 * util/grub-emu.c (main): Fix unchecked pointer handling.
21832
21833 2007-07-02 Robert Millan <rmh@aybabtu.com>
21834
21835 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21836 invocation to fail, in order to support partition-less media.
21837
21838 * util/i386/pc/grub-install.in: Likewise.
21839
21840 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21841 which fs or partmap modules are needed (akin to its sister scripts).
21842
21843 Also use grub-probe to get rid of unportable /proc/mounts check.
21844
21845 Print the same informational message that the other scripts do, before
21846 exiting.
21847
21848 2007-06-23 Robert Millan <rmh@aybabtu.com>
21849
21850 * util/update-grub_lib.in (font_path): New function. Determine whether
21851 a font file can be found and, if so, echo the GRUB path to it.
21852
21853 * util/update-grub.in: Handle multiple terminals depending on user
21854 input, platform availability and font file presence. Propagate
21855 variables of our findings to /etc/grub.d/ children.
21856
21857 * util/grub.d/00_header.in: Handle multiple terminals, based on
21858 environment setup by update-grub.
21859
21860 2007-06-23 Robert Millan <rmh@aybabtu.com>
21861
21862 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21863
21864 2007-06-21 Robert Millan <rmh@aybabtu.com>
21865
21866 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21867 indicate end of data section in kernel image.
21868 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21869 GRUB_KERNEL_MACHINE_DATA_END.
21870
21871 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21872 space for it.
21873 * kern/i386/efi/startup.S: Likewise.
21874
21875 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21876 during image generation. Implement --prefix option to override this
21877 patch.
21878 * util/i386/efi/grub-mkimage.c: Likewise.
21879
21880 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21881 code to make path relative to its root into a separate function.
21882
21883 * util/i386/pc/grub-install.in: Use newly provided
21884 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21885 pass the result to grub-install --prefix.
21886
21887 2007-06-13 Robert Millan <rmh@aybabtu.com>
21888
21889 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21890 DEFAULT_DEVICE_MAP.
21891 * util/grub-emu.c: Use above definitions from misc.h instead of
21892 defining them.
21893 * util/grub-mkdevicemap.c: Likewise.
21894 * util/i386/pc/grub-setup.c: Likewise.
21895 * util/grub-probe.c: Likewise.
21896 (probe): Abort with grub_util_error() when either
21897 grub_guess_root_device or grub_util_get_grub_dev fails.
21898
21899 2007-06-12 Robert Millan <rmh@aybabtu.com>
21900
21901 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21902 "pager" assignment.
21903 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21904 "pcdata".
21905 * util/grub-probe.c (probe): Likewise for "drive_name".
21906
21907 2007-06-11 Robert Millan <rmh@aybabtu.com>
21908
21909 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21910 not just the cdrom one.
21911
21912 2007-06-11 Robert Millan <rmh@aybabtu.com>
21913
21914 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21915 Add --pkglibdir=DIR option to override pkglibdir.
21916 Mention --image-type=TYPE in help output.
21917 Fix --grub-mkimage (it was a no-op).
21918 Abort gracefully when no parameter is given.
21919
21920 2007-06-11 Robert Millan <rmh@aybabtu.com>
21921
21922 * util/i386/pc/grub-mkrescue.in: New file.
21923 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21924 * Makefile.in: Handle bin_SCRIPTS.
21925
21926 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21927
21928 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21929 list of video modes.
21930
21931 2007-06-06 Robert Millan <rmh@aybabtu.com>
21932
21933 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21934 file doesn't exist, or if it is in a filesystem grub can't read.
21935
21936 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21937 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21938 header comment to fit in 80 columns when the variables are resolved.
21939
21940 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21941 could be identified by update-grub. Remove redundant check for
21942 unifont.pff existence (since convert_system_path_to_grub_path now
21943 handles that).
21944
21945 2007-06-04 Robert Millan <rmh@aybabtu.com>
21946
21947 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21948
21949 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21950
21951 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21952
21953 2007-06-04 Robert Millan <rmh@aybabtu.com>
21954
21955 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21956
21957 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21958 grub_apple_partition_map_fini.
21959
21960 * util/biosdisk.c
21961 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21962 to access >2 TiB disks).
21963
21964 Print disk->total_sectors with %llu instead of %lu, since this
21965 variable is always 64-bit (prevents wrong disk size from being displayed
21966 on either >2 TiB disk or big-endian CPU).
21967
21968 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21969 into a generic case that supports all (sane) partition maps.
21970
21971 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21972 breaks big-endian.
21973
21974 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21975 and grub_apple_partition_map_fini() after that.
21976
21977 2007-06-01 Robert Millan <rmh@aybabtu.com>
21978
21979 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21980
21981 * util/grub.d/00_header.in: Only enable gfxterm when
21982 convert_system_path_to_grub_path() succeeds.
21983
21984 2007-05-20 Robert Millan <rmh@aybabtu.com>
21985
21986 * util/update-grub_lib.in: New file.
21987 * DISTLIST: Add update-grub_lib.in.
21988 * conf/common.rmk: Generate update-grub_lib and install it in
21989 $(lib_DATA).
21990 * Makefile.in: Add install routine for $(lib_DATA).
21991
21992 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21993 function provided by update-grub_lib to support arbitrary paths of
21994 unifont.pff.
21995 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21996 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21997
21998 2007-05-19 Robert Millan <rmh@aybabtu.com>
21999
22000 * commands/i386/cpuid.c: New module.
22001 * DISTLIST: Add it.
22002 * conf/i386-efi.rmk: Enable cpuid.mod.
22003 * conf/i386-pc.rmk: Likewise.
22004
22005 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22006
22007 * kern/disk.c (grub_disk_read): Check return value of
22008 grub_realloc().
22009
22010 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22011
22012 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22013 arrays.
22014 * disk/raid.c (grub_raid_open): Likewise.
22015
22016 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22017
22018 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22019 stack instead of on the heap.
22020
22021 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22022 before doing a read on it.
22023
22024 * configure.ac: Only use -fno-stack-protector for the target
22025 environment.
22026
22027 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22028
22029 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22030 __attribute_ ((unused)) to mode_type argument.
22031
22032 * util/getroot.c (grub_guess_root_device): Fix #endif.
22033
22034 * kern/misc.c (memcmp): Fix prototype.
22035
22036 * include/grub/partition.h [GRUB_UTIL]
22037 (grub_gpt_partition_map_init): Add prototype.
22038 (grub_gpt_partition_map_fini): Likewise.
22039
22040 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22041 at the right place.
22042
22043 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22044 (grub_fat_read_data): Likewise.
22045 (grub_fat_find_dir): Likewise.
22046
22047 * font/manager.c (find_glyph): Make table a const.
22048 (grub_font_get_glyph): Remove bitmap from if statement.
22049
22050 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22051
22052 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22053 code, first search for device in /dev/mapper, then in /dev.
22054 (grub_util_get_grub_dev): New function.
22055 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22056 prototype.
22057 * util/grub-probe.c (probe): Remove check for RAID, call
22058 grub_util_get_grub_dev() instead of
22059 grub_util_biosdisk_get_grub_dev().
22060 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22061 grub_util_biosdisk_get_grub_dev().
22062 * util/i386/pc/grub-setup.c (main): Likewise.
22063
22064 2007-05-16 Robert Millan <rmh@aybabtu.com>
22065
22066 * DISTLIST: Update for the latest changes.
22067 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22068 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22069 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22070 grub/util/biosdisk.h.
22071 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22072 grub/util/biosdisk.h.
22073
22074 2007-05-16 Robert Millan <rmh@aybabtu.com>
22075
22076 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22077
22078 2007-05-16 Robert Millan <rmh@aybabtu.com>
22079
22080 * util/i386/efi/grub-install.in: New.
22081 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22082 newly added grub-install.
22083 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22084 include.
22085 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22086 grub/util/biosdisk.h.
22087 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22088 grub/util/biosdisk.h.
22089
22090 2007-05-16 Robert Millan <rmh@aybabtu.com>
22091
22092 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22093 * include/grub/util/biosdisk.h: ... here.
22094 * util/i386/pc/biosdisk.c: Moved to ...
22095 * util/biosdisk.c: ... here.
22096 * util/i386/pc/getroot.c: Moved to ...
22097 * util/getroot.c: ... here.
22098 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22099 * util/grub-mkdevicemap.c: ... here.
22100 * util/i386/pc/grub-probe.c: Moved to ...
22101 * util/grub-probe.c: ... here.
22102
22103 2007-05-15 Robert Millan <rmh@aybabtu.com>
22104
22105 * util/update-grub.in: Remove duplicated line in grub.cfg header
22106 message.
22107
22108 2007-05-13 Robert Millan <rmh@aybabtu.com>
22109
22110 * util/update-grub.in: Fix a few assumptions about the devices holding
22111 /, /boot and /boot/grub being the same.
22112 * util/grub.d/00_header.in: Likewise.
22113 * util/grub.d/10_hurd.in: Likewise.
22114 * util/grub.d/10_linux.in: Likewise.
22115
22116 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22117 patterns. Use that to define the `.old' suffix as older than `'.
22118
22119 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22120
22121 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22122 the grub.cfg header message.
22123
22124 2007-05-11 Robert Millan <rmh@aybabtu.com>
22125
22126 * util/update-grub.in: Create device.map if it doesn't already exist,
22127 before attempting to run grub-probe.
22128 Check for grub-probe and grub-mkdevicemap with the same code
22129 grub-install is using.
22130 Remove test mode.
22131
22132 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22133
22134 * Makefile.in: Add the datarootdir autoconf variable.
22135
22136 2007-05-09 Robert Millan <rmh@aybabtu.com>
22137
22138 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22139 fail gracefully if dev->disk->partition == NULL.
22140
22141 2007-05-07 Robert Millan <rmh@aybabtu.com>
22142
22143 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22144 determine partition map module.
22145 * util/i386/pc/grub-install.in: Use this feature to decide which
22146 partition module to load, instead of hardcoding pc and gpt.
22147
22148 2007-05-07 Robert Millan <rmh@aybabtu.com>
22149
22150 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22151 source directory differs from build directory.
22152
22153 2007-05-05 Robert Millan <rmh@aybabtu.com>
22154
22155 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22156 initialisation.
22157
22158 2007-05-05 Robert Millan <rmh@aybabtu.com>
22159
22160 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22161
22162 2007-05-05 Robert Millan <rmh@aybabtu.com>
22163
22164 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22165 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22166
22167 2007-05-05 Robert Millan <rmh@aybabtu.com>
22168
22169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22170 (grub_probe_SOURCES): Likewise.
22171 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22172 GPT and initialize dos_part and bsd_part accordingly.
22173 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22174 install_bsd_part.
22175 (main): Activate gpt module for use during partition identification,
22176 and deactivate it afterwards.
22177 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22178 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22179 partition identification, and deactivate it afterwards.
22180
22181 2007-05-05 Robert Millan <rmh@aybabtu.com>
22182
22183 * term/i386/pc/console.c (grub_console_fini): Call
22184 grub_term_set_current() before grub_term_unregister().
22185
22186 2007-05-04 Robert Millan <rmh@aybabtu.com>
22187
22188 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22189 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22190 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22191 and update-grub_DATA.
22192 * conf/common.rmk: Build and install update-grub components.
22193 * conf/common.mk: Regenerate.
22194 * util/update-grub.in: New. Core of update-grub.
22195 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22196 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22197 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22198 * util/grub.d/README: New. Document grub.d directory layout.
22199
22200 2007-05-01 Robert Millan <rmh@aybabtu.com>
22201
22202 * util/grub-emu.c: Move initialization functions
22203 grub_util_biosdisk_init() and grub_init_all() before
22204 grub_util_biosdisk_get_grub_dev(), which relies on them.
22205
22206 2007-04-19 Robert Millan <rmh@aybabtu.com>
22207
22208 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22209 it is used later.
22210
22211 2007-04-18 Jerone Young <jerone@gmail.com>
22212
22213 * kernel/elf.c: Add missing parenthesis for conditional statement
22214 stanza.
22215
22216 2007-04-10 Jerone Young <jerone@gmail.com>
22217
22218 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22219 continue on and look for device node with real device name.
22220
22221 2007-04-10 Jerone Young <jerone@gmail.com>
22222
22223 * configure.ac: Add argument for autoconf to use transformation
22224 ability.
22225 * Makefile.in: Add autoconf package transformation code.
22226 * util/i386/pc/grub-install.in: Likewise.
22227 * util/powerpc/ieee1275/grub-install.in: Likewise.
22228
22229 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22230
22231 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22232 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22233 (EXT2_REVISION): Likewise.
22234 (EXT2_INODE_SIZE): Likewise.
22235 (struct grub_ext2_block_group): Added a missing member
22236 "used_dirs".
22237 (grub_ext2_read_inode): Divide by the inode size in a superblock
22238 instead of 128 to obtain INODES_PER_BLOCK.
22239 Use the macro EXT2_INODE_SIZE instead of directly using
22240 SBLOCK->INODE_SIZE.
22241
22242 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22243
22244 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22245 superblock instead of the structure size to compute an
22246 offset. This fixes the problem that GRUB could not read a
22247 filesystem when inode size is different from 128-byte.
22248
22249 2007-03-05 Marco Gerards <marco@gnu.org>
22250
22251 * normal/main.c (read_config_file): When "menu" is not set, create
22252 an initial context.
22253
22254 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22255
22256 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22257 (HEAP_LIMIT): New macro.
22258 (grub_claim_heap): Claim memory up to `heaplimit'.
22259
22260 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22261
22262 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22263 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22264 (_start): Likewise.
22265 (grub_arch_modules_addr): Return address after `_end'.
22266 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22267 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22268 (add_segments): Calculate `_end' from phdr size and location.
22269 (ALIGN_UP): Moved to ...
22270 * include/grub/misc.h: here.
22271 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22272 New macro.
22273 (GRUB_IEEE1275_MODULE_BASE): Removed.
22274
22275 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22276
22277 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22278 loop boundary.
22279
22280 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22281
22282 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22283 All users updated.
22284 (grub_elf64_load_hook_t): Likewise.
22285 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22286 debug output.
22287
22288 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22289
22290 * kern/mm.c: Update copyright.
22291 (grub_mm_debug): Correct syntax error.
22292 (grub_mm_dump_free): New function.
22293 (grub_debug_free): Call `grub_free'.
22294 * include/grub/mm.h: Update copyright.
22295 (grub_mm_dump_free): Add declaration.
22296
22297 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22298
22299 * include/grub/ieee1275/ieee1275.h: Update copyright.
22300 * kern/powerpc/ieee1275/init.c: Likewise.
22301 * kern/powerpc/ieee1275/openfw.c: Likewise.
22302
22303 * loader/powerpc/ieee1275/linux.c: Likewise.
22304 * include/grub/elfload.h: Likewise.
22305 * kern/elf.c: Likewise.
22306 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22307 callers.
22308 (grub_elf64_load): Likewise.
22309 (grub_elf32_load_segment): Move to a nested function.
22310 (grub_elf64_load_segment): Likewise.
22311
22312 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22313
22314 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22315 prototype.
22316 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22317 (grub_heap_len): Likewise.
22318 (HEAP_SIZE): New macro.
22319 (grub_claim_heap): New function.
22320 (grub_machine_init): Don't claim heap directly. Call
22321 `grub_claim_heap'.
22322 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22323 (grub_available_iterate): New function.
22324
22325 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22326
22327 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22328 * configure.ac: Use it for testing the HOST and TARGET compilers.
22329
22330 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22331
22332 * Makefile.in (enable_grub_emu): New variable.
22333 * configure.ac (--enable-grub-emu): New option.
22334 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22335 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22336 * conf/i386-pc.rmk: Likewise.
22337 * conf/powerpc-ieee1275.rmk: Likewise.
22338 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22339
22340 2006-12-12 Marco Gerards <marco@gnu.org>
22341
22342 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22343
22344 * kern/env.c (grub_env_unset): Don't free the member `value' when
22345 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22346 pointer.
22347
22348 * normal/main.c (current_menu): Removed.
22349 (free_menu): Unset the `menu' environment variable.
22350 (grub_normal_menu_addentry): Make use of the environment variable
22351 `menu', instead of using the global `current_menu'. Allocate
22352 memory for the sourcecode of this entry.
22353 (read_config_file): New argument `nested', changed all callers.
22354 Only in the case of a new context, initialize a new menu. Set the
22355 `menu' environment variable.
22356 (grub_normal_execute): Don't set and unset the environment
22357 variable `menu' here anymore. Only free the menu when leaving the
22358 context.
22359
22360 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22361 leak.
22362
22363 2006-12-11 Marco Gerards <marco@gnu.org>
22364
22365 * normal/menu_entry.c (run): Fix off by one bug so the last line
22366 is executed. Move the loader check to outside the loop.
22367
22368 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22369
22370 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22371
22372 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22373
22374 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22375 the number of sectors. Reported by Andrey Shuvikov
22376 <mr_hyro@yahoo.com>.
22377
22378 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22379
22380 * kern/disk.c (grub_disk_read): When there is a read error, always
22381 try to read only the necessary data.
22382
22383 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22384 disk/raid.c.
22385 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22386 prototype.
22387 [GRUB_UTIL] (grub_raid_fini): Likewise.
22388 [GRUB_UTIL] (grub_lvm_init): Likewise.
22389 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22390 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22391 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22392 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22393 and grub_raid_fini().
22394
22395 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22396
22397 * include/grub/types.h (__unused): Rename to UNUSED.
22398 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22399 (grub_elf64_size): Likewise.
22400
22401 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22402
22403 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22404 grub_error_push and grub_error_pop in the error-handling path.
22405 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22406 length.
22407
22408 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22409
22410 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22411 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22413 (kernel_elf_SOURCES): Likewise.
22414 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22415 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22416 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22417 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22418 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22419 (elf_mod_SOURCES): New variable.
22420 (elf_mod_CFLAGS): Likewise.
22421 (elf_mod_LDFLAGS): Likewise.
22422 * include/grub/types.h (__unused): New macro.
22423 * include/grub/elfload.h: New file.
22424 * kern/elf.c: Likewise.
22425 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22426 (ELF32_LOADMASK): New macro.
22427 (ELF64_LOADMASK): Likewise.
22428 (vmlinux): Removed.
22429 (grub_linux_load32): New function.
22430 (grub_linux_load64): Likewise.
22431 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22432 Use grub_elf_t instead of grub_file_t.
22433
22434 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22435
22436 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22437 `catch_result' to struct set_color_args.
22438
22439 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22440
22441 * normal/menu.c: Include grub/script.h.
22442 * normal/menu_entry.c: Likewise.
22443 * include/grub/normal.h: Do not include grub/script.h.
22444
22445 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22446
22447 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22448
22449 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22450
22451 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22452 disk.
22453 (grub_disk_close): Print debug messages when closing a disk.
22454 (grub_disk_read): Print debug messages when disk read fails.
22455 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22456 filesystem type.
22457 * kern/partition.c: Include misc.h.
22458 (grub_partition_iterate): Print debug messages when detecting
22459 partition type.
22460
22461 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22462
22463 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22464 is negative.
22465 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22466
22467 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22468
22469 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22470 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22471
22472 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22473
22474 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22475 instead of sizeof(lv). Patch by Michael Guntsche.
22476
22477 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22478
22479 * disk/lvm.c: Rename VGS to VG_LIST.
22480 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22481 (grub_lvm_open): Likewise.
22482 Thanks to Michael Guntsche for finding this bug.
22483
22484 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22485
22486 * configure.ac (AC_INIT): Bumped to 1.95.
22487
22488 2006-10-14 Robert Millan <rmh@aybabtu.com>
22489
22490 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22491 with "/dev/.static/dev/md".
22492
22493 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22494
22495 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22496 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22497 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22498 DRIVE_NAME are always freed.
22499
22500 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22501 DOS_PART, as a DOS partition is counted from one instead of zero
22502 now. Reported by Robert Millan.
22503
22504 2006-10-14 Robert Millan <rmh@aybabtu.com>
22505
22506 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22507 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22508 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22509 string returned by grub_guess_root_device.
22510 * util/i386/pc/grub-setup.c: Likewise.
22511 * util/i386/pc/grub-probefs.c: Likewise.
22512
22513 * util/i386/pc/grub-probefs.c: Rename to ...
22514 * util/i386/pc/grub-probe.c: ... this.
22515 * DISTLIST: Remove grub-probefs, add grub-probe.
22516 * conf/i386-efi.rmk: Likewise.
22517 * conf/i386-pc.rmk: Likewise.
22518 * util/i386/pc/grub-install.in: Likewise.
22519
22520 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22521 choose which information we want to print.
22522
22523 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22524
22525 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22526 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22527 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22528 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22529 video/readers/tga.c and video/i386/pc/vbeutil.c.
22530
22531 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22532
22533 Added support for RAID and LVM.
22534
22535 * disk/lvm.c: New file.
22536 * disk/raid.c: Likewise.
22537 * include/grub/lvm.h: Likewise.
22538 * include/grub/raid.h: Likewise.
22539 * include/grub/util/lvm.h: Likewise.
22540 * include/grub/util/raid.h: Likewise.
22541 * util/lvm.c: Likewise.
22542 * util/raid.c: Likewise.
22543
22544 * include/grub/disk.h (grub_disk_dev_id): Add
22545 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22546 (grub_disk_get_size): New prototype.
22547 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22548 returns a partition.
22549 (grub_disk_get_size): New function.
22550
22551 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22552 verbatim if grub_install_dos_part is -2.
22553
22554 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22555 and LVM devices.
22556
22557 * util/i386/pc/grub-setup.c (setup): New argument
22558 MUST_EMBED. Force embedding of GRUB when the argument is
22559 true. Close FILE before returning.
22560 (main): Add support for RAID and LVM.
22561
22562 * conf/common.rmk: Add RAID and LVM modules.
22563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22564 util/lvm.c.
22565 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22566
22567 * kern/misc.c (grub_strstr): New function.
22568 * include/grub/misc.h (grub_strstr): New prototype.
22569
22570 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22571
22572 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22573
22574 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22575
22576 * kern/misc.c (grub_strtoull): Guess the base only if not
22577 specified.
22578
22579 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22580
22581 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22582 PowerMac support.
22583
22584 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22585
22586 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22587
22588 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22589 Remove `flags' argument. All callers changed.
22590 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22591 (IEEE1275_IHANDLE_INVALID): New variable.
22592 (IEEE1275_CELL_INVALID): New variable.
22593 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22594 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22595 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22596 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22597 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22598 codes from Open Firmware. All callers updated.
22599 (grub_ieee1275_next_property): Directly return Open Firmware return
22600 code.
22601 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22602 Standardize error checking from `grub_ieee1275_get_property'.
22603 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22604 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22605
22606 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22607
22608 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22609 `instance_to_package_args' to `instance_to_path_args'.
22610
22611 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22612 `grub_ieee1275_chosen'.
22613
22614 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22615 `grub_ieee1275_interpret'.
22616
22617 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22618
22619 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22620
22621 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22622
22623 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22624 (__cmpdi): Likewise.
22625
22626 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22627 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22628 `grub_ssize_t'.
22629
22630 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22631
22632 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22633 to type `grub_ssize_t'.
22634 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22635
22636 2006-09-22 Marco Gerards <marco@gnu.org>
22637
22638 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22639 newlines.
22640
22641 2006-09-22 Marco Gerards <marco@gnu.org>
22642
22643 * commands/echo.c: New file.
22644
22645 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22646
22647 * conf/common.rmk (echo_mod_SOURCES): New variable.
22648 (echo_mod_CFLAGS): Likewise.
22649 (echo_mod_LDFLAGS): Likewise.
22650
22651 2006-09-22 Marco Gerards <marco@gnu.org>
22652
22653 * normal/main.c (get_line): Malloc memory instead of using
22654 preallocated memory. Removed the arguments `cmdline' and
22655 `max_len'. Updated all callers.
22656
22657 2006-09-22 Marco Gerards <marco@gnu.org>
22658
22659 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22660 (normal_mod_DEPENDENCIES): Likewise.
22661
22662 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22663 (normal_mod_DEPENDENCIES): Likewise.
22664
22665 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22666
22667 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22668
22669 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22670 programs.
22671 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22672 (normal_mod_DEPENDENCIES): Likewise.
22673 * conf/i386-pc.mk: Regenerate.
22674 * conf/i386-efi.mk: Likewise
22675 * conf/common.mk: Likewise.
22676 * conf/powerpc-ieee1275.mk: Likewise.
22677 * conf/sparc64-ieee1275.mk: Likewise.
22678
22679 2006-09-22 Robert Millan <rmh@aybabtu.com>
22680
22681 Sync with i386 version.
22682 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22683 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22684
22685 2006-09-21 Robert Millan <rmh@aybabtu.com>
22686
22687 Import from GRUB Legacy (lib/device.c):
22688 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22689 (init_device_map) [__linux__]: Add support for I2O devices.
22690
22691 2006-09-14 Marco Gerards <marco@gnu.org>
22692
22693 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22694 `-melf_i386'.
22695
22696 2006-09-14 Robert Millan <rmh@aybabtu.com>
22697
22698 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22699 /boot/grub/*.lst.
22700
22701 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22702
22703 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22704 before adding it to device.map.
22705
22706 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22707
22708 * genmk.rb: Let GCC generate dependencies the first time it
22709 compiles a file; using the -MD option.
22710 * conf/common.mk: Regenerate.
22711 * conf/i386-pc.mk: Likewise.
22712 * conf/i386-efi.mk: Likewise.
22713 * conf/powerpc-ieee1275.mk: Likewise.
22714 * conf/sparc64-ieee1275.mk: Likewise.
22715
22716 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22717
22718 Move the prototypes of grub_setjmp and grub_longjmp to
22719 cpu/setjmp.h, so that each architecture may specify different
22720 attributes.
22721
22722 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22723 (grub_longjmp): Likewise.
22724 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22725 (grub_longjmp): Likewise.
22726 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22727 (grub_longjmp): Likewise.
22728
22729 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22730 [!GRUB_UTIL] (grub_longjmp): Removed.
22731
22732 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22733
22734 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22735 "color!" method does not return any value.
22736
22737 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22738
22739 * include/grub/bitmap.h: New file.
22740
22741 * include/grub/i386/pc/vbeutil.h: Likewise.
22742
22743 * video/bitmap.c: Likewise.
22744
22745 * video/readers/tga.c: Likewise.
22746
22747 * video/i386/pc/vbeutil.c: Likewise.
22748
22749 * commands/videotest.c: Code cleanup and updated to reflect to new
22750 video API.
22751
22752 * term/gfxterm.c: Likewise.
22753
22754 * video/video.c: Likewise.
22755
22756 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22757 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22758 (bitmap_mod_SOURCES): New entry.
22759 (bitmap_mod_CFLAGS): Likewise.
22760 (bitmap_mod_LDFLAGS): Likewise.
22761 (tga_mod_SOURCES): Likewise.
22762 (tga_mod_CFLAGS): Likewise.
22763 (tga_mod_LDFLAGS): Likewise.
22764
22765 * include/grub/video.h (grub_video_blit_operators): New enum type.
22766 (grub_video_render_target): Changed as forward declaration and moved
22767 actual definition to be video driver specific.
22768 (grub_video_adapter.blit_bitmap): Added blitting operator.
22769 (grub_video_adapter.blit_render_target): Likewise.
22770 (grub_video_blit_bitmap): Likewise.
22771 (grub_video_blit_render_target): Likewise.
22772
22773 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22774 driver specific render target definition.
22775 (grub_video_vbe_map_rgba): Added driver internal helper.
22776 (grub_video_vbe_unmap_color): Updated to use
22777 grub_video_i386_vbeblit_info.
22778 (grub_video_vbe_get_video_ptr): Likewise.
22779
22780 * include/grub/i386/pc/vbeblit.h
22781 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22782 grub_video_i386_vbeblit_info.
22783 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22784 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22785 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22786 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22787 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22788 (grub_video_i386_vbeblit_index_index): Likewise.
22789 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22790 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22791 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22792 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22793 operator.
22794 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22795 operator.
22796
22797 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22798 include/grub/i386/pc/vbeblit.h.
22799
22800 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22801 Updated to use grub_video_i386_vbeblit_info.
22802 (grub_video_i386_vbefill_R8G8B8): Likewise.
22803 (grub_video_i386_vbefill_index): Likewise.
22804 (grub_video_i386_vbefill): Added generic filler.
22805
22806 * video/i386/pc/vbefill.c: Updated to reflect changes on
22807 include/grub/i386/pc/vbefill.h.
22808
22809 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22810 grub_video_i386_vbeblit_info.
22811 (grub_video_vbe_unmap_color): Likewise.
22812 (grub_video_vbe_blit_glyph): Likewise.
22813 (grub_video_vbe_scroll): Likewise.
22814 (grub_video_vbe_draw_pixel): Removed function.
22815 (grub_video_vbe_get_pixel): Likewise.
22816 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22817 updated code to use it.
22818 (common_blitter): Added common blitter for render target and bitmap.
22819 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22820 (grub_video_vbe_blit_render_target): Likewise.
22821
22822 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22823
22824 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22825 is in text mode if there is no console control protocol instance
22826 available.
22827
22828 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22829
22830 * include/grub/video.h: Code cleanup.
22831
22832 * include/grub/i386/pc/vbe.h: Likewise.
22833
22834 * video/i386/pc/vbe.c: Likewise.
22835
22836 * video/i386/pc/vbeblit.c: Likewise.
22837
22838 * video/i386/pc/vbefill.c: Likewise.
22839
22840 * video/video.c: Likewise. Also added more comments.
22841
22842 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22843
22844 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22845 (struct grub_biosdisk_dap): Likewise.
22846
22847 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22848 linkage settings for all functions.
22849
22850 2006-07-12 Marco Gerards <marco@gnu.org>
22851
22852 * configure.ac (--enable-mm-debug): Fix typo.
22853
22854 * genkernsyms.sh.in: Use proper quoting for `CC'.
22855
22856 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22857
22858 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22859 (normal_mod_ASFLAGS): Remove "-m32".
22860
22861 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22862
22863 * util/misc.c: Include config.h.
22864 [!HAVE_MEMALIGN]: Do not include malloc.h.
22865 (grub_memalign): Use posix_memalign, if present. Then, use
22866 memalign, if present. Otherwise, emit an error.
22867
22868 * util/grub-emu.c: Do not include malloc.h.
22869
22870 * include/grub/util/misc.h: Include unistd.h. This is required for
22871 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22872 D. Eades III <hde@foobar-qux.org>.
22873
22874 * configure.ac (AC_GNU_SOURCE): Added.
22875 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22876 type.
22877
22878 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22879
22880 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22881 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22882
22883 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22884
22885 * include/grub/types.h (grub_host_addr_t): Rename to
22886 grub_target_addr_t.
22887 (grub_host_off_t): Rename to grub_target_off_t.
22888 (grub_host_size_t): Rename to grub_target_size_t.
22889 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22890 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22891
22892 * include/grub/kernel.h (struct grub_module_header): Change type
22893 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22894 (grub_module_info): Likewise.
22895
22896 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22897
22898 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22899 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22900 Velazquez <jesus.velazquez@gmail.com>.
22901
22902 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22903
22904 Count partitions from 1 instead of 0 in the string representation
22905 of partitions. Still use 0-based internally.
22906
22907 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22908 (sun_partition_map_iterate): Use grub_partition_t instead of
22909 struct grub_partition *. Cast DESC->START_CYLINDER to
22910 grub_uint64_t after converting the endian.
22911 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22912 (sun_partition_map_get_name): Add 1 to P->INDEX.
22913
22914 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22915 PCDATA->DOS_PART.
22916 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22917
22918 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22919 zero instead of one.
22920 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22921 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22922
22923 * partmap/apple.c (apple_partition_map_iterate): Change the type
22924 of POS to unsigned.
22925 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22926 (apple_partition_map_get_name): Add 1 into P->INDEX.
22927
22928 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22929 of POS to unsigned.
22930 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22931 calculate the offset of a partition.
22932 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22933 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22934
22935 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22936 SECTOR to grub_disk_addr_t.
22937 (acorn_partition_map_iterate): Likewise.
22938 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22939 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22940 top.
22941 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22942
22943 * kern/i386/pc/init.c (make_install_device): Add 1 into
22944 GRUB_INSTALL_DOS_PART.
22945
22946 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22947 conditional.
22948
22949 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22950
22951 Clean up the code to support 64-bit addressing in disks and
22952 files. This change is not enough for filesystems yet.
22953
22954 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22955 type of "start" to grub_uint64_t.
22956 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22957 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22958 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22959 convert addresses.
22960
22961 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22962 to grub_disk_addr_t.
22963
22964 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22965 string.
22966
22967 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22968
22969 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22970 to char *.
22971
22972 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22973
22974 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22975
22976 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22977
22978 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22979 to grub_off_t, to detect an error from grub_file_seek.
22980 (grub_multiboot_load_elf32): Likewise.
22981
22982 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22983 maximum unsigned long value when an overflow is detected.
22984 (grub_strtoull): New function.
22985 (grub_divmod64): Likewise.
22986 (grub_lltoa): use grub_divmod64.
22987
22988 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22989 grub_disk_addr_t.
22990 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22991 the pointer to next character. Use grub_strtoull instead of
22992 grub_strtoul.
22993 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22994 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22995 respectively.
22996
22997 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22998 return value is signed.
22999 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23000 test if OFFSET is less than zero, as OFFSET is unsigned now.
23001
23002 * kern/disk.c (struct grub_disk_cache): Change the type of
23003 "sector" to grub_disk_addr_t.
23004 (grub_disk_cache_get_index): Change the type of SECTOR to
23005 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23006 unsigned after shifting.
23007 (grub_disk_cache_invalidate): Change the type of SECTOR to
23008 grub_disk_addr_t.
23009 (grub_disk_cache_unlock): Likewise.
23010 (grub_disk_cache_store): Likewise.
23011 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23012 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23013 grub_disk_addr_t and grub_uint64_t, respectively.
23014 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23015 body, as the value of OFFSET is tweaked by
23016 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23017 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23018 respectively.
23019 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23020 body, as the value of OFFSET is tweaked by
23021 grub_disk_check_range. Change the types of LEN and N to
23022 grub_size_t.
23023
23024 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23025 and "saved_offset" to grub_off_t.
23026 (test_header): Cast BUF to char *.
23027 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23028 to char *.
23029 (grub_gzio_read): Change the types of OFFSET and SIZE to
23030 grub_off_t and grub_size_t, respectively.
23031
23032 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23033 Removed.
23034 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23035 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23036 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23037 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23038 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23039
23040 * include/grub/types.h (grub_off_t): Unconditionally set to
23041 grub_uint64_t.
23042 (grub_disk_addr_t): Changed to grub_uint64_t.
23043
23044 * include/grub/partition.h (struct grub_partition): Change the
23045 types of "start", "len" and "offset" to grub_disk_addr_t,
23046 grub_uint64_t and grub_disk_addr_t, respectively.
23047 (grub_partition_get_start): Return grub_disk_addr_t.
23048 (grub_partition_get_len): Return grub_uint64_t.
23049
23050 * include/grub/misc.h (grub_strtoull): New prototype.
23051 (grub_divmod64): Likewise.
23052
23053 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23054 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23055 grub_off_t, respectively.
23056 All callers and references changed.
23057
23058 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23059 grub_size_t in "read".
23060 All callers and references changed.
23061
23062 * include/grub/file.h (struct grub_file): Change the types of
23063 "offset" and "size" to grub_off_t and grub_off_t,
23064 respectively. Change the type of SECTOR to grub_disk_addr_t in
23065 "read_hook".
23066 (grub_file_read): Change the type of LEN to grub_size_t.
23067 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23068 grub_off_t.
23069 (grub_file_size): Return grub_off_t.
23070 (grub_file_tell): Likewise.
23071 All callers and references changed.
23072
23073 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23074 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23075 "write".
23076 (struct grub_disk): Change the type of "total_sectors" to
23077 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
23078 "read_hook".
23079 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23080 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23081 (grub_disk_write): Likewise.
23082 All callers and references changed.
23083
23084 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23085 char * for grub_strncmp to silence gcc.
23086 (grub_iso9660_mount): Likewise.
23087 (grub_iso9660_mount): Likewise.
23088 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23089 return statement.
23090 (grub_iso9660_iterate_dir): Likewise.
23091 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23092
23093 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23094 LEN to grub_disk_addr_t and grub_size_t, respectively.
23095
23096 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23097
23098 * fs/jfs.c (grub_jfs_read_file): Likewise.
23099
23100 * fs/minix.c (grub_jfs_read_file): Likewise.
23101
23102 * fs/sfs.c (grub_jfs_read_file): Likewise.
23103
23104 * fs/ufs.c (grub_jfs_read_file): Likewise.
23105
23106 * fs/xfs.c (grub_jfs_read_file): Likewise.
23107
23108 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23109 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23110 respectively.
23111
23112 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23113 BLKNR to -1 instead of returning GRUB_ERRNO.
23114 (grub_ext2_read_file): Change the types of SECTOR and
23115 LEN to grub_disk_addr_t and grub_size_t, respectively.
23116
23117 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23118 LEN to grub_disk_addr_t and grub_size_t, respectively.
23119
23120 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23121 grub_file_read.
23122
23123 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23124 string. Do not cast SECTOR explicitly.
23125
23126 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23127 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23128 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23129 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23130 over 2TB and LBA mode is not supported, raise an error.
23131 (get_safe_sectors): New function.
23132 (grub_biosdisk_read): Use get_safe_sectors.
23133 (grub_biosdisk_write): Likewise.
23134
23135 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23136 (grub_efidisk_write): Likewise.
23137
23138 * disk/loopback.c (delete_loopback): Cosmetic changes.
23139 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23140 correctly.
23141 (grub_loopback_open): Likewise.
23142 (grub_loopback_read): Likewise. Also, change the type of POS to
23143 grub_off_t, and fix the usage of grub_memset.
23144
23145 * commands/i386/pc/play.c: Include grub/machine/time.h.
23146
23147 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23148 print FILE->SIZE.
23149
23150 * commands/configfile.c: Include grub/env.h.
23151
23152 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23153 GRUB_ERRNO directly instead. Change the type of POS to
23154 grub_off_t. Follow the coding standard.
23155
23156 * commands/blocklist.c: Include grub/partition.h.
23157 (grub_cmd_blocklist): Return an error if the underlying device is
23158 not a disk. Take the starting sector of a partition into account,
23159 if a partition is used.
23160
23161 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23162 a length field.
23163 (lba_mode): Support 64-bit addresses.
23164 (chs_mode): Likewise.
23165 (copy_buffer): Adapted to the new offsets of a length field and a
23166 segment field.
23167 (blocklist_default_start): Allocate 64-bit space.
23168
23169 * boot/i386/pc/boot.S (force_lba): Removed.
23170 (boot_drive): Moved to under KERNEL_SECTOR.
23171 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23172 space.
23173 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23174 is useless.
23175 (lba_mode): Refactored to support a 64-bit address. More size
23176 optimization.
23177 (setup_sectors): Likewise.
23178
23179 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23180
23181 * DISTLIST: Added include/grub/i386/linux.h. Removed
23182 include/grub/i386/pc/linux.h
23183
23184 * configure.ac (AC_INIT): Bumped to 1.94.
23185
23186 * config.guess: Updated from gnulib.
23187 * config.sub: Likewise.
23188 * install-sh: Likewise.
23189 * mkinstalldirs: Likewise.
23190
23191 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23192
23193 * conf/common.rmk (grub_modules_init.lst): Depended on
23194 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23195 MODSRCFILES.
23196
23197 * genmk.rb (PModule::rule): Reverted the previous change.
23198
23199 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23200
23201 * conf/common.rmk (grub_modules_init.lst): Depends on
23202 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23203 that the target does not exist before producing.
23204 (grub_modules_init.h): Remove the target before generating.
23205 (grub_emu_init.c): Likewise.
23206
23207 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23208
23209 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23210
23211 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23212 for the target-specific tests. Make sure that we also have the
23213 up-to-date target variables for those tests.
23214
23215 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23216
23217 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23218 (PModule::rule): Likewise.
23219
23220 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23221
23222 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23223 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23224 target-specific flags should be prefixed.
23225 (PModule::rule): Likewise.
23226
23227 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23228
23229 * configure.ac (CMP): Check if cmp is available explicitly.
23230
23231 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23232
23233 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23234 (target_cpu): New variable.
23235 (pkglibdir): Use target_cpu instead of host_cpu.
23236
23237 * util/i386/pc/grub-install.in (host_cpu): Removed.
23238 (target_cpu): New variable.
23239 (pkglibdir): Use target_cpu instead of host_cpu.
23240
23241 * util/genmoddep.c: Removed.
23242
23243 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23244 instead of GRUB_HOST_SIZEOF_VOID_P.
23245 * kern/dl.c: Likewise.
23246
23247 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23248 ...
23249 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23250 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23251 (GRUB_TARGET_SIZEOF_LONG): ... this.
23252 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23253 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23254 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23255 to ...
23256 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23257 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23258 (GRUB_TARGET_SIZEOF_LONG): ... this.
23259 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23260 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23261 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23262 to ...
23263 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23264 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23265 (GRUB_TARGET_SIZEOF_LONG): ... this.
23266 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23267 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23268
23269 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23270 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23271 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23272 instead of GRUB_HOST_SIZEOF_LONG.
23273 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23274 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23275 GRUB_CPU_WORDS_BIGENDIAN.
23276 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23277 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23278 grub_host_ssize_t.
23279
23280 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23281 (genmoddep_SOURCES): Likewise.
23282 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23283 (genmoddep_SOURCES): Likewise.
23284 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23285 (genmoddep_SOURCES): Likewise.
23286 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23287 Likewise.
23288 (genmoddep_SOURCES): Likewise.
23289
23290 * genmoddep.awk: New file.
23291
23292 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23293 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23294 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23295 (PModule::rule): Likewise.
23296 (Program::rule): Likewise.
23297 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23298 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23299 respectively.
23300
23301 * configure.ac: Rewritten intensively to use host and target
23302 instead of build and host, respectively.
23303
23304 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23305 (host_cpu): Removed.
23306 (target_cpu): New variable.
23307 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23308 (BUILD_CC): Removed.
23309 (BUILD_CFLAGS): Likewise.
23310 (BUILD_CPPFLAGS): Likewise.
23311 (TARGET_CC): New variable.
23312 (TARGET_CFLAGS): Likewise.
23313 (TARGET_CPPFLAGS): Likewise.
23314 (TARGET_LDFLAGS): Likewise.
23315 (AWK): Likewise.
23316 (include): Use target_cpu instead of host_cpu.
23317 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23318
23319 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23320
23321 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23322
23323 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23324 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23325 field 'false' to 'exec_on_false'.
23326 (grub_script_create_cmdif): Renamed argument names to reflect above
23327 changes.
23328
23329 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23330
23331 * normal/script.c (grub_script_create_cmdif): Likewise.
23332
23333 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23334
23335 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23336 top.
23337 (grub_hfsplus_btree_recptr): Likewise.
23338 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23339 FILEBLOCK both to pass a block number and store next block
23340 number.
23341 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23342 overflow file correctly. Specify errors appropriately, because
23343 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23344 grub_hfsplus_btree_recptr to get the pointer to a found key.
23345 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23346 is found.
23347
23348 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23349 linux.mod.
23350 (_linux_mod_SOURCES): New variable.
23351 (_linux_mod_CFLAGS): Likewise.
23352 (_linux_mod_LDFLAGS): Likewise.
23353 (linux_mod_SOURCES): Likewise.
23354 (linux_mod_CFLAGS): Likewise.
23355 (linux_mod_LDFLAGS): Likewise.
23356
23357 * DISTLIST: Added loader/i386/efi/linux.c,
23358 loader/i386/efi/linux_normal.c and
23359 include/grub/i386/efi/loader.h.
23360
23361 * loader/i386/efi/linux.c: New file.
23362 * loader/i386/efi/linux_normal.c: Likewise.
23363 * include/grub/i386/efi/loader.h: Likewise.
23364
23365 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23366
23367 * commands/blocklist.c: New file.
23368
23369 * DISTLIST: Added commands/blocklist.c.
23370
23371 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23372 color for the background, and a darker color for the foreground.
23373 (grub_console_checkkey): Return READ_KEY.
23374 (grub_console_cls): Set the background to
23375 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23376
23377 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23378
23379 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23380 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23381
23382 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23383 prototype.
23384
23385 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23386 BG. The spec is wrong again.
23387
23388 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23389 prototype.
23390 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23391
23392 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23393 commands/blocklist.c.
23394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23395
23396 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23397 (blocklist_mod_SOURCES): New variable.
23398 (blocklist_mod_CFLAGS): Likewise.
23399 (blocklist_mod_LDFLAGS): Likewise.
23400
23401 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23402
23403 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23404 duplication.
23405 (lba_mode): Use %eax more intensively to reduce the code size.
23406
23407 2006-05-20 Marco Gerards <marco@gnu.org>
23408
23409 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23410
23411 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23412 for `menuentry'.
23413 (script): Accept leading newlines.
23414 (newlines): New rule to describe 0 or more newlines.
23415 (commands): Accept `command' with trailing newline. Fixed the
23416 order in which arguments were passed to `grub_script_add_cmd'.
23417 Accept commands separated by newlines.
23418 (function): Changed to accept newlines.
23419 (menuentry) Rewritten.
23420
23421 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23422 front of the list, instead of to the end.
23423
23424 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23425
23426 * util/i386/pc/grub-install.in (bindir): New variable.
23427 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23428 Shaver <lbgwjl@gmail.com>.
23429
23430 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23431
23432 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23433 grub/machine/linux.h
23434 * loader/i386/pc/linux.c: Likewise.
23435
23436 * include/grub/i386/pc/linux.h: Moved to ...
23437 * include/grub/i386/linux.h: ... here.
23438
23439 * include/grub/i386/linux.h (struct linux_kernel_params): New
23440 struct.
23441
23442 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23443
23444 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23445 checking.
23446 (grub_video_vbe_blit_glyph): Likewise.
23447 (grub_video_vbe_blit_bitmap): Likewise.
23448 (grub_video_vbe_blit_render_target): Likewise.
23449
23450 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23451
23452 * configure.ac (--with-platform): Properly quote the square
23453 brackets.
23454
23455 2006-05-08 Marco Gerards <marco@gnu.org>
23456
23457 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23458 this...
23459 (kernel_elf_HEADERS): ...to this. Updated all users.
23460 (grubof_symlist.c): Renamed from this...
23461 (kernel_elf_symlist.c): ...to this. Updated all users.
23462 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23463 (grubof_SOURCES): Renamed from this...
23464 (kernel_elf_SOURCES): ...to this.
23465 (grubof_HEADERS): Renamed from this...
23466 (kernel_elf_HEADERS): ...to this.
23467 (grubof_CFLAGS): Renamed from this...
23468 (kernel_elf_CFLAGS): ...to this.
23469 (grubof_ASFLAGS): Renamed from this...
23470 (kernel_elf_ASFLAGS): ...to this.
23471 (grubof_LDFLAGS): Renamed from this...
23472 (kernel_elf_LDFLAGS): ...to this.
23473
23474 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23475 this...
23476 (kernel_elf_HEADERS): ...to this. Updated all users.
23477 (grubof_symlist.c): Renamed from this...
23478 (kernel_elf_symlist.c): ...to this. Updated all users.
23479 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23480 (grubof_SOURCES): Renamed from this...
23481 (kernel_elf_SOURCES): ...to this.
23482 (grubof_HEADERS): Renamed from this...
23483 (kernel_elf_HEADERS): ...to this.
23484 (grubof_CFLAGS): Renamed from this...
23485 (kernel_elf_CFLAGS): ...to this.
23486 (grubof_ASFLAGS): Renamed from this...
23487 (kernel_elf_ASFLAGS): ...to this.
23488 (grubof_LDFLAGS): Renamed from this...
23489 (kernel_elf_LDFLAGS): ...to this.
23490
23491 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23492 `kernel.elf' instead of `grubof'.
23493
23494 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23495
23496 Add --with-platform to configure. Use pkglibdir instead of
23497 pkgdatadir. This is reported by Roger Leigh.
23498
23499 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23500 (host_vendor): Likewise.
23501 (host_os): Likewise.
23502 (pkgdatadir): Likewise.
23503 (platform): New variable.
23504 (pkglibdir): Likewise.
23505 Use PKGLIBDIR instead of PKGDATADIR.
23506
23507 * util/i386/pc/grub-install.in (datadir): Removed.
23508 (host_vendor): Likewise.
23509 (host_os): Likewise.
23510 (pkgdatadir): Likewise.
23511 (platform): New variable.
23512 (pkglibdir): Likewise.
23513 Use PKGLIBDIR instead of PKGDATADIR.
23514
23515 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23516 instead of GRUB_DATADIR.
23517 (main): Likewise.
23518 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23519 (main): Likewise.
23520 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23521 (main): Likewise.
23522
23523 * configure.ac (--with-platform): New option.
23524 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23525
23526 * Makefile.in: Include a makefile based on PLATFORM instead of
23527 HOST_VENDOR.
23528 (pkgdatadir): Not appended by the machine type.
23529 (pkglibdir): Appended by the machine type.
23530 (host_vendor): Removed.
23531 (platform): New variable.
23532 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23533 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23534 (uninstall): Likewise.
23535
23536 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23537
23538 Use the environment context in the menu. Remove the commands
23539 "default" and "timeout", and use variables instead.
23540
23541 * normal/menu.c: Include grub/env.h.
23542 (print_entry): Cast TITLE to silence gcc.
23543 (get_timeout): New function.
23544 (set_timeout): Likewise.
23545 (get_entry_number): Likewise.
23546 (run_menu): Use a default entry, a fallback entry and a timeout
23547 in the environment variables "default", "fallback" and
23548 "timeout". Also, tweak the default entry if it is not within the
23549 current menu entries.
23550 (grub_menu_run): Use a fallback entry in the environment variable
23551 "fallback".
23552
23553 * normal/main.c (read_config_file): Do not initialize
23554 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23555 NEWMENU->TIMEOUT.
23556 (grub_normal_execute): Use a data slot to store the menu.
23557
23558 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23559 fallback_entry and timeout.
23560 (struct grub_menu_list): Removed.
23561 (grub_menu_list_t): Likewise.
23562 (struct grub_context): Likewise.
23563 (grub_context_t): Likewise.
23564 (grub_context_get): Likewise.
23565 (grub_context_get_current_menu): Likewise.
23566 (grub_context_push_menu): Likewise.
23567 (grub_context_pop_menu): Likewise.
23568 (grub_default_init): Likewise.
23569 (grub_default_fini): Likewise.
23570 (grub_timeout_init): Likewise.
23571 (grub_timeout_fini): Likewise.
23572
23573 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23574 and timeout.mod.
23575 (normal_mod_SOURCES): Removed normal/context.c.
23576
23577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23578 commands/default.c, commands/timeout.c and normal/context.c.
23579 (normal_mod_SOURCES): Removed normal/context.c.
23580
23581 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23582 commands/timeout.c and normal/context.c.
23583 (normal_mod_SOURCES): Removed normal/context.c.
23584
23585 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23586 commands/default.c, commands/timeout.c and normal/context.c.
23587 (normal_mod_SOURCES): Removed normal/context.c.
23588
23589 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23590 timeout.mod.
23591 (default_mod_SOURCES): Removed.
23592 (default_mod_CFLAGS): Likewise.
23593 (default_mod_LDFLAGS): Likewise.
23594 (timeout_mod_SOURCES): Removed.
23595 (timeout_mod_CFLAGS): Likewise.
23596 (timeout_mod_LDFLAGS): Likewise.
23597
23598 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23599 normal/context.c.
23600
23601 * commands/default.c: Removed.
23602 * commands/timeout.c: Likewise.
23603 * normal/context.c: Likewise.
23604
23605 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23606
23607 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23608
23609 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23610
23611 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23612 "next" to "prev" for readability.
23613 (struct grub_env_sorted_var): New struct.
23614 (grub_env_context): Renamed to ...
23615 (initial_context): ... this.
23616 (grub_env_var_context): Renamed to ...
23617 (current_context): ... this.
23618 (grub_env_find): Look only at CURRENT_CONTEXT.
23619 (grub_env_context_open): Rewritten to copy exported variables from
23620 previous context.
23621 (grub_env_context_close): Rewritten according to the new
23622 scheme. Also, add an assertion to prevent the initial context from
23623 removed.
23624 (grub_env_insert): Removed the code for the sorted list.
23625 (grub_env_remove): Likewise.
23626 (grub_env_export): Simply mark the variable with
23627 GRUB_ENV_VAR_GLOBAL.
23628 (grub_env_set): A cosmetic change for naming consistency.
23629 (grub_env_get): Likewise.
23630 (grub_env_unset): Likewise.
23631 (grub_env_iterate): Rewritten to sort variables within this
23632 function.
23633 (grub_register_variable_hook): Fixed for naming consistency. Call
23634 grub_env_find again, only if NAME is not found at the first time.
23635 (mangle_data_slot_name): New function.
23636 (grub_env_set_data_slot): Likewise.
23637 (grub_env_get_data_slot): Likewise.
23638 (grub_env_unset_data_slot): Likewise.
23639
23640 * include/grub/env.h (grub_env_var_type): New enum.
23641 (GRUB_ENV_VAR_LOCAL): New constant.
23642 (GRUB_ENV_VAR_GLOBAL): Likewise.
23643 (GRUB_ENV_VAR_DATA): Likewise.
23644 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23645 "type".
23646 (grub_env_set): Replace VAR with NAME for consistency.
23647 (grub_register_variable_hook): Likewise.
23648 (grub_env_export): Specify the name of the argument.
23649 (grub_env_set_data_slot): New prototype.
23650 (grub_env_get_data_slot): Likewise.
23651 (grub_env_unset_data_slot): Likewise.
23652
23653 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23654
23655 Extend the loader so that GRUB can accept a loader which comes
23656 back to GRUB when a loaded image exits. Also, this change adds
23657 support for a chainloader on EFI.
23658
23659 * term/efi/console.c: Include grub/misc.h.
23660 (grub_console_checkkey): Display a scan code on the top for
23661 debugging. This will be removed once the EFI port gets stable.
23662 Correct the scan code mapping.
23663
23664 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23665 allocate memory from larger regions, in order to reduce the number
23666 of allocated regions. Otherwise, the MacOSX loader panics.
23667 (filter_memory_map): Avoid less than 1MB for compatibility with
23668 other loaders.
23669 (add_memory_regions): Allocate from the tail of a region, if
23670 possible, to avoid allocating a region near to 1MB, for the MacOSX
23671 loader.
23672
23673 * kern/efi/init.c (grub_efi_set_prefix): Specify
23674 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23675
23676 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23677 argument IMAGE_HANDLE and specify it to get a loaded image.
23678 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23679 grub_efi_get_loaded_image.
23680 (grub_efi_get_filename): Divide the length by the size of
23681 grub_efi_char16_t.
23682 (grub_efi_get_device_path): New function.
23683 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23684 the length by the size of grub_efi_char16_t for a file path device
23685 path node.
23686
23687 * kern/loader.c (grub_loader_noreturn): New variable.
23688 (grub_loader_set): Accept a new argument NORETURN. Set
23689 GRUB_LOADER_NORETURN to NORETURN.
23690 All callers changed.
23691 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23692 grub_machine_fini.
23693
23694 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23695 prototype.
23696 (grub_efi_get_loaded_image): Take an argument to specify an image
23697 handle.
23698
23699 * include/grub/loader.h (grub_loader_set): Added one more argument
23700 NORETURN.
23701
23702 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23703 instead of grub_efi_open_protocol.
23704 (grub_efidisk_get_device_name): Likewise.
23705 (grub_efidisk_close): Print a newline.
23706 (grub_efidisk_get_device_handle): Fixed to use
23707 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23708 GRUB_EFI_DEVICE_PATH_TYPE.
23709
23710 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23711 * kern/efi/efi.c (device_path_guid): ... here.
23712
23713 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23714 chain.mod.
23715 (kernel_mod_HEADERS): Added efi/disk.h.
23716 (_chain_mod_SOURCES): New variable.
23717 (_chain_mod_CFLAGS): Likewise.
23718 (_chain_mod_LDFLAGS): Likewise.
23719 (chain_mod_SOURCES): Likewise.
23720 (chain_mod_CFLAGS): Likewise.
23721 (chain_mod_LDFLAGS): Likewise.
23722
23723 * DISTLIST: Added include/grub/efi/chainloader.h,
23724 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23725
23726 * include/grub/efi/chainloader.h: New file.
23727 * loader/efi/chainloader.c: Likewise.
23728 * loader/efi/chainloader_normal.c: Likewise.
23729
23730 2006-04-30 Marco Gerards <marco@gnu.org>
23731
23732 * commands/configfile.c (grub_cmd_source): New function.
23733 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23734 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23735
23736 2006-04-30 Marco Gerards <marco@gnu.org>
23737
23738 * normal/execute.c (grub_script_execute_cmd): Change the return
23739 type to `grub_err_t'. Correctly return the error.
23740 (grub_script_execute_cmdline): In case a command line is not a
23741 command or a function, try to interpret it as an assignment.
23742
23743 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23744
23745 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23746 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23747 skip a node whose name is obviously invalid as UTF-16,
23748 i.e. contains a NUL character. Stop the iteration when the last
23749 directory entry is found. Instead of using the return value of
23750 grub_hfsplus_btree_iterate_node, store the value in RET and use
23751 it, because the iterator can be stopped by the last directory
23752 entry.
23753
23754 2006-04-30 Marco Gerards <marco@gnu.org>
23755
23756 * include/grub/env.h (grub_env_export): New prototype. Reported
23757 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23758
23759 2006-04-30 Marco Gerards <marco@gnu.org>
23760
23761 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23762 size of the extents in a catalog file record.
23763
23764 2006-04-29 Marco Gerards <marco@gnu.org>
23765
23766 * commands/configfile.c (grub_cmd_configfile): Execute the
23767 configfile within its own context.
23768
23769 * include/grub/env.h (grub_env_context_open): New prototype.
23770 (grub_env_context_close): Likewise.
23771
23772 * kern/env.c (grub_env): Removed.
23773 (grub_env_sorted): Likewise.
23774 (grub_env_context): New variable.
23775 (grub_env_var_context): Likewise.
23776 (grub_env_find): Search both the active context and the global
23777 context.
23778 (grub_env_context_open): New function.
23779 (grub_env_context_close): Likewise.
23780 (grub_env_insert): Likewise.
23781 (grub_env_remove): Likewise.
23782 (grub_env_export): Likewise.
23783 (grub_env_set): Changed to use helper functions to avoid code
23784 duplication.
23785 (grub_env_iterate): Rewritten so both the current context and the
23786 global context are being used.
23787
23788 * normal/command.c (export_command): New function.
23789 (grub_command_init): Register the `export' function.
23790
23791 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23792
23793 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23794 explicitly to suppress gcc's warnings.
23795 * fs/fat.c (grub_fat_find_dir): Likewise.
23796 (grub_fat_label): Likewise.
23797 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23798 (grub_xfs_mount): Likewise.
23799 (grub_xfs_label): Likewise.
23800 * fs/affs.c (grub_affs_mount): Likewise.
23801 (grub_affs_label): Likewise.
23802 (grub_affs_iterate_dir): Likewise.
23803 * fs/sfs.c (grub_sfs_mount): Likewise.
23804 (grub_sfs_iterate_dir): Likewise.
23805 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23806 * fs/hfs.c (grub_hfs_mount): Likewise.
23807 (grub_hfs_cmp_catkeys): Likewise.
23808 (grub_hfs_find_dir): Likewise.
23809 (grub_hfs_dir): Likewise.
23810 (grub_hfs_label): Likewise.
23811 * fs/jfs.c (grub_jfs_mount): Likewise.
23812 (grub_jfs_opendir): Likewise.
23813 (grub_jfs_getent): Likewise.
23814 (grub_jfs_lookup_symlink): Likewise.
23815 (grub_jfs_label): Likewise.
23816 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23817 (grub_hfsplus_iterate_dir): Likewise.
23818 (grub_hfsplus_btree_iterate_node): Made static.
23819
23820 * util/grub-emu.c (prefix): New variable.
23821 (grub_machine_set_prefix): New function.
23822 (main): Do not set the environment variable "prefix" here. Only
23823 set PREFIX, which is used later by grub_machine_set_prefix.
23824
23825 * include/grub/video.h: Do not include grub/symbol.h.
23826 (grub_video_register): Not exported. This symbol is not defined in
23827 the kernel.
23828 (grub_video_unregister): Likewise.
23829 (grub_video_iterate): Likewise.
23830 (grub_video_setup): Likewise.
23831 (grub_video_restore): Likewise.
23832 (grub_video_get_info): Likewise.
23833 (grub_video_get_blit_format): Likewise.
23834 (grub_video_set_palette): Likewise.
23835 (grub_video_get_palette): Likewise.
23836 (grub_video_set_viewport): Likewise.
23837 (grub_video_get_viewport): Likewise.
23838 (grub_video_map_color): Likewise.
23839 (grub_video_map_rgb): Likewise.
23840 (grub_video_map_rgba): Likewise.
23841 (grub_video_fill_rect): Likewise.
23842 (grub_video_blit_glyph): Likewise.
23843 (grub_video_blit_bitmap): Likewise.
23844 (grub_video_blit_render_target): Likewise.
23845 (grub_video_scroll): Likewise.
23846 (grub_video_swap_buffers): Likewise.
23847 (grub_video_create_render_target): Likewise.
23848 (grub_video_delete_render_target): Likewise.
23849 (grub_video_set_active_render_target): Likewise.
23850
23851 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23852 Undefined.
23853 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23854
23855 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23856 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23857 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23858 instead of $(srcdir)/genkernsyms.sh.
23859
23860 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23861 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23862 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23863 instead of $(srcdir)/genkernsyms.sh.
23864
23865 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23866 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23867 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23868 instead of $(srcdir)/genkernsyms.sh.
23869
23870 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23871 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23872 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23873 instead of $(srcdir)/genkernsyms.sh.
23874
23875 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23876 genkernsyms.sh.
23877
23878 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23879 genkernsyms.sh.
23880 (gensymlist.sh): New target.
23881 (genkernsyms.sh): Likewise.
23882
23883 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23884 genkernsyms.sh.in and gensymlist.sh.in.
23885
23886 * genkernsyms.sh: Removed.
23887 * gensymlist.sh: Likewise.
23888
23889 * genkernsyms.sh.in: New file.
23890 * gensymlist.sh.in: Likewise.
23891
23892 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23893
23894 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23895 clobber "prefix", since we may have already set it manually.
23896
23897 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23898
23899 * kern/misc.c (abort): New alias for grub_abort.
23900
23901 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23902
23903 A new machine-specific function "grub_machine_set_prefix" is
23904 defined. This is called after loading modules, so that a prefix
23905 initialization can use modules. Also, this change adds an
23906 intensive debugging feature for the memory manager via the
23907 configure option "--enable-mm-debug".
23908
23909 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23910 PART.LEN.
23911
23912 * kern/sparc64/ieee1275/init.c (abort): Removed.
23913 (grub_stop): Likewise.
23914 (grub_exit): New function.
23915 (grub_set_prefix): Renamed to ...
23916 (grub_machine_set_prefix): ... this.
23917 (grub_machine_init): Do not call grub_set_prefix.
23918
23919 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23920 (grub_machine_set_prefix): ... this.
23921 (grub_machine_init): Do not call grub_set_prefix.
23922
23923 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23924 (grub_machine_init): Do not set the prefix here.
23925
23926 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23927
23928 * kern/efi/init.c: Include grub/mm.h.
23929 (grub_efi_set_prefix): New function.
23930
23931 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23932 (grub_efi_get_filename): New function.
23933 (grub_print_device_path): Renamed to ...
23934 (grub_efi_print_device_path): ... this.
23935
23936 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23937 [MM_DEBUG] (grub_realloc): Likewise.
23938 [MM_DEBUG] (grub_free): Likewise.
23939 [MM_DEBUG] (grub_memalign): Likewise.
23940 [MM_DEBUG] (grub_mm_debug): New variable.
23941 [MM_DEBUG] (grub_debug_malloc): New function.
23942 [MM_DEBUG] (grub_debug_free): New function.
23943 [MM_DEBUG] (grub_debug_realloc): New function.
23944 [MM_DEBUG] (grub_debug_memalign): New function.
23945
23946 * kern/misc.c (grub_abort): Print a newline to distinguish
23947 the message.
23948
23949 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23950 grub_set_root_dev after loading modules. This is necessary when
23951 setting a prefix depends on modules.
23952
23953 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23954 (grub_efi_print_device_path): ... this.
23955 (grub_efi_get_filename): New prototype.
23956 (grub_efi_set_prefix): Likewise.
23957
23958 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23959 and grub/disk.h.
23960 (grub_efidisk_get_device_handle): New prototype.
23961 (grub_efidisk_get_device_name): Likewise.
23962
23963 * include/grub/mm.h: Include config.h.
23964 (MM_DEBUG): Removed.
23965 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23966 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23967 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23968 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23969 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23970 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23971 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23972 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23973 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23974
23975 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23976
23977 * disk/efi/efidisk.c: Include grub/partition.h.
23978 (iterate_child_devices): New function.
23979 (add_device): First, compare only last device path nodes, so that
23980 devices are sorted by the types.
23981 (grub_efidisk_get_device_handle): New function.
23982 (grub_efidisk_get_device_name): Likewise.
23983
23984 * configure.ac (--enable-mm-debug): New option to enable the
23985 memory manager debugging feature. This makes the binary much
23986 bigger, so is disabled by default.
23987
23988 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23989
23990 Use grub_abort instead of grub_stop, and grub_exit must be
23991 define in each architecture now. Also, this change adds support
23992 for EFI disks.
23993
23994 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23995 (grub_getkey): New function.
23996 (grub_term_get_current): Likewise.
23997
23998 * util/i386/pc/grub-setup.c: Include grub/term.h.
23999 (grub_getkey): New function.
24000 (grub_term_get_current): Likewise.
24001
24002 * util/misc.c (grub_stop): Renamed to ...
24003 (grub_exit): ... this.
24004
24005 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24006 (grub_exit): ... this.
24007 (grub_machine_init): Use grub_abort instead of abort.
24008 (grub_stop): Removed.
24009
24010 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24011 abort.
24012
24013 * kern/i386/pc/startup.S (grub_exit): New function.
24014 (cold_reboot): New label.
24015
24016 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24017 (grub_efi_init): Call grub_efidisk_init.
24018 (grub_efi_fini): Call grub_efidisk_fini.
24019
24020 * kern/efi/efi.c: Include grub/mm.h.
24021 (grub_efi_console_control_guid): Renamed to ...
24022 (console_control_guid): ... this.
24023 (grub_efi_loaded_image_guid): Renamed to ...
24024 (loaded_image_guid): ... this.
24025 (grub_efi_locate_handle): New function.
24026 (grub_efi_open_protocol): Likewise.
24027 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24028 GRUB_EFI_CONSOLE_CONTROL_GUID.
24029 (grub_efi_exit): Removed.
24030 (grub_stop): Likewise.
24031 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24032 (grub_exit): New function.
24033 (grub_print_device_path): Likewise.
24034
24035 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24036 (grub_enter_rescue_mode): Register "exit".
24037
24038 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24039 (grub_abort): New function.
24040
24041 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24042
24043 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24044
24045 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24046
24047 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24048 (grub_print_device_path): New prototype.
24049 (grub_efi_locate_handle): Likewise.
24050 (grub_efi_open_protocol): Likewise.
24051
24052 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24053 * disk/efi/efidisk.c: Likewise.
24054
24055 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24056
24057 * include/grub/efi/console_control.h
24058 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24059
24060 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24061 last 8 bytes as an array.
24062 (GRUB_EFI_DISK_IO_GUID): New macro.
24063 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24064 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24065 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24066 grub_uint8_t.
24067 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24068 (struct grub_efi_device_path): Rename the member "sub_type" to
24069 "subtype".
24070 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24071 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24072 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24073 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24074 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24075 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24076 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24077 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24078 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24079 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24080 (struct grub_efi_pci_device_path): New structure.
24081 (grub_efi_pci_device_path_t): New type.
24082 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24083 (struct grub_efi_pccard_device_path): New structure.
24084 (grub_efi_pccard_device_path_t): New type.
24085 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24086 (struct grub_efi_memory_mapped_device_path): New structure.
24087 (grub_efi_memory_mapped_device_path_t): New type.
24088 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24089 (struct grub_efi_vendor_device_path): New structure.
24090 (grub_efi_vendor_device_path_t): New type.
24091 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24092 (struct grub_efi_controller_device_path): New structure.
24093 (grub_efi_controller_device_path_t): New type.
24094 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24095 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24096 (struct grub_efi_acpi_device_path): New structure.
24097 (grub_efi_acpi_device_path_t): New type.
24098 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24099 (struct grub_efi_expanded_acpi_device_path): New structure.
24100 (grub_efi_expanded_acpi_device_path_t): New type.
24101 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24102 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24103 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24104 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24105 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24106 (struct grub_efi_atapi_device_path): New structure.
24107 (grub_efi_atapi_device_path_t): New type.
24108 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24109 (struct grub_efi_fibre_channel_device_path): New structure.
24110 (grub_efi_fibre_channel_device_path_t): New type.
24111 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24112 (struct grub_efi_1394_device_path): New structure.
24113 (grub_efi_1394_device_path_t): New type.
24114 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24115 (struct grub_efi_usb_device_path): New structure.
24116 (grub_efi_usb_device_path_t): New type.
24117 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24118 (struct grub_efi_usb_class_device_path): New structure.
24119 (grub_efi_usb_class_device_path_t): New type.
24120 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24121 (struct grub_efi_i2o_device_path): New structure.
24122 (grub_efi_i2o_device_path_t): New type.
24123 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24124 (struct grub_efi_mac_address_device_path): New structure.
24125 (grub_efi_mac_address_device_path_t): New type.
24126 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24127 (struct grub_efi_ipv4_device_path): New structure.
24128 (grub_efi_ipv4_device_path_t): New type.
24129 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24130 (struct grub_efi_ipv6_device_path): New structure.
24131 (grub_efi_ipv6_device_path_t): New type.
24132 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24133 (struct grub_efi_infiniband_device_path): New structure.
24134 (grub_efi_infiniband_device_path_t): New type.
24135 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24136 (struct grub_efi_uart_device_path): New structure.
24137 (grub_efi_uart_device_path_t): New type.
24138 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24139 (struct grub_efi_vendor_messaging_device_path): New structure.
24140 (grub_efi_vendor_messaging_device_path_t): New type.
24141 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24142 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24143 (struct grub_efi_hard_drive_device_path): New structure.
24144 (grub_efi_hard_drive_device_path_t): New type.
24145 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24146 (struct grub_efi_cdrom_device_path): New structure.
24147 (grub_efi_cdrom_device_path_t): New type.
24148 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24149 (struct grub_efi_vendor_media_device_path): New structure.
24150 (grub_efi_vendor_media_device_path_t): New type.
24151 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24152 (struct grub_efi_file_path_device_path): New structure.
24153 (grub_efi_file_path_device_path_t): New type.
24154 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24155 (struct grub_efi_protocol_device_path): New structure.
24156 (grub_efi_protocol_device_path_t): New type.
24157 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24158 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24159 (struct grub_efi_bios_device_path): New structure.
24160 (grub_efi_bios_device_path_t): New type.
24161 (struct grub_efi_disk_io): New structure.
24162 (grub_efi_disk_io_t): New type.
24163 (struct grub_efi_block_io_media): New structure.
24164 (grub_efi_block_io_media_t): New type.
24165 (struct grub_efi_block_io): New structure.
24166 (grub_efi_block_io_t): New type.
24167
24168 * include/grub/misc.h (grub_stop): Removed.
24169 (grub_exit): New prototype.
24170 (grub_abort): Likewise.
24171
24172 * include/grub/disk.h (enum grub_disk_dev_id): Added
24173 GRUB_DISK_DEVICE_EFIDISK_ID.
24174
24175 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24176 disk/efi/efidisk.c.
24177 (kernel_syms.lst): Remove the target if an error occurs.
24178
24179 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24180
24181 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24182 as it was simply too buggy.
24183
24184 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24185
24186 * kern/misc.c (grub_lltoa): New function.
24187 (grub_vsprintf): Added support for the long long suffix,
24188 i.e. "ll".
24189
24190 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24191
24192 * Makefile.in (LDFLAGS): Add variable.
24193 (LD): Remove variable.
24194 * configure.ac: Add -m32 to LDFLAGS.
24195 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24196 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24197 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24198 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24199 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24200 variables.
24201 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24202 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24203 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24204
24205 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24206
24207 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24208 length for unknown glyph.
24209
24210 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24211
24212 Add support for pre-loaded modules into the EFI port.
24213
24214 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24215 completely. Accept one more argument DIR. The caller has changed.
24216
24217 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24218
24219 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24220 (grub_efi_loaded_image_guid): New variable.
24221 (grub_efi_get_loaded_image): New function.
24222 (grub_arch_modules_addr): Likewise.
24223
24224 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24225 prototype.
24226
24227 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24228 (struct grub_efi_loaded_image): New structure.
24229 (grub_efi_loaded_image_t): New type.
24230
24231 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24232
24233 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24234 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24235 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24236
24237 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24238
24239 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24240
24241 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24242
24243 * DISTLIST: Added include/grub/efi/console.h,
24244 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24245 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24246
24247 * include/grub/efi/console.h: New file.
24248 * include/grub/efi/time.h: Likewise.
24249 * include/grub/i386/efi/kernel.h: Likewise.
24250 * kern/efi/init.c: Likewise.
24251 * kern/efi/mm.c: Likewise.
24252 * term/efi/console.c: Likewise.
24253
24254 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24255 (grub_stop): Removed.
24256 (grub_get_rtc): Likewise.
24257 (grub_machine_init): Simply call grub_efi_init.
24258 (grub_machine_fini): Call grub_efi_fini.
24259
24260 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24261 (grub_efi_output_string): Removed.
24262 (grub_efi_stall): New function.
24263 (grub_stop): Likewise.
24264 (grub_get_rtc): Likewise.
24265
24266 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24267 (grub_efi_stall): New prototype.
24268 (grub_efi_allocate_pages): Likewise.
24269 (grub_efi_free_pages): Likewise.
24270 (grub_efi_get_memory_map): Likewise.
24271 (grub_efi_mm_init): Likewise.
24272 (grub_efi_mm_fini): Likewise.
24273 (grub_efi_init): Likewise.
24274 (grub_efi_fini): Likewise.
24275
24276 * include/grub/i386/efi/time.h: Do not include
24277 grub/symbol.h. Include grub/efi/time.h.
24278 (GRUB_TICKS_PER_SECOND): Removed.
24279 (grub_get_rtc): Likewise.
24280
24281 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24282 Added padding. The EFI spec is buggy.
24283 (GRUB_EFI_BLACK): New macro.
24284 (GRUB_EFI_BLUE): Likewise.
24285 (GRUB_EFI_GREEN): Likewise.
24286 (GRUB_EFI_CYAN): Likewise.
24287 (GRUB_EFI_RED): Likewise.
24288 (GRUB_EFI_MAGENTA): Likewise.
24289 (GRUB_EFI_BROWN): Likewise.
24290 (GRUB_EFI_LIGHTGRAY): Likewise.
24291 (GRUB_EFI_BRIGHT): Likewise.
24292 (GRUB_EFI_DARKGRAY): Likewise.
24293 (GRUB_EFI_LIGHTBLUE): Likewise.
24294 (GRUB_EFI_LIGHTGREEN): Likewise.
24295 (GRUB_EFI_LIGHTCYAN): Likewise.
24296 (GRUB_EFI_LIGHTRED): Likewise.
24297 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24298 (GRUB_EFI_YELLOW): Likewise.
24299 (GRUB_EFI_WHITE): Likewise.
24300 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24301 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24302 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24303 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24304 (GRUB_EFI_BACKGROUND_RED): Likewise.
24305 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24306 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24307 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24308 (GRUB_EFI_TEXT_ATTR): Likewise.
24309
24310 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24311 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24312 (kernel_mod_HEADERS): Added efi/time.h.
24313
24314 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24315
24316 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24317 include/grub/efi/api.h, include/grub/efi/console_control.h,
24318 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24319 include/grub/i386/efi/time.h, kern/efi/efi.c,
24320 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24321 and util/i386/efi/grub-mkimage.c.
24322
24323 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24324
24325 * genmk.rb (PModule#rule): Do not export symbols if
24326 #{prefix}_EXPORTS is set to "no".
24327
24328 * conf/i386-efi.mk: New file.
24329 * conf/i386-efi.rmk: Likewise.
24330 * include/grub/efi/api.h: Likewise.
24331 * include/grub/efi/console_control.h: Likewise.
24332 * include/grub/efi/efi.h: Likewise.
24333 * include/grub/efi/pe32.h: Likewise.
24334 * include/grub/i386/efi/time.h: Likewise.
24335 * kern/efi/efi.c: Likewise.
24336 * kern/i386/efi/init.c: Likewise.
24337 * kern/i386/efi/startup.S: Likewise.
24338 * util/i386/efi/grub-mkimage.c: Likewise.
24339
24340 2006-04-17 Marco Gerards <marco@gnu.org>
24341
24342 * include/grub/script.h: Include <grub/parser.h> and
24343 "grub_script.tab.h".
24344 (struct grub_lexer_param): New struct.
24345 (struct grub_parser_param): Likewise.
24346 (grub_script_create_arglist): Pass the state in an argument.
24347 (grub_script_add_arglist): Likewise.
24348 (grub_script_create_cmdline): Likewise.
24349 (grub_script_create_cmdblock): Likewise.
24350 (grub_script_create_cmdif): Likewise.
24351 (grub_script_create_cmdmenu): Likewise.
24352 (grub_script_add_cmd): Likewise.
24353 (grub_script_arg_add): Likewise.
24354 (grub_script_lexer_ref): Likewise.
24355 (grub_script_lexer_deref): Likewise.
24356 (grub_script_lexer_record_start): Likewise.
24357 (grub_script_lexer_record_stop): Likewise.
24358 (grub_script_mem_record): Likewise.
24359 (grub_script_mem_record_stop): Likewise.
24360 (grub_script_malloc): Likewise.
24361 (grub_script_yylex): Likewise.
24362 (grub_script_yyparse): Likewise.
24363 (grub_script_yyerror): Likewise.
24364 (grub_script_yylex): Likewise.
24365 (grub_script_lexer_init): Return the state.
24366
24367 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24368 (grub_script_lexer_done): Likewise.
24369 (grub_script_lexer_getline): Likewise.
24370 (grub_script_lexer_refs): Likewise.
24371 (script): Likewise.
24372 (newscript): Likewise.
24373 (record): Likewise.
24374 (recording): Likewise.
24375 (recordpos): Likewise.
24376 (recordlen): Likewise.
24377 (grub_script_lexer_init): Return the state instead of setting
24378 global variables.
24379 (grub_script_lexer_ref): Use the newly added argument for state
24380 instead of globals.
24381 (grub_script_lexer_deref): Likewise.
24382 (grub_script_lexer_record_start): Likewise.
24383 (grub_script_lexer_record_stop): Likewise.
24384 (recordchar): Likewise.
24385 (nextchar): Likewise.
24386 (grub_script_yylex2): Likewise.
24387 (grub_script_yylex): Likewise.
24388 (grub_script_yyerror): Likewise.
24389
24390 * normal/parser.y (func_mem): Removed variable.
24391 (menu_entry): Likewise.
24392 (err): Likewise.
24393 (%lex-param): New parser option.
24394 (%parse-param): Likewise.
24395 (script): Always return the AST.
24396 (argument): Pass the state around.
24397 (arguments): Likewise.
24398 (grubcmd): Likewise.
24399 (commands): Likewise.
24400 (function): Likewise.
24401 (menuentry): Likewise.
24402 (if_statement): Likewise.
24403 (if): Likewise.
24404
24405 * normal/script.c (grub_script_memused): Removed variable.
24406 (grub_script_parsed): Likewise.
24407 (grub_script_malloc): Added a state argument. Use that instead of
24408 global variables.
24409 (grub_script_mem_record): Likewise.
24410 (grub_script_mem_record_stop): Likewise.
24411 (grub_script_arg_add): Likewise.
24412 (grub_script_add_arglist): Likewise.
24413 (grub_script_create_cmdline): Likewise.
24414 (grub_script_create_cmdif): Likewise.
24415 (grub_script_create_cmdmenu): Likewise.
24416 (grub_script_add_cmd): Likewise.
24417 (grub_script_parse): Setup the state before calling the parser.
24418
24419 2006-04-16 Marco Gerards <marco@gnu.org>
24420
24421 * normal/command.c (grub_command_init): Remove the title command.
24422
24423 * normal/lexer.c (grub_script_yylex): Renamed from this...
24424 (grub_script_yylex2): ... to this.
24425 (grub_script_yylex): New function. Temporary
24426 introduced to filter some tokens.
24427 (grub_script_yyerror): Print a newline.
24428
24429 * normal/main.c (read_config_file): Output information about the
24430 lines that contain errors. Wait for a key after all lines have
24431 been processed. Don't return an empty menu.
24432
24433 * normal/parser.y (func_mem): Don't initialize.
24434 (menu_entry): Likewise.
24435 (err): New variable.
24436 (script): Don't return anything when an error was encountered.
24437 (ws, returns): Removed rules.
24438 (argument): Disabled concatenated variable support.
24439 (arguments): Remove explicit separators.
24440 (grubcmd): Likewise.
24441 (function): Likewise.
24442 (menuentry): Likewise.
24443 (if): Likewise.
24444 (commands): Likewise. Add error handling.
24445
24446 * normal/script.c (grub_script_create_cmdline): If
24447 `grub_script_parsed' is 0, assume the parser encountered an error.
24448
24449 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24450
24451 * configure.ac: Add support for EFI. Fix the typo
24452 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24453
24454 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24455
24456 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24457 foreign multibyte characters should be shown correctly.
24458
24459 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24460
24461 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24462 calculation.
24463 (read_config_file): Made it to close file before returning.
24464
24465 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24466
24467 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24468 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24469 video/i386/pc/vbefill.c.
24470
24471 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24472 video/i386/pc/vbefill.c.
24473
24474 * include/grub/video.h (grub_video_blit_format): New enum.
24475 (grub_video_mode_info): Added new member blit_format.
24476 (grub_video_get_blit_format): New function prototype.
24477
24478 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24479 function prototype.
24480 (grub_video_vbe_map_rgb): Likewise.
24481 (grub_video_vbe_unmap_color): Likewise.
24482
24483 * include/grub/i386/pc/vbeblit.h: New file.
24484
24485 * include/grub/i386/pc/vbefill.h: New file.
24486
24487 * video/video.c (grub_video_get_blit_format): New function.
24488 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24489 (grub_video_vbe_map_rgb): Likewise.
24490 (grub_video_vbe_unmap_color): Likewise.
24491
24492 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24493 optimized fills.
24494 (grub_video_vbe_blit_render_target): Changed to use more optimized
24495 blits.
24496 (grub_video_vbe_setup): Added detection for optimized settings.
24497 (grub_video_vbe_create_render_target): Likewise.
24498
24499 * video/i386/pc/vbeblit.c: New file.
24500
24501 * video/i386/pc/vbefill.c: New file.
24502
24503 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24504
24505 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24506 here...
24507
24508 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24509 parsing to support both hex and dec ranges. If filename was missing
24510 show usage information.
24511
24512 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24513
24514 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24515 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24516
24517 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24518 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24519 (video_mod_SOURCES): Added.
24520 (video_mod_CFLAGS): Likewise.
24521 (video_mod_LDFLAGS): Likewise.
24522 (gfxterm_mod_SOURCES): Likewise.
24523 (gfxterm_mod_CFLAGS): Likewise.
24524 (gfxterm_mod_LDFLAGS): Likewise.
24525 (videotest_mod_SOURCES): Likewise.
24526 (videotest_mod_CFLAGS): Likewise.
24527 (videotest_mod_LDFLAGS): Likewise.
24528 (vesafb_mod_SOURCES): Removed.
24529 (vesafb_mod_CFLAGS): Likewise.
24530 (vesafb_mod_LDFLAGS): Likewise.
24531 (vga_mod_SOURCES): Likewise.
24532 (vga_mod_CFLAGS): Likewise.
24533 (vga_mod_LDFLAGS): Likewise.
24534
24535 * commands/videotest.c: New file.
24536
24537 * font/manager.c (fill_with_default_glyph): Modified to use
24538 grub_font_glyph.
24539 (grub_font_get_glyph): Likewise.
24540 (fontmanager): Renamed from this...
24541 (font_manager): ... to this.
24542
24543 * include/grub/font.h (grub_font_glyph): Added new structure.
24544 (grub_font_get_glyph): Modified to use grub_font_glyph.
24545
24546 * include/grub/misc.h (grub_abs): Added as inline function.
24547
24548 * include/grub/video.h: New file.
24549
24550 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24551 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24552 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24553 (grub_vbe_get_controller_info): Renamed from this...
24554 (grub_vbe_bios_get_controller_info): ... to this.
24555 (grub_vbe_get_mode_info): Renamed from this...
24556 (grub_vbe_bios_get_mode_info): ... to this.
24557 (grub_vbe_set_mode): Renamed from this...
24558 (grub_vbe_bios_set_mode): ... to this.
24559 (grub_vbe_get_mode): Renamed from this...
24560 (grub_vbe_bios_get_mode): ... to this.
24561 (grub_vbe_set_memory_window): Renamed from this...
24562 (grub_vbe_bios_set_memory_window): ... to this.
24563 (grub_vbe_get_memory_window): Renamed from this...
24564 (grub_vbe_bios_get_memory_window): ... to this.
24565 (grub_vbe_set_scanline_length): Renamed from this...
24566 (grub_vbe_set_scanline_length): ... to this.
24567 (grub_vbe_get_scanline_length): Renamed from this...
24568 (grub_vbe_bios_get_scanline_length): ... to this.
24569 (grub_vbe_set_display_start): Renamed from this...
24570 (grub_vbe_bios_set_display_start): ... to this.
24571 (grub_vbe_get_display_start): Renamed from this...
24572 (grub_vbe_bios_get_display_start): ... to this.
24573 (grub_vbe_set_palette_data): Renamed from this...
24574 (grub_vbe_bios_set_palette_data): ... to this.
24575 (grub_vbe_set_pixel_rgb): Removed.
24576 (grub_vbe_set_pixel_index): Likewise.
24577
24578 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24579 from this...
24580 (grub_vbe_bios_get_controller_info): ... to this.
24581 (grub_vbe_get_mode_info): Renamed from this...
24582 (grub_vbe_bios_get_mode_info): ... to this.
24583 (grub_vbe_set_mode): Renamed from this...
24584 (grub_vbe_bios_set_mode): ... to this.
24585 (grub_vbe_get_mode): Renamed from this...
24586 (grub_vbe_bios_get_mode): ... to this.
24587 (grub_vbe_set_memory_window): Renamed from this...
24588 (grub_vbe_bios_set_memory_window): ... to this.
24589 (grub_vbe_get_memory_window): Renamed from this...
24590 (grub_vbe_bios_get_memory_window): ... to this.
24591 (grub_vbe_set_scanline_length): Renamed from this...
24592 (grub_vbe_set_scanline_length): ... to this.
24593 (grub_vbe_get_scanline_length): Renamed from this...
24594 (grub_vbe_bios_get_scanline_length): ... to this.
24595 (grub_vbe_set_display_start): Renamed from this...
24596 (grub_vbe_bios_set_display_start): ... to this.
24597 (grub_vbe_get_display_start): Renamed from this...
24598 (grub_vbe_bios_get_display_start): ... to this.
24599 (grub_vbe_set_palette_data): Renamed from this...
24600 (grub_vbe_bios_set_palette_data): ... to this.
24601 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24602 getting corrupted after calling it. Added more pushes and pops.
24603 (grub_vbe_bios_set_mode): Likewise.
24604 (grub_vbe_bios_get_mode): Likewise.
24605 (grub_vbe_bios_get_memory_window): Likewise.
24606 (grub_vbe_bios_set_scanline_length): Likewise.
24607 (grub_vbe_bios_get_scanline_length): Likewise.
24608 (grub_vbe_bios_get_display_start): Likewise.
24609 (grub_vbe_bios_set_palette_data): Likewise.
24610
24611 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24612 (cl_insert): Likewise.
24613 (cl_delete): Likewise.
24614
24615 * term/gfxterm.c: New file.
24616
24617 * term/i386/pc/vesafb.c: Removed file.
24618
24619 * video/video.c: New file.
24620
24621 * video/i386/pc/vbe.c (real2pm): Added new function.
24622 (grub_video_vbe_draw_pixel): Likewise.
24623 (grub_video_vbe_get_video_ptr): Likewise.
24624 (grub_video_vbe_get_pixel): Likewise
24625 (grub_video_vbe_init): Likewise.
24626 (grub_video_vbe_fini): Likewise.
24627 (grub_video_vbe_setup): Likewise.
24628 (grub_video_vbe_get_info): Likewise.
24629 (grub_video_vbe_set_palette): Likewise.
24630 (grub_video_vbe_get_palette): Likewise.
24631 (grub_video_vbe_set_viewport): Likewise.
24632 (grub_video_vbe_get_viewport): Likewise.
24633 (grub_video_vbe_map_color): Likewise.
24634 (grub_video_vbe_map_rgb): Likewise.
24635 (grub_video_vbe_map_rgba): Likewise.
24636 (grub_video_vbe_unmap_color): Likewise.
24637 (grub_video_vbe_fill_rect): Likewise.
24638 (grub_video_vbe_blit_glyph): Likewise.
24639 (grub_video_vbe_blit_bitmap): Likewise.
24640 (grub_video_vbe_blit_render_target): Likewise.
24641 (grub_video_vbe_scroll): Likewise.
24642 (grub_video_vbe_swap_buffers): Likewise.
24643 (grub_video_vbe_create_render_target): Likewise.
24644 (grub_video_vbe_delete_render_target): Likewise.
24645 (grub_video_vbe_set_active_render_target): Likewise.
24646 (grub_vbe_set_pixel_rgb): Remove function.
24647 (grub_vbe_set_pixel_index): Likewise.
24648 (index_color_mode): Remove static variable.
24649 (active_mode): Likewise.
24650 (framebuffer): Likewise.
24651 (bytes_per_scan_line): Likewise.
24652 (grub_video_vbe_adapter): Added new static variable.
24653 (framebuffer): Likewise.
24654 (render_target): Likewise.
24655 (initial_mode): Likewise.
24656 (mode_in_use): Likewise.
24657 (mode_list): Likewise.
24658
24659 2006-03-10 Marco Gerards <marco@gnu.org>
24660
24661 * configure.ac (AC_INIT): Bumped to 1.93.
24662
24663 * DISTLIST: Added `include/grub/hfs.h'.
24664
24665 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24666
24667 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24668 18H, which might help the BIOS falling back to next boot media.
24669
24670 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24671
24672 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24673 Poe Chen <poe.poechen@gmail.com>.
24674
24675 2006-01-17 Marco Gerards <marco@gnu.org>
24676
24677 * include/grub/normal.h: Include <grub/script.h>.
24678 (grub_command_list): Removed struct.
24679 (grub_command_list_t): Removed type.
24680 (grub_menu_entry): Remove members `num' and `command_list'. Add
24681 members `commands' and `sourcecode'.
24682 * include/grub/script.h: Add inclusion guards.
24683 (grub_script_cmd_menuentry): New struct.
24684 (grub_script_execute_menuentry): New prototype.
24685 (grub_script_lexer_record_start): Likewise.
24686 (grub_script_lexer_record_stop): Likewise.
24687 * normal/execute.c (grub_script_execute_menuentry): New function.
24688 * normal/lexer.c (record, recording, recordpos, recordlen): New
24689 variables.
24690 (grub_script_lexer_record_start): New function.
24691 (grub_script_lexer_record_stop): Likewise.
24692 (recordchar): Likewise.
24693 (nextchar): Likewise.
24694 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24695 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24696 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24697 (current_menu): New variable.
24698 (free_menu): Mainly rewritten.
24699 (grub_normal_menu_addentry): New function.
24700 (read_config_file): Rewritten.
24701 * normal/menu.c (run_menu_entry): Mainly rewritten.
24702 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24703 the menu entry.
24704 (run): Mainly rewritten.
24705 * normal/parser.y (menu_entry): New variable.
24706 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24707 (menuentry): New rule.
24708 (command): Add `menuentry'.
24709 (if_statement): Allow additional returns before `fi'.
24710 * normal/script.c (grub_script_create_cmdmenu): New function.
24711
24712 2006-01-03 Marco Gerards <marco@gnu.org>
24713
24714 * INSTALL: GNU Bison is required.
24715 * configure.ac: Rewritten the test to detect Bison.
24716 * Makefile.in (YACC): New variable. Reported by Xun Sun
24717 <xun.sun.cn@gmail.com>.
24718
24719 2006-01-03 Marco Gerards <marco@gnu.org>
24720
24721 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24722 the HFS+ filesystem to filesystem blocks.
24723 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24724 GCC warning is silenced.
24725
24726 2006-01-03 Marco Gerards <marco@gnu.org>
24727
24728 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24729 read from disk from big endian to host byte order.
24730
24731 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24732
24733 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24734 documentation.
24735 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24736 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24737 embedded HFS+ filesystem.
24738 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24739 (grub_hfs_sblock): Move from here...
24740 * include/grub/hfs.h: To here... New file.
24741 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24742 documentation.
24743 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24744 New macros.
24745 (grub_hfsplus_volheader): Change type of member `magic' to
24746 `grub_uint16_t'.
24747 (grub_hfsplus_data): Add new member `embedded_offset'.
24748 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24749 returned block.
24750 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24751 Calculate the offset.
24752
24753 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24754
24755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24756 Removed.
24757 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24758
24759 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24760
24761 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24762 ENV->NAME is NULL after allocating ENV->VALUE.
24763
24764 2005-12-25 Marco Gerards <marco@gnu.org>
24765
24766 * kern/env.c (grub_env_set): Rewritten the error handling code.
24767
24768 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24769
24770 * geninit.sh: Made more robust, and more portable.
24771
24772 2005-12-25 Marco Gerards <marco@gnu.org>
24773
24774 Add support for Apple HFS+ filesystems.
24775
24776 * fs/hfsplus.c: New file.
24777
24778 * DISTLIST: Added `fs/hfsplus.c'.
24779
24780 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24781 (hfsplus_mod_SOURCES): New variable.
24782 (hfsplus_mod_CFLAGS): Likewise.
24783 (hfsplus_mod_LDFLAGS): Likewise.
24784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24785 (grub_setup_SOURCES): Likewise.
24786 (grub_mkdevicemap_SOURCES): Likewise.
24787 (grub_emu_SOURCES): Likewise.
24788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24789
24790 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24791
24792 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24793
24794 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24795
24796 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24797 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24798 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24799 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24800 normal/lexer.c, normal/parser.y, normal/script.c, and
24801 partmap/gpt.c.
24802 Removed kern/sparc64/cache.c.
24803
24804 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24805 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24806 grub_emu_init.c.
24807
24808 * configure.ac (AC_INIT): Bumped to 1.92.
24809
24810 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24811
24812 * kern/err.c (grub_error_push): Added new function to support error
24813 stacks.
24814 (grub_error_pop): Likewise.
24815 (grub_error_stack_items): New local variable to support error stacks.
24816 (grub_error_stack_pos): Likewise.
24817 (grub_error_stack_assert): Likewise.
24818 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24819 stack depth.
24820 (grub_print_error): Added support to print errors from error stack.
24821
24822 * include/grub/err.h (grub_error_push): Added function prototype.
24823 (grub_error_pop): Likewise.
24824
24825 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24826
24827 * configure.ac: Accept `powerpc64' as host_cpu.
24828 (amd64): Rename to `biarch32'.
24829
24830 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24831 non-cacheline-aligned addresses.
24832
24833 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24834 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24835 if `size' is non-zero.
24836
24837 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24838
24839 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24840 and `cd' to make sure the filename is not prefixed with a
24841 directory name.
24842 (pkgdata_MODULES): Add `gpt.mod'.
24843 (gpt_mod_SOURCES): New variable.
24844 (gpt_mod_CFLAGS): Likewise.
24845 (gpt_mod_LDFLAGS): Likewise.
24846
24847 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24848
24849 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24850 New macro.
24851
24852 * partmap/gpt.c: New file.
24853
24854 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24855 GPT partition map is detected.
24856
24857 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24858
24859 * commands/i386/pc/play.c: New file.
24860 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24861 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24862 macros.
24863
24864 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24865
24866 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24867 ((unused))' to silence gcc warning.
24868
24869 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24870
24871 * configure.ac: Correct `AC_PROG_YACC' test.
24872
24873 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24874
24875 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24876 check before installing files.
24877
24878 2005-11-22 Mike Small <smallm@panix.com>
24879
24880 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24881 number regex so multidigit numbers are recognized correctly.
24882
24883 2005-11-22 Mike Small <smallm@panix.com>
24884
24885 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24886 debugging message before attempting to claim memory.
24887 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24888 multiple addresses in case of failure.
24889
24890 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24891
24892 * term/tparm.c (get_space): Remove empty `if' statement.
24893
24894 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24895
24896 * kern/parser.c (check_varstate): Rename `state' to 's'.
24897
24898 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24899
24900 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24901 variable definitions to the beginning of each function. Sort stack
24902 variables by size.
24903 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24904 `buf' argument to `char *'.
24905
24906 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24907
24908 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24909 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24910 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24911 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24912 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24913 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24914 configfile.mod, search.mod, gzio.mod and test.mod.
24915 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24916 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24917 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24918 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24919 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24920 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24921 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24922 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24923 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24924 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24925 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24926 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24927 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24928 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24929 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24930 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24931 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24932 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24933 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24934 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24935 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24936 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24937 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24938
24939 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24940 `grep --include'.
24941 (pkgdata_MODULES): Add test.mod.
24942
24943 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24944
24945 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24946 appending to variables with "+=".
24947 (PModule): Use full pathname to generate *.lst filenames.
24948
24949 * Makefile.in: Fixed list rules moved from genmk.rb.
24950 (.DELETE_ON_ERROR): New special target.
24951 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24952
24953 * conf/i386-pc.rmk: Include conf/common.mk.
24954 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24955 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24956 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24957 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24958 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24959 configfile.mod, search.mod, gzio.mod and test.mod.
24960 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24961 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24962 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24963 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24964 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24965 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24966 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24967 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24968 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24969 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24970 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24971 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24972 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24973 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24974 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24975 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24976 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24977 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24978 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24979 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24980 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24981 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24982 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24983 here...
24984 * conf/common.rmk: ... to here. New file.
24985
24986 * conf/common.mk: New file.
24987
24988 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24989
24990 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24991 (grub_script.tab.c): ... here.
24992
24993 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24994 (grub_script.tab.c): ... here.
24995
24996 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24997 (grub_script.tab.c): ... here.
24998
24999 * normal/command.c (grub_command_find): Fixed a memory leak of
25000 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25001
25002 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25003
25004 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25005 "@" which marks the start of a comment on ARM.
25006 (VARIABLE): Likewise.
25007
25008 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25009
25010 Add support for Linux/ADFS partition tables.
25011
25012 * partmap/acorn.c: New file.
25013
25014 * include/grub/acorn_filecore.h: Likewise.
25015
25016 * DISTLIST: Added `partmap/acorn.c' and
25017 `include/grub/acorn_filecore.h'.
25018
25019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25020 `partmap/acorn.c'.
25021 (pkgdata_MODULES): Add `acorn.mod'.
25022 (acorn_mod_SOURCES): New variable.
25023 (acorn_mod_CFLAGS): Likewise.
25024
25025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25026 `partmap/acorn.c'.
25027 (pkgdata_MODULES): Add `acorn.mod'.
25028 (acorn_mod_SOURCES): New variable.
25029 (acorn_mod_CFLAGS): Likewise.
25030
25031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25032 (pkgdata_MODULES): Add `acorn.mod'.
25033 (acorn_mod_SOURCES): New variable.
25034 (acorn_mod_CFLAGS): Likewise.
25035 (acorn_mod_LDFLAGS): Likewise.
25036
25037 * include/types.h (grub_disk_addr_t): New typedef.
25038
25039 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
25040
25041 * geninit.sh: New file.
25042
25043 * geninitheader.sh: Likewise.
25044
25045 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25046 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25047 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25048 * commands/configfile.c (grub_configfile_init)
25049 (grub_configfile_fini): Likewise.
25050 * commands/default.c (grub_default_init, grub_default_fini):
25051 Likewise.
25052 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25053 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25054 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25055 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25056 Likewise.
25057 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25058 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25059 Likewise.
25060 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
25061 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
25062 Likewise.
25063 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25064 Likewise.
25065 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
25066 Likewise.
25067 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25068 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25069 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25070 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25071 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25072 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25073 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25074 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25075 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25076 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25077 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25078 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25079 * partmap/amiga.c (grub_amiga_partition_map_init)
25080 (grub_amiga_partition_map_fini): Likewise.
25081 * partmap/apple.c (grub_apple_partition_map_init)
25082 (grub_apple_partition_map_fini): Likewise.
25083 * partmap/pc.c (grub_pc_partition_map_init)
25084 (grub_pc_partition_map_fini): Likewise.
25085 * partmap/sun.c (grub_sun_partition_map_init,
25086 grub_sun_partition_map_fini): Likewise.
25087 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25088 Likewise.
25089
25090 * util/grub-emu.c: Include <grub_modules_init.h>.
25091 (main): Don't initialize and de-initialize any modules directly,
25092 use `grub_init_all' and `grub_fini_all' instead.
25093
25094 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25095 `grub_vesafb_mod_init'.
25096 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25097 all users.
25098 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25099 `grub_vga_mod_init'. Updated all users.
25100 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25101
25102 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25103 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25104 rules.
25105
25106 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25107 Generate a function to initialize the module in utilities.
25108 Updated all callers.
25109 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25110 initialize the module in utilities. Updated all callers.
25111
25112 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25113
25114 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25115 escape sequence and a literal ^L to clear the screen.
25116
25117 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25118 when returning from Open Firmware.
25119
25120 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25121
25122 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25123 (grub_ofconsole_height): Likewise.
25124 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25125 manually insert a '\n'.
25126 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25127 `grub_ofconsole_height'. Return early if these are already set.
25128
25129 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25130
25131 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25132 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25133 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25134 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25135 and `normal/script.c'.
25136 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25137 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25138 (test_mod_SOURCES): New variable.
25139 (test_mod_CFLAGS): Likewise.
25140 (test_mod_LDFLAGS): Likewise.
25141 (pkgdata_MODULES): Add `test.mod'.
25142 (grub_script.tab.c): New rule.
25143 (grub_script.tab.h): Likewise.
25144
25145 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25146
25147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25148 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25149 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25150 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25151 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25152 (test_mod_SOURCES): New variable.
25153 (test_mod_CFLAGS): Likewise.
25154 (pkgdata_MODULES): Add `test.mod'.
25155 (grub_script.tab.c): New rule.
25156 (grub_script.tab.h): Likewise.
25157
25158 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25159
25160 Add initial scripting support.
25161
25162 * commands/test.c: New file.
25163 * include/grub/script.h: Likewise.
25164 * normal/execute.c: Likewise.
25165 * normal/function.c: Likewise.
25166 * normal/lexer.c: Likewise.
25167 * normal/parser.y: Likewise.
25168 * normal/script.c: Likewise.
25169
25170 * configure.ac: Add `AC_PROG_YACC' test.
25171
25172 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25173 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25174 `normal/function.c' and `normal/script.c'.
25175 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25176 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25177 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25178 variables.
25179 (pkgdata_MODULES): Add `test.mod'.
25180 (grub_script.tab.c): New rule.
25181 (grub_script.tab.h): Likewise.
25182
25183 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25184
25185 * include/grub/normal.h (grub_test_init): New prototype.
25186 (grub_test_fini): Likewise.
25187
25188 * normal/command.c: Include <grub/script.h>.
25189 (grub_command_execute): Rewritten.
25190
25191 * util/grub-emu.c (main): Call `grub_test_init' and
25192 `grub_test_fini'.
25193
25194 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25195
25196 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25197 to 0.
25198 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25199 there are no pending characters.
25200
25201 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25202
25203 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25204 `grub_strndup' to drop device arguments. Replace unnecessary
25205 `grub_strndup' with `grub_strdup'.
25206
25207 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25208
25209 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25210 `debug' environment variable has been set.
25211
25212 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25213
25214 * Makefile.in (install-local): Use $(DATA).
25215 (uninstall): Likewise.
25216 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25217 (sbin_UTILITIES): ... to here.
25218 (sbin_SCRIPTS): New variable.
25219 (grub_install_SOURCES): New variable.
25220 * util/powerpc/ieee1275/grub-install.in: New file.
25221 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25222 variable.
25223 (add_segments): Call `grub_util_get_path'.
25224
25225 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25226
25227 From Timothy Baldwin:
25228 * commands/ls.c (grub_ls_list_files): Close FILE with
25229 grub_file_close.
25230 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25231
25232 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25233
25234 * include/grub/parser.h: New file.
25235
25236 * kern/parser.c: Likewise.
25237
25238 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25239 (grub_setup_SOURCES): Likewise.
25240 (grub_probefs_SOURCES): Likewise.
25241 (grub_emu_SOURCES): Likewise.
25242 (kernel_img_HEADERS): Add `parser.h'.
25243
25244 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25245 (grub_emu_SOURCES): Add `kern/parser.c'.
25246 (grubof_SOURCES): Likewise.
25247
25248 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25249 (grubof_SOURCES): Add `kern/parser.c'.
25250
25251 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25252
25253 * kern/misc.c (grub_split_cmdline): Removed function.
25254
25255 * kern/rescue.c: Include <grub/parser.h>.
25256 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25257 of `grub_split_cmdline'.
25258
25259 * normal/command.c: Include <grub/parser.h>.
25260 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25261 of `grub_split_cmdline'.
25262
25263 * normal/completion.c: Include <grub/parser.h>.
25264 (cmdline_state): New variable.
25265 (iterate_dir): End the filename with a quote depending on the
25266 command line state.
25267 (get_state): new function.
25268 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25269 split the arguments and determine the current argument. When the
25270 argument string is not quoted, escape all spaces.
25271
25272 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25273
25274 * normal/sparc64/setjmp.S: New file.
25275
25276 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25277
25278 * include/grub/sparc64/libgcc.h: New file.
25279 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25280 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25281 normal/sparc64/setjmp.c.
25282
25283 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25284
25285 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25286 * kern/sparc64/cache.S: New file.
25287 * kern/sparc64/cache.c: Removed.
25288 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25289 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25290 -mtune=ultrasparc.
25291 (COMMON_LDFLAGS): Add -melf64_sparc.
25292 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25293 (grubof_SOURCES): Use cache.S instead of cache.c.
25294 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25295 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25296 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25297 commented though.
25298 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25299 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25300 (linux_mod_CFLAGS): Commented out.
25301 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25302 out because module isn't built.
25303 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25304 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25305 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25306 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25307 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25308 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25309 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25310 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25311 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25312 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25313 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25314 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25315 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25316 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25317
25318 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25319
25320 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25321 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25322 longer, because HFS should not be used on PC.
25323
25324 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25325
25326 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25327 consistently within the loop.
25328
25329 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25330
25331 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25332 directory can not be read.
25333
25334 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25335
25336 * configure.ac (AC_INIT): Increase the version number to 1.91.
25337
25338 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25339 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25340 term/i386/pc/serial.c.
25341
25342 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25343
25344 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25345 file size must be permitted.
25346
25347 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25348 between %ah and %al.
25349
25350 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25351
25352 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25353 grub_uint64_t.
25354 Call the hook with a NUL-terminated filename.
25355 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25356 grub_cpu_to_be32.
25357
25358 * kern/term.c (cursor_state): New variable.
25359 (grub_term_set_current): Reset the cursor state on a new
25360 terminal.
25361 (grub_setcursor): Rewritten to use CURSOR_STATE.
25362 (grub_getcursor): New function.
25363
25364 * include/grub/term.h (grub_getcursor): New prototype.
25365
25366 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25367 integers on ARM. Reported by Timothy Baldwin
25368 <T.E.Baldwin99@members.leeds.ac.uk>.
25369
25370 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25371
25372 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25373 allocated.
25374 (grub_sfs_dir): Likewise.
25375
25376 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25377
25378 Add support for the SFS filesystem.
25379
25380 * fs/sfs.c: New file.
25381
25382 * DISTLIST: Added `fs/sfs.c'.
25383
25384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25385 (grub_probefs_SOURCES): Likewise.
25386 (grub_emu_SOURCES): Likewise.
25387 (pkgdata_MODULES): Add `sfs.mod'.
25388 (sfs_mod_SOURCES): New variable.
25389 (sfs_mod_CFLAGS): Likewise.
25390 (sfs_mod_LDFLAGS): Likewise.
25391
25392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25393 (pkgdata_MODULES): Add `sfs.mod'.
25394 (sfs_mod_SOURCES): New variable.
25395 (sfs_mod_CFLAGS): Likewise.
25396
25397 * util/grub-emu.c (main): Call `grub_sfs_init' and
25398 `grub_sfs_fini'.
25399
25400 * include/grub/fs.h (grub_sfs_init): New prototype.
25401 (grub_sfs_fini): Likewise.
25402
25403 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25404
25405 Add support for the AFFS filesystem.
25406
25407 * fs/affs.c: New file.
25408
25409 * DISTLIST: Added `fs/affs.c'.
25410
25411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25412 (grub_probefs_SOURCES): Likewise.
25413 (grub_emu_SOURCES): Likewise.
25414 (pkgdata_MODULES): Add `affs.mod'.
25415 (affs_mod_SOURCES): New variable.
25416 (affs_mod_CFLAGS): Likewise.
25417 (affs_mod_LDFLAGS): Likewise.
25418
25419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25420 (pkgdata_MODULES): Add `affs.mod'.
25421 (affs_mod_SOURCES): New variable.
25422 (affs_mod_CFLAGS): Likewise.
25423
25424 * util/grub-emu.c (main): Call `grub_affs_init' and
25425 `grub_affs_fini'.
25426
25427 * include/grub/fs.h (grub_affs_init): New prototype.
25428 (grub_affs_fini): Likewise.
25429
25430 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25431
25432 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25433
25434 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25435
25436 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25437 `-m32' to CFLAGS.
25438
25439 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25440 linking.
25441
25442 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25443 (COMMON_LDFLAGS): New variable.
25444 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25445 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25446 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25447 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25448 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25449 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25450 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25451 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25452 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25453 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25454 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25455 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25456 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25457 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25458 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25459 variables.
25460 (normal_mod_ASFLAGS): Add `-m32'.
25461
25462 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25463 (grub_host_size_t, grub_host_ssize_t): New types.
25464 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25465 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25466 `GRUB_HOST_SIZEOF_VOID_P'.
25467
25468 * include/grub/kernel.h (struct grub_module_header): Type of
25469 member offset changed to `grub_host_off_t'. Type of member size
25470 changed to `grub_host_size_t'.
25471 (struct grub_module_info): Type of member offset changed to
25472 `grub_host_off_t'. Type of member size changed to
25473 `grub_host_size_t'.
25474
25475 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25476
25477 Make GRUB's kernel compliant to Multiboot Specification.
25478
25479 * kern/i386/pc/startup.S (multiboot_header): New label.
25480 (multiboot_entry): Likewise.
25481 (multiboot_trampoline): Likewise.
25482
25483 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25484 Increased to 0x4A0.
25485
25486 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25487 put parentheses after a question mark.
25488 [!GRUB_UTIL] (my_mod): New variable.
25489
25490 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25491
25492 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25493
25494 Adds support for the XFS filesystem. Btrees are not supported
25495 yet.
25496
25497 * fs/xfs.c: New file.
25498
25499 * DISTLIST: Added `fs/xfs.c'.
25500
25501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25502 (grub_probefs_SOURCES): Likewise.
25503 (grub_emu_SOURCES): Likewise.
25504 (pkgdata_MODULES): Add `xfs.mod'.
25505 (xfs_mod_SOURCES): New variable.
25506 (xfs_mod_CFLAGS): Likewise.
25507
25508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25509 (pkgdata_MODULES): Add `xfs.mod'.
25510 (xfs_mod_SOURCES): New variable.
25511 (xfs_mod_CFLAGS): Likewise.
25512
25513 * util/grub-emu.c (main): Call `grub_xfs_init' and
25514 `grub_xfs_fini'.
25515
25516 * include/grub/fs.h (grub_xfs_init): New prototype.
25517 (grub_xfs_fini): Likewise.
25518
25519
25520 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25521
25522 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25523 color modes, allow greater than 16 colors to be configured as
25524 a default palette.
25525
25526 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25527
25528 * normal/completion.c (complete_arguments): Add the qualifier
25529 const into OPTIONS.
25530
25531 From Omniflux <omniflux+lists@omniflux.com>:
25532 * include/grub/terminfo.h: New file.
25533 * include/grub/tparm.h: Likewise.
25534 * include/grub/i386/pc/serial.h: Likewise.
25535 * term/terminfo.c: Likewise.
25536 * term/tparm.c: Likewise.
25537 * term/i386/pc/serial.c: Likewise.
25538 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25539 serial.mod.
25540 (terminfo_mod_SOURCES): New variable.
25541 (terminfo_mod_CFLAGS): Likewise.
25542 (serial_mod_SOURCES): Likewise.
25543 (serial_mod_CFLAGS): Likewise.
25544
25545 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25546
25547 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25548 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25549 and kern/powerpc/ieee1275/cmain.c, respectively.
25550
25551 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25552 * kern/powerpc/ieee1275/crt0.S: ... here.
25553
25554 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25555 * kern/powerpc/ieee1275/cmain.c: ... here.
25556
25557 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25558 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25559 instead of boot/powerpc/ieee1275/crt0.S and
25560 boot/powerpc/ieee1275/cmain.c, respectively.
25561
25562 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25563 sectors. It was not used anyway.
25564
25565 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25566
25567 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25568 `unused parameter' warning.
25569
25570 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25571
25572 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25573 function.
25574 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25575 getcharwidth.
25576
25577 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25578
25579 * include/grub/normal.h (enum grub_completion_type): Added
25580 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25581
25582 * normal/cmdline.c (print_completion): Handle
25583 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25584 * normal/menu_entry.c (store_completion): Likewise.
25585
25586 * normal/completion.c (complete_arguments): New function.
25587 (grub_normal_do_completion): Call `complete_arguments' when the
25588 current words start with a dash.
25589
25590 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25591
25592 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25593 `gzio.mod' instead of `io.mod').
25594
25595 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25596
25597 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25598 (DISTDIRS): Added io and video.
25599 Rewrite the search routine to make an output consistently.
25600
25601 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25602 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25603 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25604 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25605 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25606 util/powerpc/ieee1275/misc.c.
25607
25608 * include/grub/gzio.h: New file.
25609 * io/gzio.c: Likewise.
25610
25611 * kern/file.c (grub_file_close): Call grub_device_close only if
25612 FILE->DEVICE is not NULL.
25613
25614 * include/grub/mm.h [!NULL] (NULL): New macro.
25615
25616 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25617
25618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25619 (pkgdata_MODULES): Added gzio.mod.
25620 (gzio_mod_SOURCES): New variable.
25621 (gzio_mod_CFLAGS): Likewise.
25622
25623 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25624 (pkgdata_MODULES): Added gzio.mod.
25625 (gzio_mod_SOURCES): New variable.
25626 (gzio_mod_CFLAGS): Likewise.
25627
25628 * commands/cat.c: Include grub/gzio.h.
25629 (grub_cmd_cat): Use grub_gzfile_open instead of
25630 grub_file_open.
25631
25632 * commands/cmp.c: Include grub/gzio.h.
25633 (grub_cmd_cmp): Use grub_gzfile_open instead of
25634 grub_file_open.
25635
25636 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25637 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25638 grub_file_open.
25639 (grub_rescue_cmd_module): Likewise.
25640
25641 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25642
25643 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25644 kern/sparc64/ieee1275/init.c because it contains _start.
25645 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25646
25647 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25648
25649 * configure.ac: Add support for sparc64 host with ieee1275
25650 firmware.
25651 * configure: Generated from configure.ac.
25652 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25653 instead of int.
25654 (grub_ofdisk_read): Likewise.
25655 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25656 pointers as (void *) to remove a warning.
25657 (grub_ofdisk_close): Likewise.
25658 (grub_ofdisk_read): Likewise.
25659 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25660 returns, so make it return void to remove a warning.
25661 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25662 Corresponding prototype change.
25663 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25664 values, and cast the pointers as (void *) to remove a warning.
25665 (grub_mm_dump): Likewise.
25666 * conf/sparc64-ieee1275.mk: New file.
25667 * conf/sparc64-ieee1275.rmk: Likewise.
25668 * include/grub/sparc64/setjmp.h: Likewise.
25669 * include/grub/sparc64/types.h: Likewise.
25670 * include/grub/sparc64/ieee1275/console.h: Likewise.
25671 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25672 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25673 * include/grub/sparc64/ieee1275/time.h: Likewise.
25674 * kern/sparc64/cache.c: Likewise.
25675 * kern/sparc64/dl.c: Likewise.
25676 * kern/sparc64/ieee1275/init.c: Likewise.
25677 * kern/sparc64/ieee1275/openfw.c: Likewise.
25678
25679 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25680
25681 * util/console.c (grub_ncurses_putchar): If C is greater than
25682 0x7f, set C to a question mark.
25683 (grub_ncurses_getcharwidth): New function.
25684 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25685 getcharwidth.
25686
25687 * normal/menu.c (print_entry): Made aware of Unicode. First,
25688 convert TITLE to UCS-4, and predict the cursor position by
25689 grub_getcharwidth.
25690
25691 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25692 const to SRC.
25693 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25694
25695 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25696
25697 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25698 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25699 grub_strcat.
25700
25701 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25702 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25703 grub_strcpy and grub_strlen. Take it into account that a space
25704 character is inserted as a delimiter.
25705
25706 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25707
25708 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25709 invalid magic in the error.
25710
25711 * commands/search.c: New file.
25712
25713 * util/grub-emu.c (main): Call grub_search_init and
25714 grub_search_fini.
25715
25716 * kern/rescue.c (grub_rescue_print_disks): Removed.
25717 (grub_rescue_print_devices): New function.
25718 (grub_rescue_cmd_ls): Use grub_device_iterate with
25719 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25720 grub_rescue_print_disks.
25721
25722 * kern/partition.c (grub_partition_iterate): Return the result of
25723 PARTMAP->ITERATE instead of GRUB_ERRNO.
25724
25725 * kern/device.c: Include grub/partition.h.
25726 (grub_device_iterate): New function.
25727
25728 * include/grub/partition.h (grub_partition_iterate): Return int
25729 instead of grub_err_t.
25730
25731 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25732 prototype.
25733 [GRUB_UTIL] (grub_search_fini): Likewise.
25734
25735 * include/grub/device.h (grub_device_iterate): New prototype.
25736
25737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25738 commands/search.c.
25739 (pkgdata_MODULES): Added search.mod.
25740 (search_mod_SOURCES): New variable.
25741 (search_mod_CFLAGS): Likewise.
25742
25743 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25744 (pkgdata_MODULES): Added search.mod.
25745 (search_mod_SOURCES): New variable.
25746 (search_mod_CFLAGS): Likewise.
25747
25748 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25749 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25750 All callers changed.
25751
25752 * DISTLIST: Added commands/search.c.
25753
25754 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25755
25756 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25757 conversion.
25758 (grub_getcharwidth): New function.
25759
25760 * kern/misc.c (grub_utf8_to_ucs4): New function.
25761
25762 * include/grub/term.h (struct grub_term): Added a new member
25763 "getcharwidth".
25764 (grub_getcharwidth): New prototype.
25765
25766 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25767
25768 * term/i386/pc/console.c (map_char): New function. Segregated from
25769 grub_console_putchar.
25770 (grub_console_putchar): Use map_char.
25771 (grub_console_getcharwidth): New function.
25772 (grub_console_term): Specified grub_console_getcharwidth as
25773 getcharwidth.
25774
25775 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25776 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25777
25778 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25779 GRUB_ERRNO.
25780 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25781 on grub_strtoul completely.
25782 (write_char): Declare local variables in the beginning of the
25783 function.
25784 (grub_vesafb_getcharwidth): New function.
25785 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25786 getcharwidth.
25787
25788 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25789
25790 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25791 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25792 commands/i386/pc/vbetest.c.
25793
25794 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25795 call grub_vbe_get_controller_info again, because the returned
25796 information is volatile.
25797 (grub_vbe_set_video_mode): Mostly rewritten.
25798 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25799 grub_vbe_status_t correctly.
25800 (grub_vbe_get_video_mode_info): Likewise.
25801 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25802 several if statements.
25803
25804 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25805 * commands/i386/pc/vbeinfo.c: ... this.
25806
25807 * commands/i386/pc/vbe_test.c: Renamed to ...
25808 * commands/i386/pc/vbetest.c: ... this.
25809
25810 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25811 ...
25812 (grub_cmd_vbeinfo): ... this. Save video modes before
25813 iterating. Skip a video mode, if it is not available, not enough
25814 information is given or it is monochrome. Show the memory
25815 model. Leave the interpretation of MODEVAR to grub_strtoul
25816 completely.
25817 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25818 (GRUB_MOD_FINI): Likewise.
25819
25820 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25821 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25822 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25823 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25824 grub_strtoul completely.
25825 (real2pm): Removed.
25826 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25827 (GRUB_MOD_FINI): Likewise.
25828
25829 * normal/misc.c: Include grub/mm.h.
25830
25831 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25832 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25833 (vbe_list_modes_mod_SOURCES): Removed.
25834 (vbe_list_modes_mod_CFLAGS): Likewise.
25835 (vbe_test_mod_SOURCES): Likewise.
25836 (vbe_test_mod_CFLAGS): Likewise.
25837 (vbeinfo_mod_SOURCES): New variable.
25838 (vbeinfo_mod_CFLAGS): Likewise.
25839 (vbetest_mod_SOURCES): Likewise.
25840 (vbetest_mod_CFLAGS): Likewise.
25841
25842 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25843
25844 * normal/misc.c: New file.
25845
25846 * DISTLIST: Added normal/misc.c.
25847
25848 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25849 DISK to HOOK. Call HOOK with DISK.
25850 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25851 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25852 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25853
25854 * normal/menu_entry.c (struct screen): Added a new member
25855 "completion_shown".
25856 (completion_buffer): New global variable.
25857 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25858 (store_completion): New function.
25859 (complete): Likewise.
25860 (clear_completions): Likewise.
25861 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25862 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25863 a tab, call complete.
25864
25865 * normal/completion.c (disk_dev): Removed.
25866 (print_simple_completion): Likewise.
25867 (print_partition_completion): Likewise.
25868 (print_func): New global variable.
25869 (add_completion): Do not take the arguments WHAT or PRINT any
25870 longer. Added a new argument TYPE. Instead of printing directly,
25871 call PRINT_FUNC if not NULL.
25872 All callers changed.
25873 (complete_device): Use a local variable DEV instead of
25874 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25875 (grub_normal_do_completion): Take a new argument HOOK. Do not
25876 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25877 empty string, return NULL instead.
25878 All callers changed.
25879
25880 * normal/cmdline.c (print_completion): New function.
25881
25882 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25883 to HOOK.
25884 All callers changed.
25885
25886 * kern/disk.c (grub_print_partinfo): Removed.
25887
25888 * include/grub/partition.h (struct grub_partition_map): Add a new
25889 argument DISK into HOOK of ITERATE.
25890 (grub_partition_iterate): Add a new argument DISK to HOOK.
25891
25892 * include/grub/normal.h (enum grub_completion_type): New enum.
25893 (grub_completion_type_t): New type.
25894 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25895 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25896 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25897 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25898 (grub_normal_do_completion): Added a new argument HOOK.
25899 (grub_normal_print_device_info): New prototype.
25900
25901 * include/grub/disk.h (grub_print_partinfo): Removed.
25902
25903 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25904 (normal_mod_SOURCES): Likewise.
25905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25906 (normal_mod_SOURCES): Likewise.
25907
25908 * commands/ls.c (grub_ls_list_disks): Use
25909 grub_normal_print_device_info instead of grub_print_partinfo. Free
25910 PNAME.
25911 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25912 duplicating the code.
25913
25914 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25915
25916 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25917 follow GCS more precisely.
25918 * commands/i386/pc/vbe_test.c: Likewise.
25919 * include/grub/i386/pc/vbe.h: Likewise.
25920 * term/i386/pc/vesafb.c: Likewise.
25921 * video/i386/pc/vbe.c: Likewise.
25922
25923 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25924
25925 * DISTLIST: Added term/i386/pc/vesafb.c
25926 DISTLIST: Added video/i386/pc/vbe.c
25927 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25928 DISTLIST: Added commands/i386/pc/vbe_test.c.
25929 * commands/i386/pc/vbe_list_modes.c: New file.
25930 * commands/i386/pc/vbe_test.c: Likewise.
25931 * term/i386/pc/vesafb.c: Likewise.
25932 * video/i386/pc/vbe.c: Likewise.
25933 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25934 (grub_vbe_probe) Added prototype.
25935 (grub_vbe_set_video_mode) Likewise.
25936 (grub_vbe_get_video_mode) Likewise.
25937 (grub_vbe_get_video_mode_info) Likewise.
25938 (grub_vbe_set_pixel_rgb) Likewise.
25939 (grub_vbe_set_pixel_index) Likewise.
25940 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25941 (pkgdata_MODULES): Added vesafb.mod.
25942 (pkgdata_MODULES): Added vbe_list_modes.mod.
25943 (pkgdata_MODULES): Added vbe_test.mod.
25944 (vbe_mod_SOURCES): Added.
25945 (vbe_mod_CFLAGS): Likewise.
25946 (vesafb_mod_SOURCES): Likewise.
25947 (vesafb_mod_CFLAGS): Likewise.
25948 (vbe_list_modes_mod_SOURCES): Likewise.
25949 (vbe_list_modes_mod_CFLAGS): Likewise.
25950 (vbe_test_mod_SOURCES): Likewise.
25951 (vbe_test_mod_CFLAGS): Likewise.
25952
25953 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25954
25955 * normal/command.c (grub_command_execute): If INTERACTIVE is
25956 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25957 CMDLINE. Disable the pager if INTERACTIVE is true.
25958 All callers are changed.
25959
25960 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25961 before reading a config file.
25962 * normal/main.c (read_config_file): Even if a command is not
25963 found, register it if it is within an entry.
25964
25965 * util/grub-emu.c: Include sys/types.h and unistd.h.
25966 (options): Added --hold.
25967 (struct arguments): Added a new member "hold".
25968 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25969 missing.
25970 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25971 cleared by a debugger, if it is not zero.
25972
25973 * include/grub/normal.h (grub_command_execute): Add an argument
25974 INTERACTIVE.
25975
25976 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25977
25978 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25979
25980 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25981
25982 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25983 program with another one, because the old one didn't detect a bug
25984 in gcc-3.4. Always use regparm 2, because the new test is still
25985 not enough for gcc-4.0. Someone must investigate a simple test
25986 case which detects a bug in gcc-4.0.
25987
25988 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25989
25990 * DISTLIST: Added normal/completion.c.
25991
25992 * normal/completion.c: New file.
25993
25994 * term/i386/pc/console.c (grub_console_getwh): New function.
25995 (grub_console_term): Assign grub_console_getwh to getwh.
25996
25997 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25998 function is defined in normal/completion.c as
25999 grub_normal_do_completion.
26000 (grub_cmdline_get): Use grub_normal_do_completion instead of
26001 grub_tab_complete.
26002
26003 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26004 returns non-zero, otherwise return 0.
26005 (grub_partition_iterate): First, probe the partition map. Then,
26006 call ITERATE only for this partition map.
26007
26008 * kern/misc.c (grub_strncmp): Rewritten.
26009
26010 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26011 returns non-zero. Otherwise return 0.
26012
26013 * include/grub/partition.h (grub_partition_map_iterate): Return
26014 int instead of void.
26015
26016 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26017
26018 * include/grub/misc.h (grub_strncmp): Change the type of N to
26019 grub_size_t.
26020
26021 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26022 of void.
26023
26024 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
26025 unsigned explicitly before comparing it with I.
26026
26027 * kern/main.c (grub_env_write_root): Add the attribute unused into
26028 VAR.
26029
26030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26031 normal/completion.c.
26032 (normal_mod_SOURCES): Likewise.
26033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26034 (normal_mod_SOURCES): Likewise.
26035
26036 * normal/command.c (grub_iterate_commands): If ITERATE returns
26037 non-zero, return one immediately.
26038
26039 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26040
26041 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26042 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26043 descriptions.
26044 (grub_vbe_get_controller_info): New function.
26045 (grub_vbe_get_mode_info): Likewise.
26046 (grub_vbe_set_mode): Likewise.
26047 (grub_vbe_get_mode): Likewise.
26048 (grub_vbe_set_memory_window): Likewise.
26049 (grub_vbe_get_memory_window): Likewise.
26050 (grub_vbe_set_scanline_length): Likewise.
26051 (grub_vbe_get_scanline_length): Likewise.
26052 (grub_vbe_set_display_start): Likewise.
26053 (grub_vbe_get_display_start): Likewise.
26054 (grub_vbe_set_palette_data): Likewise.
26055 * include/grub/i386/pc/vbe.h: New file.
26056
26057 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26058
26059 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26060 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26061 * DISTLIST: Likewise.
26062 * kern/ieee1275/of.c: Moved to ...
26063 * kern/ieee1275/ieee1275.c: ... here.
26064
26065 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26066
26067 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26068 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26069 Pass 0 as `end' parameter to grub_strtoul().
26070
26071 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26072
26073 * include/grub/powerpc/ieee1275/console.h: Do not include
26074 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26075 ifdef.
26076 (grub_console_cur_color): Remove i386-specific prototype.
26077 (grub_console_real_putchar): Likewise.
26078 (grub_console_checkkey): Likewise.
26079 (grub_console_getkey): Likewise.
26080 (grub_console_getxy): Likewise.
26081 (grub_console_gotoxy): Likewise.
26082 (grub_console_cls): Likewise.
26083 (grub_console_setcursor): Likewise.
26084 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26085 Include <grub/machine/console.h>.
26086 * term/ieee1275/ofconsole.c: Likewise.
26087
26088 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26089
26090 * Makefile.in (LIBLZO): New variable.
26091
26092 * configure.ac: Check for LZO version 2.
26093
26094 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26095 lzo/lzo1x.h instead of lzo1x.h.
26096
26097 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26098 of -llzo.
26099
26100 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26101 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26102
26103 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26104 copying the data from PARTITION to P.
26105
26106 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26107
26108 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26109 negative, unload the module.
26110
26111 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26112 map is "pc_partition_map" but not "pc".
26113 (usage): Fix the description. The options are --boot-image and
26114 --core-image but not --boot-file or --core-file.
26115 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26116 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26117 DEFAULT_DIRECTORY.
26118
26119 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26120 --core-file. Specify INSTALL_DEVICE as an argument.
26121
26122 * util/console.c: Include config.h.
26123 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26124 [HAVE_NCURSES_H]: Include ncurses.h.
26125 [HAVE_CURSES_H]: Include curses.h.
26126 [!A_NORMAL] (A_NORMAL): Defined as zero.
26127 [!A_STANDOUT] (A_STANDOUT): Likewise.
26128
26129 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26130 -lncurses.
26131 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26132
26133 * configure.ac: Check for curses libraries and headers.
26134
26135 * Makefile.in (LIBCURSES): New variable.
26136
26137 * genmk.rb (Script::rule): Set the executable bits.
26138
26139 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26140 name of the PC partition map is "pc_partition_map" but not "pc".
26141
26142 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26143
26144 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26145 (modules): Likewise.
26146 (usage): Added descriptions for --modules and --grub-probefs.
26147 Handle --modules and --grub-probefs. Save the arguments in MODULES
26148 and GRUB_PROBEFS, respectively.
26149 Auto-detect a filesystem module against GRUBDIR. If the result is
26150 empty and modules are not specified explicitly, abort the
26151 installation. Add the result to MODULES.
26152
26153 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26154 disk/powerpc/ieee1275/ofdisk.c,
26155 include/grub/powerpc/ieee1275/init.h and
26156 term/powerpc/ieee1275/ofconsole.c.
26157 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26158 term/ieee1275/ofconsole.c.
26159
26160 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26161
26162 * COPYING: Upgraded to the latest version. Only the address of the
26163 FSF office has changed.
26164
26165 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26166
26167 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26168 kern/ieee1275.c with kern/ieee1275/of.c.
26169
26170 * kern/ieee1275.c: Moved to ...
26171 * kern/ieee1275/of.c: ... here.
26172
26173 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26174
26175 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26176 readability.
26177
26178 * config.guess: Updated to the latest version from gnulib.
26179 * config.sub: Likewise.
26180 * install.sh: Likewise.
26181 * mkinstalldirs: Likewise.
26182
26183 * include/grub/console.h: Removed. This file is arch-specific. Do
26184 not put this in include/grub.
26185
26186 * include/grub/i386/pc/console.h: Resurrected.
26187
26188 * util/console.c: Include grub/machine/console.h instead of
26189 grub/console.h.
26190 * util/grub-emu.c: Likewise.
26191
26192 2005-08-04 Marco Gerards <metgerards@student.han.nl>
26193
26194 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26195 hardcoded value.
26196
26197 From Vincent Pelletier <subdino2004@yahoo.fr>
26198 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26199 Redefined to use grub_getwh.
26200 (grub_term): New member named getwh.
26201 (grub_getwh): New prototype.
26202 * kern/term.c (grub_getwh): New function.
26203 * term/i386/pc/console.c (grub_console_getwh): New function.
26204 (grub_console_term): New member `getwh'.
26205 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26206 (grub_vga_term): New member `getwh'.
26207 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
26208 grub_ssize_t.
26209 (grub_ofconsole_getw): New function.
26210 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26211 (grub_ofconsole_term): New field named getwh and new initial
26212 value.
26213
26214 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26215
26216 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26217 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26218 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26219 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26220 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26221 of <grub/machine/ieee1275.h>.
26222 * commands/ieee1275/reboot.c: Likewise.
26223 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26224 * kern/ieee1275.c: ... to here. All users updated. Change all
26225 parameter structs to use new type `grub_ieee1275_cell_t'.
26226 * term/powerpc/ieee1275/ofconsole.c: Move ...
26227 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26228 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26229 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26230 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26231 to return int.
26232 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26233 Remove unused prototypes. All users updated.
26234 * include/grub/powerpc/ieee1275/console.h: Removed.
26235 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26236 `grub_ieee1275_cell_t'.
26237 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26238 Cast comparisons with -1 to the correct type.
26239 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26240 type to match `grub_ieee1275_entry_fn'.
26241
26242 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26243
26244 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26245
26246 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26247 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26248 partmap/sun.c.
26249 (grub_probefs_SOURCES): New variable.
26250
26251 * util/i386/pc/grub-probefs.c: New file.
26252
26253 * util/i386/pc/grub-setup.c (main): Call
26254 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26255 grub_hfs_init and grub_jfs_init to initialize the system. Call
26256 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26257 grub_pc_partition_map_fini to finish the system.
26258
26259 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26260
26261 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26262 function.
26263 (grub_multiboot_load_elf32): Likewise.
26264 (grub_multiboot_is_elf64): Likewise.
26265 (grub_multiboot_load_elf64): Likewise.
26266 (grub_multiboot_load_elf): Likewise.
26267 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26268 an ELF32 or ELF64 file.
26269 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26270
26271 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26272 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26273 NULL before calling FS->LABEL.
26274 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26275 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26276 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26277 before calling FS->LABEL.
26278
26279 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26280
26281 * util/i386/pc/grub-install.in (datadir): New variable.
26282 (libdir): Removed.
26283 (pkgdatadir): New variable.
26284 (pkglibdir): Removed.
26285
26286 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26287
26288 * DISTLIST: Added util/i386/pc/grub-install.in.
26289
26290 * util/i386/pc/grub-install.in: New file.
26291
26292 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26293 (grub_install_SOURCES): Likewise.
26294
26295 * genmk.rb: Added support for scripts.
26296 (Script): New class.
26297 (scripts): New variable.
26298
26299 * Makefile.in (install-local): Install sbin_SCRIPTS by
26300 INSTALL_SCRIPT.
26301 (uninstall): Remove sbin_SCRIPTS.
26302
26303 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26304 device, try to get a GRUB device by
26305 grub_util_biosdisk_get_grub_dev.
26306 Free DEST_DEV.
26307
26308 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26309 description for --device-map.
26310
26311 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26312
26313 Change the semantics of variable hooks. They now return strings
26314 instead of error values.
26315
26316 * util/i386/pc/grub-setup.c: Include grub/env.h.
26317 (setup): Use grub_device_set_root instead of grub_env_set.
26318
26319 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26320 grub_env_get instead of grub_device_set_root and
26321 grub_device_get_root, respectively.
26322
26323 * kern/main.c (grub_env_write_root): New function.
26324 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26325 grub_env_set instead of grub_device_set_root.
26326
26327 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26328 many variables.
26329 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26330 rather than calling ENV->WRITE_HOOK afterwards.
26331 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26332 passing a pointer of a pointer.
26333 (grub_register_variable_hook): Change the types of "read_hook" and
26334 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26335 respectively.
26336 Allocate the default empty string on the heap, because this string
26337 may be freed later.
26338
26339 * kern/device.c: Include grub/env.h.
26340 (grub_device_set_root): Removed.
26341 (grub_device_get_root): Likewise.
26342 (grub_device_open): Use grub_env_get instead of
26343 grub_device_get_root.
26344
26345 * include/grub/env.h (grub_env_read_hook_t): New type.
26346 (grub_env_write_hook_t): Likewise.
26347 (grub_env_var): Change the types of "read_hook" and "write_hook"
26348 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26349 (grub_register_variable_hook): Likewise.
26350
26351 * include/grub/device.h (grub_device_set_root): Removed.
26352 (grub_device_set_root): Likewise.
26353
26354 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26355 make sure that DIRNAME terminates with '/', so that
26356 grub_fat_find_dir will fail if PATH is not a directory.
26357
26358 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26359 from DIRNAME.
26360 Use the qualifier auto for print_files and print_files_long.
26361 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26362 as a regular file.
26363 Put a newline only if there is no error.
26364 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26365 used.
26366
26367 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26368
26369 * kern/partition.c (grub_partition_probe): Initialize PART to
26370 NULL. Otherwise, when no partition map is registered, this returns
26371 a garbage.
26372
26373 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26374
26375 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26376 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26377 valid.
26378
26379 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26380
26381 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26382 information on each device, if it does not have partitions. Print
26383 "Device" instead of "Disk", because this function is not specific
26384 to disk devices.
26385
26386 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26387 static to ensure that it is put on the memory rather than a
26388 register.
26389
26390 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26391
26392 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26393 (grub_cat_init): Likewise.
26394 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26395 (options): Likewise.
26396 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26397 (grub_configfile_init): Likewise.
26398 * font/manager.c (GRUB_MOD_INIT): Likewise.
26399 * commands/help.c (GRUB_MOD_INIT): Likewise.
26400 (grub_help_init): Likewise.
26401 * normal/command.c (grub_command_init): Likewise.
26402 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26403 * disk/loopback.c (grub_loop_init): Likewise.
26404 (GRUB_MOD_INIT): Likewise.
26405 * commands/ls.c (grub_ls_init): Likewise.
26406 (GRUB_MOD_INIT): Likewise.
26407 (options): Likewise.
26408 * commands/boot.c (grub_boot_init): Likewise.
26409 (GRUB_MOD_INIT): Likewise.
26410 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26411 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26412 (GRUB_MOD_INIT): Likewise.
26413 * commands/cmp.c (grub_cmp_init): Likewise.
26414 (GRUB_MOD_INIT): Likewise.
26415
26416 * normal/arg.c: Use <> instead of "" to include header files.
26417 (SHORT_ARG_HELP): New macro.
26418 (SHORT_ARG_USAGE): Likewise.
26419 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26420 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26421 descriptions.
26422 (find_short): Check if C is 'h' or 'u' explicitly.
26423 (grub_arg_show_help): Use space characters instead of tabs. Treat
26424 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26425 are shown with --help and --usage only if they are not used for
26426 the command itself.
26427 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26428 'h' and 'u'.
26429
26430 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26431 const into "longarg". Change the type of "shortarg" to int.
26432
26433 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26434
26435 * boot/i386/pc/boot.S (boot_drive_check): New label.
26436
26437 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26438 macro.
26439
26440 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26441 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26442
26443 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26444
26445 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26446 When turning off Gate A20, skip the check and return immediately,
26447 because this is not fatal usually.
26448
26449 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26450
26451 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26452 be 0x7C00 instead of 0x8000.
26453
26454 * boot/i386/pc/pxeboot.S: Rewritten.
26455
26456 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26457 EXT_C.
26458 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26459 result.
26460
26461 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26462
26463 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26464 robustness. This routine now supports a BIOS call and System
26465 Control Port A to modify the gate A20.
26466
26467 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26468 Increased to 0x440.
26469
26470 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26471
26472 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26473 device path and resulting ihandle.
26474 (grub_ofdisk_close): dprintf the ihandle being closed.
26475 (grub_ofdisk_read): dprintf function parameters.
26476 * kern/mm.c (grub_mm_init_region): Likewise.
26477 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26478 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26479 size, and boot arguments.
26480 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26481 before loading into memory.
26482 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26483 before loading into memory.
26484
26485 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26486
26487 * kern/mm.c: Added much documentation.
26488 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26489 8, set to 5 instead of 8.
26490
26491 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26492
26493 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26494
26495 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26496 (grub_mkdevicemap_SOURCES): New variable.
26497
26498 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26499 lib/device.c of GRUB Legacy.
26500
26501 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26502
26503 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26504 instead of PATH is NULL.
26505
26506 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26507
26508 * commands/cmp.c (BUFFER_SIZE): New macro.
26509 (grub_cmd_cmp): Close the right file at the right time. Compare
26510 only data just read. Don't report files of different size as
26511 identical. Dynamically allocate buffers. Move variable
26512 declarations at the beginning of function.
26513
26514 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26515
26516 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26517 reverse.
26518
26519 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26520
26521 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26522 when backspace is pressed at beginning of line.
26523
26524 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26525
26526 * DISTLIST: Added genfslist.sh.
26527
26528 * normal/main.c (fs_module_list): New variable.
26529 (autoload_fs_module): New function.
26530 (read_fs_list): Likewise.
26531 (grub_normal_execute): Call read_fs_list.
26532
26533 * kern/fs.c (grub_fs_autoload_hook): New variable.
26534 (grub_fs_probe): Added support for auto-loading.
26535
26536 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26537 (grub_fs_module_list_t): New type.
26538
26539 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26540 (grub_fs_autoload_hook): New prototype.
26541
26542 * genfslist.sh: New file.
26543
26544 * genmk.rb: Added a rule to generate a filesystem list.
26545
26546 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26547
26548 * configure.ac: Fix the test for cross-compiling.
26549
26550 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26551 define GRUB_UTIL anymore.
26552
26553 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26554 so this function works on other systems than just big endian.
26555 (load_modules): Likewise.
26556 (add_segments): Likewise.
26557
26558 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26559
26560 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26561 contains `l' modifier, get a long from va_arg().
26562
26563 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26564
26565 * kern/mm.c (grub_free): If the next free block which is being
26566 merged is the first free block, set the first block to the block
26567 being freed.
26568 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26569
26570 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26571
26572 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26573 `grub_ieee1275_chosen'.
26574
26575 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26576
26577 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26578 (grub_ieee1275_chosen): New variable.
26579 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26580 `chosen'.
26581 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26582 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26583 Rename first argument to `phandle' for consistency.
26584 (grub_ieee1275_get_property_length): Likewise.
26585 (grub_ieee1275_next_property): Likewise. Change type of first argument
26586 to grub_ieee1275_phandle_t.
26587 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26588 Move export next to declaration.
26589 (grub_ieee1275_chosen): New variable.
26590 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26591 Correct cosmetic typo.
26592 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26593 `grub_ieee1275_chosen'.
26594 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26595 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26596 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26597 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26598 `grub_ieee1275_chosen'.
26599
26600 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26601
26602 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26603 /chosen/bootargs.
26604 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26605 /chosen/bootargs as "variable=value" pairs.
26606
26607 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26608
26609 * include/grub/misc.h (grub_dprintf): New macro.
26610 (grub_real_dprintf): New prototype.
26611 (grub_strword): Likewise.
26612 (grub_iswordseparator): Likewise.
26613 * kern/misc.c (grub_real_dprintf): New function.
26614 (grub_strword): Likewise.
26615 (grub_iswordseparator): Likewise.
26616
26617 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26618
26619 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26620 (roundup): Remove macro.
26621 (grub_ieee1275_flags): Make static.
26622 (grub_ieee1275_realmode): Remove.
26623 (grub_ieee1275_test_flag): New function.
26624 (grub_ieee1275_set_flag): Likewise.
26625 (find_options): Rename to `grub_ieee1275_find_options'; update
26626 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26627 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26628 (cmain): New prototype.
26629 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26630 `grub_ieee1275_flags' directly.
26631 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26632 machine/biosdisk.h.
26633 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26634 Don't include grub/machine/init.h.
26635 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26636 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26637 Remove prototype.
26638 (grub_ieee1275_realmode): Likewise.
26639 (grub_ieee1275_flag): New enum.
26640 (grub_ieee1275_test_flag): New prototype.
26641 (grub_ieee1275_set_flag): New prototype.
26642 * include/grub/powerpc/ieee1275/init.h: Remove file.
26643 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26644 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26645 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26646 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26647 comment.
26648 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26649 `grub_ieee1275_test_flag'.
26650 (grub_ieee1275_encode_devname): Likewise.
26651
26652 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26653
26654 * include/grub/powerpc/ieee1275/ieee1275.h
26655 (grub_ieee1275_encode_devname): New prototype.
26656 (grub_ieee1275_get_filename): Likewise.
26657 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26658 function.
26659 (grub_set_prefix): Likewise.
26660 (grub_machine_init): Call grub_set_prefix.
26661 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26662 (grub_parse_type): New enum.
26663 (grub_ieee1275_get_devargs): New function.
26664 (grub_ieee1275_get_devname): Likewise.
26665 (grub_ieee1275_parse_args): Likewise.
26666 (grub_ieee1275_get_filename): Likewise.
26667 (grub_ieee1275_encode_devname): Likewise.
26668
26669 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26670
26671 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26672 `grub_loader_unset'.
26673
26674 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26675
26676 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26677 instead of grub_ieee1275_interpret.
26678 (grub_halt_init): New function.
26679 (grub_halt_fini): Likewise.
26680 (GRUB_MOD_INIT): Correct message grammar.
26681 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26682 instead of grub_ieee1275_interpret.
26683 (grub_reboot_init): New function.
26684 (grub_reboot_fini): Likewise.
26685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26686 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26687 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26688 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26689 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26690 function.
26691 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26692 Add prototype.
26693 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26694 prototype.
26695 (grub_halt): Likewise.
26696 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26697 (cmain): Remove __attribute__((unused)).
26698 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26699 (grub_heap_len): Likewise.
26700 (grub_machine_fini): New function.
26701 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26702 (grub_halt): Likewise.
26703 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26704 function.
26705 * util/powerpc/ieee1275/misc.c: New file.
26706
26707 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26708
26709 * DISTLIST: New file.
26710 * gendistlist.sh: Likewise.
26711
26712 * Makefile.in (COMMON_DISTFILES): Removed.
26713 (BOOT_DISTFILES): Likewise.
26714 (CONF_DISTFILES): Likewise.
26715 (DISK_DISTFILES): Likewise.
26716 (FS_DISTFILES): Likewise.
26717 (INCLUDE_DISTFILES): Likewise.
26718 (KERN_DISTFILES): Likewise.
26719 (LOADER_DISTFILES): Likewise.
26720 (TERM_DISTFILES): Likewise.
26721 (UTIL_DISTFILES): Likewise.
26722 (DISTFILES): Likewise.
26723 (uninstall): Uninstall files in $(pkgdata_DATA).
26724 (DISTLIST): New target.
26725 (distdir): Use the contents of the file DISTLIST to get a list of
26726 distributed files.
26727
26728 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26729
26730 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26731 descriptor. This is ported from GRUB Legacy.
26732
26733 * gencmdlist.sh: Added an extra semicolon to make it work with
26734 old sed versions. Reported by Robert Bihlmeyer
26735 <robbe@orcus.priv.at>.
26736
26737 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26738
26739 Automatic loading of commands is supported.
26740
26741 * normal/main.c (read_command_list): New function.
26742 (grub_normal_execute): Call read_command_list.
26743
26744 * normal/command.c (grub_register_command): Return zero or CMD.
26745 Allocate CMD->NAME from the heap.
26746 Initialize CMD->MODULE_NAME to zero.
26747 Find the same name as well. If the same command is found and it is
26748 a dummy command, overwrite members. If it is not a dummy command,
26749 return zero.
26750 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26751 (grub_command_find): If a dummy command is found, load a module
26752 and retry to find a command only once.
26753
26754 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26755 make sure that each command is loaded.
26756
26757 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26758 macro.
26759 (struct grub_command): Remove const from the member `name'.
26760 Add a new member `module_name'.
26761 (grub_register_command): Return grub_command_t.
26762
26763 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26764 sure that each command is loaded.
26765
26766 * genmk.rb (PModule::rule): Specify a module name without the
26767 suffix ".mod" to gencmdlist.sh.
26768
26769 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26770
26771 * gencmdlist.sh: New file.
26772
26773 * genmk.rb (PModule::rule): Generate a rule for a command list.
26774 Clean command.lst.
26775 Generate command.lst from $(COMMANDFILES).
26776
26777 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26778 (DATA): Added $(pkgdata_DATA).
26779 (install-local): Install files in $(pkgdata_DATA).
26780
26781 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26782
26783 * term/i386/pc/vga.c (debug_command): Removed.
26784 (GRUB_MOD_INIT): Do not register the command "debug".
26785
26786 From Hollis Blanchard:
26787 * commands/configfile.c: New file.
26788 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26789 commands/configfile.c.
26790 (pkgdata_MODULES): Added configfile.mod.
26791 (configfile_mod_SOURCES): New variable.
26792 (configfile_mod_CFLAGS): Likewise.
26793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26794 commands/configfile.c.
26795 (pkgdata_MODULES): Added configfile.mod.
26796 (configfile_mod_SOURCES): New variable.
26797 (configfile_mod_CFLAGS): Likewise.
26798 * util/grub-emu.c (main): Call grub_configfile_init and
26799 grub_configfile_fini.
26800 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26801 prototype.
26802 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26803
26804 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26805
26806 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26807 address.
26808
26809 * commands/help.c (grub_cmd_help): Do not print newlines after
26810 the last command in print_command_help.
26811
26812 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26813
26814 * commands/default.h: New file.
26815 * commands/timeout.h: Likewise.
26816 * normal/context.c: Likewise.
26817
26818 * util/misc.c: Do not include sys/times.h.
26819 Include sys/time.h and grub/machine/time.h.
26820 (grub_get_rtc): Rewritten with gettimeofday.
26821
26822 * util/grub-emu.c (main): Call grub_default_init and
26823 grub_timeout_init before grub_normal_init, and call
26824 grub_timeout_fini and grub_default_fini after grub_main.
26825
26826 * util/console.c (grub_ncurses_checkkey): Return the read
26827 character or -1.
26828
26829 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26830 timeouts.
26831
26832 * normal/main.c (read_config_file): Push MENU. If this fails,
26833 print an error and wait for a user input.
26834 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26835 If a menu is empty or an error occurs, pop MENU.
26836 (grub_normal_execute): Pop and free MENU after grub_menu_run
26837 returns.
26838
26839 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26840
26841 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26842 include time.h.
26843 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26844 without GRUB_UTIL.
26845 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26846 time.h.
26847 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26848 without GRUB_UTIL.
26849
26850 * include/grub/normal.h (struct grub_menu_list): New struct.
26851 (grub_menu_list_t): New type.
26852 (struct grub_context): New struct.
26853 (grub_context_t): New type.
26854 (grub_register_command): Got rid of EXPORT_FUNC.
26855 (grub_unregister_command): Likewise.
26856 (grub_context_get): New prototype.
26857 (grub_context_get_current_menu): Likewise.
26858 (grub_context_push_menu): Likewise.
26859 (grub_context_pop_menu): Likewise.
26860 [GRUB_UTIL] (grub_default_init): Likewise.
26861 [GRUB_UTIL] (grub_default_fini): Likewise.
26862 [GRUB_UTIL] (grub_timeout_init): Likewise.
26863 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26864
26865 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26866 commands/timeout.c and normal/context.c.
26867 (pkgdata_MODULES): Added default.mod and timeout.mod.
26868 (normal_mod_SOURCES): Added normal/context.c.
26869 (default_mod_SOURCES): New variable.
26870 (default_mod_CFLAGS): Likewise.
26871 (timeout_mod_SOURCES): Likewise.
26872 (timeout_mod_CFLAGS): Likewise.
26873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26874 conf/i386-pc.rmk.
26875 (pkgdata_MODULES): Added default.mod and timeout.mod.
26876 (normal_mod_SOURCES): Added normal/context.c.
26877 (default_mod_SOURCES): New variable.
26878 (default_mod_CFLAGS): Likewise.
26879 (timeout_mod_SOURCES): Likewise.
26880 (timeout_mod_CFLAGS): Likewise.
26881
26882 * Makefile.in (all-local): Added $(MKFILES).
26883
26884 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26885
26886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26887 (grub_emu_SOURCES): Likewise.
26888 (pkgdata_MODULES): Add `sun.mod'.
26889 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26891 `partmap/sun.c'.
26892 (pkgdata_MODULES): Add `sun.mod'.
26893 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26894 * include/grub/partition.h (grub_sun_partition_map_init): New
26895 prototype.
26896 (grub_sun_partition_map_fini): Likewise.
26897 * partmap/sun.c: New file.
26898 * util/grub-emu.c (main): Initialize and de-initialize the sun
26899 partitionmap support.
26900
26901 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26902
26903 This implements an Emacs-like menu entry editor.
26904
26905 * normal/menu_entry.c: New file.
26906
26907 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26908 characters to ASCII.
26909 (saved_char): New variable.
26910 (grub_ncurses_checkkey): Rewritten completely.
26911 (grub_ncurses_getkey): Likewise.
26912 (grub_ncurses_init): Call raw instead of cbreak.
26913
26914 * normal/menu.c (print_entry): Do not put a space.
26915 (init_page): Renamed to ...
26916 (grub_menu_init_page): ... this. All callers changed.
26917 (edit_menu_entry): Removed.
26918 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26919
26920 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26921
26922 * kern/misc.c (grub_vprintf): Call grub_refresh.
26923
26924 * normal/menu.c (DISP_LEFT): Renamed to ...
26925 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26926 * normal/menu.c (DISP_UP): Renamed to ...
26927 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26928 * normal/menu.c (DISP_RIGHT): Renamed to ...
26929 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26930 * normal/menu.c (DISP_DOWN): Renamed to ...
26931 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26932 * normal/menu.c (DISP_HLINE): Renamed to ...
26933 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26934 * normal/menu.c (DISP_VLINE): Renamed to ...
26935 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26936 * normal/menu.c (DISP_UL): Renamed to ...
26937 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26938 * normal/menu.c (DISP_UR): Renamed to ...
26939 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26940 * normal/menu.c (DISP_LL): Renamed to ...
26941 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26942 * normal/menu.c (DISP_LR): Renamed to ...
26943 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26944 * normal/menu.c (TERM_WIDTH): Renamed to ...
26945 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26946 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26947 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26948 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26949 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26950 * normal/menu.c (TERM_MARGIN): Renamed to ...
26951 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26952 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26953 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26954 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26955 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26956 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26957 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26958 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26959 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26960 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26961 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26962 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26963 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26964 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26965 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26966 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26967 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26968 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26969 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26970 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26971 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26972 All callers changed.
26973
26974 * include/grub/normal.h: New prototype.
26975
26976 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26977 normal/menu_entry.c.
26978 (normal_mod_SOURCES): Likewise.
26979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26980 (normal_mod_SOURCES): Likewise.
26981
26982 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26983
26984 * include/grub/normal.h (grub_halt_init): New prototype.
26985 (grub_halt_fini): Likewise.
26986 (grub_reboot_init): Likewise.
26987 (grub_reboot_fini): Likewise.
26988
26989 * util/grub-emu.c: Include signal.h.
26990 (main_env): New global variable.
26991 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26992 catch C-c.
26993 (grub_machine_fini): New function.
26994 (main): Call grub_halt_init and grub_reboot_init before
26995 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26996 Call setjmp with MAIN_ENV to go back afterwards.
26997 Call grub_machine_fini right before return.
26998
26999 * include/grub/util/misc.h: Include setjmp.h.
27000 (main_env): New prototype.
27001
27002 * include/grub/kernel.h (grub_machine_fini): New prototype.
27003 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27004 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27005
27006 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27007 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27008 * term/i386/pc/console.c (grub_console_fini): Likewise.
27009
27010 * util/i386/pc/misc.c: New file.
27011
27012 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27013 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27014 commands/i386/pc/reboot.c.
27015
27016 2005-02-14 Guillem Jover <guillem@hadrons.org>
27017
27018 * include/grub/dl.h (grub_dl_check_header): New prototype.
27019 (grub_arch_dl_check_header): Change return type to grub_err_t,
27020 remove size parameter and export function. Update all callers.
27021 * kern/dl.c (grub_dl_check_header): New function.
27022 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27023 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27024 are inside the core.
27025 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27026 independent ELF header checks.
27027 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27028 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27029 `grub_dl_check_header' instead of explicit checks. Check for the
27030 ELF type.
27031 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27032 `grub_dl_check_header' instead of explicit checks. Remove arch
27033 specific ELF header checks.
27034
27035 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27036 argument SIZE.
27037
27038 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27039
27040 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27041 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27042
27043 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27044
27045 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
27046 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
27047 (part_map_iterate): Clear `grub_errno' and return 0 if
27048 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
27049 * partmap/amiga.c (amiga_partition_map_iterate): Return
27050 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27051 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27052
27053 2005-02-01 Guillem Jover <guillem@hadrons.org>
27054
27055 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27056 help info.
27057
27058 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27059
27060 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27061 Removed prototype.
27062 (grub_rescue_cmd_linux): New prototype.
27063 (grub_rescue_cmd_initrd): Likewise.
27064 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27065 `bi_rec'.
27066 (grub_linux_release_mem): Release the memory for the initrd.
27067 (grub_load_linux): Renamed from this...
27068 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27069 Changed `entry' not to be static. Loop over memory regions to
27070 find another one when the default fails.
27071 (grub_rescue_cmd_initrd): New function.
27072 (grub_linux_init): Remove function.
27073 (grub_linux_fini): Likewise.
27074 (GRUB_MOD_INIT): Register `initrd'.
27075 (GRUB_MOD_FINI): Unregister `initrd'.
27076 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27077 Function removed.
27078 (grub_linux_normal_fini): Likewise.
27079 (GRUB_MOD_INIT): Register `initrd'.
27080 (GRUB_MOD_FINI): Unregister `initrd'.
27081
27082 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27083
27084 * commands/help.c: New file.
27085 * normal/arg.c (show_help): Renamed to...
27086 (grub_arg_show_help): ... this.
27087 * commands/i386/pc/halt.c: New file.
27088 * commands/i386/pc/reboot.c: Likewise.
27089 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27090 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27091 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27092 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27093 variables.
27094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27095 `commands/help.c'.
27096 (pkgdata_MODULES): Add `help.mod'.
27097 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27098 * grub/i386/pc/init.h (grub_reboot): New prototype.
27099 (grub_halt): Likewise.
27100 * include/grub/normal.h (grub_arg_show_help): New prototype.
27101 (grub_help_init): Likewise.
27102 (grub_help_fini): Likewise.
27103 * util/grub-emu.c (main): Initialize and deinitialize the help
27104 command.
27105
27106 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27107
27108 * normal/command.c (grub_command_init): Fixed the description of
27109 the `set' and `unset' commands.
27110
27111 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27112
27113 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27114 function.
27115 * commands/ieee1275/halt.c: New file.
27116 * commands/ieee1275/reboot.c: Likewise.
27117 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27118 `__attribute__ ((unused))'. Some GCS related fixed.
27119 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27120 (grub_suspend_fini): Likewise.
27121 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27122 and `halt.mod'.
27123 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27124 (halt_mod_CFLAGS): New variables.
27125 * include/grub/powerpc/ieee1275/ieee1275.h
27126 (grub_ieee1275_interpret): New prototype.
27127
27128 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27129
27130 * include/grub/misc.h (memmove): New prototype.
27131 (memcpy): Likewise.
27132
27133 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27134
27135 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27136 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27137
27138 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27139
27140 * kern/misc.c (grub_strndup): Function rewritten.
27141
27142 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27143
27144 * normal/menu.c (TERM_WIDTH): Macro redefined.
27145 (TERM_TOP_BORDER_Y): Likewise.
27146 (draw_border): Replaced while-loop by a for-loop. Make the number
27147 of lines consistent with the number of lines displayed in
27148 print_entries. Added a margin below the rectangle.
27149 (print_entry): Make the entry fit in the rectangle.
27150 (print_entries): Display the scroll arrows next to the right
27151 border.
27152
27153 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27154
27155 * fs/minix.c (grub_minix_find_file): Reserve more space for
27156 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27157 `grub_strncpy' to copy `path' into it.
27158
27159 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27160
27161 Add the loopback device, a device via which files can be accessed
27162 as devices.
27163
27164 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27165 (pkgdata_MODULES): Add loopback.mod.
27166 (loopback_mod_SOURCES): New variable.
27167 (loopback_mod_CFLAGS): Likewise.
27168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27169 `disk/loopback.c'.
27170 (pkgdata_MODULES): Add loopback.mod.
27171 (loopback_mod_SOURCES): New variable.
27172 (loopback_mod_CFLAGS): Likewise.
27173 * disk/loopback.c: new file.
27174 * include/grub/normal.h (grub_loop_init): New prototype.
27175 (grub_loop_fini): New prototype.
27176 * util/grub-emu.c (main): Initialize and de-initialize loopback
27177 support.
27178 * include/grub/disk.h (grub_disk_dev_id): Add
27179 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27180
27181 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27182
27183 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27184 function.
27185 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27186 (suspend_mod_SOURCES): New variable.
27187 (suspend_mod_CFLAGS): Likewise.
27188 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27189 New prototype.
27190 * commands/ieee1275/suspend.c: New file.
27191
27192 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27193
27194 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
27195 ((unused))' to `__attribute__ ((used))'.
27196 (GRUB_MOD_FINI): Likewise.
27197 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27198 * genmk.rb (PModule): Assign space to common symbols when linking
27199 modules.
27200
27201 2005-01-20 Marco Gerards <metgerards@student.han.nl>
27202
27203 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27204 `unsigned' arguments to `grub_size_t'.
27205 (grub_malloc): Likewise.
27206 (grub_realloc): Likewise.
27207 (grub_memalign): Likewise.
27208 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27209 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27210 * util/misc.c (grub_malloc): Likewise.
27211 (grub_realloc): Likewise.
27212 * kern/mm.c (get_header_from_pointer): Change the casts to
27213 `unsigned' into a cast to `grub_size_t'.
27214
27215 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27216 point to `currnode' when `currnode' is changed.
27217
27218 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27219 Schottelius <nico-linux@schottelius.org>.
27220
27221 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27222
27223 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27224 (note_path): Remove variable.
27225 (GRUB_IEEE1275_NOTE_NAME): New macro.
27226 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27227 (grub_ieee1275_note_hdr): New structure.
27228 (grub_ieee1275_note_desc): Likewise.
27229 (grub_ieee1275_note): Likewise.
27230 (load_note): Remove `dir' argument. All callers updated. Remove
27231 `note_img' and `path'. Do not load a file from `note_path'.
27232 Initialize a struct grub_ieee1275_note and write that to `out'.
27233 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27234
27235 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27236
27237 * util/misc.c (grub_util_read_image): Revert last change. It
27238 called `grub_util_read_at', which seeks from the beginning of the
27239 file.
27240
27241 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27242
27243 * TODO: Add note about endianness in grub-mkimage.
27244 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27245 section.
27246 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27247 (grub_mkimage_SOURCES): New target.
27248 * include/grub/kernel.h (grub_start_addr): Remove variable.
27249 (grub_end_addr): Likewise.
27250 (grub_total_module_size): Likewise.
27251 (grub_kernel_image_size): Likewise.
27252 (GRUB_MODULE_MAGIC): New constant.
27253 (grub_module_info): New structure.
27254 (grub_arch_modules_addr): New prototype.
27255 (grub_get_end_addr): Remove prototype.
27256 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27257 * include/grub/powerpc/ieee1275/kernel.h: New file.
27258 * include/grub/util/misc.h (grub_util_get_fp_size): New
27259 prototype.
27260 (grub_util_read_at): Likewise.
27261 (grub_util_write_image_at): Likewise.
27262 * kern/main.c (grub_get_end_addr): Remove function.
27263 (grub_load_modules): Call grub_arch_modules_addr instead of using
27264 grub_end_addr. Look for a grub_module_info struct in memory. Use
27265 the grub_module_info fields instead of calling grub_get_end_addr
27266 as loop conditions. Move grub_add_unused_region code here.
27267 (grub_add_unused_region): Remove function.
27268 * kern/i386/pc/init.c: Include grub/cache.h.
27269 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27270 one call to add_mem_region.
27271 (grub_arch_modules_addr): New function.
27272 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27273 (grub_total_module_size): Likewise.
27274 Include grub/machine/kernel.h.
27275 (grub_arch_modules_addr): New function.
27276 * util/grub-emu.c (grub_end_addr): Remove variable.
27277 (grub_total_module_size): Likewise.
27278 (grub_arch_modules_addr): New function.
27279 * util/misc.c: Include unistd.h.
27280 (grub_util_get_fp_size): New function.
27281 (grub_util_read_at): Likewise.
27282 (grub_util_write_image_at): Likewise.
27283 (grub_util_read_image): Call grub_util_read_at.
27284 (grub_util_write_image): Call grub_util_write_image_at.
27285 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27286 additional memory in kernel_img for a struct grub_module_info.
27287 Fill in that grub_module_info.
27288 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27289
27290 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27291
27292 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27293 New function.
27294 * include/grub/powerpc/ieee1275/ieee1275.h
27295 (grub_ieee1275_milliseconds): New prototype.
27296 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27297 Change to 1000.
27298 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27299 grub_ieee1275_milliseconds.
27300
27301 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27302
27303 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27304 variable.
27305 (find_options): New function.
27306 (cmain): Call find_options.
27307 * include/grub/powerpc/ieee1275/ieee1275.h
27308 (grub_ieee1275_realmode): New extern variable.
27309 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27310 grub_map if grub_ieee1275_realmode is false.
27311
27312 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27313
27314 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27315 lines are inserted and make it work like readline. Reported by
27316 Vincent Pelletier <subdino2004@yahoo.fr>.
27317
27318 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27319
27320 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27321
27322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27323 `kern/powerpc/cache.S'.
27324
27325 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27326
27327 * genmk.rb: Handle the `Program' class in the main loop. Written
27328 by Johan Rydberg <jrydberg@gnu.org>.
27329 (Program): New class.
27330 (programs): New variable.
27331 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27332 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27333 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27334 (help_arch): Function removed.
27335 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27336 `powerpc/libgcc.h' and `loader.h'.
27337 (pkgdata_PROGRAMS): New variable.
27338 (sbin_UTILITIES): Variable removed.
27339 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27340 (grubof_SOURCES): Variable re-defined so it only includes the
27341 core functionality.
27342 (grubof_CFLAGS): Remove `-DGRUBOF'.
27343 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27344 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27345 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27346 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27347 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27348 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27349 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27350 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27351 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27352 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27353 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27354 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27355 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27356 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27357 (pc_mod_CFLAGS): New variables.
27358 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27359 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27360 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27361 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27362 Moved from here...
27363 * include/grub/i386/pc/init.h (grub_os_area_addr)
27364 (rub_os_area_size): ... to here.
27365 * include/grub/powerpc/ieee1275/ieee1275.h
27366 (grub_ieee1275_entry_fn): Export symbol.
27367 * include/grub/powerpc/ieee1275/init.h: New file.
27368 * include/grub/powerpc/libgcc.h: Likewise.
27369 * include/grub/cache.h: Likewise.
27370 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27371 <hollis@penguinppc.org>.
27372 * kern/dl.c: Include <grub/cache.h>.
27373 (grub_dl_flush_cache): New function.
27374 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27375 for this module.
27376 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27377 (grub_console_init): Removed prototypes.
27378 (grub_machine_init): Don't initialize the modules anymore.
27379 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27380 static.
27381 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27382 Macro undef removed.
27383 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27384 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27385 relocation `R_PPC_REL32'. Return an error when the relocation is
27386 unknown.
27387 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27388 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27389 * util/misc.c (grub_arch_sync_caches): Likewise.
27390
27391 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27392
27393 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27394 `symlist.c', add `grubof_symlist.c'.
27395 (symlist.c): Variable removed.
27396 (grubof_HEADERS): Variable added.
27397 (grubof_symlist.c): New target.
27398 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27399 `kernel_img_HEADERS'.
27400 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27401 * kern/powerpc/dl.c: New file.
27402 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27403 Function removed.
27404 (grub_arch_dl_relocate_symbols): Likewise.
27405 (grub_register_exported_symbols): Likewise.
27406
27407 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27408
27409 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27410 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27411 to fail instead. Reported by Vincent Pelletier
27412 <subdino2004@yahoo.fr>.
27413
27414 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27415 it is not allocated. Reported by Vincent Pelletier
27416 <subdino2004@yahoo.fr>.
27417
27418 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27419 output so the output looks better.
27420
27421 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27422
27423 Modulize the partition map support and add support for the amiga
27424 partition map.
27425
27426 * commands/ls.c: Include <grub/partition.h> instead of
27427 <grub/machine/partition.h>.
27428 * kern/disk.c: Likewise.
27429 * kern/rescue.c: Likewise.
27430 * loader/i386/pc/chainloader.c: Likewise.
27431 * normal/cmdline.c: Likewise.
27432 * kern/powerpc/ieee1275/init.c: Likewise.
27433 (grub_machine_init): Call `grub_pc_partition_map_init',
27434 `grub_amiga_partition_map_init' and
27435 `grub_apple_partition_map_init'.
27436 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27437 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27438 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27439 `partition.h' and `pc_partition.h'.
27440 (grub_setup_SOURCES): Remove
27441 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27442 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27443 (grub_emu_SOURCES): Likewise.
27444 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27445 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27446 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27448 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27449 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27450 (grubof_SOURCES): Likewise.
27451 * disk/i386/pc/partition.c: File removed.
27452 * disk/powerpc/ieee1275/partition.c: Likewise.
27453 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27454 * include/grub/i386/pc/partition.h: Likewise.
27455 * kern/partition.c: New file.
27456 * partmap/amiga.c: Likewise.
27457 * partmap/apple.c: Likewise.
27458 * partmap/pc.c: Likewise.
27459 * include/grub/partition.h: Likewise..
27460 * include/grub/pc_partition.h: Likewise.
27461 * util/grub-emu.c: Include <grub/partition.h> instead of
27462 <grub/machine/partition.h>.
27463 (main): Call `grub_pc_partition_map_init',
27464 `grub_amiga_partition_map_init' and
27465 `grub_apple_partition_map_init' and deinitialize afterwards.
27466 * util/i386/pc/biosdisk.c: Include `#include
27467 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27468 `<grub/machine/partition.h>'.
27469 * util/i386/pc/grub-setup.c: Likewise.
27470 * util/i386/pc/biosdisk.c: Likewise.
27471 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27472 partition information in case of a PC partition.
27473 * util/i386/pc/grub-setup.c: Include `#include
27474 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27475 `<grub/machine/partition.h>'.
27476 (setup): Only access the PC specific partition information in case
27477 of a PC partition.
27478
27479 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27480
27481 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27482 (grub_longjmp): Likewise.
27483 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27484 20.
27485 * normal/powerpc/setjmp.S: New file.
27486 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27487 `normal/powerpc/setjmp.S'.
27488 (grubof_CFLAGS): Add `-DGRUBOF'.
27489 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27490 [GRUB_UTIL && !GRUBOF].
27491
27492 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27493
27494 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27495 property named `name'. Correctly handle the error returned by
27496 `grub_ieee1275_finddevice' if a device can not be opened.
27497
27498 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27499
27500 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27501 `actual' for negativity.
27502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27503 kern/fshelp.c.
27504
27505 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27506
27507 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27508 (PAGE_OFFSET): New macro.
27509 (CRTC_ADDR_PORT): Likewise.
27510 (CRTC_DATA_PORT): Likewise.
27511 (START_ADDR_HIGH_REGISTER): Likewise.
27512 (START_ADDR_LOW_REGISTER): Likewise.
27513 (GRAPHICS_ADDR_PORT): Likewise.
27514 (GRAPHICS_DATA_PORT): Likewise.
27515 (READ_MAP_REGISTER): Likewise.
27516 (INPUT_STATUS1_REGISTER): Likewise.
27517 (INPUT_STATUS1_VERTR_BIT): Likewise.
27518 (page): New variable.
27519 (wait_vretrace): New function.
27520 (set_read_map): Likewise.
27521 (set_start_address): Likewise.
27522 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27523 the right page.
27524 (check_vga_mem): Take the page into account.
27525 (write_char): Likewise.
27526 (write_cursor): Likewise.
27527 (scroll_up): Likewise. Copy the page to the page that is not
27528 shown and switch between both pages.
27529 (grub_vga_putchar): Fix off by one error.
27530 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27531 account.
27532
27533 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27534
27535 Add support for iso9660 (including rockridge).
27536
27537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27538 (iso9660_mod_SOURCES): New variable.
27539 (iso9660_mod_CFLAGS): Likewise.
27540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27541 * include/grub/fs.h (grub_iso9660_init): New prototype.
27542 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27543 * fs/iso9660.c: New file.
27544
27545 * include/grub/misc.h (grub_strncat): New prototype.
27546 * kern/misc.c (grub_strncat): New function.
27547
27548 * fs/hfs.c (grub_hfs_mount): Translate the error
27549 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27550 * fs/jfs.c (grub_jfs_mount): Likewise.
27551 * fs/ufs.c (grub_ufs_mount): Likewise.
27552
27553 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27554
27555 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27556 which initialized BAT registers.
27557 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27558 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27559 Move from here...
27560 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27561 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27562 ... to here.
27563 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27564 (grub_mapclaim): Likewise.
27565 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27566 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27567 hand.
27568
27569 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27570
27571 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27572 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27573 -ffreestanding and -msoft-float.
27574
27575 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27576
27577 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27578 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27579 set in grub_ieee1275_flags.
27580
27581 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27582
27583 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27584 prototype.
27585 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27586 grub_console_init first.
27587 Change the memory range used for grub_ieee1275_claim and
27588 grub_mm_init_region.
27589 Print an error message if the claim fails.
27590 Include <grub/misc.h>.
27591
27592 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27593
27594 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27595 Call grub_children_iterate for device nodes of type `scsi',
27596 `ide', or `ata'.
27597 (grub_ofdisk_open): Remove manual device alias resolution.
27598 Fix memory leak when device cannot be opened.
27599 * include/grub/powerpc/ieee1275/ieee1275.h
27600 (grub_children_iterate): New prototype.
27601 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27602 New function.
27603 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27604 Return -1 if args.size was -1.
27605
27606 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27607
27608 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27609 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27610 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27611 Open Firmware's memory for it; claim memory from _start to _end.
27612 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27613 (_end): New extern.
27614 (_start): Zero BSS from __bss_start to _end.
27615 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27616 New extern.
27617 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27618
27619 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27620
27621 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27622 -1 if args.base was -1.
27623
27624 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27625
27626 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27627 escape sequence instead of a literal ^L. Also call
27628 grub_ofconsole_gotoxy.
27629
27630 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27631
27632 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27633 void * arguments to grub_addr_t. All callers updated. Also make
27634 the `result' argument optional.
27635 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27636 All callers updated.
27637
27638 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27639
27640 * commands/ls.c (grub_ls_list_files): Use the string following the
27641 initial ')', if present, as the filesystem path.
27642 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27643
27644 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27645
27646 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27647
27648 Make the source code of the menu interface more readable.
27649
27650 * normal/menu.c: Include grub/mm.h.
27651 (TERM_WIDTH): New macro.
27652 (TERM_HEIGHT): Likewise.
27653 (TERM_INFO_HEIGHT): Likewise.
27654 (TERM_MARGIN): Likewise.
27655 (TERM_SCROLL_WIDTH): Likewise.
27656 (TERM_TOP_BORDER_Y): Likewise.
27657 (TERM_LEFT_BORDER_X): Likewise.
27658 (TERM_BORDER_WIDTH): Likewise.
27659 (TERM_MESSAGE_HEIGHT): Likewise.
27660 (TERM_BORDER_HEIGHT): Likewise.
27661 (TERM_NUM_ENTRIES): Likewise.
27662 (TERM_FIRST_ENTRY_Y): Likewise.
27663 (TERM_ENTRY_WIDTH): Likewise.
27664 (TERM_CURSOR_X): Likewise.
27665 (draw_border): Use macros instead of magic numbers.
27666 (print_entry): Likewise.
27667 (print_entries): Likewise.
27668 (run_menu): Likewise. Also, handle the key 'e'.
27669 (run_menu_entry): Ignore empty command lines.
27670 (print_message): Added a new argument EDIT. If EDIT is true,
27671 print a different message.
27672 (init_page): Likewise.
27673 (edit_menu_entry): New function. Not implemented yet.
27674
27675 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27676
27677 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27678 can be loaded from normal mode.
27679
27680 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27681 `multiboot.mod'.
27682 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27683 (multiboot_mod_CFLAGS): New variables.
27684 * loader/i386/pc/linux_normal.c: New file.
27685 * loader/i386/pc/multiboot_normal.c: Likewise.
27686
27687 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27688 attribute `unused'.
27689
27690 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27691 `fdiro' to read the mode information from instead of `diro'.
27692
27693 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27694 looking up a symlink.
27695
27696 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27697 macro.
27698 * normal/command.c (grub_command_execute): Don't parse the
27699 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27700 flags of the command.
27701
27702 * normal/menu.c (grub_menu_run): Fix typo.
27703
27704 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27705
27706 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27707
27708 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27709 `y + 1' instead of `y - 1'.
27710
27711 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27712
27713 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27714
27715 From Hollis Blanchard <hollis@penguinppc.org>:
27716 * kern/misc.c (memmove): New alias for grub_memmove.
27717 (memcmp): New alias for grub_memcmp.
27718 (memset): New alias for grub_memset.
27719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27720 Change "int handle" to "grub_ieee1275_phandle_t handle".
27721 * include/grub/powerpc/ieee1275/ieee1275.h
27722 (grub_ieee1275_get_property): Likewise.
27723
27724 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27725
27726 Added normal mode command `chainloader' as module chain.mod, which
27727 depends on normal.mod and _chain.mod.
27728
27729 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27730 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27731 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27732 Deleted prototype.
27733 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27734 but arguments parsing moved to ...
27735 (grub_chainloader_cmd): ... here. New function.
27736 * include/grub/i386/pc/chainloader.h: New file.
27737 * loader/i386/pc/chainloader_normal.c: Likewise.
27738
27739 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27740
27741 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27742 (grub_mkimage_LDFLAGS): Likewise.
27743 (grub_emu_SOURCES): Likewise.
27744 (kernel_img_HEADERS): Added fshelp.h.
27745 * fs/ext2.c: Include <grub/fshelp.h>.
27746 (FILETYPE_REG): New macro.
27747 (FILETYPE_INO_REG): Likewise.
27748 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27749 Changed all users.
27750 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27751 all users.
27752 (grub_fshelp_node): New struct.
27753 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27754 to a pointer.
27755 (grub_ext2_get_file_block): Removed function.
27756 (grub_ext2_read_block): New function.
27757 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27758 This function was written.
27759 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27760 (grub_ext2_find_file): Removed function.
27761 (grub_ext2_read_symlink): New function.
27762 (grub_ext2_iterate_dir): Likewise.
27763 (grub_ext2_open): Rewritten.
27764 (grub_ext2_dir): Rewritten.
27765 * include/grub/fshelp.h: New file.
27766 * fs/fshelp.c: Likewise.
27767
27768 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27769
27770 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27771 (print_message): Add a missing newline.
27772 (run_menu): Added timeout support.
27773 (run_menu_entry): New local function.
27774 (grub_menu_run): Added support for booting.
27775
27776 * kern/loader.c (grub_loader_is_loaded): New function.
27777
27778 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27779 (grub_get_rtc): Exported.
27780
27781 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27782 (grub_get_rtc): Exported.
27783
27784 * include/grub/normal.h (struct grub_command_list): Remove
27785 constant from the member `command'.
27786
27787 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27788
27789 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27790
27791 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27792
27793 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27794
27795 Add support for the JFS filesystem.
27796
27797 * fs/jfs.c: New file.
27798 * include/grub/fs.h (grub_jfs_init): New prototype.
27799 (grub_jfs_fini): New prototype.
27800 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27801 (grub_emu_SOURCES): Likewise.
27802 (pkgdata_MODULES): Add jfs.mod.
27803 (jfs_mod_SOURCES): New variable.
27804 (jfs_mod_CFLAGS): Likewise.
27805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27806 (grubof_SOURCES): Likewise.
27807 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27808
27809 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27810 endian to the host endian.
27811 (grub_fat_utf16_to_utf8): Move function from there...
27812 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27813 the endianness of the source string anymore.
27814 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27815
27816 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27817
27818 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27819 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27820 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27821 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27822
27823 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27824 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27825 for `node_found' and `it_dir'.
27826 (grub_hfs_dir): Add prototype for `dir_hook'.
27827
27828 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27829 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27830 and `indir32' to silence a gcc warning.
27831
27832 * include/grub/fs.h (grub_hfs_init): New prototype.
27833 (grub_hfs_fini): Likewise.
27834
27835
27836 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27837
27838 Each disk device has its own id now. This is useful to make use
27839 of multiple disk devices.
27840
27841 * include/grub/disk.h (grub_disk_dev_id): New enum.
27842 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27843 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27844
27845 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27846 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27847
27848 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27849 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27850
27851 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27852 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27853
27854 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27855 "id" which is used by the cache manager.
27856
27857 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27858 of just "GRUB".
27859
27860 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27861
27862 * fs/hfs.c: New file.
27863 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27864 (grub_emu_SOURCES): Likewise.
27865 (pkgdata_MODULES): Add hfs.mod.
27866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27867 (grubof_SOURCES): Likewise.
27868 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27869
27870 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27871 * kern/misc.c (grub_strncasecmp): Add function.
27872
27873 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27874
27875 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27876 with parentheses.
27877
27878 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27879 (grub_ext2_dir): In case the directory entry type is unknown, read
27880 it from the inode.
27881
27882 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27883
27884 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27885 grub_load_linux instead of grub_rescue_cmd_linux as second
27886 argument of grub_rescue_register_command.
27887
27888 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27889
27890 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27891
27892 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27893 function.
27894 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27895 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27896 `loader/powerpc/ieee1275/linux.c',
27897 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27898 * include/grub/powerpc/ieee1275/ieee1275.h
27899 (grub_ieee1275_release): New prototype.
27900 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27901 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27902 normal, boot, linux and linux_normal.
27903 * loader/powerpc/ieee1275/linux.c: New file.
27904 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27905
27906 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27907
27908 * normal/arg.c (grub_arg_parse): Correct error handling after
27909 reallocating the argumentlist (check if `argl' is not null instead
27910 of checking if `args' is not null).
27911 * kern/mm.c (grub_realloc): Return the same pointer when using the
27912 same region, instead of returning the header address.
27913
27914 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27915
27916 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27917 one block instead of two when looking for the initial partition.
27918 (grub_partition_probe): Initialize the local variable `p' with 0.
27919 Use base 10 for the grub_strtoul call.
27920 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27921 need for one local variable.
27922 (grub_strtoul): Don't add the new value to `num', instead of that
27923 just assign it.
27924
27925 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27926
27927 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27928 (pxeboot_img_SOURCES): New variable.
27929 (pxeboot_img_ASFLAGS): Likewise.
27930 (pxeboot_img_LDFLAGS): Likewise.
27931 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27932 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27933 <lode_leroy@hotmail.com>.
27934
27935 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27936
27937 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27938 there was no input.
27939
27940 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27941
27942 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27943 the history buffer logic.
27944
27945 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27946
27947 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27948 (FILETYPE_INO_SYMLINK): New macros.
27949 (grub_ext2_find_file): Check if the node is a directory using the
27950 inode stat information instead of using the filetype in the
27951 dirent. Exclude the first character of an absolute symlink.
27952 (grub_ext2_dir): Mask out the filetype part of the mode member of
27953 the inode.
27954
27955 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27956
27957 Add support for UFS version 1 and 2. Add support for the minix
27958 filesystem version 1 and 2, both the variants with 14 and 30 long
27959 filenames.
27960
27961 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27962 fs/minix.c.
27963 (grub_emu_SOURCES): Likewise.
27964 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27965 (ufs_mod_SOURCES): New variable.
27966 (ufs_mod_CFLAGS): Likewise.
27967 (minix_mod_SOURCES): Likewise.
27968 (minix_mod_CFLAGS): Likewise.
27969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27970 fs/minix.c.
27971 (grubof_SOURCES): Likewise.
27972 * fs/ufs.c: New file.
27973 * fs/minix.c: New file.
27974 * include/grub/fs.h (grub_ufs_init): New prototype.
27975 (grub_ufs_fini): Likewise.
27976 (grub_minix_init): Likewise.
27977 (grub_minix_fini): Likewise.
27978 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27979 minix fs.
27980
27981 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27982
27983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27984 commands/ls.c, commands/terminal.c, commands/boot.c,
27985 commands/cmp.c and commands/cat.c.
27986 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27987
27988 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27989 "env.h"
27990
27991 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27992
27993 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27994 and grub_, respectively. Because the conversion is trivial and
27995 mechanical, I omit the details here. Please refer to the CVS
27996 if you need more information.
27997
27998 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27999
28000 * include/pupa: Renamed to ...
28001 * include/grub: ... this.
28002 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28003 * util/i386/pc/grub-mkimage.c: ... this.
28004 * util/i386/pc/pupa-setup.c: Renamed to ...
28005 * util/i386/pc/grub-setup.c: ... this.
28006 * util/pupa-emu.c: Renamed to ...
28007 * util/grub-emu.c: ... this.
28008
28009 2004-03-29 Marco Gerards <metgerards@student.han.nl>
28010
28011 Add support for the newworld apple macintosh (PPC). This has been
28012 tested on the powerbook 2000 only. It only adds support for
28013 generic ieee1275 functions, console and disk support. This should
28014 be easy to port to other architectures with support for Open
28015 Firmware.
28016
28017 * configure.ac: Accept the powerpc as host_cpu. In the case of
28018 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28019 specific tests are only executed while building for the i386.
28020 Inverse test for crosscompile.
28021 * genmk.rb (Utility): Allow assembler files.
28022 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28023 * conf/powerpc-ieee1275.rmk: New file.
28024 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28025 * disk/powerpc/ieee1275/partition.c: Likewise.
28026 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28027 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28028 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28029 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28030 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28031 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28032 * include/pupa/powerpc/ieee1275/loader.h
28033 * include/pupa/powerpc/setjmp.h: Likewise.
28034 * include/pupa/powerpc/types.h: Likewise.
28035 * kern/powerpc/ieee1275/init.c: Likewise.
28036 * kern/powerpc/ieee1275/openfw.c: Likewise.
28037 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28038
28039 These files were written by Johan Rydberg
28040 (jrydberg@night.trouble.net) and I only modified them slightly.
28041
28042 * boot/powerpc/ieee1275/cmain.c: New file.
28043 * boot/powerpc/ieee1275/crt0.S: Likewise.
28044 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28045 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28046
28047 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28048
28049 * Makefile.in: Update copyright.
28050 * genmodsrc.sh: Likewise.
28051 * gensymlist.sh: Likewise.
28052 * term/i386/pc/vga.c: Indent correctly.
28053
28054 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28055 bugreporting address.
28056 * util/i386/pc/pupa-setup.c (usage): Likewise,
28057 (main): Call pupa_ext2_init and pupa_ext2_fini.
28058
28059 * fs/fat.c (log2): Renamed to ...
28060 (fat_log2): ... this.
28061 All callers changed.
28062 * kern/misc.c (memcpy): Alias to pupa_memmove.
28063 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28064 lvalue cast.
28065 * util/console.c (pupa_ncurses_fini): Return 0.
28066
28067 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28068 Move fail label here.
28069 [__GNU__]: Don't warn when using stat.
28070 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28071 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28072 long int. Use strtol instead of strtoul.
28073
28074 2004-03-14 Marco Gerards <metgerards@student.han.nl>
28075
28076 * commands/boot.c: New file.
28077 * commands/cat.c: Likewise.
28078 * commands/cmp.c: Likewise.
28079 * commands/ls.c: Likewise.
28080 * commands/terminal.c: Likewise.
28081 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28082 (pupa_register_command): Changed interface to match the new
28083 argument parser.
28084 (pupa_command_execute): Changed (almost rewritten) so it uses
28085 pupa_split_command. Added support for setting variables using the
28086 syntax `foo=bar'.
28087 (rescue_command): Changed to work with the new argument parser.
28088 (terminal_command): Moved from here to commands/terminal.c.
28089 (set_command): New function.
28090 (unset_command): New function.
28091 (insmod_command): New function.
28092 (rmmod_command): New function.
28093 (lsmod_command): New function.
28094 (pupa_command_init): Don't initialize the command terminal
28095 anymore. Initialize the commands set, unset, insmod, rmmod and
28096 lsmod.
28097 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28098 (kernel_img_HEADERS): Add arg.h and env.h.
28099 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28100 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28101 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28102 normal/arg.c.
28103 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28104 terminal.mod.
28105 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28106 (boot_mod_SOURCES): New variable.
28107 (terminal_mod_SOURCES): Likewise.
28108 (ls_mod_SOURCES): Likewise.
28109 (cmp_mod_SOURCES): Likewise.
28110 (cat_mod_SOURCES): Likewise.
28111
28112 * normal/arg.c: New file.
28113 * kern/env.c: Likewise.
28114 * include/pupa/arg.h: Likewise.
28115 * include/pupa/env.h: Likewise.
28116 * font/manager.c (font_command): Changed to match argument parsing
28117 interface changes.
28118 (PUPA_MOD_INIT): Likewise.
28119 * hello/hello.c (pupa_cmd_hello): Likewise.
28120 (PUPA_MOD_INIT): Likewise.
28121 * include/pupa/disk.h: Include <pupa/device.h>.
28122 (pupa_print_partinfo): New prototype.
28123 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28124 (pupa_dl_get_prefix): Likewise.
28125 * include/pupa/misc.h: Include <pupa/err.h>.
28126 (pupa_isgraph): New prototype.
28127 (pupa_isdigit): Likewise.
28128 (pupa_split_cmdline): Likewise.
28129 * include/pupa/normal.h: Include <pupa/arg.h>.
28130 (pupa_command): Changed the prototype of the member `func' to
28131 match the argument parsing interface. Added member `options'.
28132 (pupa_register_command): Updated to match function.
28133 (pupa_arg_parse): New prototype.
28134 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28135 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28136 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28137 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28138 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28139 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28140 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28141 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28142 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28143 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28144 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28145 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28146 * kern/disk.c: Include <pupa/file.h>.
28147 (pupa_print_partinfo): New function.
28148 * kern/dl.c: Include <pupa/env.h>.
28149 (pupa_dl_dir): Variable removed.
28150 (pupa_dl_load): Use the environment variable `prefix' instead of
28151 the variable pupa_dl_dir.
28152 (pupa_dl_set_prefix): Function removed.
28153 (pupa_dl_get_prefix): Likewise.
28154 * kern/i386/pc/init.c: Include <pupa/env.h>.
28155 (pupa_machine_init): Use the environment variable `prefix' instead of
28156 using pupa_dl_set_prefix to set the prefix.
28157 * kern/main.c: Include <pupa/env.h>.
28158 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28159 using pupa_dl_get_prefix to get the prefix.
28160 * kern/misc.c: Include <pupa/env.h>.
28161 (pupa_isdigit): New function.
28162 (pupa_isgraph): Likewise.
28163 (pupa_ftoa): Likewise.
28164 (pupa_vsprintf): Added support for printing values of the type
28165 `double'. Make it possible to format variable output when using
28166 formatting like `%1.2%f'.
28167 (pupa_split_cmdline): New function.
28168 * kern/rescue.c: Include <pupa/env.h>.
28169 (next_word): Removed function.
28170 (pupa_rescue_cmd_prefix): Likewise.
28171 (pupa_rescue_cmd_set): New function.
28172 (pupa_rescue_cmd_unset): New function.
28173 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28174 split the command line instead of splitting it here. Added
28175 support for setting variables using the syntax `foo=bar'. Don't
28176 initialize the prefix command anymore. Initialized the set and
28177 unset commands.
28178 * normal/cmdline.c: Include <pupa/env.h>.
28179 (pupa_tab_complete): Added prototypes for print_simple_completion,
28180 print_partition_completion, add_completion, iterate_commands,
28181 iterate_dev, iterate_part and iterate_dir. Moved code to print
28182 partition information from here to kern/disk.c.
28183 (pupa_cmdline_run): Don't check if the function exists anymore.
28184 * normal/main.c: Include <pupa/env.h>.
28185 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28186 instead of using pupa_dl_get_prefix to get the prefix.
28187 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28188 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28189 warning.
28190 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28191 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28192 ((unused))' to silence a gcc warning.
28193 (pupa_vga_setcolor): Likewise.
28194 (debug_command): Changed to match argument parsing
28195 interface changes.
28196 * util/pupa-emu.c: Include <pupa/env.h>.
28197 (options): Added 0's for unused fields to silence a gcc warning.
28198 (argp): Likewise.
28199 (main): Use the environment variable `prefix' instead of using
28200 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28201 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28202 and terminal.
28203
28204 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28205 * util/misc.c: Include <malloc.h>.
28206 (pupa_malloc): Rewritten so errors are correctly reported.
28207 (pupa_realloc): Likewise.
28208 (pupa_memalign): Likewise.
28209 (pupa_mm_init_region): Declare unused variables with
28210 `__attribute__ ((unused))' to silence a gcc warning.
28211 * normal/i386/setjmp.S: Remove tab at the end of the file to
28212 silence a gcc warning.
28213 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28214 variables with `__attribute__ ((unused))' to silence a gcc
28215 warning.
28216 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28217 local variable i unsigned to silence a gcc warning.
28218
28219 * kern/term.c: Include <pupa/misc.h>.
28220 (pupa_more_lines): New variable.
28221 (pupa_more): Likewise.
28222 (pupa_putcode): When the pager is active pause at the end of every
28223 screen.
28224 (pupa_set_more): New function.
28225 * include/pupa/term.h (pupa_set_more): New prototype.
28226
28227
28228 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28229
28230 Now this project is GRUB 2 rather than PUPA. The location of
28231 the CVS repository was moved to GRUB's.
28232
28233 * configure.ac: Use bug-grub as the reporting address.
28234 Use GRUB instead of PUPA.
28235 Change the version number to 1.90.
28236
28237 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28238
28239 * genkernsyms.sh: Updated copyright information.
28240 * genmk.rb: Likewise.
28241 * genmodsrc.sh: Likewise.
28242 * gensymlist.sh: Likewise.
28243 * boot/i386/pc/boot.S: Likewise.
28244 * boot/i386/pc/diskboot.S: Likewise.
28245 * disk/i386/pc/biosdisk.c: Likewise.
28246 * disk/i386/pc/partition.c: Likewise.
28247 * font/manager.c: Likewise.
28248 * fs/ext2.c: Likewise.
28249 * fs/fat.c: Likewise.
28250 * include/pupa/boot.h: Likewise.
28251 * include/pupa/device.h: Likewise.
28252 * include/pupa/disk.h: Likewise.
28253 * include/pupa/dl.h: Likewise.
28254 * include/pupa/elf.h: Likewise.
28255 * include/pupa/err.h: Likewise.
28256 * include/pupa/file.h: Likewise.
28257 * include/pupa/font.h: Likewise.
28258 * include/pupa/fs.h: Likewise.
28259 * include/pupa/kernel.h: Likewise.
28260 * include/pupa/loader.h: Likewise.
28261 * include/pupa/misc.h: Likewise.
28262 * include/pupa/mm.h: Likewise.
28263 * include/pupa/net.h: Likewise.
28264 * include/pupa/normal.h: Likewise.
28265 * include/pupa/rescue.h: Likewise.
28266 * include/pupa/setjmp.h: Likewise.
28267 * include/pupa/symbol.h: Likewise.
28268 * include/pupa/term.h: Likewise.
28269 * include/pupa/types.h: Likewise.
28270 * include/pupa/i386/setjmp.h: Likewise.
28271 * include/pupa/i386/types.h: Likewise.
28272 * include/pupa/i386/pc/biosdisk.h: Likewise.
28273 * include/pupa/i386/pc/boot.h: Likewise.
28274 * include/pupa/i386/pc/console.h: Likewise.
28275 * include/pupa/i386/pc/init.h: Likewise.
28276 * include/pupa/i386/pc/kernel.h: Likewise.
28277 * include/pupa/i386/pc/linux.h: Likewise.
28278 * include/pupa/i386/pc/loader.h: Likewise.
28279 * include/pupa/i386/pc/memory.h: Likewise.
28280 * include/pupa/i386/pc/multiboot.h: Likewise.
28281 * include/pupa/i386/pc/partition.h: Likewise.
28282 * include/pupa/i386/pc/time.h: Likewise.
28283 * include/pupa/i386/pc/vga.h: Likewise.
28284 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28285 * include/pupa/util/getroot.h: Likewise.
28286 * include/pupa/util/misc.h: Likewise.
28287 * include/pupa/util/resolve.h: Likewise.
28288 * kern/device.c: Likewise.
28289 * kern/disk.c: Likewise.
28290 * kern/dl.c: Likewise.
28291 * kern/err.c: Likewise.
28292 * kern/file.c: Likewise.
28293 * kern/fs.c: Likewise.
28294 * kern/loader.c: Likewise.
28295 * kern/main.c: Likewise.
28296 * kern/misc.c: Likewise.
28297 * kern/mm.c: Likewise.
28298 * kern/rescue.c: Likewise.
28299 * kern/term.c: Likewise.
28300 * kern/i386/dl.c: Likewise.
28301 * kern/i386/pc/init.c: Likewise.
28302 * kern/i386/pc/lzo1x.S: Likewise.
28303 * kern/i386/pc/startup.S: Likewise.
28304 * loader/i386/pc/chainloader.c: Likewise.
28305 * loader/i386/pc/linux.c: Likewise.
28306 * loader/i386/pc/multiboot.c: Likewise.
28307 * normal/cmdline.c: Likewise.
28308 * normal/command.c: Likewise.
28309 * normal/main.c: Likewise.
28310 * normal/menu.c: Likewise.
28311 * normal/i386/setjmp.S: Likewise.
28312 * term/i386/pc/console.c: Likewise.
28313 * term/i386/pc/vga.c: Likewise.
28314 * util/console.c: Likewise.
28315 * util/genmoddep.c: Likewise.
28316 * util/misc.c: Likewise.
28317 * util/pupa-emu.c: Likewise.
28318 * util/resolve.c: Likewise.
28319 * util/unifont2pff.rb: Likewise.
28320 * util/i386/pc/biosdisk.c: Likewise.
28321 * util/i386/pc/getroot.c: Likewise.
28322 * util/i386/pc/pupa-mkimage.c: Likewise.
28323 * util/i386/pc/pupa-setup.c: Likewise.
28324
28325 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28326
28327 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28328 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28329 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28330 reading and reset it after reading.
28331 (pupa_ext2_close): Return PUPA_ERR_NONE.
28332
28333 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28334 Correct value.
28335 (struct linux_kernel_header): Add kernel_version and
28336 initrd_addr_max.
28337 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28338 pupa_file_read succeeds.
28339 (pupa_rescue_cmd_initrd): Implement.
28340
28341 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28342
28343 * fs/ext2.c (pupa_ext2_label): New function.
28344 (pupa_ext2_fs): Added label.
28345 * fs/fat.c (pupa_fat_label): New function.
28346 (pupa_fat_fs): Added label.
28347 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28348
28349 * kern/misc.c (pupa_strndup): New function.
28350 * include/pupa/misc.h (pupa_strndup): New prototype.
28351
28352 * include/pupa/normal.h: Include <pupa/err.h>.
28353 (pupa_set_history): New prototype.
28354 (pupa_iterate_commands): New prototype.
28355 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28356 <pupa/disk.h>, <pupa/file.h>.
28357 (hist_size): New variable.
28358 (hist_lines): Likewise.
28359 (hist_end): Likewise.
28360 (hist_used): Likewise.
28361 (pupa_set_history): New function.
28362 (pupa_history_get): Likewise.
28363 (pupa_history_add): Likewise.
28364 (pupa_history_replace): Likewise.
28365 (pupa_tab_complete): Likewise.
28366 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28367 completion shows partitionnames while completing partitions, this
28368 feature was suggested by Jeff Bailey.
28369 * normal/command.c (pupa_iterate_commands): New function.
28370 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28371 (pupa_normal_init): Initialize history buffer.
28372 (PUPA_MOD_INIT): Likewise.
28373 (pupa_normal_fini): Free the history buffer.
28374 (PUPA_MOD_FINI): Likewise.
28375
28376 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28377 key.
28378
28379 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28380 * configure.ac [i386]: Check for regparam bug.
28381 (NESTED_FUNC_ATTR) [! i386]: Defined.
28382
28383 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28384
28385 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28386 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28387 (pupa_emu_SOURCES): New variable.
28388 (pupa_emu_LDFLAGS): Likewise.
28389 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28390 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28391 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28392 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28393 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28394 (pupa_jmp_buf): New typedef.
28395 (pupa_setjmp) [PUPA_UTIL]: New macro.
28396 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28397 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28398 (pupa_refresh): New prototype.
28399 * include/pupa/util/getroot.h: New file.
28400 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28401 it.
28402 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28403 (pupa_rescue_cmd_cat): Likewise.
28404 (pupa_rescue_cmd_ls): Likewise.
28405 (pupa_rescue_cmd_testload): Likewise.
28406 (pupa_rescue_cmd_lsmod): Likewise.
28407 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28408 * normal/menu.c (run_menu): Likewise.
28409 * kern/term.c (pupa_cls): Likewise.
28410 (pupa_refresh): New function.
28411 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28412 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28413 * util/console.c: New file.
28414
28415 * util/i386/pc/getroot.c: New file.
28416 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28417 (pupa_putchar): New function.
28418 (pupa_refresh): Likewise.
28419 (xgetcwd): Function moved to ...
28420 (strip_extra_slashes): Likewise.
28421 (get_prefix): Likewise.
28422 * util/i386/pc/getroot.c: ... here.
28423 (find_root_device): Function moved and renamed to...
28424 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28425 Changed all callers.
28426 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28427 and renamed to...
28428 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28429 Changed all callers.
28430 * util/misc.c (pupa_memalign): New function.
28431 (pupa_mm_init_region): Likewise.
28432 (pupa_register_exported_symbols): Likewise.
28433 (pupa_putchar): Function removed.
28434 * util/pupa-emu.c: New file.
28435
28436 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28437
28438 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28439 (_multiboot_mod_SOURCES): New variable.
28440 (_multiboot_mod_CFLAGS): Likewise.
28441 * loader/i386/pc/multiboot.c: New file.
28442 * include/pupa/i386/pc/multiboot.h: Likewise.
28443 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28444 (pupa_multiboot_real_boot): New function.
28445 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28446 (pupa_multiboot_real_boot): New prototype.
28447 (pupa_rescue_cmd_multiboot): Likewise
28448 (pupa_rescue_cmd_module): Likewise.
28449
28450 * kern/loader.c (pupa_loader_set): Continue when
28451 pupa_loader_unload_func() fails.
28452 (pupa_loader_unset): New function.
28453 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28454
28455 * kern/misc.c (pupa_stpcpy): New function.
28456 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28457
28458 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28459
28460 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28461 for available extensions.
28462
28463 * include/pupa/i386/pc/time.h: New file.
28464 * kern/disk.c: Include <pupa/machine/time.h>.
28465 (PUPA_CACHE_TIMEOUT): New macro.
28466 (pupa_last_time): New variable.
28467 (pupa_disk_open): Flush the cache when there was a timeout.
28468 (pupa_disk_close): Reset the timer.
28469 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28470 pupa_currticks.
28471 * util/misc.c: Include <sys/times.h>
28472 (pupa_get_rtc): New function.
28473
28474 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28475
28476 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28477 as blocks.
28478 (pupa_ext2_get_file_block): Use blocks member.
28479
28480 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28481 first block. Return -1 instead of pupa_errno on error.
28482
28483 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28484
28485 * README: In the pupa-mkimage example use _chain instead of chain
28486 and ext2 instead of fat.
28487 * TODO: Replace ext2fs with jfs as an example. Add an item for
28488 adding journal playback for ext2fs.
28489 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28490 (pkgdata_MODULES): Added ext2.mod.
28491 (ext2_mod_SOURCES): New variable.
28492 (ext2_mod_CFLAGS): Likewise.
28493 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28494 * include/pupa/misc.h (pupa_strncpy): New prototype.
28495 (pupa_strcat): Likewise.
28496 (pupa_strncmp): Likewise.
28497 * kern/misc.c (pupa_strcat): Enable function.
28498 (pupa_strncpy): New function.
28499 (pupa_strncmp): Likewise.
28500 * fs/ext2.c: New file.
28501
28502 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28503 when the read failed before retrying.
28504 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28505 (_FILE_OFFSET_BITS): Likewise.
28506 * configure.ac: Added AC_SYS_LARGEFILE.
28507
28508 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28509
28510 * genmk.rb (PModule#rule): Make sure to get only symbol names
28511 from the output of nm.
28512 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28513
28514 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28515
28516 I forgot to check in these changes for a long time. This adds
28517 incomplete support for VGA console, and this is still very
28518 buggy. Also, a lot of consideration is required for I18N,
28519 UNICODE, and VGA font issues. Therefore, assume that this is
28520 such that "better than nothing".
28521
28522 * font/manager.c: New file.
28523 * include/pupa/font.h: Likewise.
28524 * include/pupa/i386/pc/vga.h: Likewise.
28525 * term/i386/pc/vga.c: Likewise.
28526 * util/unifont2pff.rb: Likewise.
28527
28528 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28529 (pkgdata_MODULES): Added vga.mod and font.mod.
28530 (vga_mod_SOURCES): New variables.
28531 (vga_mod_CFLAGS): Likewise.
28532 (font_mod_SOURCES): Likewise.
28533 (font_mod_CFLAGS): Likewise.
28534
28535 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28536
28537 * include/pupa/term.h: Include pupa/err.h.
28538 (struct pupa_term): Added init and fini.
28539 Changed the argument of putchar to pupa_uint32_t.
28540
28541 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28542 (pupa_console_real_putchar): New prototype.
28543 (pupa_console_putchar): Removed.
28544 (pupa_console_checkkey): Exported.
28545 (pupa_console_getkey): Likewise.
28546
28547 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28548 characters.
28549
28550 * kern/term.c (pupa_term_set_current): Rewritten.
28551 (pupa_putchar): Likewise.
28552 (pupa_putcode): New function.
28553
28554 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28555 (pupa_console_real_putchar): ... this.
28556 (pupa_vga_set_mode): New function.
28557 (pupa_vga_get_font): Likewise.
28558
28559 * normal/command.c: Include pupa/term.h.
28560 (terminal_command): New function.
28561 (pupa_command_init): Register the command "terminal".
28562
28563 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28564 (DISP_UP): Likewise.
28565 (DISP_RIGHT): Likewise.
28566 (DISP_DOWN): Likewise.
28567 (DISP_HLINE): Likewise.
28568 (DISP_VLINE): Likewise.
28569 (DISP_UL): Likewise.
28570 (DISP_UR): Likewise.
28571 (DISP_LL): Likewise.
28572 (DISP_LR): Likewise.
28573
28574 * term/i386/pc/console.c (pupa_console_putchar): New function.
28575
28576 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28577
28578 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28579 FIX. Reverse the path_list.
28580
28581 * include/pupa/normal.h: Export pupa_register_command and
28582 pupa_unregister_command.
28583
28584 * hello/hello.c (pupa_cmd_hello): New module.
28585 * conf/i386-pc.rmk: Added hello.mod.
28586
28587 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28588
28589 * kern/i386/pc/lzo1x.S: New file.
28590
28591 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28592 (compress_kernel): New variable.
28593 (generate_image): Heavily modified to support compressing a
28594 large part of the core image.
28595
28596 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28597 leak.
28598 (pupa_util_load_image): New function.
28599
28600 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28601 (pupa_compressed_size): New variable.
28602 (codestart): Enable Gate A20 here.
28603 Decompress the compressed part of the core image.
28604 Rearrange the code to put functions and variables which are
28605 required for initialization in the non-compressed part.
28606 Include lzo1x.S.
28607
28608 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28609 here.
28610
28611 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28612
28613 * include/pupa/i386/pc/kernel.h
28614 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28615 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28616 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28617 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28618 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28619
28620 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28621
28622 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28623 (Utility#rule): Likewise.
28624
28625 * configure.ac: Check if LZO is available.
28626
28627 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28628
28629 * include/pupa/normal.h: New file.
28630 * include/pupa/setjmp.h: Likewise.
28631 * include/pupa/i386/setjmp.h: Likewise.
28632 * normal/cmdline.c: Likewise.
28633 * normal/command.c: Likewise.
28634 * normal/main.c: Likewise.
28635 * normal/menu.c: Likewise.
28636 * normal/i386/setjmp.S: Likewise.
28637
28638 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28639 (pupa_rescue_cmd_initrd): Likewise.
28640
28641 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28642 Likewise.
28643
28644 * kern/i386/pc/startup.S (translation_table): New variable.
28645 (translate_keycode): New function.
28646 (pupa_console_getkey): Call translate_keycode.
28647
28648 * kern/rescue.c (attempt_normal_mode): New function.
28649 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28650 it failed, print a message.
28651
28652 * kern/mm.c (pupa_real_malloc): Print more information when a
28653 free magic is broken.
28654 (pupa_free): If the first free header is not free actually, set
28655 it to P.
28656
28657 * kern/main.c (pupa_load_normal_mode): Just load the module
28658 "normal".
28659 (pupa_main): Don't print the message
28660 "Entering into rescue mode..." here.
28661
28662 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28663 Declared.
28664 (pupa_rescue_cmd_initrd): Likewise.
28665 (pupa_rescue_cmd_initrd): Likewise.
28666
28667 * include/pupa/symbol.h (FUNCTION): Specify the type.
28668 (VARIABLE): Likewise.
28669
28670 * include/pupa/err.h (pupa_err_t): Added
28671 PUPA_ERR_UNKNOWN_COMMAND.
28672
28673 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28674 (pupa_dl_get_prefix): Likewise.
28675
28676 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28677 Added _chain.mod and _linux.mod instead of chain.mod and
28678 linux.mod.
28679 (chain_mod_SOURCES): Renamed to ...
28680 (_chain_mod_SOURCES): ... this.
28681 (chain_mod_CFLAGS): Renamed to ...
28682 (_chain_mod_CFLAGS): ... this.
28683 (linux_mod_SOURCES): Renamed to ...
28684 (_linux_mod_SOURCES): ... this.
28685 (linux_mod_CFLAGS): Renamed to ...
28686 (_linux_mod_CFLAGS): ... this.
28687 (normal_mod_SOURCES): New variable.
28688 (normal_mod_CFLAGS): Likewise.
28689 (normal_mod_ASFLAGS): Likewise.
28690
28691 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28692
28693 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28694 possible.
28695
28696 * kern/dl.c (pupa_dl_ref): Refer depending modules
28697 recursively.
28698 (pupa_dl_unref): Unrefer depending modules recursively.
28699 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28700 a module is unloaded before one depending on that module is
28701 unloaded.
28702 (pupa_dl_unload): Unload depending modules explicitly,
28703 if possible.
28704
28705 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28706
28707 * include/pupa/i386/pc/linux.h: New file.
28708 * loader/i386/pc/linux.c: Likewise.
28709
28710 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28711 Removed.
28712 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28713 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28714 of PUPA_CHAINLOADER_BOOT_SECTOR.
28715
28716 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28717 (pupa_linux_prot_size): New variable.
28718 (pupa_linux_tmp_addr): Likewise.
28719 (pupa_linux_real_addr): Likewise.
28720 (pupa_linux_boot_zimage): New function.
28721 (pupa_linux_boot_bzimage): Likewise.
28722
28723 * kern/i386/pc/init.c (struct mem_region): New structure.
28724 (MAX_REGIONS): New macro.
28725 (mem_regions): New variable.
28726 (num_regions): Likewise.
28727 (pupa_os_area_addr): Likewise.
28728 (pupa_os_area_size): Likewise.
28729 (pupa_lower_mem): Likewise.
28730 (pupa_upper_mem): Likewise.
28731 (add_mem_region): New function.
28732 (compact_mem_regions): Likewise.
28733 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28734 the size of the conventional memory and that of so-called upper
28735 memory (before the first memory hole).
28736 Instead of adding each found region to free memory, use
28737 add_mem_region and add them after removing overlaps.
28738 Also, add only 1/4 of the upper memory to free memory. The rest
28739 is used for loading OS images. Maybe this is ad hoc, but this
28740 makes it much easier to relocate OS images when booting.
28741
28742 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28743 (pupa_enter_rescue_mode): Don't register initrd and module.
28744
28745 * kern/mm.c: Include pupa/dl.h.
28746
28747 * kern/main.c: Include pupa/file.h and pupa/device.h.
28748
28749 * kern/loader.c (pupa_loader_load_module_func): Removed.
28750 (pupa_loader_load_module): Likewise.
28751
28752 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28753 ``.o''.
28754
28755 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28756 (pupa_linux_tmp_addr): Likewise.
28757 (pupa_linux_real_addr): Likewise.
28758 (pupa_linux_boot_zimage): Likewise.
28759 (pupa_linux_boot_bzimage): Likewise.
28760
28761 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28762 (pupa_upper_mem): Likewise.
28763 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28764 module is too dangerous.
28765
28766 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28767 (pupa_os_area_size): Likewise.
28768 (pupa_loader_set): Remove the first argument. Loader doesn't
28769 manage modules or initrd any longer.
28770 (pupa_loader_load_module): Removed.
28771
28772 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28773 (linux_mod_SOURCES): New variable.
28774 (linux_mod_CFLAGS): Likewise.
28775
28776 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28777
28778 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28779 the length of a blocklist correctly.
28780
28781 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28782 Use ioctl only if the OS file is a block device.
28783 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28784 not very useful for normal files.
28785
28786 * kern/main.c (pupa_set_root_dev): New function.
28787 (pupa_load_normal_mode): Likewise.
28788 (pupa_main): Call those above.
28789
28790 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28791 pupa_uint16_t.
28792
28793 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28794
28795 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28796
28797 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28798 (setup): Configure the installed partition information and the
28799 dl prefix.
28800
28801 * loader/i386/pc/chainloader.c (my_mod): New variable.
28802 (pupa_chainloader_unload): New function.
28803 (pupa_rescue_cmd_chainloader): Refer itself.
28804 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28805
28806 * kern/i386/pc/startup.S (install_partition): Removed.
28807 (version_string): Likewise.
28808 (config_file): Likewise.
28809 (pupa_install_dos_part): New variable.
28810 (pupa_install_bsd_part): Likewise.
28811 (pupa_prefix): Likewise.
28812 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28813
28814 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28815 and pupa/misc.h.
28816 (make_install_device): New function.
28817 (pupa_machine_init): Set the dl prefix.
28818
28819 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28820 (buf): Renamed to ...
28821 (linebuf): ... this.
28822 (pupa_rescue_cmd_prefix): New function.
28823 (pupa_rescue_cmd_insmod): Likewise.
28824 (pupa_rescue_cmd_rmmod): Likewise.
28825 (pupa_rescue_cmd_lsmod): Likewise.
28826 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28827 rmmod and lsmod.
28828
28829 * kern/mm.c (pupa_memalign): If failed even after invalidating
28830 disk caches, unload unneeded modules and retry.
28831
28832 * kern/misc.c (pupa_memmove): New function.
28833 (pupa_memcpy): Removed.
28834 (pupa_strcpy): New function.
28835 (pupa_itoa): Made static.
28836
28837 * kern/dl.c (pupa_dl_iterate): New function.
28838 (pupa_dl_ref): Likewise.
28839 (pupa_dl_unref): Likewise.
28840 (pupa_dl_unload): Return if succeeded or not.
28841 (pupa_dl_unload_unneeded): New function.
28842 (pupa_dl_unload_all): Likewise.
28843 (pupa_dl_init): Renamed to ...
28844 (pupa_dl_set_prefix): ... this.
28845 (pupa_dl_get_prefix): New function.
28846
28847 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28848 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28849 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28850 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28851 (pupa_install_dos_part): Declared.
28852 (pupa_install_bsd_part): Likewise.
28853 (pupa_prefix): Likewise.
28854 (pupa_boot_drive): Likewise.
28855
28856 * include/pupa/types.h: Fix a typo.
28857
28858 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28859 pupa_memmove.
28860 (pupa_memmove): Declared.
28861 (pupa_strcpy): Likewise.
28862
28863 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28864 pupa_mod_init takes one argument, its own module.
28865 (pupa_dl_unload_unneeded): Declared.
28866 (pupa_dl_unload_all): Likewise.
28867 (pupa_dl_ref): Likewise.
28868 (pupa_dl_unref): Likewise.
28869 (pupa_dl_iterate): Likewise.
28870 (pupa_dl_init): Renamed to ...
28871 (pupa_dl_set_prefix): ... this.
28872 (pupa_dl_get_prefix): Declared.
28873
28874 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28875 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28876 unloaded.
28877 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28878 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28879
28880 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28881 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28882
28883 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28884
28885 * util/i386/pc/pupa-setup.c (setup): Define the internal
28886 function find_first_partition_start at the top level, because GCC
28887 3.0.x cannot compile internal functions in deeper scopes
28888 correctly.
28889 (find_root_device): Use lstat instead of stat.
28890 Don't follow symbolic links.
28891 Fix the path-constructing code.
28892
28893 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28894 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28895 by a BLKGETSIZE ioctl first, because block devices don't fill
28896 the member st_mode of the structure stat on Linux.
28897 [__linux__] (linux_find_partition): Use a temporary buffer
28898 REAL_DEV for the working space. Copy it to DEV before returning.
28899 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28900 buffer cache consistent.
28901 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28902 strncmp. The previous value was merely wrong.
28903 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28904
28905 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28906 FAT size is 12. The previous value was merely wrong.
28907
28908 * kern/main.c (pupa_main): Don't split the starting message from
28909 newlines.
28910
28911 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28912 LF, because BIOS goes crazy about character attributes in this
28913 case.
28914
28915 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28916
28917 * include/i386/pc/util/biosdisk.h: New file.
28918 * util/i386/pc/biosdisk.c: Likewise.
28919 * util/i386/pc/pupa-setup.c: Likewise.
28920
28921 * Makefile.in (INCLUDE_DISTFILES): Added
28922 include/pupa/i386/pc/util/biosdisk.h.
28923 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28924 directory util/i386/pc.
28925 (install-local): Added a rule for sbin_UTILITIES.
28926 (uninstall): Likewise.
28927
28928 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28929
28930 * util/misc.c (xrealloc): New function.
28931 (pupa_malloc): Likewise.
28932 (pupa_free): Likewise.
28933 (pupa_realloc): Likewise.
28934 (pupa_stop): Likewise.
28935 (pupa_putchar): Likewise.
28936
28937 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28938
28939 * include/pupa/util/misc.h (xrealloc): Declared.
28940
28941 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28942 macro.
28943 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28944 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28945
28946 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28947 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28948
28949 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28950 way should be implemented.
28951 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28952
28953 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28954 the size of NAME for safety.
28955 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28956 0x88.
28957
28958 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28959 (pupa_setup_SOURCES): Likewise.
28960
28961 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28962
28963 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28964
28965 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28966 bunch of pushl's from pusha, because this destroys the return
28967 value.
28968
28969 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28970
28971 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28972 This means that any missing prototypes could be fatal. Also, you
28973 must take care when writing assembly code. See the comments at
28974 the beginning of startup.S, for more details.
28975
28976 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28977 compilation mechanism.
28978 (pupa_chainloader_real_boot): Likewise.
28979 (pupa_biosdisk_rw_int13_extensions): Likewise.
28980 (pupa_biosdisk_rw_standard): Likewise.
28981 (pupa_biosdisk_check_int13_extensions): Likewise.
28982 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28983 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28984 (pupa_get_memsize): Likewise.
28985 (pupa_get_mmap_entry): Likewise.
28986 (pupa_console_putchar): Likewise.
28987 (pupa_console_setcursor): Likewise.
28988 (pupa_getrtsecs): Use pushl instead of push.
28989
28990 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28991 memory instead of the stack for a mmap entry, because some
28992 BIOSes may ignore the maximum size and overflow.
28993
28994 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28995
28996 * genmk.rb (PModule#rule): Compile automatically generated
28997 sources with module-specific CFLAGS as well as other sources.
28998
28999 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29000
29001 * configure.ac: Check ld.
29002 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29003 respectively, before checking endianness and sizes.
29004
29005 * Makefile.in (LD): New variable.
29006
29007 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29008
29009 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29010
29011 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29012
29013 * Changelog: New file.
29014