]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2010-07-30 Robert Millan <rmh@gnu.org>
[grub2.git] / ChangeLog
1 2010-07-30 Robert Millan <rmh@gnu.org>
2
3 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5 `warn_unused_result' attribute.
6 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
7 (grub_xasprintf, grub_xvasprintf): Likewise.
8 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9
10 2010-07-29 Robert Millan <rmh@gnu.org>
11
12 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13 (probe): Handle `PRINT_FS_LABEL'.
14 (main): Handle `-t fs_label'.
15
16 2010-07-29 Robert Millan <rmh@gnu.org>
17
18 * configure.ac: Remove grub-mkisofs checks.
19
20 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23 Reported by: Lennart Sorensen.
24
25 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
28 prior to terminal_input/terminal_output separation. It's been over 1.5
29 years and those versions weren't widely deployed.
30
31 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
32
33 * disk/raid.c (insert_array): Don't count named arrays when looking
34 for unused array numbers.
35 Reported and tested by: Michael Guntsche.
36
37 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
38
39 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
40 implementation of this so that grub-emu links again, with a note
41 that this should support hotplugging in the future.
42
43 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
44
45 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
46
47 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
48
49 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
50 handle on failure.
51 (grub_loopback_close): Remove empty function.
52 (grub_loopback_dev): Remove close method.
53
54 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
55
56 Disable EFI cursor when the EFI console becomes inactive.
57
58 * term/efi/console.c (grub_efi_console_init): New function.
59 (grub_efi_console_fini): New function.
60 (grub_console_term_output): Register init and fini methods.
61
62 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * tests/util/grub-shell-tester.in: Remove bashism and declare as
65 sh script.
66
67 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * disk/loopback.c (grub_loopback): Replace filename with file.
70 (delete_loopback): Handle new semantics.
71 (grub_cmd_loopback): Likewise.
72 (grub_loopback_iterate): Likewise.
73 (grub_loopback_close): Likewise.
74
75 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
78 with -p "".
79 Reported by: Tito Keitel.
80
81 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * docs/grub.texi (Naming convention): Document new naming convention.
84
85 2010-07-20 Vadim Solomin <vadic052@gmail.com>
86 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
87
88 Generate device.map in something closer to the old ordering.
89
90 * util/deviceiter.c (struct device): New declaration.
91 (compare_file_names): Rename to ...
92 (compare_devices): ... this. Sort by kernel name in preference to
93 the stable by-id name, but keep the latter as a fallback comparison.
94 Update header comment.
95 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
96 of `struct device' rather than of plain file names.
97
98 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
99
100 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
101 on i386.
102
103 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * commands/acpi.c (setup_common_tables): Use sizeof instead of
106 hardcoding size.
107 (setv1table): Likewise.
108
109 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
110
111 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
112 removing the homehost if present.
113 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
114 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
115 removing the homehost if present.
116 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
117 if possible.
118 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
119
120 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
121 parameter. Set its pointer target to 0.
122 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
123 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
124 `data_offset' value from the superblock for 1.x metadata.
125 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
126 data on the device.
127 (insert_array): Record the start sector of data on the device.
128 (grub_raid_register): Pass start_sector parameters to
129 grub_raid_list->detect and insert_array.
130 * include/grub/raid.h (struct grub_raid_array): Add start_sector
131 member.
132 (struct grub_raid): Add start_sector parameter to `detect'.
133
134 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
135 __attribute__ ((packed)), leaving a comment.
136 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
137 (grub_mdraid_detect_09): ... here and ...
138 (grub_mdraid_detect_1x): ... here.
139
140 2010-07-20 Peter Henn <peter.henn@web.de>
141
142 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
143 chunk size and disk size, which are already given as sector counts
144 as distinct from the 0.90 units. Fetch the correct device number
145 from the role table instead of using the table index.
146
147 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
148
149 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
150 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
151 (WriteMostly1): New macro.
152 Set array->name to NULL for metadata format 0.90. Add support for
153 metadata 1.x. Fix some comments.
154 * disk/raid.c (): Add support for name based RAID arrays. Fix a
155 few comments.
156 * util/getroot.c (grub_util_get_grub_dev): Add support for
157 /dev/md/name style devices.
158
159 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
160
161 * .bzrignore: Ignore 20_linux_xen.
162
163 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
164
165 * util/import_unicode.py: Remove unnecessary imports.
166
167 2010-07-17 Aleš Nesrsta <starous@volny.cz>
168
169 Hotplugging and USB hub support.
170
171 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
172 (grub_ohci): Likewise.
173 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
174 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
175 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
176 (GRUB_OHCI_CTRL_EDS): Likewise.
177 (GRUB_OHCI_BULK_EDS): Likewise.
178 (GRUB_OHCI_TDS): Likewise.
179 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
180 (grub_ohci_ed_phys2virt): New function.
181 (grub_ohci_virt_to_phys): Likewise.
182 (grub_ohci_td_phys2virt): Likewise.
183 (grub_ohci_td_virt2phys): Likewise.
184 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
185 attachment.
186 (grub_ohci_find_ed): New function.
187 (grub_ohci_alloc_td): Likewise.
188 (grub_ohci_free_td): Likewise.
189 (grub_ohci_free_tds): Likewise.
190 (grub_ohci_transfer): Use previously allocated memory.
191 (grub_ohci_portstatus): Reset status changed bit.
192 (grub_ohci_detect_dev): Supply status changed.
193 (grub_ohci_fini_hw): Free memory.
194 (grub_ohci_restore_hw): Reallocate memory.
195 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
196 Reset status change.
197 (grub_uhci_detect_dev): Supply status_change.
198 * bus/usb/usb.c (attach_hooks): New var.
199 (grub_usb_device_attach): New function.
200 (grub_usb_register_attach_hook_class): Likewise.
201 (grub_usb_unregister_attach_hook_class): Likewise.
202 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
203 (grub_usb_add_hub): Reset connection changed bit.
204 (attach_root_port): New function.
205 (grub_usb_root_hub): Likewise.
206 (poll_nonroot_hub): Likewise.
207 (grub_usb_poll_devices): Likewise.
208 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
209 * disk/usbms.c (grub_usbms_open): Use device hooks.
210 (grub_usbms_iterate) :Poll devices.
211 (grub_usbms_finddevs): Split into ...
212 (grub_usbms_attach): ... this ...
213 (grub_usbms_attach): ... and this.
214 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
215 in detect_dev.
216 (grub_usb_interface): New fields attached and detach_hook.
217 (grub_usb_attach_hook_class): New type.
218 (grub_usb_attach_desc): New struct.
219 (grub_usb_register_attach_hook_class): New function.
220 (grub_usb_unregister_attach_hook_class): Likewise.
221 (grub_usb_poll_devices): Likewise.
222 (grub_usb_device_attach): Likewise.
223 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
224 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
225
226 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
229 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
230 delta determination style. Works with most NetBSD partitions too.
231
232 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
235 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
236
237 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
240
241 2010-07-14 Anton Blanchard <anton@samba.org>
242
243 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
244 ET_DYN files.
245
246 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
247
248 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
249
250 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
251
252 * kern/partition.c (grub_partition_check_containment): New function to
253 check that a partition is physically contained in a parent. Since
254 offsets are relative (and non-negative), this reduces to checking that
255 the partition ends before its parent.
256 (grub_partition_map_probe): Discard out-of-range sub-partitions.
257 (grub_partition_iterate): Likewise.
258 * include/grub/partition.h (grub_partition_map): Slightly more detailed
259 comments.
260 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
261 partitions that start before their parent, and add debug printfs.
262
263 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
264
265 * Makefile.in (.SUFFIX): Spell correctly, as ...
266 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
267 bare module name without `.mod', e.g. `test') tried to invoke a
268 Modula-2 compiler.
269
270 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
271
272 * README: Point to the Info manual.
273
274 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
275
276 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
277 2nd superblock position from partition size.
278
279 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
280
281 * Makefile.in (MAINTAINER_CLEANFILES): Remove
282 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
283 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
284 outputs.
285
286 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
287
288 Restructure SCSI .id handling.
289 Reported and tested by: Aleš Nesrsta.
290
291 * disk/ata.c (grub_atapi_close): Removed. All users updated.
292 (grub_atapi_dev): Changed .name to "ata". New field .id.
293 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
294 (grub_usbms_dev): New field .id.
295 * disk/scsi.c (grub_scsi_iterate): Generate name.
296 (grub_scsi_open): Parse name.
297 * include/grub/scsi.h (grub_make_scsi_id): New function.
298 (grub_scsi_dev): Change iterate and open to number instead of naming
299 busses. All users updated.
300 (grub_scsi): Remove name. Add .bus.
301
302 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * commands/help.c (grub_cmd_help): Fix a typo.
305
306 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
309 Reported and tested by: Colin Watson.
310
311 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
314 in this context.
315
316 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
319
320 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
321
322 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
323 indentation.
324
325 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
326
327 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
328 and disk/raid6_recover.c.
329 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
330 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
331
332 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
333
334 * term/gfxterm.c (repaint_schedulded): Rename to ...
335 (repaint_scheduled): ... this. Update all callers.
336 (repaint_was_schedulded): Rename to ...
337 (repaint_was_scheduled): ... this. Update all callers.
338
339 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
340
341 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
342 which we expect to be handled by upper layers.
343
344 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
345
346 * bus/usb/usbhub.c: #include time.h header.
347
348 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
349
350 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
351 entry_name also for entries without stat blocks (e.g. ".."); fixes
352 corruption of the first entry in a directory.
353
354 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
355
356 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
357 after setting gfxterm as the active terminal. GRUB_BACKGROUND
358 doesn't work otherwise.
359
360 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
361
362 * docs/grub.texi (Features): Update list of supported file systems.
363 (GNU/Linux): Update for GRUB 2.
364 (Serial terminal): Remove mention of --disable-serial, which was a
365 GRUB Legacy configure option. Update instructions to use
366 `terminal_input' and `terminal_output' rather than `terminal'.
367 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
368 configuration' and `Installing GRUB using grub-install'.
369 (Menu entry editor): Update for GRUB 2.
370 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
371 Document new -a, -u, and -v options.
372 (initrd): New section.
373 (initrd16): New section.
374 (linux): New section.
375 (linux16): New section.
376 (search): The `var' argument to `--set' is optional.
377 (GRUB only offers a rescue shell): Go into a little more detail on
378 drive ordering.
379
380 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
381
382 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
383
384 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
385
386 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
387 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
388
389 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
390
391 * util/i386/pc/grub-setup.c (setup): Rename prefix to
392 install_prefix, in line with install_dos_part and install_bsd_part.
393 Add new prefix variable, which is copied to install_prefix after
394 comparing core.img in memory with the one read from disk in the
395 no-embedding case, and use that rather than overwriting
396 install_prefix immediately when installing to a partition.
397 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
398 Bicakci.
399
400 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
401
402 * configure.ac: Avoid == in test command, it's not portable.
403 * util/grub.d/30_os-prober.in: Likewise.
404
405 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
406
407 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
408
409 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
410
411 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
412 multiple (top-level) partmaps.
413
414 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * util/i386/efi/grub-install.in: Don't use empty grub_device.
417 Reported by: Tino Keitel.
418
419 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
420
421 Bidi and diacritics support.
422
423 * Makefile.in (widthspec.bin): New target.
424 (widthspec.h): Likewise.
425 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
426 * autogen.sh: Generate unidata.c.
427 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
428 * commands/ls.c (grub_ls_list_devices): Likewise.
429 (grub_ls_list_files): Likewise.
430 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
431 (grub_mini_cmd_lsmod): Likewise.
432 * commands/read.c: Likewise.
433 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
434 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
435 * lib/arg.c (grub_arg_show_help): Likewise.
436 * lib/crypto.c (grub_password_get): Likewise.
437 * normal/auth.c (grub_username_get): Likewise.
438 * normal/misc.c (grub_normal_print_device_info): Likewise.
439 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
440 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
441 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
442 (normal/charset.c_DEPENDENCIES): New variable.
443 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
444 (pkglib_MODULES): Remove charset.mod.
445 (charset_mod_SOURCES): Removed.
446 (charset_mod_CFLAGS): Likewise.
447 (charset_mod_LDFLAGS): Likewise.
448 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
449 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
450 and term/tparm.c.
451 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
452 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
453 (kernel_img_HEADERS): Add terminfo.h.
454 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
455 Fill ->font. Reverse ascii bitmaps.
456 (grub_font_get_xheight): New function.
457 * font/font.c (grub_font_get_string_width): Moved from here ...
458 * gfxmenu/font.c (grub_font_get_string_width): ... here.
459 * font/font.c (grub_font_draw_string): Moved from here ...
460 * gfxmenu/font.c (grub_font_draw_string): ... here.
461 * font/font.c (grub_font_dup_glyph): New function.
462 (grub_font_blit_glyph): Likewise.
463 (grub_font_blit_glyph_mirror): Likewise.
464 (blit_comb): Likewise.
465 (grub_font_construct_dry_run): Likewise.
466 (grub_font_get_constructed_device_width): Likewise.
467 (grub_font_construct_glyph): Likewise.
468 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
469 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
470 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
471 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
472 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
473 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
474 (grub_font_get_xheight): New proto.
475 (grub_font_get_constructed_device_width): Likewise.
476 (grub_font_construct_glyph): Likewise.
477 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
478 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
479 * include/grub/font.h (grub_font_draw_string): Moved from here ...
480 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
481 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
482 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
483 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
484 (grub_console_getcharwidth): Likewise.
485 * include/grub/misc.h (grub_xputs): New proto.
486 (grub_puts): Inlined.
487 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
488 (grub_normal_get_line_counter): Removed.
489 (grub_install_newline_hook): Likewise.
490 (grub_normal_get_char_counter): New proto.
491 (grub_normal_reset_more): Likewise.
492 (grub_xputs_normal): Likewise.
493 * include/grub/powerpc/ieee1275/console.h: Removed.
494 * include/grub/sparc64/ieee1275/console.h: Likewise.
495 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
496 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
497 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
498 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
499 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
500 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
501 (grub_term_input): Pass reference to self. All users updated.
502 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
503 Pass reference to self. New fields normal_color, highlight_color and
504 data. All users updated.
505 (grub_putchar): Removed.
506 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
507 (grub_unicode_estimate_width): New function.
508 (grub_term_getcharwidth): Add defaults.
509 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
510 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
511 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
512 (grub_cls): Remove EXPORT_FUNC.
513 (grub_setcolorstate): Inline.
514 (grub_newline_hook): Removed.
515 * include/grub/terminfo.h: Rewritten. All users updated.
516 * include/grub/unicode.h: New file.
517 * include/grub/video.h (grub_video_signed_rect): New type.
518 * kern/emu/console.c (grub_console_highlight_color): Removed.
519 (grub_console_normal_color): Likewise.
520 (grub_console_standard_color): Made static.
521 (grub_ncurses_putchar): Remove mapping.
522 (grub_ncurses_getcharwidth): Removed.
523 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
524 (grub_ncurses_setcolor): Removed.
525 (grub_ncurses_getcolor): Likewise.
526 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
527 (grub_console_putchar): ... this.
528 (grub_console_putchar): Handle argument difference.
529 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
530 console_init_early and console_init_lately.
531 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
532 * kern/misc.c (grub_puts): Removed.
533 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
534 (grub_vsnprintf_real): Remove str = NULL support.
535 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
536 * normal/charset.c (grub_utf8_to_ucs4): ... here.
537 * kern/term.c (grub_putcode): Renamed to ...
538 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
539 (grub_putchar): Removed.
540 (grub_xputs_dumb): New function.
541 (grub_xputs): New variable.
542 * lib/charset.c: Move from here ...
543 * normal/charset.c: ... to here.
544 (grub_ucs4_to_utf8): New function.
545 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
546 (join_types): New variable.
547 (unpack_join): New function.
548 (bidi_types): New variable.
549 (unpack_bidi): New function.
550 (get_bidi_type): Likewise.
551 (get_join_type): Likewise.
552 (is_mirrored): Likewise.
553 (grub_unicode_get_comb_type): Likewise.
554 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
555 (is_type_after): Likewise.
556 (grub_unicode_aglomerate_comb): Likewise.
557 (bidi_line_wrap): Likewise.
558 (grub_bidi_line_logical_to_visual): Likewise.
559 (grub_bidi_logical_to_visual): Likewise.
560 (grub_unicode_mirror_code): Likewise.
561 (grub_unicode_shape_code): Likewise.
562 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
563 Don't use grub_putchar.
564 * normal/main.c (grub_normal_init_page): Use grub_putcode.
565 (grub_normal_reader_init): Likewise.
566 (grub_xputs_saved): New variable.
567 (GRUB_MOD_INIT): Set grub_xputs.
568 (GRUB_MOD_FINI): Restore grub_xputs.
569 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
570 (menu_init): Avoid printing gfxmenu error.
571 (show_menu): Use grub_normal_get_char_counter.
572 * normal/menu_entry.c (update_screen): Fix out-of-array.
573 (complete): Avoid NULL dereferencing.
574 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
575 * normal/menu_text.c (print_spaces): Removed.
576 (grub_print_ucs4): Likewise.
577 (grub_print_message_indented): Use grub_print_ucs4.
578 (print_message): Use grub_putcode.
579 (print_entry): Hanlde diacritics.
580 * normal/term.c (term_state): New type.
581 (grub_more_lines): Removed.
582 (term_states): New variable.
583 (grub_normal_line_counter): Renamed to ..
584 (grub_normal_char_counter): ...this. All users updated.
585 (grub_normal_get_line_counter): Renamed to ...
586 (grub_normal_get_char_counter): ... this.
587 (grub_normal_reset_more): New function.
588 (process_newline): Removed.
589 (print_more): New function.
590 (grub_install_newline_hook): Removed.
591 (map_code): New function.
592 (grub_puts_terminal): Use grub_print_ucs4.
593 (putglyph): New function.
594 (putcode_real): Likewise.
595 (grub_putcode): Use putcode_real.
596 (get_maxwidth): New function.
597 (get_startwidth): Likewise.
598 (print_ucs4_terminal): Likewise.
599 (find_term_state): Likewise.
600 (put_glyphs_terminal): Likewise.
601 (print_backlog): Likewise.
602 (print_ucs4_real): Likewise.
603 (grub_print_ucs4): Likewise.
604 (grub_xputs_normal): Likewise.
605 * term/efi/console.c (grub_console_putchar): Output diacritics.
606 (grub_console_getcharwidth): Removed.
607 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
608 * term/gfxterm.c (clear_char): Free chars.
609 (scroll_up): Avoid leaking memory.
610 (grub_gfxterm_putchar): Support diacritics.
611 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
612 * term/i386/pc/console.c (grub_console_term_output): Declare as
613 GRUB_TERM_CODE_TYPE_VGA.
614 * term/i386/pc/vga.c (grub_vga_term): Declare as
615 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
616 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
617 GRUB_TERM_CODE_TYPE_VGA.
618 * term/i386/vga_common.c (map_char): Removed.
619 (grub_console_putchar): Likewise.
620 (grub_console_getcharwidth): Likewise.
621 * term/ieee1275/ofconsole.c: Simplify using terminfo.
622 (colors): Reordered to match terminfo.
623 (grub_ofconsole_normal_color): Removed.
624 (grub_ofconsole_writeesc): Likewise.
625 (grub_ofconsole_highlight_color): Likewise.
626 (grub_ofconsole_getcharwidth): Likewise.
627 (grub_ofconsole_setcolorstate): Likewise.
628 (grub_ofconsole_setcolor): Likewise.
629 (grub_ofconsole_getcolor): Likewise.
630 (grub_ofconsole_readkey): Renamed to ...
631 (readkey): ... this. Remove escape sequence handling. Return -1 on no
632 key.
633 (grub_ofconsole_checkkey): Removed.
634 (grub_ofconsole_getkey): Likewise.
635 (grub_ofconsole_getxy): Likewise.
636 (grub_ofconsole_gotoxy): Likewise.
637 (grub_ofconsole_cls): Likewise.
638 (grub_ofconsole_refresh): Likewise.
639 (grub_ofconsole_terminfo_input): New struct.
640 (grub_ofconsole_terminfo_output): Likewise.
641 (grub_ofconsole_term_input): Use terminfo.
642 (grub_ofconsole_term_output): Likewise.
643 (grub_console_init): Split into ...
644 (grub_console_init_early): ...this and ...
645 (grub_console_init_lately): ...this. Use terminfo.
646 (grub_ofconsole_putchar): Renamed to ...
647 (put): ... this. Remove mapping.
648 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
649 * term/serial.c: Simplify using terminfo.
650 (xpos): Removed.
651 (ypos): Likewise.
652 (keep_track): Likewise.
653 (registered): Likewise.
654 (input_buf): Likewise.
655 (npending): Likewise.
656 (serial_translate_key_sequence): Likewise.
657 (fill_input_buf): Likewise.
658 (grub_serial_checkkey): Likewise.
659 (grub_serial_getkey): Likewise.
660 (grub_serial_getxy): Likewise.
661 (grub_serial_gotoxy): Likewise.
662 (grub_serial_putchar): Likewise.
663 (grub_serial_cls): Likewise.
664 (grub_serial_setcolorstate): Likewise.
665 (grub_serial_setcursor): Likewise.
666 (serial_hw_init): Use serial_hw_fetch.
667 (grub_serial_terminfo_input): New variable.
668 (grub_serial_terminfo_output): Likewise.
669 (grub_serial_term_input): Use terminfo.
670 (grub_serial_term_output): Likewise.
671 * term/terminfo.c (putstr): Use put.
672 (grub_terminfo_all_free): New function
673 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
674 (grub_terminfo_output_register): New function.
675 (grub_terminfo_output_unregister): Likewise.
676 (grub_terminfo_getxy): Likewise.
677 (grub_terminfo_readkey): Likewise.
678 (grub_terminfo_checkkey): Likewise.
679 (grub_terminfo_getkey): Likewise.
680 (grub_terminfo_input_init): Likewise.
681 (print_terminfo): Likewise.
682 (grub_cmd_terminfo): Handle encoding.
683 (grub_terminfo_gotoxy): Track position.
684 (grub_terminfo_cls): Likewise.
685 (grub_terminfo_putchar): Likewise.
686 (grub_terminfo_setcolorstate): Handle colors
687 (grub_terminfo_cursor_on): This ...
688 (grub_terminfo_cursor_off): ... and this merged into ...
689 (grub_terminfo_setcursor): ... this.
690 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
691 * unicode/ArabicShaping.txt: New file (imported from Unicode).
692 * unicode/BidiMirroring.txt: Likewise.
693 * unicode/UnicodeData.txt: Likewise.
694 * unicode/COPYING: Likewise.
695 * util/grub-editenv.c (grub_putchar): Removed.
696 (grub_xputs_real): New function.
697 (grub_xputs): New variable.
698 * util/grub-fstest.c (grub_putchar): Removed.
699 (grub_xputs_real): New function.
700 (grub_xputs): New variable.
701 * util/grub-mkdevicemap.c (grub_putchar): Removed.
702 (grub_xputs_real): New function.
703 (grub_xputs): New variable.
704 * util/grub-probe.c (grub_putchar): Removed.
705 (grub_xputs_real): New function.
706 (grub_xputs): New variable.
707 * util/grub-script-check.c (grub_putchar): Removed.
708 (grub_xputs_real): New function.
709 (grub_xputs): New variable.
710 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
711 (grub_xputs_real): New function.
712 (grub_xputs): New variable.
713 * util/import_unicode.py: New file.
714 * util/grub-mkfont.c (ft_errmsgs): New array.
715 (grub_glyph_info): Make bitmap a pointer.
716 (file_formats): New type WIDTH_SPEC.
717 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
718 (options): Add width-spec.
719 (help): Likewise.
720 (add_char): Renamed to ...
721 (add_glyph): ... this.
722 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
723 (glyph_replace): New type.
724 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
725 (add_char): New function.
726 (add_subst): Likewise.
727 (process_cursive): Likewise.
728 (add_font): Handle GSUB.
729 (write_font_width_spec): New function.
730 (main): Sort glyphs.
731 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
732 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
733 * kern/term.c (grub_cls): Moved from here...
734 * normal/term.c (grub_cls): ... here.
735
736 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
737
738 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
739 suitable for using within the format argument of printf when
740 converting grub_size_t.
741 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
742 "x" to convert grub_size_t arguments.
743
744 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
747 too long captions.
748 (list_get_minimal_size): Take selection box into account.
749
750 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
753 NULL font.
754
755 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
756
757 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
758 devices when iterating over /dev/disk/by-id; they will be handled
759 later if appropriate, which they aren't always (e.g. LVM).
760
761 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
762
763 * include/grub/misc.h (grub_reboot): Declare as noreturn.
764 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
765 fails.
766 (grub_halt): Likewise.
767 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
768 reset-all fails.
769 (grub_halt): Don't return, even if all of shut-down, power-off, and
770 poweroff fail.
771
772 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
773
774 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
775 arguments, not three.
776
777 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
778
779 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
780 * util/grub.d/10_linux.in: Use it to check for LVM, so that
781 LVM-on-RAID is handled correctly.
782
783 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
784
785 * docs/grub.texi (Changes from GRUB Legacy): New section.
786 (Future): Fix typo.
787
788 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
789
790 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
791 grub.d/README accidentally ends up executable for one reason or
792 another. Ignore it.
793
794 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
797 (gpt_partition_map_iterate): Support non-512B sectors.
798
799 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * kern/efi/init.c (grub_efi_init): Disable watchdog.
802 Tested by: Seth Goldberg.
803
804 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
807 Properly align mbi.
808 Reported by: Seth Goldberg.
809
810 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * util/grub-mkrescue.in: Avoid module duplication.
813
814 2010-07-01 Sean Finney <seanius@seanius.net>
815
816 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
817
818 2010-07-01 Sean Finney <seanius@seanius.net>
819
820 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
821
822 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * disk/lvm.c (grub_lvm_checkvalue): New function.
825 (grub_lvm_check_flag): Likewise.
826
827 2010-07-01 Robert Millan <rmh@gnu.org>
828
829 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
830 Support 'p' as partition separator on kernel of FreeBSD (used
831 with GPT labels).
832 (grub_util_biosdisk_get_grub_dev): Likewise.
833
834 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
835
836 Yeeloong firmware port.
837
838 * boot/mips/yeeloong/fwstart.S: New file.
839 * bus/cs5536.c (gpiodump): New const.
840 (set_io_space): New function.
841 (set_iod): Likewise.
842 (set_p2d): Likewise.
843 (grub_cs5536_init_geode): Likewise.
844 * commands/mips/yeeloong/lsspd.c: New file.
845 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
846 (serial_mod_SOURCES): New variable.
847 (serial_mod_CFLAGS): Likewise.
848 (serial_mod_LDFLAGS): Likewise.
849 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
850 term/terminfo.c and term/tparm.c.
851 (pkglib_IMAGES): Add fwstart.img.
852 (fwstart_img_SOURCES): New variable.
853 (fwstart_img_CFLAGS): Likewise.
854 (fwstart_img_ASFLAGS): Likewise.
855 (fwstart_img_LDFLAGS): Likewise.
856 (fwstart_img_FORMAT): Likewise.
857 (pkglib_MODULES): Add lsspd.mod.
858 (lsspd_mod_SOURCES): New variable.
859 (lsspd_mod_CFLAGS): Likewise.
860 (lsspd_mod_LDFLAGS): Likewise.
861 (pkglib_MODULES): Add halt.mod.
862 (halt_mod_SOURCES): New variable.
863 (halt_mod_CFLAGS): Likewise.
864 (halt_mod_LDFLAGS): Likewise.
865 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
866 (serial_mod_SOURCES): Removed.
867 (serial_mod_CFLAGS): Likewise.
868 (serial_mod_LDFLAGS): Likewise.
869 * disk/ata.c (check_device): New function.
870 (grub_ata_device_initialize): Use check_device.
871 (grub_ata_iterate): Recheck devices.
872 (grub_ata_open): Likewise.
873 (grub_atapi_iterate): Likewise.
874 (grub_atapi_open): Likewise.
875 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
876 (GRUB_ATA_CH1_PORT1): Likewise.
877 (GRUB_ATA_CH0_PORT2): Likewise.
878 (GRUB_ATA_CH1_PORT2): Likewise.
879 * include/grub/mips/loongson.h: New file.
880 * include/grub/mips/yeeloong/ec.h: Likewise.
881 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
882 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
883 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
884 * include/grub/misc.h (grub_halt): Declare as noreturn.
885 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
886 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
887 (UART_ENABLE_FIFO_TRIGGER1): New definition.
888 (UART_ENABLE_DTRRTS): Likewise.
889 (UART_ENABLE_MODEM): Removed.
890 (UART_ENABLE_OUT2): New const.
891 * include/grub/term.h (grub_term_register_input_active): New function.
892 (grub_term_register_output_active): Likewise.
893 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
894 argument.
895 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
896 (init_pci): New function.
897 (grub_machine_init): Execute platform init when firmware. Init serial.
898 (grub_halt): Implement.
899 (grub_exit): Likewise.
900 (grub_reboot): Likewise.
901 * term/serial.c (serial_hw_init): Update macros.
902 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
903 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
904 (image_targets): New target mipsel-yeeloong-flash.
905 (generate_image): Support IMAGE_YEELOONG_FLASH.
906 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
907 (grub_video_sm712_setup): Init card.
908 (grub_video_sm712_set_palette): Removed.
909 * video/sm712_init.c: New file.
910
911 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
912
913 * Makefile.in (install-local): Temporarily prepend $(builddir) to
914 PATH when running help2man and then run it on the unadorned
915 executable names, rather than passing $(builddir)/* paths to
916 help2man. This avoids the build directory ending up in generated
917 manual pages.
918
919 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
920
921 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
922 to avoid accidents when debugging with 'sh -x'.
923 * util/grub-mkrescue.in: Likewise.
924 * util/grub.d/00_header.in: Likewise.
925 * util/grub.d/10_hurd.in: Likewise.
926 * util/grub.d/10_kfreebsd.in: Likewise.
927 * util/grub.d/10_linux.in: Likewise.
928 * util/grub.d/10_netbsd.in: Likewise.
929 * util/grub.d/10_windows.in: Likewise.
930 * util/grub.d/20_linux_xen.in: Likewise.
931 * util/grub.d/30_os-prober.in: Likewise.
932 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
933
934 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
935
936 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
937 last character in the buffer.
938 Reported by: Vladimir Serbinenko.
939
940 2010-06-29 Robert Millan <rmh@gnu.org>
941
942 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
943 (Command-line and menu entry commands): Document `badram' command.
944
945 2010-06-28 Robert Millan <rmh@gnu.org>
946
947 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
948 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
949 command using ${GRUB_BADRAM} as parameter.
950
951 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
952
953 * docs/grub.texi (Device map): New section.
954 (Themes): New section (stub).
955 * Makefile.in (docs/grub.info): The info documentation now builds
956 without errors. Make sure it stays that way.
957
958 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
959
960 Use normal parser for menu entries.
961 Reported by: Thomas Frauendorfer
962
963 * include/grub/parser.h (grub_parser_execute): Don't export.
964 * normal/menu.c (grub_menu_execute_entry_real): New function.
965 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
966
967 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
968
969 * docs/grub.texi (Embedded configuration): New section (replacing
970 old "Preset Menu" stub).
971 (Images): New section.
972 (configfile): Note that any menu entries defined in `file' are shown
973 immediately.
974
975 2010-06-28 Josh Triplett <josh@joshtriplett.org>
976
977 * mmap/i386/pc/mmap_helper.S: Set CF on return.
978
979 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
980
981 * util/grub-install.in: Add --debug-image= option.
982
983 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
984
985 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
986 possible on Linux.
987
988 * util/deviceiter.c (check_device): Rename to ...
989 (check_device_readable_unique): ... this. Update all callers.
990 Maintain and check a list of which devices (by canonicalized name)
991 have already been seen.
992 (clear_seen_devices): New function.
993 (compare_file_names) [__linux__]: New function.
994 (grub_util_iterate_devices): Clear the list of seen devices on exit
995 and (just in case) on entry.
996 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
997 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
998 seen-devices list, superseded by general code in check_device.
999
1000 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1001
1002 * commands/cat.c (options): New variable.
1003 (grub_cmd_cat): Parse options. If the --dos option is given, print
1004 DOS-style "\r\n" line endings as simple newlines (Debian bug
1005 #586358).
1006 (GRUB_MOD_INIT): Use extcmd.
1007 (GRUB_MOD_FINI): Likewise.
1008 * docs/grub.texi (cat): Document --dos.
1009
1010 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 XEN with Linux grub-mkconfig support.
1013
1014 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1015 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1016 GRUB_CMDLINE_XEN_DEFAULT.
1017 * util/grub.d/20_linux_xen.in: New file.
1018
1019 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Initialise VGA video on qemu ourselves.
1022
1023 * boot/i386/qemu/boot.S: Don't call 0xc000.
1024 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1025 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1026 (kernel_img_HEADERS): Add pci.h.
1027 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1028 * configure.ac: Force unifont on qemu and yeeloong.
1029 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1030 (grub_vga_palette_write): Use correct register.
1031 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1032 Call grub_qemu_init_cirrus.
1033 * kern/i386/qemu/init.c: New file.
1034 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1035
1036 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1037
1038 2010-06-26 Pavel Roskin <proski@gnu.org>
1039
1040 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1041 13.
1042
1043 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1044
1045 * docs/grub.texi (Simple configuration): Explain that
1046 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1047 set to `true' to disable their respective recovery entries, not
1048 merely set.
1049
1050 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1051
1052 Make the `source' command slightly faster.
1053
1054 * normal/main.c (grub_normal_execute): Don't re-read list files when
1055 nested.
1056
1057 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1058
1059 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1060 field position and mask size to red fields from mode_info, not
1061 green.
1062 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1063 Remove redundant tag->common.framebuffer_type assignment.
1064 Reported by: Seth Goldberg.
1065
1066 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1067
1068 Sync up other versions of the Linux loader with Robert Millan's
1069 change of 2010-01-09, "Make loader output a bit more user-friendly".
1070
1071 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1072 grub_dprintf().
1073 (grub_cmd_linux): Likewise.
1074 (grub_cmd_initrd): Likewise.
1075 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1076 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1077
1078 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1079
1080 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1081 larger than MEMORY_MAP_SIZE.
1082
1083 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1084
1085 Fix parallel build.
1086
1087 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1088 dependency.
1089 * script/parser.y: #include grub_script.tab.h header.
1090
1091 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 Support >3GiB and <16MiB RAM in i386-qemu.
1094
1095 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1096 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1097 (grub_lower_mem): Removed.
1098 (grub_upper_mem): Likewise.
1099 (mem_size): Made static.
1100 (above_4g): New variable.
1101 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1102 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1103 support.
1104
1105 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Cirrus 5446 and Bochs video cards support.
1108
1109 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1110 video_bochs.mod
1111 (video_cirrus_mod_SOURCES): New variable.
1112 (video_cirrus_mod_CFLAGS): Likewise.
1113 (video_cirrus_mod_LDFLAGS): Likewise.
1114 (video_bochs_mod_SOURCES): Likewise.
1115 (video_bochs_mod_CFLAGS): Likewise.
1116 (video_bochs_mod_LDFLAGS): Likewise.
1117 * include/grub/vga.h: New file.
1118 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1119 (grub_video_fb_set_page_t): New type.
1120 (grub_video_fb_setup): New prototype.
1121 (grub_video_fb_swap_buffers): Likewise.
1122 (grub_video_fb_get_info_and_fini): Likewise.
1123 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1124 (CRTC_DATA_PORT): Likewise.
1125 (CRTC_CURSOR): Likewise.
1126 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1127 (CRTC_CURSOR_ADDR_LOW): Likewise.
1128 (CRTC_CURSOR_DISABLE): Likewise.
1129 (update_cursor): Use grub_vga_cr_write.
1130 (grub_vga_text_setcursor): Likewise.
1131 * video/bochs.c: New file.
1132 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1133 (palette): Likewise.
1134 (palette_size): Likewise.
1135 (framebuffer): New variable.
1136 (grub_video_fb_init): Use 'framebuffer'.
1137 (grub_video_fb_fini): Likewise.
1138 (grub_video_fb_get_info): Likewise.
1139 (grub_video_fb_get_palette): Likewise.
1140 (grub_video_fb_set_palette): Likewise.
1141 (grub_video_fb_set_viewport): Likewise.
1142 (grub_video_fb_get_viewport): Likewise.
1143 (grub_video_fb_map_color): Likewise.
1144 (grub_video_fb_map_rgb): Likewise.
1145 (grub_video_fb_map_rgba): Likewise.
1146 (grub_video_fb_unmap_color): Likewise.
1147 (grub_video_fb_unmap_color_int): Likewise.
1148 (grub_video_fb_fill_rect): Likewise.
1149 (grub_video_fb_blit_bitmap): Likewise.
1150 (grub_video_fb_blit_render_target): Likewise.
1151 (grub_video_fb_scroll): Likewise.
1152 (grub_video_fb_create_render_target): Likewise.
1153 (grub_video_fb_doublebuf_blit_init): Likewise.
1154 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1155 (doublebuf_pageflipping_update_screen): New function.
1156 (doublebuf_pageflipping_init): Likewise.
1157 (grub_video_fb_setup): Likewise.
1158 (grub_video_fb_swap_buffers): Likewise.
1159 (grub_video_fb_get_info_and_fini): Likewise.
1160 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1161 All users updated.
1162 (doublebuf_pageflipping_commit): Restructured into ...
1163 (doublebuf_pageflipping_set_page): ... this.
1164 (doublebuf_pageflipping_update_screen): Removed.
1165 (doublebuf_pageflipping_init): Likewise.
1166 (double_buffering_init): Likewise.
1167 (grub_video_vbe_setup): Use grub_video_fb_setup.
1168 (grub_video_vbe_swap_buffers): Removed.
1169 (grub_video_vbe_set_active_render_target): Likewise.
1170 (grub_video_vbe_get_active_render_target): Likewise.
1171 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1172 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1173 grub_video_fb_set_active_render_target and
1174 grub_video_fb_get_active_render_target.
1175 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1176 (SEQUENCER_DATA_PORT): Likewise.
1177 (MAP_MASK_REGISTER): Likewise.
1178 (CRTC_ADDR_PORT): Likewise.
1179 (CRTC_DATA_PORT): Likewise.
1180 (START_ADDR_HIGH_REGISTER): Likewise.
1181 (START_ADDR_LOW_REGISTER): Likewise.
1182 (GRAPHICS_ADDR_PORT): Likewise.
1183 (GRAPHICS_DATA_PORT): Likewise.
1184 (READ_MAP_REGISTER): Likewise.
1185 (INPUT_STATUS1_REGISTER): Likewise.
1186 (INPUT_STATUS1_VERTR_BIT): Likewise.
1187 (get_map_mask): Use grub_vga_sr_read.
1188 (set_map_mask): Use grub_vga_sr_write.
1189 (set_read_map): Use grub_vga_gr_write.
1190 (set_start_address): Use grub_vga_cr_write.
1191 * video/sm712.c (framebuffer): Remove leftover fields.
1192
1193 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1194
1195 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1196 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1197 instead. Replace the gfxterm backend check with a check that
1198 ${GRUB_PREFIX}/video.lst is non-empty.
1199 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1200 again.
1201 (load_video): New generated function. Call it before loading
1202 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1203 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1204 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1205 * docs/grub.texi (Simple configuration): Document
1206 GRUB_VIDEO_BACKEND.
1207
1208 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 Use video functions in linux and xnu loaders.
1211
1212 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1213 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1214 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1215 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1216 loader/i386/pc/linux.c.
1217 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1218 (find_line_len): Removed.
1219 (find_framebuf): Likewise.
1220 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1221 * loader/i386/efi/xnu.c: Removed.
1222 * loader/i386/pc/xnu.c: Moved from here...
1223 * loader/i386/xnu.c: ...here.
1224
1225 Enable priorities in video drivers.
1226
1227 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1228 (grub_video_adapter): New field prio.
1229 (grub_video_register): Respect prio when inserting.
1230 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1231 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1232 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1233 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1234 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1235 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1236 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1237
1238 Fix SDL driver ID.
1239
1240 * include/grub/video.h (grub_video_driver_id_t): New value
1241 GRUB_VIDEO_DRIVER_SDL.
1242 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1243
1244 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1245
1246 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1247 argument to printf.
1248 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1249
1250 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1251
1252 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1253 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1254
1255 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1258 directly, and recommend grub-install instead.
1259 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1260
1261 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1262
1263 Fix i386-pc prefix handling with nested partitions (Debian bug
1264 #585068). Note that the case where the core image is booted using
1265 multiboot and relocated from its original location still requires
1266 more work.
1267
1268 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1269 with "(,", fill the boot drive in between those two characters, but
1270 expect that a full partition specification including partition map
1271 names will follow.
1272 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1273 specified, write a prefix without the drive name but including a
1274 full partition specification.
1275
1276 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1277
1278 * util/grub-mkconfig.in: Ignore non-option arguments, for
1279 compatibility with older versions (before 2010-06-12) which did the
1280 same. In particular, this makes it easier to ship an update-grub
1281 wrapper which is compatible with that used with GRUB Legacy (Debian
1282 bug #586056).
1283
1284 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1285
1286 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1287 for manual page generation.
1288
1289 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1290
1291 * po/POTFILES: Remove leftover commands/handler.c.
1292
1293 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1294
1295 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1296 left this script non-functional.
1297
1298 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1299
1300 * docs/man/grub-emu.h2m: New file.
1301
1302 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1303
1304 * docs/grub.texi (Commands): Document reduced command set in rescue
1305 mode.
1306 (cpuid): New section.
1307
1308 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1309
1310 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1311 new partition naming style.
1312 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1313
1314 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1315
1316 Add "-o grub.iso" like cmdline options support.
1317
1318 * util/grub-install.in: Improve cmdline option parsing.
1319 * util/grub-mkconfig.in: Likewise.
1320 * util/grub-mkrescue.in: Likewise.
1321 * util/grub-reboot.in: Likewise.
1322 * util/grub-set-default.in: Likewise.
1323 * util/i386/efi/grub-install.in: Likewise.
1324 * util/ieee1275/grub-install.in: Likewise.
1325 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1326
1327 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1328
1329 * .bzrignore: Ignore 41_custom.
1330
1331 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1332
1333 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1334
1335 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1336
1337 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1338 prototype declarations.
1339
1340 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1341 generating fs, partmap, and video lists.
1342 * include/grub/fs.h (grub_fs_register): Omit prototype if
1343 GRUB_LST_GENERATOR is defined.
1344 * include/grub/partition.h (grub_partition_map_register): Likewise.
1345 * include/grub/video.h (grub_video_register): Likewise.
1346
1347 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1348
1349 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1350
1351 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1352
1353 * util/grub-mkrescue.in: Support --xorriso argument.
1354
1355 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1358 Suggested by: Thomas Schmitt.
1359
1360 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1363 Suggested by: Thomas Schmitt.
1364
1365 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 custom.cfg support.
1368
1369 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1370 * util/grub.d/41_custom.in: New file.
1371
1372 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1373
1374 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1375 been merged back into normal.
1376
1377 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1378
1379 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1380 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1381
1382 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1383
1384 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1385 when generating manual pages.
1386 * docs/man/grub-bin2h.h2m: New file.
1387 * docs/man/grub-editenv.h2m: New file.
1388 * docs/man/grub-fstest.h2m: New file.
1389 * docs/man/grub-install.h2m: New file.
1390 * docs/man/grub-macho2img.h2m: New file.
1391 * docs/man/grub-mkconfig.h2m: New file.
1392 * docs/man/grub-mkdevicemap.h2m: New file.
1393 * docs/man/grub-mkfont.h2m: New file.
1394 * docs/man/grub-mkimage.h2m: New file.
1395 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1396 * docs/man/grub-mkrelpath.h2m: New file.
1397 * docs/man/grub-mkrescue.h2m: New file.
1398 * docs/man/grub-ofpathname.h2m: New file.
1399 * docs/man/grub-pe2elf.h2m: New file.
1400 * docs/man/grub-probe.h2m: New file.
1401 * docs/man/grub-reboot.h2m: New file.
1402 * docs/man/grub-script-check.h2m: New file.
1403 * docs/man/grub-set-default.h2m: New file.
1404 * docs/man/grub-setup.h2m: New file.
1405
1406 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Use FOR_* macros instead of *_iterate whenever possible.
1409
1410 * commands/handler.c: Removed.
1411 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1412 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1413 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1414 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1415 (grub_probe_SOURCES): Remove kern/parser.c.
1416 (util/grub-script-check.c_DEPENDENCIES): Removed.
1417 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1418 and grub_script_check_init.c.
1419 (grub_script_check_init.lst): Removed.
1420 (grub_script_check_init.h): Likewise.
1421 (grub_script_check_init.c): Likewise.
1422 (pkglib_MODULES): Remove handler.mod and sh.mod.
1423 (handler_mod_SOURCES): Removed.
1424 (handler_mod_CFLAGS): Likewise.
1425 (handler_mod_LDFLAGS): Likewise.
1426 (normal_mod_SOURCES): Remove normal/handler.c.
1427 Add script/main.c, script/script.c, script/execute.c,
1428 script/function.c, script/lexer.c, grub_script.tab.c
1429 and grub_script.yy.c.
1430 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1431 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1432 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1433 (grub_setup_SOURCES): Remove kern/parser.c.
1434 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1435 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1436 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1437 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1438 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1439 (grub_setup_SOURCES): Remove kern/parser.c.
1440 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1441 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1442 * include/grub/command.h (grub_command_iterate): Removed.
1443 (FOR_COMMANDS): New macro.
1444 * include/grub/dl.h (grub_dl): New member next.
1445 (grub_dl_iterate): Removed.
1446 (grub_dl_head): New variable declaration.
1447 (FOR_DL_MODULES): New macro.
1448 * include/grub/fs.h: Include list.h.
1449 (grub_fs): Make next first element.
1450 (grub_fs_list): New variable declaration.
1451 (grub_fs_register): Make inline.
1452 (grub_fs_unregister): Likewise.
1453 (grub_fs_iterate): Removed.
1454 (FOR_FILESYSTEMS): New macro.
1455 * include/grub/handler.h: Removed.
1456 * include/grub/list.h (grub_list_hook_t): Removed.
1457 (grub_list_test_t): Likewise.
1458 (grub_list_pop): Likewise.
1459 (grub_list_iterate): Likewise.
1460 (grub_list_insert): Likewise.
1461 (FOR_LIST_ELEMENTS): New macro.
1462 * include/grub/parser.h (grub_parser_class): Removed.
1463 (grub_parser_register): Likewise.
1464 (grub_parser_unregister): Likewise.
1465 (grub_parser_get_current): Likewise.
1466 (grub_parser_set_current): Likewise.
1467 (grub_register_rescue_parser): Likewise.
1468 (grub_rescue_parse_line): New function.
1469 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1470 * include/grub/script_sh.h (grub_script_function_list): New variable
1471 declaration.
1472 (FOR_SCRIPT_FUNCTIONS): New macro.
1473 (grub_script_function_iterate): Removed.
1474 (grub_normal_parse_line): New prototype.
1475 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1476 (FOR_DISABLED_TERM_INPUTS): Likewise.
1477 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1478 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1479 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1480 element.
1481 (grub_video_register): Inline.
1482 (grub_video_unregister): Likewise.
1483 (grub_video_adapter_list): New variable declaration.
1484 (grub_video_iterate): Removed.
1485 (FOR_VIDEO_ADAPTERS): New macro.
1486 * kern/dl.c (grub_dl_list): Removed. All users updated.
1487 (grub_dl_iterate): Removed.
1488 * kern/fs.c (grub_fs_list): Make global.
1489 (grub_fs_register): Removed.
1490 (grub_fs_unregister): Likewise.
1491 (grub_fs_iterate): Likewise.
1492 * kern/handler.c: Removed.
1493 * kern/list.c (grub_list_pop): Removed.
1494 (grub_list_iterate): Likewise.
1495 (grub_list_insert): Likewise.
1496 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1497 (grub_prio_list_insert): Don't use grub_list_insert.
1498 * kern/main.c (grub_register_rescue_parser): Don't call
1499 grub_register_rescue_parser.
1500 * kern/parser.c (grub_parser_class): Removed.
1501 (grub_parser_execute): Use grub_rescue_parse_line.
1502 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1503 (grub_rescue_parser): Removed.
1504 (grub_register_rescue_parser): Likewise.
1505 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1506 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1507 (grub_auth_check_authentication): Likewise.
1508 * normal/completion.c (iterate_command): Removed.
1509 (grub_normal_do_completion): Use FOR_COMMANDS.
1510 * normal/handler.c: Removed.
1511 * normal/main.c (read_config_file): Remove parser changing.
1512 (grub_normal_execute): Don't call read_handler_list.
1513 (grub_normal_read_line_real): Statically allocate prompt.
1514 (grub_cmdline_run): Use grub_normal_parse_line.
1515 (GRUB_MOD_FINI): Don't call free_handler_list.
1516 * normal/menu_entry.c (run): Likewise.
1517 * script/function.c (grub_script_function_list): Make global.
1518 (grub_script_function_iterate): Removed.
1519 * script/main.c (grub_normal_parse_line): Make global.
1520 (grub_sh_parser): Removed.
1521 (GRUB_MOD_INIT): Likewise.
1522 (GRUB_MOD_FINI): Likewise.
1523 * tests/lib/functional_test.c (grub_functional_test): Use
1524 FOR_LIST_ELEMENTS.
1525 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1526 (grub_test_run): Use FOR_LIST_ELEMENTS.
1527 * tests/lib/unit_test.c (main): Likewise.
1528 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1529 grub_list_pop.
1530 * util/grub-fstest.c (grub_term_input_class): Removed.
1531 (grub_term_output_class): Likewise.
1532 * util/grub-probe.c: Likewise.
1533 * util/i386/pc/grub-setup.c: Likewise.
1534 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1535 * util/grub-script-check.c (main): Don't call grub_init_all and
1536 grub_fini_all.
1537 * video/video.c (grub_video_adapter_list): Make global.
1538 (grub_video_register): Removed.
1539 (grub_video_unregister): Likewise.
1540 (grub_video_iterate): Likewise.
1541
1542 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1545 reported by Henrique Ferreiro.
1546
1547 2010-06-09 Robert Millan <rmh@gnu.org>
1548
1549 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1550 ones, when both are available.
1551
1552 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1553
1554 Make --version uniform and avoid hard-coded program name.
1555
1556 * util/grub-mkimage.c (main): Use `program_name' instead of
1557 hard-coded string.
1558 * util/i386/pc/grub-setup.c (main): Likewise.
1559 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1560 * util/grub-install.in: Save the basename of $0 in $self, and use the
1561 latter in informational messages. Use the same format for --version
1562 as the binary programs.
1563 * util/grub-mkconfig.in: Likewise.
1564 * util/grub-mkrescue.in: Likewise.
1565 * util/grub-reboot.in: Likewise.
1566 * util/grub-set-default.in: Likewise.
1567 * util/i386/efi/grub-install.in: Likewise.
1568 * util/ieee1275/grub-install.in: Likewise.
1569 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1570
1571 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1572
1573 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1574 embedding area. Use <= instead of == when checking for non-emptiness.
1575
1576 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1577
1578 * configure.ac: Add `.' to the directories searched for unifont.
1579
1580 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1581
1582 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1583 grub_script.yy.h.
1584
1585 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1586
1587 * docs/grub.texi (History): Expand to cover GRUB 2.
1588 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1589 commands, not `terminal'.
1590 (serial): Likewise.
1591 (terminal_input): New section.
1592 (terminal_output): New section.
1593 (uppermem): New section (stub).
1594 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1595
1596 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1597
1598 * docs/grub.texi (Security): Menu entries are unrestricted by
1599 default, not restricted to superusers as I had previously thought.
1600 Reword to account for this.
1601
1602 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1603
1604 * kern/emu/misc.c (device_mapper_null_log): New function.
1605 (grub_device_mapper_supported): New function.
1606 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1607 prototype.
1608 * kern/emu/hostdisk.c (find_partition_start): Check whether
1609 device-mapper is supported before trying to use it.
1610 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1611
1612 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1613
1614 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1615 (File name syntax): Likewise.
1616 (help): --all is no longer supported in GRUB 2. Be more precise
1617 about pattern matching.
1618
1619 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1620
1621 * normal/completion.c (grub_normal_do_completion): When completing
1622 arguments to "set" and the current word contains an equals sign,
1623 skip to after the equals sign before starting completion.
1624
1625 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1626
1627 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1628
1629 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1630
1631 * docs/grub.texi (Network): New section.
1632 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1633 `(nd)' as in GRUB Legacy.
1634 (pxe_unload): New section.
1635
1636 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1637
1638 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1639 in the rescue shell, so recommend using `set' instead. Thanks,
1640 Jordan Uggla.
1641
1642 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1645 (password): New section.
1646 (password_pbkdf2): New section.
1647 (search): New section.
1648 (Security): New section.
1649 (Troubleshooting): New section, currently very incomplete.
1650 (Invoking grub-mkpasswd-pbkdf2): New section.
1651 (Internals): New section, currently very incomplete.
1652
1653 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1654
1655 * util/grub.d/00_header.in: Add some more quoting (of
1656 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1657 work again.
1658 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1659
1660 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1661
1662 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1663 to `count', fixing variable shadowing that broke the -c option.
1664
1665 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1668 in case they contain spaces.
1669
1670 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1671
1672 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1673 "part_" to partmap module names, in line with grub-install.
1674 Reported by: Jindřich Makovička (Debian bug #584426).
1675
1676 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1677
1678 * util/grub-mkimage.c: Make target-related error messages slightly
1679 more helpful; -O talks about "format". Explicitly point to the use
1680 of -O if no target is specified.
1681 Reported by: Didier Raboud (Debian bug #584415).
1682
1683 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1684
1685 * INSTALL: Document several build requirements for optional features
1686 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1687
1688 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1689
1690 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1691 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1692 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1693
1694 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1695
1696 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1697 Thanks to Jordan Uggla for spotting this.
1698
1699 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1700
1701 Finally make USB usable.
1702
1703 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1704 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1705 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1706 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1707 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1708 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1709 (GRUB_OHCI_FSMPS): Likewise.
1710 (GRUB_OHCI_PERIODIC_START): Likewise.
1711 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1712 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1713 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1714 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1715 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1716 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1717 (grub_ohci_transaction): Likewise.
1718 (grub_ohci_transfer): Improve condition detection algorithms.
1719 Handle toggle property. Program the transactions correctly.
1720 Improve error handling. Various important fixups.
1721 (grub_ohci_portstatus): Put register writes in right order.
1722 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1723 (grub_uhci_transfer): Don't show "failed" message on success.
1724 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1725 array.
1726 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1727 determine its size.
1728 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1729 before initialization is completed. Use IN direction for empty
1730 transfers. Use last_trans and compute toggle.
1731 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1732 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1733 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1734 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1735 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1736 (grub_usb_device): Increase toggle to 256.
1737 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1738 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1739 GRUB_USBMS_SUBCLASS_SFF8070.
1740 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1741 (grub_scsi_inquiry): New member page and alloc_length.
1742 (grub_scsi_request_sense): New structure.
1743 (grub_scsi_request_sense_data): Likewise.
1744 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1745 control.
1746 * disk/scsi.c (grub_scsi_request_sense): New function.
1747 (grub_scsi_test_unit_ready): Likewise.
1748 (grub_scsi_inquiry): Fill new fields.
1749 (grub_scsi_read_capacity): Likewise.
1750 (grub_scsi_read10): Add request sense at the end.
1751 (grub_scsi_read12): Likewise.
1752 (grub_scsi_write10): Likewise.
1753 (grub_scsi_write12): Likewise.
1754 (grub_scsi_open): Add Test Unit Ready.
1755 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1756 Support additional subclasses. Con't clear halt yet. Activate the
1757 proper config. Calculate LUNs correctly.
1758 (grub_usbms_transfer): Various important fixups.
1759
1760 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1763 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1764 (grub_ohci_fini_hw): New function.
1765 (grub_ohci_restore_hw): Likewise.
1766 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1767 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1768 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1769
1770 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 Dedicated DMA allocations.
1773
1774 * bus/pci.c (grub_memalign_dma32): New function
1775 (grub_dma_free): Likewise.
1776 (grub_dma_get_virt): Likewise.
1777 (grub_dma_get_phys): Likewise.
1778 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1779 (grub_ohci_pci_iter): Use dma32_alloc.
1780 (grub_ohci_transfer): Likewise.
1781 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1782 (grub_usb_bulk_readwrite): Likewise.
1783 * include/grub/pci.h: Add declarations.
1784
1785 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 CS5536 support.
1788
1789 * bus/cs5536.c: New file.
1790 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1791 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1792 (cs5536_mod_SOURCES): New variable.
1793 (cs5536_mod_CFLAGS): Likewise.
1794 (cs5536_mod_LDFLAGS): Likewise.
1795 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1796 machine/pci.h.
1797 (kernel_img_SOURCES): Add bus/cs5536.c.
1798 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1799 usb_keyboard.mod.
1800 (usb_mod_SOURCES): New variable.
1801 (usb_mod_CFLAGS): New variable.
1802 (usb_mod_LDFLAGS): New variable.
1803 (usbtest_mod_SOURCES): New variable.
1804 (usbtest_mod_CFLAGS): New variable.
1805 (usbtest_mod_LDFLAGS): New variable.
1806 (ohci_mod_SOURCES): New variable.
1807 (ohci_mod_CFLAGS): New variable.
1808 (ohci_mod_LDFLAGS): New variable.
1809 (usbms_mod_SOURCES): New variable.
1810 (usbms_mod_CFLAGS): New variable.
1811 (usbms_mod_LDFLAGS): New variable.
1812 (usb_keyboard_mod_SOURCES): New variable.
1813 (usb_keyboard_mod_CFLAGS): New variable.
1814 (usb_keyboard_mod_LDFLAGS): New variable.
1815 * include/grub/smbus.h: New file.
1816 * include/grub/cs5536.h: New file.
1817
1818 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1819
1820 * util/grub.d/00_header.in: Add safety check to make sure that
1821 ${locale_dir} exists before trying to probe it.
1822
1823 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1824
1825 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1826 per the GNU Coding Standards; this is now too obscure to be worth
1827 documenting.
1828 (QNX): Likewise.
1829 (chainloader): Remove cross-reference to `SCO UnixWare'.
1830
1831 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1832
1833 * docs/grub.texi (Chain-loading): New section.
1834 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1835 adjusted for GRUB 2.
1836 (SCO UnixWare): Likewise.
1837 (QNX): Likewise.
1838 (chainloader): Add reference to `Block list syntax'.
1839 (drivemap): New section.
1840 (parttool): New section.
1841
1842 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1843
1844 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1845 the grub shell'.
1846 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1847 (Installing GRUB using grub-install): Remove reference to the grub
1848 shell; mention `grub-mkimage' and `grub-setup' instead.
1849 (Invoking grub-install): Likewise.
1850 (Interface): Add reference to `Menu entry editor'.
1851 (serial): Remove `--device' option.
1852
1853 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * docs/grub.texi (Configuration): New section, documenting
1856 configuration file generation using grub-mkconfig. I've left a slot
1857 for documenting the full shell scripting format but have not yet
1858 started on writing that up.
1859 (Invoking grub-mkconfig): New section.
1860
1861 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1862
1863 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1864 (GNU GRUB manual): Likewise.
1865 (General commands): Update description of `terminfo' for GRUB 2.
1866
1867 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1868
1869 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1870 (GRUB_MOD_INIT): Fix capitalisation.
1871 * docs/grub.texi (Command-line and menu entry commands): Document
1872 gettext and gptsync commands.
1873
1874 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1875
1876 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1877 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1878
1879 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1880
1881 Add btrfs probing support, currently only in the single-device case.
1882
1883 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1884 function.
1885 (grub_guess_root_device): Call find_root_device_from_mountinfo
1886 before looking in /dev.
1887
1888 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1891 GRUB_DISK_SIZE_UNKNOWN.
1892 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1893
1894 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1895
1896 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1897 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1898 corrupted or not synced properly.
1899
1900 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1903 Reported by: Seth Goldberg.
1904
1905 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1908 addition of dest.
1909 Reported by: Seth Goldberg.
1910
1911 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1914 Reported by: Seth Goldberg.
1915
1916 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1919 64-bit address as signed on MIPS.
1920
1921 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1922
1923 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1924 to the empty string.
1925
1926 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1927
1928 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1929
1930 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1931 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1932 * kern/misc.c (__enable_execute_stack): Disable on
1933 GRUB_MACHINE_EMU.
1934
1935 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1936
1937 Make grub-probe work with symbolic links under /dev/mapper as well
1938 as with real block devices. The Linux world seems to be (at best)
1939 in transition here, and GRUB shouldn't get caught in the middle.
1940
1941 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1942 /dev/mapper.
1943
1944 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1945
1946 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1947 input files (in which case exit zero).
1948
1949 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1950
1951 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1952 return NULL for various reasons even if it has a maximum-length
1953 buffer: for example, there might be a symlink loop, or the path
1954 might exceed PATH_MAX. If this happens, return NULL.
1955
1956 2010-05-27 Robert Millan <rmh@gnu.org>
1957
1958 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1959 partmap module to handle cross-partmap setups.
1960 Reported by Orestes Mas. Gràcies!
1961
1962 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1963
1964 * util/grub-mkrescue.in: Initialise override_dir rather than
1965 assuming that it's unset or empty in the environment.
1966
1967 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1968
1969 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1970 variable index into p_index to suppress a warning with -Wshadow.
1971
1972 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1973
1974 * INSTALL: Added flex >= 2.5.35 requirement.
1975
1976 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1979
1980 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 cmostest support.
1983
1984 * commands/i386/cmostest.c: New file.
1985 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1986 (cmostest_mod_SOURCES): New variable.
1987 (cmostest_mod_CFLAGS): Likewise.
1988 (cmostest_mod_LDFLAGS): Likewise.
1989 * conf/i386-pc.rmk: Likewise.
1990 * docs/grub.texi (Vendor power-on keys): New section.
1991 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1992 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1993 and GRUB_BUTTON_CMOS_ADDRESS.
1994 * util/grub.d/00_header.in: Handle powering-on by separate button.
1995
1996 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1999 Removed drawing_scrollbar argument. All users updated
2000 Fixes #29792.
2001 Reported by Jo Shields
2002
2003 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2006 buffer since gfxterm handles double repaint.
2007
2008 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2011 * term/gfxterm.c (real_scroll): Likewise.
2012
2013 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2016 before calling BIOS.
2017
2018 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * include/grub/i18n.h: Always enable grub_gettext.
2021
2022 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2025 partition naming style.
2026
2027 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
2028
2029 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2030 not the first option.
2031
2032 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2033
2034 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2035
2036 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2037
2038 * util/misc.c: Move inclusion of <limits.h> to ...
2039 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2040
2041 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2042
2043 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2044 Fix merge error in NetBSD code.
2045 (find_partition_start) [__NetBSD__]: Likewise.
2046
2047 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2048
2049 Fix grub-mkrescue usage unit testing.
2050
2051 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2052
2053 2010-05-18 Christian Franke <franke@computer.org>
2054
2055 * util/grub.d/10_windows.in: Use path names instead of
2056 drive letters to prevent warning from Cygwin 1.7.
2057 Add drivemap command to menuentry if needed.
2058
2059 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2060
2061 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2062 gnumach and gnumach.gz.
2063
2064 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * include/grub/i18n.h (gettext): Inline instead of using #define.
2067 (grub_gettext): Likewise.
2068 (_): Likewise.
2069
2070 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2073 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2074 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2075 (main): Add a slash after pkglibdirroot.
2076
2077 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * util/grub-install.in: Add missing "in" keyword.
2080
2081 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2084 Reported by: Seth Goldberg.
2085
2086 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2089
2090 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2091
2092 * configure.ac: Check for Linux device-mapper support.
2093
2094 * util/hostdisk.c (device_is_mapped): New function.
2095 (find_partition_start): New function, partly broken out from
2096 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2097 device-mapper support added.
2098 (linux_find_partition): Use find_partition_start.
2099 (convert_system_partition_to_system_disk): Add `st' argument.
2100 Support Linux /dev/mapper/* devices if device-mapper support is
2101 available; only DM-RAID devices are understood at present.
2102 (find_system_device): Add `st' argument. Pass it to
2103 convert_system_partition_to_system_disk.
2104 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2105 find_system_device and convert_system_partition_to_system_disk. Use
2106 find_partition_start.
2107
2108 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2109 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2110 * util/deviceiter.c [__linux__]: Define MINOR.
2111 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2112 * util/mkdevicemap.c (grub_putchar): New function.
2113 (grub_getkey): New function.
2114 (grub_refresh): New function.
2115 (main): Set debug=all if -v -v is used.
2116
2117 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2118
2119 Fix build with non-GNU libcs.
2120
2121 * util/misc.c (canonicalize_file_name): Move to ...
2122 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2123 grub_make_system_path_relative_to_its_root.
2124
2125 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2126
2127 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2128 we handle finding grub-mkimage. Default to finding grub-mkimage in
2129 ${bindir} with program_transform_name applied, and provide a
2130 --grub-mkimage option to override this.
2131
2132 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Remove grub-mkisofs.
2135
2136 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2137 (grub_mkisofs_SOURCES): Removed.
2138 (grub_mkisofs_CFLAGS): Removed.
2139 * util/mkisofs/defaults.h: Removed.
2140 * util/mkisofs/eltorito.c: Likewise.
2141 * util/mkisofs/exclude.h: Likewise.
2142 * util/mkisofs/hash.c: Likewise.
2143 * util/mkisofs/include/: Likewise.
2144 * util/mkisofs/include/fctldefs.h: Likewise.
2145 * util/mkisofs/include/mconfig.h: Likewise.
2146 * util/mkisofs/include/prototyp.h: Likewise.
2147 * util/mkisofs/include/statdefs.h: Likewise.
2148 * util/mkisofs/iso9660.h: Likewise.
2149 * util/mkisofs/joliet.c: Likewise.
2150 * util/mkisofs/match.c: Likewise.
2151 * util/mkisofs/match.h: Likewise.
2152 * util/mkisofs/mkisofs.c: Likewise.
2153 * util/mkisofs/mkisofs.h: Likewise.
2154 * util/mkisofs/msdos_partition.h: Likewise.
2155 * util/mkisofs/multi.c: Likewise.
2156 * util/mkisofs/name.c: Likewise.
2157 * util/mkisofs/rock.c: Likewise.
2158 * util/mkisofs/tree.c: Likewise.
2159 * util/mkisofs/write.c: Likewise.
2160
2161 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Unify grub-mkimage accross platforms.
2164
2165 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2166 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2167 (grub_mkelfimage_SOURCES): Removed.
2168 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2169 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2170 (bin_UTILITIES): Add grub-mkimage.
2171 (grub_mkimage_SOURCES): New variable.
2172 (kernel_img_HEADERS): Remove machine/kernel.h.
2173 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2174 (pkglib_PROGRAMS): Add kernel.img.
2175 (kernel_img_HEADERS): Add machine/kernel.h.
2176 (kernel_img_FORMAT): Removed.
2177 (bin_UTILITIES): Remove grub-mkimage.
2178 (grub_mkimage_SOURCES): Removed.
2179 (grub_mkimage_CFLAGS): Likewise.
2180 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2181 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2182 (pkglib_PROGRAMS): Add kernel.img.
2183 (bin_UTILITIES): Remove grub-mkimage.
2184 (grub_mkimage_SOURCES): Removed.
2185 (grub_mkimage_CFLAGS): Likewise.
2186 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2187 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2188 (pkglib_PROGRAMS): Add kernel.img.
2189 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2190 (pkglib_PROGRAMS): Add kernel.img.
2191 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2192 (grub_mkimage_SOURCES): Removed.
2193 (grub_mkimage_CFLAGS): Likewise.
2194 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2195 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2196 (pkglib_PROGRAMS): Add kernel.img.
2197 (bin_UTILITIES): Remove grub-mkimage.
2198 (grub_mkimage_SOURCES): Removed.
2199 (grub_mkimage_CFLAGS): Likewise.
2200 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2201 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2202 (grub_mkimage_SOURCES): Removed.
2203 (grub_mkimage_CFLAGS): Likewise.
2204 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2205 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2206 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2207 (grub_pe32_optional_header): ... this.
2208 (grub_pe64_optional_header): ... and this. All users updated.
2209 (GRUB_PE32_PE32_MAGIC): Split into ..
2210 (GRUB_PE32_PE32_MAGIC): .. this.
2211 (GRUB_PE32_PE64_MAGIC): .. and this.
2212 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2213 * include/grub/elf.h (PT_GNU_STACK): New definition.
2214 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2215 * include/grub/i386/efi/kernel.h: Likewise.
2216 * include/grub/i386/kernel.h: Likewise.
2217 * include/grub/i386/pc/kernel.h: Likewise.
2218 * include/grub/i386/qemu/boot.h: Likewise.
2219 * include/grub/mips/kernel.h: Likewise.
2220 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2221 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2222 * include/grub/powerpc/kernel.h: Likewise.
2223 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2224 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2225 * include/grub/sparc64/kernel.h: Likewise.
2226 * include/grub/x86_64/efi/kernel.h: Likewise.
2227 * include/grub/x86_64/kernel.h: Likewise.
2228 * include/grub/offsets.h: New file.
2229 * include/grub/kernel.h (grub_module_info): Split into ...
2230 (grub_module_info32): ... this.
2231 (grub_module_info64): ... and this.
2232 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2233 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2234 (grub_boot_blocklist): Moved from here ...
2235 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2236 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2237 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2238 * include/grub/types.h (grub_target_to_host16): Removed.
2239 (grub_target_to_host32): Likewise.
2240 (grub_target_to_host64): Likewise.
2241 (grub_host_to_target16): Likewise.
2242 (grub_host_to_target32): Likewise.
2243 (grub_host_to_target64): Likewise.
2244 (grub_host_to_target_addr): Likewise.
2245
2246 Support grub-mkrescue for efi, coreboot and qemu.
2247
2248 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2249 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2250 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2251 * util/grub-mkrawimage.c: Moved from here ...
2252 * util/grub-mkimage.c: ... here. All users updated.
2253 (ALIGN_ADDR): Use image_target.
2254 (TARGET_NO_FIELD): New const.
2255 (image_target_desc): New type.
2256 (image_targets): New array.
2257 (grub_target_to_host64): Use image_target.
2258 (grub_target_to_host32): Likewise.
2259 (grub_target_to_host16): Likewise.
2260 (grub_host_to_target64): Likewise.
2261 (grub_host_to_target32): Likewise.
2262 (grub_host_to_target16): Likewise.
2263 (grub_host_to_target_addr): Likewise.
2264 (generate_image): Handle multiimage.
2265 (main): Require -O parameter. All users updated.
2266 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2267 util/efi/grub-mkimage.c
2268 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2269 New option --rom-directory.
2270 Use xorriso.
2271 * util/i386/efi/grub-mkimage.c: Removed.
2272 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2273 (grub_target_to_host32): Likewise.
2274 (grub_target_to_host64): Likewise.
2275 (grub_host_to_target16): Likewise.
2276 (grub_host_to_target32): Likewise.
2277 (grub_host_to_target64): Likewise.
2278 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2279 (grub_target_to_host32): Likewise.
2280 (grub_target_to_host64): Likewise.
2281 (grub_host_to_target16): Likewise.
2282 (grub_host_to_target32): Likewise.
2283 (grub_host_to_target64): Likewise.
2284
2285 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2286
2287 Source tree is reorganized for emu build.
2288
2289 * include/grub/util/console.h: Move from here...
2290 * include/grub/emu/console.h: ...to here.
2291 * include/grub/util/getroot.h: Move from here...
2292 * include/grub/emu/getroot.h: ...to here.
2293 * include/grub/util/hostdisk.h: Move from here...
2294 * include/grub/emu/hostdisk.h: ...to here.
2295 * util/console.c: Move from here...
2296 * kern/emu/console.c: ...to here.
2297 * util/getroot.c: Move from here...
2298 * kern/emu/getroot.c: ...to here.
2299 * util/grub-emu.c: Move from here...
2300 * kern/emu/main.c: ...to here.
2301 * util/hostdisk.c: Move from here...
2302 * kern/emu/hostdisk.c: ...to here.
2303 * util/hostfs.c: Move from here...
2304 * kern/emu/hostfs.c: ...to here.
2305 * util/mm.c: Move from here...
2306 * kern/emu/mm.c: ...to here.
2307 * util/pci.c: Move from here...
2308 * bus/emu/pci.c: ...to here.
2309 * util/sdl.c: Move from here...
2310 * video/emu/sdl.c: ...to here.
2311 * util/time.c: Move from here...
2312 * kern/emu/time.c: ...to here.
2313 * util/usb.c: Move from here...
2314 * bus/usb/emu/usb.c: ...to here.
2315
2316 * include/grub/emu/misc.h: New header for grub-emu functions.
2317 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2318
2319 * conf/any-emu.rmk: Rule updates for above renames.
2320 * conf/common.rmk: Likewise.
2321 * conf/i386-pc.rmk: Likewise.
2322 * conf/i386-qemu.rmk: Likewise.
2323 * conf/mips.rmk: Likewise.
2324 * conf/sparc64-ieee1275.rmk: Likewise.
2325 * conf/x86-efi.rmk: Likewise.
2326
2327 * disk/lvm.h: #include updates for above renames.
2328 * util/grub-mkrelpath.c: Likewise.
2329 * util/grub-probe.c: Likewise.
2330 * util/i386/pc/grub-setup.c: Likewise.
2331 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2332 * kern/emu/console.c: Likewise.
2333 * kern/emu/getroot.c: Likewise.
2334 * kern/emu/hostdisk.c: Likewise.
2335 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2336
2337 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2338 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2339 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2340 * util/misc.c: Remove grub-emu functions.
2341
2342 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 Fix gfxmenu crash.
2345 Reported by: Thorsten Grützmacher.
2346
2347 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2348 timeout hook.
2349 (circprog_set_property): Register and unregister timeout hook.
2350 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2351 (label_destroy): Free template. and unregister hook.
2352 (label_set_state): New function.
2353 (label_set_property): Handle templates and hooks.
2354 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2355 timeout hook.
2356 (progress_bar_set_property): Register and unregister timeout hook.
2357 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2358 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2359 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2360 (update_timeout_visit): Removed.
2361 (update_timeouts): New function.
2362 (redraw_timeouts): Likewise.
2363 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2364 (grub_gfxmenu_clear_timeout): Likewise.
2365 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2366 (grub_gfxmenu_timeout_notify): Likewise.
2367 (grub_gfxmenu_timeout_notifications): New external variable.
2368 (grub_gfxmenu_timeout_register): New function.
2369 (grub_gfxmenu_timeout_unregister): Likewise.
2370
2371 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 Transform (broken) vga terminal into (working) vga video driver.
2374
2375 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2376 video/i386/pc/vga.c.
2377 * include/grub/video.h (grub_video_driver_id):
2378 Add GRUB_VIDEO_DRIVER_VGA.
2379 * term/i386/pc/vga.c: Renamed to ...
2380 * video/i386/pc/vga.c: ...this
2381 (DEBUG_VGA): Removed.
2382 (CHAR_WIDTH): Likewise.
2383 (CHAR_HEIGHT): Likewise.
2384 (TEXT_WIDTH): Likewise.
2385 (TEXT_HEIGHT): Likewise.
2386 (DEFAULT_FG_COLOR): Likewise.
2387 (DEFAULT_BG_COLOR): Likewise.
2388 (colored_char): Likewise.
2389 (xpos): Likewise.
2390 (ypos): Likewise.
2391 (cursor_state): Likewise.
2392 (fg_color): Likewise.
2393 (bg_color): Likewise.
2394 (text_buf): Likewise.
2395 (page): Likewise.
2396 (font): Likewise.
2397 (framebuffer): New variable.
2398 (set_read_map): Disabled.
2399 (setup): New variable.
2400 (is_target): Likewise.
2401 (grub_vga_mod_init): Likewise.
2402 (grub_vga_mod_fini): Likewise.
2403 (check_vga_mem): Likewise.
2404 (write_char): Likewise.
2405 (write_cursor): Likewise.
2406 (scroll_up): Likewise.
2407 (grub_vga_putchar): Likewise.
2408 (grub_vga_getcharwidth): Likewise.
2409 (grub_vga_getwh): Likewise.
2410 (grub_vga_getxy): Likewise.
2411 (grub_vga_gotoxy): Likewise.
2412 (grub_vga_cls): Likewise.
2413 (grub_vga_setcolorstate): Likewise.
2414 (grub_vga_setcursor): Likewise.
2415 (grub_video_vga_init): New function.
2416 (grub_video_vga_setup): Likewise.
2417 (grub_video_vga_fini): Likewise.
2418 (update_target): Likewise.
2419 (grub_video_vga_blit_bitmap): Likewise.
2420 (grub_video_vga_blit_render_target): Likewise.
2421 (grub_video_vga_set_active_render_target): Likewise.
2422 (grub_video_vga_get_active_render_target): Likewise.
2423 (grub_video_vga_swap_buffers): Likewise.
2424 (grub_video_vga_set_palette): Likewise.
2425 (grub_video_vga_get_info_and_fini): Likewise.
2426 (grub_vga_term): Removed.
2427 (grub_video_vga_adapter): New variable.
2428 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2429 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2430
2431 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * video/readers/jpeg.c: Indented.
2434
2435 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Various jpeg cleanups.
2438
2439 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2440 (grub_jpeg_decode_quan_table): Use sizeof.
2441 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2442
2443 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2444
2445 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2446 tables. Ignore non-last ac bit.
2447 (grub_jpeg_decode_quan_table): Likewise.
2448
2449 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2452 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2453 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2454 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2455 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2456 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2457
2458 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2461 error.
2462
2463 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2466
2467 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2470 condition.
2471
2472 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2475 part.
2476
2477 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2480 pointers.
2481
2482 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2485
2486 2010-05-01 Christian Franke <franke@computer.org>
2487
2488 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2489 Remove broken Cygwin path conversion.
2490 * util/misc.c: [__CYGWIN__] Add include and define.
2491 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2492 for Cygwin 1.7.
2493 (make_system_path_relative_to_its_root): Simplify loop, replace early
2494 return by break.
2495 [__CYGWIN__] Add conversion to win32 path.
2496 Include "/" case in trailing slash removal.
2497
2498 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2501 Reported by: Seth Goldberg
2502
2503 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * commands/help.c (grub_cmd_help): Fix a typo.
2506 Reported by: Seth Goldberg
2507
2508 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2511 name and add N_.
2512 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2513 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2514 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2515 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2516 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2517 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2518 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2519 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2520 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2521 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2522 * normal/context.c (GRUB_MOD_INIT): Likewise.
2523 * normal/main.c (GRUB_MOD_INIT): Likewise.
2524 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2525 * term/serial.c (GRUB_MOD_INIT): Likewise.
2526 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2527
2528 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2531 extra == 0.
2532
2533 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * commands/iorw.c: New file.
2536 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2537 (iorw_mod_SOURCES): New variable.
2538 (iorw_mod_CFLAGS): Likewise.
2539 (iorw_mod_LDFLAGS): Likewise.
2540
2541 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 Hotkey support
2544
2545 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2546 * normal/main.c (hotkey_aliases): New variable.
2547 (grub_normal_add_menu_entry): Parse "--hotkey".
2548 * normal/menu_text.c (run_menu): Handle hotkeys.
2549
2550 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * kern/i386/coreboot/init.c (grub_machine_init): Call
2553 grub_machine_mmap_init on qemu.
2554
2555 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * boot/i386/qemu/boot.S: Add a missing .code16.
2558
2559 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 Use LBIO on coreboot.
2562
2563 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2564 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2565 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2566 New declaration.
2567 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2568 grub_machine_mmap_init on coreboot.
2569 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2570 GRUB_LINUXBIOS_MEMBER_LINK.
2571 (grub_machine_mmap_iterate): Fix declaration.
2572 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2573
2574 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Split coreboot and multiboot ports.
2577
2578 * conf/i386-multiboot.rmk: New file.
2579 * configure.ac: Add multiboot port.
2580 * include/grub/i386/multiboot/boot.h: New file.
2581 * include/grub/i386/multiboot/console.h: Likewise.
2582 * include/grub/i386/multiboot/init.h: Likewise.
2583 * include/grub/i386/multiboot/kernel.h: Likewise.
2584 * include/grub/i386/multiboot/loader.h: Likewise.
2585 * include/grub/i386/multiboot/memory.h: Likewise.
2586 * include/grub/i386/multiboot/serial.h: Likewise.
2587 * include/grub/i386/multiboot/time.h: Likewise.
2588 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2589 * loader/multiboot.c: Likewise.
2590 * loader/multiboot_mbi2.c: Likewise.
2591 * util/grub-mkrescue.in: Generate multiboot rescue.
2592
2593 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2596
2597 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Merge handling of input and output terminals. Fix a hang.
2600
2601 * commands/terminal.c (abstract_terminal): New struct.
2602 (handle_command): New function. Based on grub_cmd_terminal_input.
2603 (grub_cmd_terminal_input): Use handle_command.
2604 (grub_cmd_terminal_output): Use handle_command.
2605
2606 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2607
2608 Fix comment handling.
2609
2610 * tests/grub_script_comments.in: New testcase.
2611 * conf/tests.rmk: Rules for new testcase.
2612 * script/yylex.l: Updated flex rules.
2613
2614 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2615
2616 * docs/grub.texi (play): Document that zero pitches produce rests.
2617 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2618 if argc is 1.
2619
2620 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2623 autogen issues.
2624
2625 2010-04-26 Christian Franke <franke@computer.org>
2626
2627 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2628 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2629 (grub_get_prefix): Remove function.
2630 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2631 make_system_path_relative_to_its_root ().
2632 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2633
2634 2010-04-24 Christian Franke <franke@computer.org>
2635
2636 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2637 (kernel_img_LDFLAGS): Remove -static-libgcc.
2638
2639 2010-04-24 Christian Franke <franke@computer.org>
2640
2641 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2642 and CHECK_END_SYMBOL if grub-emu is built.
2643 Unset TARGET_OBJ2ELF if grub-emu is built
2644 without module support.
2645
2646 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2647
2648 Nilfs2 support.
2649
2650 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2651 (grub_fstest_SOURCES): Likewise.
2652 (pkglib_MODULES): Add nilfs2.mod.
2653 (nilfs2_mod_SOURCES): New variable.
2654 (nilfs2_mod_CFLAGS): Likewise.
2655 (nilfs2_mod_LDFLAGS): Likewise.
2656 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2657 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2658 * fs/nilfs2.c: New file.
2659
2660 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2663 is not supported.
2664
2665 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2666
2667 Add grub-mkconfig support for NetBSD.
2668
2669 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2670 * util/grub-mkconfig.in: export new NetBSD specific variables.
2671 * po/POTFILES-shell: added 10_netbsd.in.
2672 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2673
2674 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2675
2676 Fix emu build with grub-emu-pci and grub-emu-modules.
2677
2678 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2679 functions.
2680 * include/grub/libpciaccess.h: New file.
2681 * conf/any-emu.rmk: Update kernel headers for emu build.
2682
2683 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2686
2687 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2690
2691 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2694 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2695 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2696 util/ieee1275/ofpath.c.
2697 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2698 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2699 * include/grub/sparc64/ieee1275/boot.h
2700 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2701 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2702 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2703 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2704 const char *.
2705 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2706 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2707 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2708 install.
2709
2710 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2711
2712 * util/grub-mkconfig.in: Corrected two == equality tests.
2713 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2714 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2715 expect a number appended to it.
2716 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2717 expects a number appended to it.
2718
2719 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2722
2723 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * util/hostdisk.c (make_device_name): Change to new partition naming.
2726
2727 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2730
2731 2010-04-17 Christian Franke <franke@computer.org>
2732
2733 * Makefile.in: Add missing localedir setting.
2734
2735 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2736
2737 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2738 mistake in r2156. Noticed by Anthony Fok.
2739
2740 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2741 @localedir@.
2742 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2743
2744 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2745
2746 Fix a spurious, uninitialized variable warning.
2747
2748 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2749 Initialize variable, shdr.
2750 (grub_freebsd_load_elfmodule): Likewise.
2751 (grub_freebsd_load_elf_meta): Likewise.
2752
2753 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2754
2755 Fix for escaped dollar in double quoted strings.
2756
2757 * script/yylex.l: Updated flex rules.
2758 * conf/tests.rmk: Rule for new testcase.
2759 * tests/grub_script_dollar.in: New testcase.
2760
2761 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2762 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2763
2764 Enclose all translated strings in grub.cfg in single quotes, and
2765 escape them appropriately (Ubuntu bug #552921).
2766
2767 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2768 * util/grub.d/10_hurd.in: Use it.
2769 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2770 * util/grub.d/10_linux.in (linux_entry): Likewise.
2771
2772 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Fix cygwin compilation.
2775
2776 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2777 * include/grub/misc.h (__register_frame_info)
2778 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2779 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2780 * kern/misc.c (__register_frame_info)
2781 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2782 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2783
2784 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2787
2788 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 Unify libgcc processing.
2791
2792 * Makefile.in (kernel_img_LDFLAGS): New variable.
2793 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2794 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2795 overwriting.
2796 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2797 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2798 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2799 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2800 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2801 overwriting. Remove -lgcc and -static-libgcc
2802 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2803 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2804 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2805 (kernel_img_LDFLAGS): Append instead of overwriting.
2806 Remove -lgcc and -static-libgcc
2807 * conf/sparc64-ieee1275.rmk: Likewise.
2808 * include/grub/powerpc/libgcc.h: Move to ...
2809 * include/grub/libgcc.h: .. this.
2810 * include/grub/libgcc.h: Don't export most of the function on x86.
2811 (__bswapsi2): New export.
2812 (__bswapdi2): Likewise.
2813 * include/grub/mips/libgcc.h: Removed.
2814 * include/grub/sparc64/libgcc.h: Likewise.
2815
2816 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2819 disk_info_msg (conflicts with gettexting into languages with cases).
2820
2821 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2822
2823 Add grub-probe support for NetBSD.
2824
2825 * util/getroot.c (find_root_device): Convert block device to
2826 character device on NetBSD.
2827 * util/probe.c (probe): Require character device on NetBSD.
2828 * util/hostdisk.c: NetBSD specific headers.
2829 (configure_device_driver): new function to tune device driver
2830 parameters (currently only for NetBSD floppy driver).
2831 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2832 via disklabel ioctl).
2833 (open_device): call configure_device_driver on NetBSD.
2834 (convert_system_partition_to_system_disk): NetBSD specific code.
2835 (device_is_wholedisk): Likewise.
2836 (grub_util_biosdisk_get_grub_dev): Likewise.
2837 (make_device_name): Fixed a typo in bsd_part_str.
2838 * configure.ac: check for opendisk() and getrawpartition() on
2839 NetBSD and set LIBUTIL.
2840 * Makefile.in: add LIBUTIL to LIBS.
2841
2842 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2843
2844 Documentation fix.
2845
2846 * util/grub-script-check.c: Better help message.
2847
2848 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2849
2850 Fix FreeBSD build.
2851
2852 * configure.ac: Flex version check.
2853 * conf/common.rmk: Add -Wno-error to sh.mod.
2854 * script/yylex.l: Remove all #pragma.
2855
2856 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2859 prototype.
2860 Reported by: Seth Goldberg.
2861
2862 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2865 Rename "module" to "module2".
2866 Reported by: Seth Goldberg.
2867
2868 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2871 EXPORT_FUNC.
2872 Reported by: Seth Goldberg.
2873
2874 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * lib/posix_wrap/locale.h: Add missing file.
2877 Reported by: Seth Goldberg.
2878
2879 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 grub-emu module load support.
2882
2883 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2884 NO_DYNAMIC_MODULES switched to this.
2885 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2886 (CFLAGS): Likewise.
2887 * conf/any-emu.rmk: Generate symlist.
2888 (kernel_img_HEADERS): Add util/datetime.h.
2889 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2890 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2891 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2892 kern/$(target_cpu)/cache.S.
2893 * configure.ac (grub-emu-modules): New option.
2894 * genmk.rb: Handle multiple source lists.
2895 * include/grub/sdl.h: New file.
2896 * include/grub/libusb.h: Likewise.
2897 * util/grub-emu.c (main): Hanle (host) root.
2898 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2899 GRUB_ERR_UNKNOWN_DEVICE.
2900 * util/misc.c: Move mm functions to ...
2901 * util/mm.c: ... here. All users updated.
2902
2903 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2906 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2907 missing files.
2908 (maintainer-clean): Remove libgcrypt-grub.
2909
2910 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2913
2914 2010-04-09 EFI Coder <eficoder@hotmail.com>
2915
2916 * normal/menu_text.c (print_message): Clean up the message and show
2917 the Fn information when on EFI
2918 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2919
2920 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2923 All users updated.
2924 * normal/crypto.c (read_crypto_list): Likewise.
2925 * normal/dyncmd.c (read_command_list): Likewise.
2926 * normal/term.c (read_terminal_list): Likewise.
2927 * normal/main.c (read_lists): Use explicit prefix.
2928 (read_lists_hook): Use read_lists.
2929 (grub_normal_execute): Likewise.
2930
2931 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2934 Reported by: Thomas Schmitt.
2935 Add -no-emul-boot to grub-mkisofs parameters.
2936
2937 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * font/font.c: Indented.
2940
2941 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2942
2943 Elif support to GRUB script (by Deepak Vankadaru).
2944
2945 * tests/grub_script_if.in: New testcase.
2946 * conf/tests.rmk: Rule for new testcase.
2947 * script/parser.y: Grammar rules for elif.
2948
2949 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2950
2951 While and until loops support to GRUB script.
2952
2953 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2954 (grub_script_create_cmdwhile): New function prototype.
2955 (grub_script_execute_cmdwhile): New function prototype.
2956 * script/execute.c (grub_script_execute_cmdwhile): New function.
2957 * script/parser.y (command): New commands.
2958 (whilecmd): New grammar rule.
2959 (untilcmd): New grammar rule.
2960 * script/script.c (grub_script_create_cmdwhile): New function.
2961 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2962 function.
2963
2964 * tests/grub_script_while1.in: New testcase.
2965 * conf/tests.rmk: Rule for new testcase.
2966
2967 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2970 as *.jpg.
2971
2972 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
2973
2974 GRUB_BACKGROUND support.
2975
2976 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2977 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2978
2979 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 Load fonts and modules for gfxmenu in grub-mkconfig.
2982 Idea by: Mario Vazquez
2983
2984 * util/grub.d/00_header.in: Load pf2 and image modules.
2985
2986 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 grub-mkconfig multiple terminal support.
2989
2990 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2991 * util/grub.d/00_header.in: Likewise.
2992
2993 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2996 we use cd $(srcdir).
2997
2998 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
2999
3000 * util/grub.d/10_linux.in: Only use the first word of
3001 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3002 spaces in GRUB_DISTRIBUTOR.
3003 * util/grub.d/10_kfreebsd.in: Likewise.
3004 * util/grub.d/10_hurd.in: Likewise.
3005
3006 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3007
3008 Fix unit testing framework for Qemu 0.12.
3009
3010 * tests/util/grub-shell.in: Remove -serial stdio option.
3011
3012 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 POSIX header file wrappers.
3015
3016 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3017 equivalents.
3018 * lib/posix_wrap/ctype.h: Likewise.
3019 * lib/posix_wrap/errno.h: Likewise.
3020 * lib/posix_wrap/langinfo.h: Likewise.
3021 * lib/posix_wrap/limits.h: Likewise.
3022 * lib/posix_wrap/localcharset.h: Likewise.
3023 * lib/posix_wrap/stdint.h: Likewise.
3024 * lib/posix_wrap/stdio.h: Likewise.
3025 * lib/posix_wrap/stdlib.h: Likewise.
3026 * lib/posix_wrap/string.h: Likewise.
3027 * lib/posix_wrap/sys/types.h: Likewise.
3028 * lib/posix_wrap/unistd.h: Likewise.
3029 * lib/posix_wrap/wchar.h: Likewise.
3030 * lib/posix_wrap/wctype.h: Likewise.
3031 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3032 (grub_script.yy.h): Likewise.
3033 * script/yylex.l: Remove POSIX emulation #defines.
3034 * Makefile.in (POSIX_CFLAGS): New variable.
3035 (GNULIB_UTIL_CFLAGS): Likewise.
3036
3037 Regexp support.
3038
3039 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3040 (regexp_mod_SOURCES): New variable.
3041 (regexp_mod_CFLAGS): Likewise.
3042 (regexp_mod_LDFLAGS): Likewise.
3043 * commands/regexp.c: New file.
3044 * gnulib/regcomp.c: New file. Imported from gnulib.
3045 * gnulib/regex.c: Likewise.
3046 * gnulib/regex_internal.c: Likewise.
3047 * gnulib/regex_internal.h: Likewise.
3048 * gnulib/regexec.c: Likewise.
3049 * gnulib/regex.h: Likewise.
3050
3051 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3054 unsupported video mode types.
3055
3056 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3059
3060 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3063 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3064
3065 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Remove unused grub_vga_get_font.
3068
3069 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3070 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3071
3072 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3073
3074 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3075 * include/grub/misc.h: Likewise.
3076
3077 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3078
3079 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3080 for which failure is fatal.
3081
3082 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3083
3084 * util/grub-install.in: Use mkdir -p to create grub directory.
3085 * util/i386/efi/grub-install.in: Likewise.
3086 * util/ieee1275/grub-install.in: Likewise.
3087
3088 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3089
3090 * Makefile.in (LEX): new variable.
3091
3092 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3093
3094 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3095 `=' and added double quotes on operands of this equality test.
3096
3097 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * Makefile.in (uninstall): Remove a leftover debug echo.
3100 Reported by: Grégoire Sutre
3101
3102 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 MIPS multiboot2 support.
3105
3106 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3107 (multiboot2_mod_SOURCES): New variable.
3108 (multiboot2_mod_CFLAGS): Likewise.
3109 (multiboot2_mod_LDFLAGS): Likewise.
3110 (multiboot2_mod_ASFLAGS): Likewise.
3111 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3112 definition.
3113 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3114 (MULTIBOOT_MBI_REGISTER): Likewise.
3115 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3116 (MULTIBOOT_ELF32_MACHINE): Likewise.
3117 (MULTIBOOT_ELF64_MACHINE): Likewise.
3118 * include/grub/mips/multiboot.h: New file.
3119 * include/grub/video.h (grub_video_driver_id): New type
3120 GRUB_VIDEO_DRIVER_SM712.
3121 (grub_video_get_info_and_fini): Export.
3122 (grub_video_get_palette): Likewise.
3123 (grub_video_get_driver_id): Likewise.
3124 * include/multiboot2.h: Resynced with spec.
3125 * loader/i386/multiboot.c: Moved from here ...
3126 * loader/multiboot.c: ... here. All users updated.
3127 (grub_multiboot_boot): Use platform-specific macros.
3128 * loader/i386/multiboot_elfxx.c: Moved from here ...
3129 * loader/multiboot_elfxx.c: ... here. All users updated.
3130 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3131 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3132 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3133
3134 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 Import gnulib argp module.
3137
3138 * gnulib/argp-ba.c: New file.
3139 * gnulib/argp-eexst.c: Likewise.
3140 * gnulib/argp-fmtstream.c: Likewise.
3141 * gnulib/argp-fmtstream.h: Likewise.
3142 * gnulib/argp-fs-xinl.c: Likewise.
3143 * gnulib/argp-help.c: Likewise.
3144 * gnulib/argp-namefrob.h: Likewise.
3145 * gnulib/argp-parse.c: Likewise.
3146 * gnulib/argp-pin.c: Likewise.
3147 * gnulib/argp-pv.c: Likewise.
3148 * gnulib/argp-pvh.c: Likewise.
3149 * gnulib/argp-version-etc.c: Likewise.
3150 * gnulib/argp-version-etc.h: Likewise.
3151 * gnulib/argp-xinl.c: Likewise.
3152 * gnulib/argp.h: Likewise.
3153
3154 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * kern/device.c (grub_device_iterate): Clear errors after failed
3157 opening device.
3158
3159 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3162 returned by firmware.
3163
3164 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3167 compilation on coreboot and qemu
3168
3169 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * include/multiboot2.h: Resync with spec.
3172
3173 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 Multiboot2 tag support
3176
3177 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3178 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3179 Remove loader/multiboot_loader.c.
3180 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3181 (grub_multiboot2_real_boot): Likewise.
3182 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3183 (grub_get_multiboot_mmap_count): New proto.
3184 (grub_fill_multiboot_mmap): Likewise.
3185 (grub_multiboot_set_video_mode): Likewise.
3186 (grub_multiboot_set_console): Likewise.
3187 (grub_multiboot_load): Likewise.
3188 (grub_multiboot_load_elf): Likewise.
3189 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3190 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3191 * include/multiboot.h: Resynced with specification.
3192 * include/multiboot2.h: Resynced with specification.
3193 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3194 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3195 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3196 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3197 users updated.
3198 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3199 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3200 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3201 Removed.
3202 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3203 Moved from here...
3204 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3205 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3206 Moved from here...
3207 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3208 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3209 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3210 All users updated.
3211 * loader/i386/multiboot_mbi2.c: New file.
3212
3213 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 Resync with gnulib.
3216
3217 * Makefile.in (GNULIB_CFLAGS): New variable.
3218 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3219 (grub_script_check_CFLAGS): New variable.
3220 * gnulib/alloca.h: Resync with gnulib.
3221 * gnulib/error.c: Likewise.
3222 * gnulib/error.h: Likewise.
3223 * gnulib/fnmatch.c: Likewise.
3224 * gnulib/fnmatch_loop.c: Likewise.
3225 * gnulib/getdelim.c: Likewise.
3226 * gnulib/getline.c: Likewise.
3227 * gnulib/getopt.c: Likewise.
3228 * gnulib/getopt1.c: Likewise.
3229 * gnulib/getopt_int.h: Likewise.
3230 * gnulib/gettext.h: Likewise.
3231 * gnulib/progname.c: Likewise.
3232 * gnulib/progname.h: Likewise.
3233
3234 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3235
3236 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3237 which is the case with --disabled-nls.
3238
3239 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3240 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3241 * util/misc.c: Likewise.
3242 * util/mkisofs/mkisofs.c: Likewise.
3243 * util/mkisofs/mkisofs.h: Likewise.
3244
3245 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Simplify Apple CC support.
3248
3249 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3250 Add 0 byte at the end not to have a symbol with empty target.
3251 * mmap/i386/pc/mmap_helper.S: Likewise.
3252 * genmk.rb: Ignore errors 2030 and 2050.
3253 * kern/i386/pc/startup.S: Use LOCAL when possible.
3254
3255 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3256
3257 Testcase and the fix for final semicolon on cmdline.
3258
3259 * tests/grub_script_final_semicolon.in: New testcase.
3260 * conf/tests.rmk: Rules for the new testcase.
3261 * script/parser.y: Grammar fix.
3262
3263 2010-03-26 BVK Chaitanya <bvk@localhost>
3264
3265 Blank lines testcase for GRUB script.
3266
3267 * tests/grub_script_blanklines.in: New testcase.
3268 * conf/tests.rmk: Rules for the new testcase.
3269
3270 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 Don't use __FILE__.
3273
3274 * genmk.rb: Add -DGRUB_FILE to all C targets.
3275 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3276 * include/grub/list.h: Likewise.
3277 * include/grub/misc.h: Likewise.
3278 * include/grub/mm.h: Likewise.
3279 * include/grub/test.h: Likewise.
3280 * kern/mm.c: Likewise.
3281 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3282
3283 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Sunpc partitions support.
3286
3287 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3288 (grub_fstest_SOURCES): Likewise.
3289 (pkglib_MODULES): Add part_sunpc.mod.
3290 (part_sunpc_mod_SOURCES): New variable.
3291 (part_sunpc_mod_CFLAGS): Likewise.
3292 (part_sunpc_mod_LDFLAGS): Likewise.
3293 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3294 * partmap/sunpc.c: New file.
3295
3296 2010-03-26 BVK Chaitanya <bvk@localhost>
3297
3298 For loop support to GRUB script.
3299
3300 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3301 (grub_script_create_cmdfor): New function prototype.
3302 (grub_script_execute_cmdfor): New function prototype.
3303 * script/execute.c (grub_script_execute_cmdfor): New function.
3304 * script/parser.y (command): New for command.
3305 (forcmd): New grammar rule.
3306 * script/script.c (grub_script_create_cmdfor): New function.
3307 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3308 function.
3309 * tests/grub_script_for1.in: New testcase.
3310 * conf/tests.rmk: Rules for new testcase.
3311
3312 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 Nested partitions
3315
3316 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3317 'partition' is NULL, grub_partition_get_start already does that.
3318 * commands/loadenv.c (check_blocklists): Likewise.
3319 (write_blocklists): Likewise.
3320 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3321 (grub_fstest_SOURCES): Likewise.
3322 (pkglib_MODULES): Add part_bsd.mod.
3323 (part_bsd_mod_SOURCES): New variable.
3324 (part_bsd_mod_CFLAGS): Likewise.
3325 (part_bsd_mod_LDFLAGS): Likewise.
3326 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3327 (grub_emu_SOURCES): Likewise.
3328 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3329 * include/grub/bsdlabel.h: New file.
3330 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3331 'get_name'.
3332 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3333 (grub_partition_map_list): New variable.
3334 (grub_partition_map_register): Inline.
3335 (grub_partition_map_unregister): Likewise.
3336 (FOR_PARTITION_MAPS): New macro.
3337 (grub_partition_map_iterate): Removed.
3338 (grub_partition_get_start): Handle nested partitions.
3339 * include/grub/msdos_partition.h: Remove bsd-related entries.
3340 (grub_pc_partition): Remove.
3341 * kern/disk.c (grub_disk_close): Free partition data.
3342 (grub_disk_adjust_range): Handle nested partitions.
3343 * kern/partition.c (grub_partition_map_probe): New function.
3344 (grub_partition_probe): Parse name to number, handle subpartitions.
3345 (get_partmap): New function.
3346 (grub_partition_iterate): Handle subpartitions.
3347 (grub_partition_get_name): Likewise.
3348 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3349 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3350 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3351 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3352 Set 'number'.
3353 (acorn_partition_map_probe): Remove.
3354 (acorn_partition_map_get_name): Likewise.
3355 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3356 Set 'number'.
3357 Set 'index' to 0 since there can be only one partition entry per sector.
3358 (amiga_partition_map_probe): Remove.
3359 (amiga_partition_map_get_name): Likewise.
3360 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3361 Set 'number'.
3362 Set 'offset' and 'index' to real positions of partitions.
3363 (apple_partition_map_probe): Remove.
3364 (apple_partition_map_get_name): Likewise.
3365 * partmap/bsdlabel.c: New file.
3366 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3367 Set 'number'.
3368 Allocate 'data' so it can be correctly freed.
3369 Set 'index' to offset inside sector.
3370 (gpt_partition_map_probe): Remove.
3371 (gpt_partition_map_get_name): Likewise.
3372 * partmap/msdos.c (grub_partition_parse): Remove.
3373 (pc_partition_map_iterate): Don't force raw access.
3374 Set 'number'.
3375 Make 'ext_offset' a local variable.
3376 (pc_partition_map_probe): Remove.
3377 (pc_partition_map_get_name): Remove.
3378 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3379 Set 'number'.
3380 (sun_partition_map_probe): Remove.
3381 (sun_partition_map_get_name): Likewise.
3382 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3383 (grub_pcpart_type): Likewise.
3384 * util/hostdisk.c (open_device): Handle new numbering scheme.
3385 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3386 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3387 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3388 * util/grub-install.in: Insert all subpartition modules.
3389 * util/ieee1275/grub-install.in: Likewise.
3390
3391 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3392
3393 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3394 grammar.
3395
3396 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3397
3398 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3399
3400 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3401
3402 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3403 match where 'make install' puts them.
3404 * util/i386/efi/grub-install.in: Likewise.
3405
3406 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3407
3408 * .bzrignore: Add gentrigtables, grub-script-check,
3409 grub_script_check_init.c, grub_script_check_init.h, and
3410 trigtables.c.
3411
3412 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * kern/parser.c: Indented.
3415
3416 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3419
3420 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3423 alpha_mask_size == 0 case.
3424
3425 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3426
3427 GRUB shell lexer and parser improvements.
3428
3429 * conf/any-emu.rmk: Build rule updates.
3430 * conf/common.rmk: Likewise.
3431 * conf/i386-coreboot.rmk: Likewise.
3432 * conf/i386-efi.rmk: Likewise.
3433 * conf/i386-ieee1275.rmk: Likewise.
3434 * conf/i386-pc.rmk: Likewise.
3435 * conf/powerpc-ieee1275.rmk: Likewise.
3436 * conf/x86_64-efi.rmk: Likewise.
3437
3438 * configure.ac: Configure check for flex.
3439
3440 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3441 types.
3442 (grub_lexer_param): Struct member updates.
3443 (grub_parser_param): Likewise.
3444 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3445 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3446 (grub_script_lexer_init): Prototype update.
3447 (grub_script_lexer_record_start): Likewise.
3448 (grub_script_lexer_record_stop): Likewise.
3449 (grub_script_lexer_yywrap): New function prototype.
3450 (grub_script_lexer_fini): Likewise.
3451 (grub_script_execute_argument_to_string): Removed by...
3452 (grub_script_execute_argument_to_argv): ...better version.
3453
3454 * script/execute.c (ROUND_UPTO): New macro.
3455 (grub_script_execute_cmdline): Out of memory fixes.
3456 (grub_script_execute_menuentry): Likewise.
3457 (grub_script_execute_argument_to_string): Removed. Update all
3458 users by...
3459 (grub_script_execute_argument_to_argv): ...better version.
3460 * script/function.c (grub_script_function_create): Use
3461 grub_script_execute_argument_to_argv instead of
3462 grub_script_execute_argument_to_string.
3463
3464 * script/lexer.c (check_varstate): Removed.
3465 (check_textstate): Removed.
3466 (grub_script_lexer_record_start): Likewise.
3467 (grub_script_lexer_record_stop): Likewise.
3468 (recordchar): Replaced with...
3469 (grub_script_lexer_record): ...new function.
3470 (nextchar): Removed.
3471 (grub_script_lexer_init): Rewritten.
3472 (grub_script_yylex): Rewritten.
3473 (append_newline): New function.
3474 (grub_script_lexer_yywrap): New function.
3475 (grub_script_lexer_fini): New function.
3476 (grub_script_yyerror): Sets error flag.
3477
3478 * script/yylex.l: New file.
3479 (grub_lexer_yyfree): Wrapper for flex yyffre.
3480 (grub_lexer_yyalloc): Likewise.
3481 (grub_lexer_yyrealloc): Likewise.
3482 * script/parser.y: Refactored.
3483
3484 * script/script.c (grub_script_arg_add): Out of memory fixes.
3485 (grub_script_add_arglist): Likewise.
3486 (grub_script_create_cmdline): Likewise.
3487 (grub_script_create_cmdmenu): Likewise.
3488 (grub_script_add_cmd): Likewise.
3489 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3490 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3491 unnecessary code.
3492
3493 * tests/grub_script_echo1.in: New testcase.
3494 * tests/grub_script_vars1.in: New testcase.
3495 * tests/grub_script_echo_keywords.in: New testcase.
3496
3497 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 Remove some redundancy in build system.
3500
3501 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3502 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3503 (TARGET_LDFLAGS): Add -nostdlib.
3504 (TARGET_IMG_LDFLAGS): Likewise.
3505 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3506 anything since mmap isn't available.
3507 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3508 Add util/time.c.
3509 (pkglib_MODULES): Remove reboot.mod.
3510 (reboot_mod_SOURCES): Removed.
3511 (reboot_mod_CFLAGS): Likewise.
3512 (reboot_mod_LDFLAGS): Likewise.
3513 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3514 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3515 (DEFSYMFILES): Add kernel_syms.lst.
3516 (kernel_img_HEADERS): Add common headers.
3517 (symlist.c): New target.
3518 (kernel_syms.lst): Likewise.
3519 (pkglib_MODULES): Add memdisk.mod.
3520 (memdisk_mod_SOURCES): New variable.
3521 (memdisk_mod_CFLAGS): Likewise.
3522 (memdisk_mod_LDFLAGS): Likewise.
3523 (pkglib_MODULES): Add reboot.mod.
3524 (reboot_mod_SOURCES): New variable.
3525 (reboot_mod_CFLAGS): Likewise.
3526 (reboot_mod_LDFLAGS): Likewise.
3527 (pkglib_MODULES): Add date.mod.
3528 (date_mod_SOURCES): New variable.
3529 (date_mod_CFLAGS): Likewise.
3530 (date_mod_LDFLAGS): Likewise.
3531 (pkglib_MODULES): Add datehook.mod.
3532 (datehook_mod_SOURCES): New variable.
3533 (datehook_mod_CFLAGS): Likewise.
3534 (datehook_mod_LDFLAGS): Likewise.
3535 (pkglib_MODULES): Add lsmmap.mod.
3536 (lsmmap_mod_SOURCES): New variable.
3537 (lsmmap_mod_CFLAGS): Likewise.
3538 (lsmmap_mod_LDFLAGS): Likewise.
3539 (pkglib_MODULES): Add boot.mod.
3540 (boot_mod_SOURCES): New variable.
3541 (boot_mod_CFLAGS): Likewise.
3542 (boot_mod_LDFLAGS): Likewise.
3543 * conf/i386-coreboot.rmk: Removed redundant parts.
3544 * conf/i386-ieee1275.rmk: Likewise.
3545 * conf/i386-pc.rmk: Likewise.
3546 * conf/mips-yeeloong.rmk: Likewise.
3547 * conf/mips.rmk: Likewise.
3548 * conf/powerpc-ieee1275.rmk: Likewise.
3549 * conf/sparc64-ieee1275.rmk: Likewise.
3550 * conf/x86_64-efi.rmk: Likewise.
3551 * conf/i386-coreboot.rmk: Moved qemu parts ..
3552 * conf/i386-qemu.rmk: ... here
3553 * conf/i386-efi.rmk: Moved common parts to...
3554 * conf/x86-efi.rmk: ... here.
3555 * conf/i386.rmk: Added modules common to all x86 variants.
3556 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3557 * disk/memdisk.c: Remove grub/machine/kernel.h.
3558 * gensymlist.sh.in: Include symbol.h.
3559 * hook/datehook.c: Correct module name.
3560 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3561 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3562 * include/grub/i386/efi/serial.h: New file.
3563 * include/grub/x86_64/efi/serial.h: Likewise.
3564 * util/time.c: Likewise.
3565 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3566
3567 2010-03-14 Colin King <colin.king@ubuntu.com>
3568 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3569
3570 Shrink the pre-partition-table part of boot.img by eight bytes.
3571
3572 * boot/i386/pc/boot.S (ERR): New macro.
3573 (chs_mode): Use ERR.
3574 (geometry_error): Likewise.
3575 (hd_probe_error): Remove. This is only used once, so we wrwite
3576 it inline instead.
3577 (read_error): Instead of printing read_error_string, just set up
3578 %si and fall through to ...
3579 (error_message): ... this new function, also used by ERR.
3580
3581 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3582
3583 Speed up consecutive hostdisk operations on the same device.
3584
3585 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3586 (grub_util_biosdisk_open): Initialise disk->data.
3587 (struct linux_partition_cache): New structure.
3588 (linux_find_partition): Cache partition start positions; these are
3589 expensive to compute on every read and write.
3590 (open_device): Cache open file descriptor in disk->data, so that we
3591 don't have to reopen it and flush the buffer cache for consecutive
3592 operations on the same device.
3593 (grub_util_biosdisk_close): New function.
3594 (grub_util_biosdisk_dev): Set `close' member.
3595
3596 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3597 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3598 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3599 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3600 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3601
3602 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 Compile parts of grub-emu as modules.
3605
3606 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3607 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3608 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3609 (all-local): Add $(GRUB_EMU).
3610 (install-local): Install $(GRUB_EMU).
3611 (uninstall): Uninstall $(GRUB_EMU).
3612 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3613 * kern/dl.c: Likewise.
3614 * commands/sleep.c: Not include machine/time.h.
3615 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3616 (COMMON_CFLAGS): Likewise.
3617 (sbin_UTILITIES): Remove grub-emu.
3618 (grub_emu_SOURCES): Removed.
3619 (kernel_img_RELOCATABLE): New variable.
3620 (pkglib_PROGRAMS): Add kernel.img.
3621 (kernel_img_SOURCES): New variable
3622 (kernel_img_CFLAGS): Likewise.
3623 (kernel_img_LDFLAGS): Likewise.
3624 (TARGET_NO_STRIP): Likewise.
3625 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3626 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3627 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3628 (grub-emu): New target.
3629 (GRUB_EMU): New variable.
3630 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3631 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3632 * loader/xnu.c: Likewise.
3633 * include/grub/pci.h: Likewise.
3634 * genemuinit.sh: New file.
3635 * genemuinitheader.sh: Likewise.
3636 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3637 Support TARGET_NO_DYNAMIC_MODULES.
3638 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3639 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3640 * disk/loopback.c: Likewise.
3641 * font/font_cmd.c: Likewise.
3642 * partmap/acorn.c: Likewise.
3643 * partmap/amiga.c: Likewise.
3644 * partmap/apple.c: Likewise.
3645 * partmap/gpt.c: Likewise.
3646 * partmap/msdos.c: Likewise.
3647 * partmap/sun.c: Likewise.
3648 * parttool/msdospart.c: Likewise.
3649 * term/gfxterm.c: Likewise.
3650 * video/bitmap.c: Likewise.
3651 * video/readers/jpeg.c: Likewise.
3652 * video/readers/png.c: Likewise.
3653 * video/readers/tga.c: Likewise.
3654 * video/video.c: Likewise.
3655 * util/grub-emu.c (read_command_list): Removed.
3656 (main): Don't call util_init_nls.
3657 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3658 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3659
3660 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3663 date.mod, datehook.mod.
3664 (datetime_mod_SOURCES): New variable.
3665 (datetime_mod_CFLAGS): Likewise.
3666 (datetime_mod_LDFLAGS): Likewise.
3667 (date_mod_SOURCES): Likewise.
3668 (date_mod_CFLAGS): Likewise.
3669 (date_mod_LDFLAGS): Likewise.
3670 (datehook_mod_SOURCES): Likewise.
3671 (datehook_mod_CFLAGS): Likewise.
3672 (datehook_mod_LDFLAGS): Likewise.
3673 * conf/sparc64-ieee1275.rmk: Likewise.
3674 * lib/ieee1275/datetime.c: New file.
3675
3676 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3679 (ieee1275_fb_mod_SOURCES): New variable.
3680 (ieee1275_fb_mod_CFLAGS): Likewise.
3681 (ieee1275_fb_mod_LDFLAGS): Likewise.
3682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3683 New proto.
3684 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3685 (HEAP_MAX_ADDR): Likewise.
3686 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3687 type.
3688 Correct stop condition.
3689 (grub_ieee1275_devices_iterate): New function.
3690 * video/ieee1275.c: New file.
3691
3692 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3695
3696 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3697 as scratch.
3698 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3699 SCRATCH_PAD_DISKBOOT as scratch.
3700 (bootit): Pass Openfirmware pointer in %o4.
3701 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3702 of 0x200000.
3703 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3704 with util/grub-mkrawimage.c.
3705 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3706 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3707 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3708 (grub_aout_load) [GRUB_UTIL]: Likewise.
3709 * include/grub/kernel.h (grub_modules_get_end): New proto.
3710 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3711 (SCRATCH_PAD_BOOT): New definition.
3712 (SCRATCH_PAD_DISKBOOT): Likewise.
3713 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3714 * include/grub/sparc64/ieee1275/ieee1275.h
3715 (grub_ieee1275_original_stack): New variable
3716 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3717 New definition
3718 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3719 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3720 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3721 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3722 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3723 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3724 (grub_platform_image_format_t): New type.
3725 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3726 * kern/main.c (grub_modules_get_end)
3727 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3728 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3729 (codestart): Switch stacks.
3730 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3731 variable.
3732 (grub_heap_init): Use grub_modules_get_end.
3733 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3734 stack.
3735 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3736 (main): Likewise.
3737 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3738
3739 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3740
3741 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3742
3743 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3744
3745 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3746 bug #559005).
3747
3748 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * genmoddep.awk: Output all missing symbols and not only first.
3751
3752 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * NEWS: Put the date of 1.98 release.
3755
3756 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3759 ft2build.h.
3760
3761 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3764 completition in the middle of string.
3765
3766 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * util/grub-mkrescue.in: Use mktemp with explicit template.
3769
3770 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3773
3774 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3777 right pointer.
3778
3779 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 Fix FreeBSD compilation.
3782
3783 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3784 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3785
3786 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3789
3790 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3793
3794 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3797
3798 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3799
3800 Support relative image path in theme file.
3801
3802 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3803 (image_set_property): Handle theme_dir and relative path.
3804
3805 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * configure.ac: Alias amd64 to x86_64.
3808
3809 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * NEWS: mention multiboot on EFI.
3812
3813 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * kern/main.c (grub_load_modules): Handle errors from init functions of
3816 embeded modules.
3817
3818 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * normal/autofs.c (autoload_fs_module): Handle errors.
3821
3822 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Disable linux.mod on qemu-mips since it's not functional and leads
3825 to compilation failure.
3826
3827 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3828 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3829 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3830 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3831 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3832 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3833 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3834 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3835 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3836 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3837 Reported by: BVK Chaitanya
3838
3839 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3840
3841 * INSTALL: Add gettext as a dependency and add qemu to a new section
3842 "Prerequisites for make-check".
3843
3844 2010-03-04 Christian Franke <franke@computer.org>
3845
3846 * util/grub-pe2elf.c: Add missing include "progname.h".
3847
3848 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * normal/crypto.c (read_crypto_list): Fix a typo.
3851 Reported by: Seth Goldberg.
3852
3853 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3856 Reported by: Seth Goldberg.
3857
3858 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3861 ascii.bitmaps.
3862
3863 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * genmk.rb: Remove terminal*.lst in make clean.
3866 Reported by: Seth Goldberg.
3867
3868 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * util/i386/efi/grub-install.in: Copy gettext files.
3871
3872 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3875
3876 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Wait for user entry basing on presence of output rather than on errors.
3879
3880 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3881 (grub_install_newline_hook): Likewise.
3882 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3883 * normal/menu.c (show_menu): Check line_counter to determine presence
3884 of output.
3885 * normal/term.c (grub_normal_line_counter): New variable.
3886 (grub_normal_get_line_counter): New function.
3887 (grub_install_newline_hook): Likewise.
3888
3889 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3892
3893 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * configure.ac: Update version to 1.98.
3896
3897 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * util/grub.d/10_linux.in (linux_entry): Don't default to
3900 gfxpayload=keep if Linux doesn't support video handover.
3901
3902 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 Don't compile video modules on yeeloong since video subsystem is part
3905 of kernel.
3906
3907 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3908 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3909 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3910 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3911 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3912 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3913 * include/grub/bitmap_scale.h: Likewise.
3914 * include/grub/bufio.h: Likewise.
3915 * include/grub/font.h: Likewise.
3916 * include/grub/gfxterm.h: Likewise.
3917 * include/grub/video.h: Likewise.
3918 * include/grub/vbe.h: Don't include video_fb.h.
3919 * video/i386/pc/vbe.c: Include video_fb.h.
3920 * commands/i386/pc/vbetest.c: Include video.h.
3921
3922 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3923
3924 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3925 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3926 default entry if GRUB_SAVEDEFAULT=true. This allows using
3927 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3928 saving a new default on every boot.
3929
3930 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3933 * normal/term.c (read_terminal_list): Likewise.
3934 * normal/main.c (grub_normal_init_page): Likewise.
3935 (grub_normal_read_line_real): Likewise.
3936
3937 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3940 memory leak.
3941 Reported by: Seth Goldberg.
3942
3943 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3944
3945 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3946 duplicate declaration of `start'.
3947
3948 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3951 filename.
3952 Reported by: Georgy Buranov
3953
3954 2010-02-20 Carles Pina i Estany <carles@pina.cat>
3955
3956 * util/grub-mkrawimage.c (usage): Change string formatting to
3957 improve gettext.
3958
3959 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3960
3961 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3962 backspace keys.
3963
3964 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3967 Reported by: Michael Suchanek.
3968
3969 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
3970
3971 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3972 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3973
3974 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Remove any reference to non-free fonts.
3977
3978 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3979 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3980 uses non-free components.
3981 * font/font.c (grub_font_get_name): Remove example name.
3982 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3983 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3984 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3985 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3986
3987 2010-02-16 Georgy Buranov <gburanov@gmail.com>
3988
3989 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3990
3991 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3994 Double divisor.
3995 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3996 features.
3997 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3998
3999 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4002
4003 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4004
4005 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4006 * docs/grub.texi (Command-line and menu entry commands): Document play
4007 command.
4008
4009 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4010
4011 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4012 parse arguments as inline tempo and notes. Move code for playing notes
4013 to...
4014 (play): ... new function.
4015
4016 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4017
4018 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4019 grub_uint16_t instead of short.
4020 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4021 disk from little endian to cpu endianness.
4022
4023 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4024
4025 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4026 GRUB_TICKS_PER_SECOND instead of 120.
4027
4028 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4031 escape sequence after \e.
4032
4033 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4036 non-ASCII characters.
4037
4038 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4041 set root in single quotes to prevent \, from being unescaped.
4042
4043 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 Prevent unknown commands from stopping menuentry execution.
4046
4047 * script/execute.c (grub_script_execute_cmdline): Print error after
4048 unknown command.
4049
4050 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4053 Reported by: Pavel Pisa.
4054
4055 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4058
4059 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Merge grub_ieee1275_map_physical into grub_map and rename to
4062 grub_ieee1275_map
4063
4064 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4065 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4066 Remove.
4067 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4068 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4069 necessary.
4070 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4071
4072 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4075 opening and not after.
4076
4077 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4080 constants.
4081
4082 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4085 (alloc_phys): Use ALIGN_UP instead of align_addr.
4086
4087 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4090
4091 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4094
4095 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4098 verbose dprintf.
4099
4100 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Fix over-4GiB seek on sparc64.
4103
4104 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4105 Replace pos_i and pos_lo with pos. All users updated.
4106 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4107 New constant.
4108 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4109 Likewise.
4110 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4111 and pos_lo.
4112
4113 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * util/grub-mkrawimage.c (main): Call set_program_name.
4116
4117 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Properly align 64-bit targets.
4120
4121 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4122 (generate_image): Use ALIGN_ADDR.
4123
4124 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Properly create cross-endian images.
4127
4128 * include/grub/types.h (grub_host_to_target_addr): New macro
4129 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4130
4131 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4134
4135 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4138
4139 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4140 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4141 (grub_linux_boot): Divide by 64K when on VESA.
4142
4143 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Support GRUB_GFXPAYLOAD_LINUX.
4146
4147 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4148 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4149
4150 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4153 to show messages instead of discarding them.
4154 Process errors after executing command and not before. Keep old method
4155 too as precaution.
4156
4157 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * configure.ac: Check for ft2build.h.
4160
4161 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4164
4165 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * genkernsyms.sh.in: Use TARGET_CC.
4168
4169 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4170
4171 * NEWS: Update.
4172
4173 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * include/grub/multiboot2.h: Remove leftover file.
4176 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4177 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4178
4179 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4180
4181 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4182
4183 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Fix warnings in grub-emu when compiling with maximum warning options.
4186
4187 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4188 (grub_arch_modules_addr): Return 0 and not NULL.
4189 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4190 (xstrdup): Use newstr instead of dup.
4191 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4192 of disk to dsk to avoid shadowing.
4193 (find_free_slot): Fix prototype.
4194 * util/getroot.c (grub_util_is_dmraid): Make static.
4195 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4196 Add missing prototype.
4197 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4198
4199 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4202 appropriately.
4203
4204 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4207 code out.
4208
4209 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4212 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4213 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4214 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4215 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4216 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4217
4218 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * include/grub/err.h (grub_err_printf): Don't export.
4221
4222 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4225
4226 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4229 * kern/misc.c (grub_gettext_dummy): Make static.
4230
4231 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4234 by non-valid ones.
4235 * kern/term.c (grub_putchar): Likewise.
4236
4237 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4240 buggy hook call and memory leak.
4241
4242 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4245
4246 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4249
4250 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4253 modevar.
4254 Return grub_errno on allocation error.
4255
4256 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4259
4260 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4261
4262 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4263 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4264
4265 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4268 non-pxe disk.
4269 (grub_pxefs_open): Likewise.
4270
4271 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4272
4273 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4274 * util/grub.d/10_kfreebsd.in: Likewise.
4275 * util/grub.d/10_linux.in: Likewise.
4276
4277 2010-02-06 Colin D Bennett <colin@gibibit.com>
4278
4279 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4280 (gfxmenu_mod_SOURCES): New variable.
4281 (gfxmenu_mod_CFLAGS): Likewise.
4282 (gfxmenu_mod_LDFLAGS): Likewise.
4283 * include/grub/term.h (grub_term_set_current_output): Declare
4284 argument as const.
4285 * docs/gfxmenu-theme-example.txt: New file.
4286 * gfxmenu/gfxmenu.c: Likewise.
4287 * gfxmenu/gui_box.c: Likewise.
4288 * gfxmenu/gui_canvas.c: Likewise.
4289 * gfxmenu/gui_circular_progress.c: Likewise.
4290 * gfxmenu/gui_image.c: Likewise.
4291 * gfxmenu/gui_label.c: Likewise.
4292 * gfxmenu/gui_list.c: Likewise.
4293 * gfxmenu/gui_progress_bar.c: Likewise.
4294 * gfxmenu/gui_string_util.c: Likewise.
4295 * gfxmenu/gui_util.c: Likewise.
4296 * gfxmenu/icon_manager.c: Likewise.
4297 * gfxmenu/model.c: Likewise.
4298 * gfxmenu/named_colors.c: Likewise.
4299 * gfxmenu/theme_loader.c: Likewise.
4300 * gfxmenu/view.c: Likewise.
4301 * gfxmenu/widget-box.c: Likewise.
4302 * include/grub/gfxmenu_model.h: Likewise.
4303 * include/grub/gfxmenu_view.h: Likewise.
4304 * include/grub/gfxwidgets.h: Likewise.
4305 * include/grub/gui.h: Likewise.
4306 * include/grub/gui_string_util.h: Likewise.
4307 * include/grub/icon_manager.h: Likewise.
4308
4309 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Agglomerate scrolling in gfxterm.
4312
4313 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4314 (grub_virtual_screen_setup): Initialise 'total_screen'.
4315 (write_char): Split to ...
4316 (paint_char): ... this ...
4317 (write_char): ... and this.
4318 (paint_char): Handle delayed scrolling.
4319 (draw_cursor): Likewise.
4320 (scroll_up): Split to ...
4321 (real_scroll): ... this ...
4322 (scroll_up): ... and this.
4323 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4324 characters.
4325 (grub_gfxterm_refresh): Call real_scroll.
4326
4327 2010-02-06 Colin D Bennett <colin@gibibit.com>
4328
4329 * include/grub/misc.h (grub_iscntrl): New inline function.
4330 (grub_isalnum): Likewise.
4331 (grub_strtol): Likewise.
4332
4333 2010-02-06 Colin D Bennett <colin@gibibit.com>
4334
4335 * normal/menu_text.c (get_entry_number): Move from here ...
4336 * normal/menu.c (get_entry_number): ... moved here.
4337 * include/grub/menu.h (grub_menu_get_default_entry_index):
4338 New prototype.
4339 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4340 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4341 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4342 (grub_menu_viewer_should_return): Likewise.
4343 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4344 * normal/menu_text.c (run_menu): Enable menu switching.
4345 * normal/menu_viewer.c (should_return): New variable.
4346 (menu_viewer_changed): Likewise.
4347 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4348 (grub_menu_viewer_should_return): New function.
4349 (menuviewer_write_hook): Likewise.
4350 (grub_menu_viewer_init): Likewise.
4351
4352 2010-02-06 Colin D Bennet <colin@gibibit.com>
4353 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Support for gfxterm in a window.
4356
4357 * include/grub/gfxterm.h: New file.
4358 * include/grub/video.h (struct grub_video_rect): New declaration.
4359 (grub_video_rect_t): Likewise.
4360 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4361 (refcount): New variable.
4362 (render_target): Likewise.
4363 (window): Likewise.
4364 (repaint_callback): Likewise.
4365 (grub_virtual_screen_setup): Use 'render_target'.
4366 (init_window): New function.
4367 (grub_gfxterm_init_window): Likewise.
4368 (grub_gfxterm_init): Check reference counter.
4369 Use init_window.
4370 (destroy_window): New function.
4371 (grub_gfxterm_destroy_window): Likewise.
4372 (grub_gfxterm_fini): Check reference counter.
4373 Use destroy_window.
4374 (redraw_screen_rect): Restore viewport.
4375 Use 'render_target' and 'window'.
4376 Call 'repaint_callback'.
4377 (write_char): Use 'render_target'.
4378 (draw_cursor): Likewise.
4379 (scroll_up): Restore viewport.
4380 Use 'render_target' and 'window'.
4381 Call 'repaint_callback'.
4382 (grub_gfxterm_cls): Likewise.
4383 (grub_gfxterm_refresh): Use 'window'.
4384 (grub_gfxterm_set_repaint_callback): New function.
4385 (grub_gfxterm_background_image_cmd): Use 'window'.
4386 (grub_gfxterm_get_term): New function.
4387 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4388
4389 2010-02-06 Colin D Bennett <colin@gibibit.com>
4390
4391 Bitmap scaling support.
4392
4393 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4394 (bitmap_scale_mod_SOURCES): New variable.
4395 (bitmap_scale_mod_CFLAGS): Likewise.
4396 (bitmap_scale_mod_LDFLAGS): Likewise.
4397 * include/grub/bitmap_scale.h: New file.
4398 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4399 (background_image_cmd_options): New variable.
4400 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4401 (cmd): Rename and change type to ...
4402 (background_image_cmd_handle): ... this. All users updated.
4403 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4404 * video/bitmap_scale.c: New file.
4405
4406 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 SDL support.
4409
4410 * Makefile.in (LIBSDL): New variable.
4411 (enable_grub_emu_sdl): Likewise.
4412 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4413 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4414 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4415 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4416 * util/sdl.c: New file.
4417
4418 2010-02-06 Colin D Bennett <colin@gibibit.com>
4419 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 Double buffering support.
4422
4423 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4424 * include/grub/video.h: Update comment.
4425 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4426 New type.
4427 (grub_video_fb_doublebuf_blit_init): New prototype.
4428 * term/gfxterm.c (scroll_up): Support double buffering.
4429 (grub_gfxterm_refresh): Likewise.
4430 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4431 (grub_video_fb_doublebuf_blit_init): Likewise.
4432 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4433 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4434 'displayed_page', 'render_page' and 'update_screen'.
4435 (grub_video_vbe_fini): Free offscreen buffer.
4436 (doublebuf_pageflipping_commit): New function.
4437 (doublebuf_pageflipping_update_screen): Likewise.
4438 (doublebuf_pageflipping_init): Likewise.
4439 (double_buffering_init): Likewise.
4440 (grub_video_vbe_setup): Enable doublebuffering.
4441 (grub_video_vbe_swap_buffers): Implement.
4442 (grub_video_vbe_set_active_render_target): Handle double buffering.
4443 (grub_video_vbe_get_active_render_target): Likewise.
4444 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4445 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4446 (grub_video_vbe_enable_double_buffering): Likewise.
4447 (grub_video_vbe_swap_buffers): Use update_screen.
4448 (grub_video_set_mode): Use double buffering.
4449
4450 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4451
4452 * maintainance/gentrigtables.py: Remove.
4453 * lib/trig.c: Likewise.
4454
4455 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4456
4457 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4458 `trigtables.c'.
4459 (trigtables.c): New rule.
4460 (gentrigtables): Likewise.
4461 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4462
4463 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4464
4465 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4466 integer constants.
4467
4468 2010-02-06 Colin D Bennet <colin@gibibit.com>
4469
4470 Trigonometry support.
4471
4472 * include/grub/trig.h: New file.
4473 * lib/trig.c: Likewise.
4474 * maintainance/gentrigtables.py: Likewise.
4475 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4476 (trig_mod_SOURCES): New variable.
4477 (trig_mod_CFLAGS): Likewise.
4478 (trig_mod_LDFLAGS): Likewise.
4479
4480 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4483 disk devices.
4484
4485 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4488 error.
4489
4490 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * util/hostdisk.c (open_device): Don't use partition device when reading
4493 before the partition.
4494 (grub_util_biosdisk_read): Don't read from partition and before the
4495 partition in single operation.
4496 (grub_util_biosdisk_write): Don't write to partition and before the
4497 partition in single operation.
4498
4499 2010-02-03 Torsten Landschoff <torsten@debian.org>
4500
4501 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4502 last sectors.
4503
4504 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4507 CDROM reads.
4508 (grub_biosdisk_write): Refuse to write to CDROM.
4509
4510 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4513
4514 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * font/font.c (find_glyph): Check that bmp_idx is available before
4517 using it.
4518 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4519 with (font == NULL).
4520
4521 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4522
4523 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4524
4525 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4526
4527 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4528 * util/grub-script-check.c (getline): Fix empty lines case.
4529
4530 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4531
4532 * Makefile.in (check): Exit with fail status when one of the tests
4533 fails.
4534 * tests/example_functional_test.c (example_test): Fix reversed assert.
4535 * tests/example_unit_test.c (example_test): Likewise.
4536
4537 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4538
4539 * util/grub.d/10_linux.in: This script does not use any of the
4540 contents of gettext.sh, only the external command `gettext', so stop
4541 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4542 the same prefix as GRUB.)
4543 * util/grub.d/10_kfreebsd.in: Likewise.
4544
4545 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4548 of the line.
4549
4550 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4553 last sectors.
4554
4555 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4558 having a 4KiB and not 32KiB buffer size.
4559
4560 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4561
4562 * util/hostfs.c: Include `<errno.h>'.
4563 (grub_hostfs_read): Handle errors from fseeko() and fread().
4564
4565 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4566
4567 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4568 loop when using read hooks on files whose size isn't sector-aligned.
4569
4570 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4571
4572 Remove unused parameter.
4573
4574 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4575 (grub_iso9660_open): Remove initialization of `data->length'.
4576
4577 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4578
4579 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4580 memleak conditions.
4581
4582 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4583
4584 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4585 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4586
4587 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4588
4589 * util/bin2h.c (usage): Fix warning (space after backslash).
4590
4591 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4592
4593 * font/font.c: Include `grub/fontformat.h.
4594 Remove font file format constants.
4595 (grub_font_load): Use the new macros.
4596 * include/grub/fontformat.h: New file.
4597 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4598 (write_font_pf2): Use the new macros.
4599
4600 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4601
4602 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4603 does.
4604
4605 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4606
4607 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4608
4609 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4610 (_start): Macroify `0x7F'.
4611
4612 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4613 (make_install_device): Use "(pxe)" as fallback prefix when booting
4614 via PXE.
4615
4616 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * configure.ac: Reset LIBS after check for libgcc symbols.
4619
4620 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4621
4622 * util/hostdisk.c (open_device): Add trailing newline to debug
4623 message.
4624
4625 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4626
4627 * configure.ac: Check for `limits.h'.
4628 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4629
4630 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4631
4632 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4633 capitalize error strings.
4634
4635 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4636
4637 * util/grub.d/10_hurd.in: Add a recovery mode.
4638
4639 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * configure.ac: Check for libgcc symbols with -nostdlib.
4642
4643 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4644
4645 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4646
4647 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4650 stack since heap may be unavailable at that point.
4651 (grub_ofconsole_gotoxy): Likewise.
4652
4653 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * configure.ac: Check for _restgpr_14_x.
4656 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4657 and _savegpr_* prototypes.
4658
4659 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4660
4661 Use generic grub_reboot() for i386-efi.
4662
4663 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4664 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4665 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4666
4667 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4670 presence of "prefix" variable as it breaks when normal.mod is
4671 embedded.
4672
4673 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4676 stack since heap is unavailable at that point.
4677
4678 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4681 (grub_freebsd_bootinfo): Rewritten.
4682 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4683
4684 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4687
4688 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4689
4690 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4691 domain now.
4692
4693 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4694
4695 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4696 around for handling "/" to the correct fix. Fix a memory leak. Use
4697 xstrdup instead of strdup.
4698
4699 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4702
4703 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4706
4707 * font/font.c (struct grub_font): New member 'bmp_idx'.
4708 (font_init): Initialise 'bmp_idx'.
4709 (load_font_index): Fill 'bmp_idx'.
4710 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4711
4712 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4715 unnecessary calls.
4716
4717 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Move context handling out of the kernel.
4720
4721 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4722 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4723 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4724 * conf/i386-efi.rmk: Likewise.
4725 * conf/i386-ieee1275.rmk: Likewise.
4726 * conf/i386-pc.rmk: Likewise.
4727 * conf/powerpc-ieee1275.rmk: Likewise.
4728 * conf/sparc64-ieee1275.rmk: Likewise.
4729 * conf/x86_64-efi.rmk: Likewise.
4730 * include/grub/env.h: Include grub/menu.h.
4731 (grub_env_var_type): Removed.
4732 (grub_env_var): Replaced field 'type' with 'global'.
4733 (grub_env_find): New prototype.
4734 (grub_env_context_open): Remove EXPORT_FUNC.
4735 (grub_env_context_close): Likewise.
4736 (grub_env_export): Likewise.
4737 (grub_env_set_data_slot): Removed.
4738 (grub_env_get_data_slot): Likewise.
4739 (grub_env_unset_data_slot): Likewise.
4740 (grub_env_unset_menu): New prototype.
4741 (grub_env_set_menu): Likewise.
4742 (grub_env_get_menu): Likewise.
4743 * include/grub/env_private.h: New file.
4744 * include/grub/normal.h (grub_context_init): New prototype.
4745 (grub_context_fini): Likewise.
4746 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4747 * normal/context.c (grub_cmd_export): ... to here.
4748 * kern/env.c: Include env_private.h.
4749 (HASHSZ): Moved to include/grub/env_private.h.
4750 (grub_env_context): Likewise.
4751 (grub_env_sorted_var): Likewise.
4752 (current_context): Renamed from this ...
4753 (grub_current_context): ...to this. 'static' removed. All users updated.
4754 (grub_env_find): Removed 'static'.
4755 (grub_env_context_open): Moved to normal/context.c.
4756 (grub_env_context_close): Likewise.
4757 (grub_env_export): Likewise.
4758 (mangle_data_slot_name): Removed.
4759 (grub_env_set_data_slot): Likewise.
4760 (grub_env_get_data_slot): Likewise.
4761 (grub_env_unset_data_slot): Likewise.
4762 * kern/main.c (grub_set_root_dev): Don't export root.
4763 It will be done later.
4764 (grub_main): Don't export prefix.
4765 It will be done later.
4766 * normal/context.c: New file.
4767 * normal/main.c (free_menu): Use grub_env_unset_menu.
4768 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4769 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4770 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4771 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4772
4773 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 setpci support.
4776
4777 * commands/setpci.c: New file.
4778 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4779 (setpci_mod_SOURCES): New variable.
4780 (setpci_mod_CFLAGS): Likewise.
4781 (setpci_mod_LDFLAGS): Likewise.
4782
4783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 Byte-addressable PCI configuration space.
4786
4787 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4788 dword address.
4789 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4790 GRUB_PCI_REG_CACHELINE.
4791 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4792 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4793 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4794 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4795 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4796 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4797 grub_pci_make_address.
4798 (lock_rom_area): Likewise.
4799 * commands/lspci.c (grub_lspci_iter): Use macroses
4800 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4801 of grub_pci_make_address.
4802 * disk/ata.c (grub_ata_pciinit): Likewise.
4803 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4804 (GRUB_PCI_REG_VENDOR): Likewise.
4805 (GRUB_PCI_REG_DEVICE): Likewise.
4806 (GRUB_PCI_REG_COMMAND): Likewise.
4807 (GRUB_PCI_REG_STATUS): Likewise.
4808 (GRUB_PCI_REG_REVISION): Likewise.
4809 (GRUB_PCI_REG_CLASS): Likewise.
4810 (GRUB_PCI_REG_CACHELINE): Likewise.
4811 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4812 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4813 (GRUB_PCI_REG_BIST): Likewise.
4814 (GRUB_PCI_REG_ADDRESSES): Likewise.
4815 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4816 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4817 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4818 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4819 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4820 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4821 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4822 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4823 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4824 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4825 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4826 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4827 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4828 (GRUB_PCI_REG_MIN_GNT): Likewise.
4829 (GRUB_PCI_REG_MAX_LAT): Likewise.
4830 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4831 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4832 * video/efi_uga.c (find_framebuf): Likewise.
4833 * video/sm712.c (grub_video_sm712_setup): Likewise.
4834 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4835 space.
4836
4837 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4838
4839 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4840 can be reliably determined to be supported.
4841
4842 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4843
4844 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4845 that VESA is supported.
4846 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4847 supported.
4848
4849 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4852
4853 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4854
4855 * util/misc.c (make_system_path_relative_to_its_root): Work around
4856 special-casing of "/", as previous incarnation of this routine did.
4857
4858 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Fix any-emu compilation.
4861
4862 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4863 * grub_bin2h_SOURCES: New variable.
4864
4865 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4866
4867 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4868
4869 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4870
4871 * util/grub.d/00_header.in: Fix handling of locale_dir.
4872
4873 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4876 as possible unifont location (Gentoo).
4877 Reported by: Alexander Brüning
4878
4879 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Don't try to generate lists for kernel.img.
4882
4883 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4884 (pkglib_MODULES): Remove kernel.img.
4885 (kernel_img_EXPORTS): Removed.
4886 (kernel_img_RELOCATABLE): New variable.
4887 * conf/x86_64-efi.rmk: Likewise.
4888 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4889
4890 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4893 grub_xasprintf or grub_snprintf.
4894 (grub_vsprintf): Likewise.
4895 (grub_snprintf): New proto.
4896 (grub_vsnprintf): Likewise.
4897 (grub_xasprintf): Likewise.
4898 (grub_xvasprintf): Likewise.
4899 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4900 (grub_sprintf): Removed.
4901 (grub_vsnprintf): New function.
4902 (grub_snprintf): Likewise.
4903 (grub_xvasprintf): Likewise.
4904 (grub_xasprintf): Likewise.
4905 (grub_vsprintf): Renamed to ...
4906 (grub_vsnprintf_real): ...this. New argument max_len.
4907
4908 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4909
4910 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4911 fix grub-script-check warning.
4912
4913 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * include/grub/font.h (grub_font_load): Fix prototype.
4916
4917 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4920
4921 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * include/grub/x86_64/at_keyboard.h: New file.
4924
4925 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * loader/mips/linux.c: Include missing grub/i18n.h.
4928
4929 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4930
4931 * normal/menu.c (notify_execution_failure): Clarify error message.
4932
4933 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4934
4935 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4936 return value (and revert all return statements). Update users.
4937
4938 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4939
4940 * kern/device.c (grub_device_iterate): Allocate new part_ent
4941 structure based on sizeof (*p) rather than sizeof (p->next), to
4942 account for structure padding.
4943
4944 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4945 disk is NULL, which might happen for LVM physical volumes with no
4946 LVM signature.
4947
4948 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4949
4950 * loader/mips/linux.c (grub_cmd_initrd)
4951 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4952
4953 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4954
4955 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4956 (grub_video_video_init, grub_video_bitmap_init)
4957 (grub_font_manager_init, grub_term_gfxterm_init)
4958 (grub_at_keyboard_init): New extern declarations.
4959 (grub_machine_init): Initialize gfxterm and at_keyboard.
4960
4961 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4962
4963 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4964 `gfxterm.mod' into core image.
4965
4966 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4967 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4968 (kernel_img_FORMAT): Copy to ...
4969
4970 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4971 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4972 (kernel_img_FORMAT): ... here, and ...
4973
4974 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4975 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4976 (kernel_img_FORMAT): ... here.
4977
4978 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4979 and input (at_keyboard) terminals in kernel.
4980 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4981
4982 (pkglib_MODULES): Remove `pci.mod'.
4983 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4984 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4985 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4986 (at_keyboard_mod_LDFLAGS): Remove variables.
4987
4988 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
4989
4990 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4991
4992 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4993
4994 * include/grub/mips/libgcc.h: Only export symbols for functions
4995 that libgcc provides.
4996
4997 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 MIPS support.
5000
5001 * bus/bonito.c: New file.
5002 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5003 GRUB_PCI_NUM_DEVICES.
5004 * term/i386/pc/serial.c: Move to ...
5005 * term/serial.c: ... here. All users updated.
5006 * util/i386/pc/grub-mkimage.c: Move to ...
5007 * util/grub-mkrawimage.c: ... here. All users updated.
5008 * term/i386/pc/at_keyboard.c: Move to ...
5009 * term/at_keyboard.c: ... here. All users updated.
5010 * conf/mips-qemu-mips.rmk: New file.
5011 * conf/mips-yeeloong.rmk: Likewise.
5012 * conf/mips.rmk: Likewise.
5013 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5014 mipsel-qemu-mips.
5015 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5016 to port addresses.
5017 (grub_ata_pciinit): Support CS5536.
5018 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5019 * font/font_cmd.c (loadfont_command): Open file before passing it to
5020 grub_font_load.
5021 (pseudo_file_read): New function.
5022 (pseudo_file_close): Likewise.
5023 (pseudo_fs): New structure.
5024 (load_font_module): New function.
5025 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5026 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5027 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5028 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5029 * include/grub/i386/at_keyboard.h: Split into ...
5030 * include/grub/at_keyboard.h: ... this ...
5031 * include/grub/i386/at_keyboard.h: ... and this.
5032 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5033 New prototype.
5034 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5035 updated.
5036 (grub_elf64_size): Likewise.
5037 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5038 filename.
5039 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5040 * include/grub/i386/coreboot/serial.h: Rewritten.
5041 * include/grub/i386/ieee1275/serial.h: Include
5042 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5043 * include/grub/i386/pc/serial.h: Moved from here ...
5044 * include/grub/serial.h: ... to here. All users updated.
5045 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5046 (GRUB_PCI_NUM_BUS): Likewise.
5047 (GRUB_PCI_NUM_DEVICES): Likewise.
5048 (grub_pci_device_map_range): Add missing volatile keyword.
5049 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5050 * include/grub/mips/at_keyboard.h: New file.
5051 * include/grub/mips/cache.h: Likewise.
5052 * include/grub/mips/io.h: Likewise.
5053 * include/grub/mips/kernel.h: Likewise.
5054 * include/grub/mips/libgcc.h: Likewise.
5055 * include/grub/mips/pci.h: Likewise.
5056 * include/grub/mips/qemu-mips/boot.h: Likewise.
5057 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5058 * include/grub/mips/qemu-mips/loader.h: Likewise.
5059 * include/grub/mips/qemu-mips/memory.h: Likewise.
5060 * include/grub/mips/qemu-mips/serial.h: Likewise.
5061 * include/grub/mips/qemu-mips/time.h: Likewise.
5062 * include/grub/mips/relocator.h: Likewise.
5063 * include/grub/mips/time.h: Likewise.
5064 * include/grub/mips/types.h: Likewise.
5065 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5066 * include/grub/mips/yeeloong/boot.h: Likewise.
5067 * include/grub/mips/yeeloong/kernel.h: Likewise.
5068 * include/grub/mips/yeeloong/loader.h: Likewise.
5069 * include/grub/mips/yeeloong/memory.h: Likewise.
5070 * include/grub/mips/yeeloong/pci.h: Likewise.
5071 * include/grub/mips/yeeloong/serial.h: Likewise.
5072 * include/grub/mips/yeeloong/time.h: Likewise.
5073 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5074 * kern/elf.c (grub_elf32_size): New parameter. All users
5075 updated.
5076 (grub_elf64_size): Likewise.
5077 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5078 Load modules before saying "Welcome to GRUB!".
5079 Call grub_refresh after saying "Welcome to GRUB!".
5080 * kern/mips/cache.S: New file.
5081 * kern/mips/cache_flush.S: Likewise.
5082 * kern/mips/dl.c: Likewise.
5083 * kern/mips/init.c: Likewise.
5084 * kern/mips/qemu-mips/init.c: Likewise.
5085 * kern/mips/startup.S: Likewise.
5086 * kern/mips/yeeloong/init.c: Likewise.
5087 * kern/term.c (grub_putcode): Handle NULL terminal.
5088 (grub_getcharwidth): Likewise.
5089 (grub_getkey): Likewise.
5090 (grub_checkkey): Likewise.
5091 (grub_getkeystatus): Likewise.
5092 (grub_getxy): Likewise.
5093 (grub_getwh): Likewise.
5094 (grub_gotoxy): Likewise.
5095 (grub_cls): Likewise.
5096 (grub_setcolorstate): Likewise.
5097 (grub_setcolor): Likewise.
5098 (grub_getcolor): Likewise.
5099 (grub_refresh): Likewise.
5100 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5101 (write_jump): Add hatch nop.
5102 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5103 * lib/mips/setjmp.S: New file.
5104 * loader/mips/linux.c: Likewise.
5105 * term/i386/pc/at_keyboard.c: Move from here ...
5106 * term/at_keyboard.c: ... to here.
5107 * term/i386/pc/serial.c: Moved from here ...
5108 * term/serial.c: ... to here. All users updated.
5109 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5110 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5111 (serial_translate_key_sequence): Avoid deadlock.
5112 (grub_serial_getkey): Handle backspace.
5113 (grub_serial_putchar): Fix newline handling.
5114 * util/i386/pc/grub-mkimage.c: Move from here ...
5115 * util/grub-mkrawimage.c: ... to here. All users updated.
5116 (generate_image): New parameters 'font_path' and 'format'.
5117 Support embedding font.
5118 Use grub_host_to_target* instead of grub_cpu_to_le*.
5119 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5120 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5121 (options): New option "--font".
5122 (usage): Likewise.
5123 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5124 (main): Handle "--font".
5125 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5126 (grub_virtual_screen_setup): Set bg_color_display.
5127 (redraw_screen_rect): Use bg_color_display instead of incorrect
5128 bg_color.
5129 (grub_gfxterm_cls): Likewise.
5130 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5131 Support embedding config file.
5132 (add_segments): Likewise.
5133 (options): New option "--config".
5134 (main): Handle "--config".
5135 * video/sm712.c: New file.
5136
5137 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5138
5139 Fix parallel builds.
5140
5141 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5142 font.c depend on ascii.h).
5143
5144 2010-01-12 Carles Pina i Estany <carles@pina.cat>
5145
5146 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5147
5148 2010-01-11 Carles Pina i Estany <carles@pina.cat>
5149
5150 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5151 By default: disabled.
5152 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5153 parameter.
5154
5155 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5156
5157 * font/font.c: Update copyright years.
5158 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5159
5160 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5161
5162 * font/font.c: Include `ascii.h'.
5163 (ASCII_BITMAP_SIZE): New macro.
5164 (ascii_font_glyph): Define.
5165 (ascii_glyph_lookup): New function.
5166 (grub_font_get_string_width): Change comment. If glyph not found, use
5167 ascii_glyph_lookup.
5168 (grub_font_get_glyph_with_fallback): If glyph not available returns
5169 ascii_glyph_lookup.
5170 * util/grub-mkfont.c (file_formats): New enum.
5171 (options): Add `ascii-bitmaps' new option.
5172 (usage): Add `asii-bitmaps' new option.
5173 (write_font_ascii_bitmap): New function.
5174 (write_font): Rename to ...
5175 (write_font_p2): ... this. Remove print_glyphs call.
5176 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5177 used. Call print_glyphs.
5178 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5179
5180 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5181
5182 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5183 (grub_bin2h_SOURCES): New variable.
5184 * util/bin2h.c: New file.
5185
5186 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * include/multiboot.h: Resynced with spec.
5189 * include/multiboot2.h: Likewise.
5190 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5191 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5192
5193 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5194
5195 * include/grub/term.h (grub_term_register_input,
5196 grub_term_register_output): Check return of terminal init()
5197 routines, and abort if errors are raised.
5198
5199 * commands/terminal.c: Update copyright year.
5200
5201 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5202
5203 * commands/terminal.c (grub_cmd_terminal_input)
5204 (grub_cmd_terminal_output): Check return of terminal init()
5205 routines, and abort if errors are raised.
5206
5207 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * include/grub/i386/bsd.h: Fix include pathes.
5210
5211 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Add missing *BSD copyright headers.
5214
5215 * include/grub/aout.h: Add BSD licence.
5216 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5217 * include/grub/i386/freebsd_linker.h: ... here,
5218 * include/grub/i386/freebsd_reboot.h: ... here,
5219 * include/grub/i386/netbsd_bootinfo.h: ... here,
5220 * include/grub/i386/netbsd_reboot.h: ... here,
5221 * include/grub/i386/openbsd_bootarg.h: ... here,
5222 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5223 licence to each file.
5224
5225 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5226
5227 * acinclude.m4: Remove `nop' assembly instruction; it's not
5228 implemented by all architectures.
5229
5230 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5231
5232 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5233 ELILO. This is no longer necessary.
5234
5235 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5236
5237 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5238
5239 * util/grub-script-check.c: grub-script-check tool.
5240 * conf/common.rmk: Make rules for grub-script-check.
5241
5242 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5243
5244 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5245 spotting it back in 2008. Shame on me for forgetting he did.
5246
5247 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5248
5249 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5250
5251 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5252 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5253 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5254 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5255 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5256 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5257
5258 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5259
5260 * include/grub/test.h: Add license header.
5261 * tests/example_functional_test.c: Likewise.
5262 * tests/example_unit_test.c: Likewise.
5263 * tests/lib/functional_test.c: Likewise.
5264 * tests/lib/test.c: Likewise.
5265 * tests/lib/unit_test.c: Likewise.
5266
5267 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 Use flag-based instead of hook-based video mode selection and "auto"
5270 keyword.
5271
5272 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5273 (grub_video_set_mode): Changed prototype. All users updated.
5274 (grub_video_check_mode_flag): New inline function.
5275 * video/video.c (parse_modespec): New function.
5276 (grub_video_set_mode): Parse flags and keywords.
5277
5278 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5279
5280 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5281 fprintf call.
5282
5283 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5284
5285 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5286
5287 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5288
5289 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5290 string.
5291 * util/grub-emu.c (usage): Likewise.
5292 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5293 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5294 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5295 * util/i386/pc/grub-setup.c (usage): Likewise.
5296
5297 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5298
5299 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5300 the message.
5301 (grub_util_info): Likewise.
5302 (grub_util_error): Likewise.
5303 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5304 and/or new lines in `grub_util_warna', `grub_util_info',
5305 `grub_util_error' calls.
5306 * util/getroot.c: Likewise.
5307 * util/grub-editenv.c: Likewise.
5308 * util/grub-emu.c: Likewise.
5309 * util/grub-fstest.c: Likewise.
5310 * util/grub-mkdevicemap.c: Likewise.
5311 * util/grub-mkfont.c: Likewise.
5312 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5313 * util/grub-mkrelpath.c: Likewise.
5314 * util/grub-pe2elf.c: Likewise.
5315 * util/grub-probe.c: Likewise.
5316 * util/hostdisk.c: Likewise.
5317 * util/i386/efi/grub-mkimage.c: Likewise.
5318 * util/i386/pc/grub-mkimage.c: Likewise.
5319 * util/i386/pc/grub-setup.c: Likewise.
5320 * util/ieee1275/ofpath.c: Likewise.
5321 * util/mkisofs/eltorito.c: Likewise.
5322 * util/mkisofs/rock.c: Likewise.
5323 * util/mkisofs/write.c: Likewise.
5324 * util/raid.c: Likewise.
5325 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5326 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5327
5328 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Enable multiboot on non-pc.
5331
5332 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5333 multiboot.mod and multiboot2.mod to ...
5334 * conf/i386.rmk (pkglib_MODULES): ... here.
5335 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5336 Moved to ...
5337 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5338 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5339 Moved to ...
5340 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5341 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5342 Moved to ...
5343 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5344 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5345 Moved to ...
5346 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5347 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5348 relocator.mod.
5349 (ata_mod_SOURCES): Removed.
5350 (ata_mod_CFLAGS): Likewise.
5351 (ata_mod_LDFLAGS): Likewise.
5352 (relocator_mod_SOURCES): Removed.
5353 (relocator_mod_CFLAGS): Likewise.
5354 (relocator_mod_ASFLAGS): Likewise.
5355 (relocator_mod_LDFLAGS): Likewise.
5356 Include i386.mk.
5357 * include/grub/x86_64/multiboot.h: New file.
5358 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5359 Terminate EFI.
5360
5361 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Video multiboot support.
5364
5365 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5366 New prototype.
5367 * include/multiboot.h: Resynced with multiboot specification.
5368 * include/multiboot2.h: Likewise.
5369 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5370 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5371 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5372 (HAS_VGA_TEXT): Likewise.
5373 (accepts_video): New variable.
5374 (grub_multiboot_set_accepts_video): New function.
5375 (grub_multiboot_get_mbi_size): Account for video structures.
5376 (set_video_mode): New function.
5377 (retrieve_video_parameters): Likewise.
5378 (grub_multiboot_make_mbi): Fill video fields.
5379
5380 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 Video driver ids.
5383
5384 * include/grub/video.h (grub_video_driver_id): New type.
5385 (grub_video_adapter): New member 'id'. All users updated.
5386 (grub_video_get_driver_id): New proto.
5387 * video/video.c (grub_video_get_driver_id): New function.
5388
5389 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5390
5391 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5392 `var=val'.
5393
5394 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5395
5396 * normal/cmdline.c (print_completion): Gettextizze.
5397
5398 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5399
5400 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5401
5402 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5403
5404 * gettext/gettext.c (grub_gettext_translate): Push and pop
5405 grub_errno.
5406 (grub_gettext_delete_list): Change comment style.
5407 * kern/err.c (grub_error): Gettextizze.
5408 (grub_fatal): Gettextizze.
5409
5410 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5411
5412 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5413 (grub_linux16_real_boot): ... this.
5414 * kern/i386/loader.S: Likewise.
5415 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5416 (grub_linux16_boot): New function. Switches to text mode and calls
5417 grub_linux16_real_boot().
5418
5419 * loader/i386/bsd.c: Include `<grub/video.h>'.
5420 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5421 text mode before calling grub_unix_real_boot().
5422
5423 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5424 (grub_multiboot_boot): Switch to text mode before calling
5425 grub_relocator32_boot().
5426
5427 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5428 (grub_chainloader_boot): Switch to text mode before calling
5429 grub_chainloader_real_boot().
5430
5431 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5432 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5433
5434 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5435 non-empty value.
5436
5437 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5438 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5439
5440 * util/grub.d/00_header.in: Define a "savedefault" function for use
5441 in menu entries.
5442 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5443
5444 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5445 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5446
5447 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5448 saved_entry if boot_once is unset.
5449 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5450 previous saved entry (i.e. grub-reboot).
5451
5452 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5453
5454 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5455
5456 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5457
5458 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5459 `var=val'.
5460 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5461
5462 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5463
5464 * util/grub-reboot.in: Fix --version output.
5465 * util/grub-set-default.in: Likewise.
5466
5467 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5470 blocks.
5471
5472 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5473
5474 * util/grub.d/00_header.in: Quote the value assigned to `default',
5475 in case it contains spaces.
5476
5477 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5478
5479 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5480 `save_default_entry' call from the macosx case to the linux case.
5481
5482 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5483 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5484
5485 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5486 in `chosen' environment variable.
5487 * normal/menu_text.c (get_entry_number): Check if the variable
5488 matches the title of a menu entry.
5489 (run_menu): Pass menu to get_entry_number.
5490
5491 * util/grub-reboot.in: New file.
5492 * util/grub-set-default.in: New file.
5493 * conf/common.rmk (grub-reboot): New utility.
5494 (grub-set-default): New utility.
5495
5496 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5497 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5498 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5499 move it to `saved_entry' for the next boot. Load environment on
5500 initialisation.
5501 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5502 * util/grub.d/10_hurd.in: Likewise.
5503 * util/grub.d/10_linux.in (linux_entry): Likewise.
5504 * util/grub.d/10_windows.in: Likewise.
5505 * util/grub.d/30_os-prober.in: Likewise.
5506
5507 * util/grub-install.in: Create environment block.
5508 * util/i386/efi/grub-install.in: Likewise.
5509 * util/ieee1275/grub-install.in: Likewise.
5510 * util/sparc64/ieee1275/grub-install.in: Likewise.
5511
5512 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5513
5514 Unit testing framework for GRUB.
5515
5516 * Makefile.in: Test framework build rules for 'make check'.
5517 * conf/tests.rmk: Build rules for individual tests and framework.
5518
5519 * include/grub/test.h: Header file for whitebox tests.
5520 * tests/lib/functional_test.c: Framework support for whitebox
5521 functional tests.
5522 * tests/lib/test.c: Common whitebox testing code for unit and
5523 functional tests.
5524 * tests/lib/unit_test.c: Framework support for whitebox unit
5525 tests.
5526
5527 * tests/util/grub-shell-tester.in: Support utility for grub-script
5528 tests.
5529 * tests/util/grub-shell.in: Utility to execute grub-script
5530 commands in a Qemu instance.
5531
5532 * tests/example_functional_test.c: Example whitebox functional
5533 test.
5534 * tests/example_grub_script_test.in: Example grub-script test.
5535 * tests/example_scripted_test.in: Example scripted test.
5536 * tests/example_unit_test.c: Example whitebox unit test.
5537
5538 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5541 Add loader/i386/multiboot_mbi.c.
5542 (multiboot2_mod_SOURCES): Likewise.
5543 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5544 (multiboot2_mod_SOURCES): Likewise.
5545 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5546 (grub_multiboot_make_mbi): Likewise.
5547 (grub_multiboot_free_mbi): Likewise.
5548 (grub_multiboot_init_mbi): Likewise.
5549 (grub_multiboot_add_module): Likewise.
5550 (grub_multiboot_set_bootdev): Likewise.
5551 * loader/i386/multiboot.c (mbi): Removed.
5552 (mbi_dest): Likewise.
5553 (alloc_mbi): New variable.
5554 (grub_multiboot_payload_size): Removed. All users updated.
5555 (grub_multiboot_pure_size): New variable.
5556 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5557 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5558 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5559 (grub_fill_multiboot_mmap): Likewise.
5560 (grub_multiboot_get_bootdev): Likewise.
5561 (grub_multiboot): Use multiboot_mbi functions.
5562 * loader/i386/multiboot_mbi.c: New file.
5563
5564 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5567 it would result in module crash.
5568
5569 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5572 (grub_ofconsole_getwh): Split to ...
5573 (grub_ofconsole_getwh): ... this.
5574 (grub_ofconsole_dimensions): ...and this.
5575 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5576
5577 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5578
5579 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5580
5581 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * loader/i386/pc/multiboot2.c: Removed stalled file.
5584
5585 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5588 Reported by: Grégoire Sutre
5589
5590 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5591
5592 * util/misc.c (canonicalize_file_name): New function.
5593 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5594 instead of realpath().
5595
5596 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5597
5598 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5599 and make it clearer that it's optional. Based on confusion
5600 witnessed on IRC.
5601
5602 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5605 in premature implicit newline.
5606
5607 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5610 which resulted in garbled command line at the end of screen.
5611
5612 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5613
5614 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5615 initialization with similar approach as with other Linux loaders.
5616
5617 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5618
5619 Fix i386-ieee1275 build.
5620
5621 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5622 and grub_term_height() for video_{width,height} initialization.
5623
5624 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5625
5626 Fix grub-emu build.
5627
5628 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5629
5630 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5631 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5632
5633 Support for multiple terminals.
5634
5635 * Makefile.in (pkglib_DATA): terminal.lst.
5636 (terminal.lst): New target.
5637 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5638 (GRUB_MOD_INIT(handler)): Likewise.
5639 (GRUB_MOD_FINI(handler)): Likewise.
5640 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5641 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5642 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5643 (grub_cmd_sleep): Use grub_term_save_pos.
5644 * commands/terminal.c: New file.
5645 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5646 commands/terminal.c and lib/charset.c.
5647 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5648 (pkglib_MODULES): Add terminal.mod.
5649 (terminal_mod_SOURCES): New variable.
5650 (terminal_mod_CFLAGS): Likewise.
5651 (terminal_mod_LDFLAGS): Likewise.
5652 * genhandlerlist.sh: Don't handle terminals.
5653 * genmk.rb: Generate terminal-*.lst.
5654 * genterminallist.sh: New file.
5655 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5656 (grub_is_valid_utf8): Likewise.
5657 (grub_utf8_to_ucs4_alloc): Likewise.
5658 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5659 (grub_menu_register_viewer): Changed argument.
5660 (grub_menu_try_text): New proto.
5661 (grub_gfxmenu_try_hook): New declaration.
5662 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5663 (grub_menu_init_page): Additional argument term.
5664 (grub_normal_init_page): Likewise.
5665 (grub_cmdline_get): Arguments simplified.
5666 (grub_utf8_to_ucs4_alloc): Removed.
5667 (grub_print_ucs4): Additional argument term.
5668 (grub_getstringwidth): Likewise.
5669 (grub_print_message_indented): Likewise.
5670 (grub_menu_text_register_instances): New proto.
5671 (grub_show_menu): Likewise.
5672 (read_terminal_list): Likewise.
5673 (grub_set_more): Likewise.
5674 * include/grub/parser.h: Include handler.h.
5675 * include/grub/reader.h: Rewritten.
5676 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5677 (GRUB_TERM_WIDTH): Changed to function.
5678 (GRUB_TERM_HEIGHT): Likewise.
5679 (GRUB_TERM_BORDER_WIDTH): Likewise.
5680 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5681 (GRUB_TERM_NUM_ENTRIES): Likewise.
5682 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5683 (GRUB_TERM_CURSOR_X): Likewise.
5684 (grub_term_input_class): Likewise.
5685 (grub_term_output_class): Likewise.
5686 (grub_term_outputs_disabled): New declaration.
5687 (grub_term_inputs_disabled): Likewise.
5688 (grub_term_outputs): Likewise.
5689 (grub_term_inputs): Likewise.
5690 (grub_term_register_input): Rewritten.
5691 (grub_term_register_output): Likewise.
5692 (grub_term_unregister_input): Likewise.
5693 (grub_term_unregister_output): Likewise.
5694 (FOR_ACTIVE_TERM_INPUTS): New macro.
5695 (FOR_DISABLED_TERM_INPUTS): Likewise.
5696 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5697 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5698 * include/grub/terminfo.h: Add oterm argument to all protypes.
5699 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5700 Use grub_rescue_run.
5701 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5702 All users updated.
5703 * kern/reader.c: Removed. All users updated.
5704 * kern/rescue_reader.c (grub_rescue_init): Removed.
5705 (grub_rescue_reader): Likewise.
5706 (grub_register_rescue_reader): Likewise.
5707 (grub_rescue_run): New function based on kern/reader.c.
5708 * kern/term.c: Adapted for multiterm.
5709 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5710 (grub_is_valid_utf8): Likewise.
5711 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5712 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5713 right terminal.
5714 * loader/i386/linux.c (grub_linux_boot): Likewise.
5715 * normal/auth.c (grub_username_get): New function.
5716 (grub_auth_check_authentication): Use grub_username_get.
5717 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5718 * normal/color.c: Adapt for multiterm.
5719 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5720 (grub_normal_init_page): Additional argument term.
5721 (read_lists): Call read_terminal_lists.
5722 (grub_enter_normal_mode): Call grub_cmdline_run.
5723 Handle grub_normal_exit_level.
5724 (grub_cmd_normal): Make reentrant.
5725 (grub_cmd_normal_exit): New function.
5726 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5727 * normal/menu.c: Adapt for multiterm.
5728 * normal/menu_entry.c: Likewise.
5729 * normal/menu_text.c: Likewise.
5730 * normal/menu_viewer.c: Removed. All users updated.
5731 * normal/term.c: New file.
5732 * util/console.c: Change order of includes to workaround a bug in
5733 ncurses headers.
5734 * term/terminfo.c: New argument oterm on all exported functions.
5735 All users updated.
5736 * util/grub-editenv.c (grub_term_input_class): Removed.
5737 (grub_term_output_class): Likewise.
5738
5739 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5740
5741 Make loader output a bit more user-friendly.
5742
5743 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5744 is being loaded. Likewise for the Hurd.
5745
5746 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5747 that kernel of FreeBSD ${version} is being loaded.
5748
5749 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5750 grub_dprintf().
5751 (grub_cmd_initrd): Likewise.
5752 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5753 that Linux ${version} is being loaded. Likewise for initrd.
5754
5755 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5756
5757 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5758
5759 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5760
5761 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5762 (GRUB_MOD_INIT): Gettextizze.
5763 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5764 (GRUB_MOD_INIT): Gettextizze.
5765 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5766 (grub_cmd_linux): Capitalise Linux.
5767 (GRUB_MOD_INIT): Gettextizze.
5768 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5769 (grub_cmd_linux): Capitalise Linux.
5770 (GRUB_MOD_INIT): Gettextizze.
5771 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5772 (grub_cmd_linux): Capitalise Linux.
5773 (GRUB_MOD_INIT): Gettextizze.
5774 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5775 (GRUB_MOD_INIT): Gettextizze.
5776 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5777 (grub_cmd_linux): Capitalise Linux.
5778 (GRUB_MOD_INIT): Gettextizze.
5779 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5780 (grub_cpu_xnu_init): Gettextizze.
5781 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5782 (GRUB_MOD_INIT): Gettextizze.
5783 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5784 (GRUB_MOD_INIT): Gettextizze.
5785 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5786 (grub_linux_load64): Capitalise Linux.
5787 (GRUB_MOD_INIT): Gettextizze.
5788 * loader/xnu.c: Include `<grub/i18n.h>'.
5789 (GRUB_MOD_INIT): Gettextizze.
5790 * po/POTFILES: Add `loader/efi/appleloader.c',
5791 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5792 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5793 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5794 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5795 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5796 and `loader/xnu.c'.
5797
5798 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5799
5800 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5801
5802 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5805 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5806 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5807
5808 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5809
5810 Reset Multiboot 2 support. New loader implements the draft in
5811 /branches/multiboot2 and shares as much code as possible with the
5812 production Multiboot 1 implementation.
5813
5814 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5815 * loader/multiboot2.c: Likewise.
5816 * loader/i386/multiboot_helper.S: Likewise.
5817 * include/multiboot2.h: Replace with latest version from the draft
5818 in /branches/multiboot2.
5819
5820 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5821 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5822 and `loader/multiboot2.c'.
5823 (pkglib_MODULES): Add `multiboot2.mod'.
5824 (multiboot2_mod_SOURCES): New variable.
5825 (multiboot2_mod_LDFLAGS): Likewise.
5826 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5827
5828 * conf/i386-pc.rmk: Likewise.
5829
5830 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5831 (multiboot_mod_SOURCES): Remove variable.
5832 (multiboot_mod_LDFLAGS): Likewise.
5833 (multiboot_mod_CFLAGS): Likewise.
5834
5835 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5836 `<multiboot2.h>' instead of `<multiboot.h>'.
5837 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5838 (MULTIBOOT_HEADER_MAGIC): New macros.
5839
5840 * loader/multiboot_loader.c (module_version_status): Remove variable.
5841 (find_multi_boot2_header): Remove function.
5842 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5843 logic. Always check for the Multiboot version we're compiling for.
5844 (grub_cmd_module_loader): Likewise.
5845 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5846 command instead of `multiboot'.
5847
5848 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5849
5850 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5851 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5852 all users.
5853
5854 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5855 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 Fix breakage introduced with previous commit.
5858
5859 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5860 commands.
5861 * normal/handler.c (read_handler_list): Revert part of previous commit
5862 affecting this file.
5863 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5864 (grub_normal_execute): ... here.
5865
5866 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5867
5868 Merge prefix-redefinition-fix branch.
5869
5870 * normal/autofs.c (read_fs_list): Make function capable of being
5871 run multiple times, gracefuly replacing the previous data
5872 structures.
5873 * normal/dyncmd.c (read_command_list): Likewise.
5874 * normal/handler.c (read_handler_list): Likewise.
5875 * normal/main.c (read_lists): New function. Calls all the
5876 list reading functions.
5877 (grub_normal_execute): Use read_lists() instead of calling all
5878 list reading functions explicitly. Register read_lists() as a
5879 variable hook attached to ${prefix}.
5880
5881 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 Merge crypto branch.
5884
5885 * Makefile.in (pkglib_DATA): Add crypto.lst.
5886 (crypto.lst): New target.
5887 * commands/hashsum.c: New file.
5888 * commands/password.c (check_password): Use grub_crypto_memcmp.
5889 * commands/password_pbkdf2.c: New file.
5890 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5891 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5892 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5893 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5894 -I$(srcdir)/lib/libgcrypt_wrap.
5895 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5896 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5897 password_pbkdf2.mod.
5898 (crypto_mod_SOURCES): New variable.
5899 (crypto_mod_CFLAGS): Likewise.
5900 (crypto_mod_LDFLAGS): Likewise.
5901 (hashsum_mod_SOURCES): New variable.
5902 (hashsum_mod_CFLAGS): Likewise.
5903 (hashsum_mod_LDFLAGS): Likewise.
5904 (pbkdf2_mod_SOURCES): New variable.
5905 (pbkdf2_mod_CFLAGS): Likewise.
5906 (pbkdf2_mod_LDFLAGS): Likewise.
5907 (password_pbkdf2_mod_SOURCES): New variable.
5908 (password_pbkdf2_mod_CFLAGS): Likewise.
5909 (password_pbkdf2_mod_LDFLAGS): Likewise.
5910 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5911 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5912 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5913 Include conf/gcry.rmk.
5914 * include/grub/auth.h: Rewritten.
5915 * include/grub/crypto.h: New file.
5916 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5917 * include/grub/normal.h (read_crypto_list): New prototype.
5918 * lib/crypto.c: New file.
5919 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5920 * lib/pbkdf2.c: Likewise.
5921 * normal/auth.c (grub_auth_strcmp): Removed.
5922 (grub_iswordseparator): Likewise.
5923 (grub_auth_strword): Likewise.
5924 (is_authenticated): Use grub_strword.
5925 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5926 and grub_strword. Pass entered password to authentication callback.
5927 * normal/crypto.c: New file.
5928 * normal/main.c: Call read_crypto_list.
5929 * util/grub-mkpasswd-pbkdf2.c: New file.
5930 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5931
5932 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 Fix descent and ascent calculation.
5935
5936 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5937 (options): New option "asce".
5938 (usage): Likewise.
5939 (add_char): Ignore invalid glyphs for descent calculation.
5940 Calculate ascent from actual content.
5941 (print_glyphs): Use 'asce'.
5942 (write_font): Likewise. Allow ascent override.
5943 (main): Handle "asce" option.
5944
5945 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5946
5947 * kern/err.c: Include `<grub/i18n.h>'.
5948 (grub_print_error): Add full stop. Gettextizze.
5949 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5950 (grub_bsd_load_elf): Capitalise ELF.
5951 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5952 (grub_cmd_freebsd_module): Likewise.
5953 (grub_cmd_freebsd_module_elf): Likewise.
5954 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5955
5956 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5957
5958 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5959 * commands/search_file.c (HELP_MESSAGE): New macro.
5960 * commands/search_label.c (HELP_MESSAGE): Likewise.
5961 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5962 * po/POTFILES: Add `commands/search_file.c',
5963 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5964 `commands/search.c'.
5965
5966 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5967
5968 * config.rpath: Update from Gnulib.
5969
5970 2010-01-05 Yves Blusseau <blusseau@zetam.org>
5971
5972 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5973
5974 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5975
5976 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5977
5978 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5979
5980 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5981 arguments to fread so that we get a return value in bytes, rather
5982 than something that will normally be rounded down to 0.
5983 Adjust error handling to avoid producing garbage when size_t is not
5984 the same size as long long.
5985
5986 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5987
5988 * util/mkisofs/write.c (padblock_write): Check return value of
5989 fread.
5990
5991 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5992
5993 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5994 floppy images now.
5995
5996 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5997
5998 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5999
6000 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6001 instead of manual alignment.
6002 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6003 verbose). Avoid attempts to read past end of the device
6004 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6005 but GRUB_DISK_CACHE_SIZE may exceed that).
6006
6007 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6008
6009 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6010 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6011 it to upper layer.
6012
6013 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6016 New constant.
6017 (grub_efi_piwg_device_path): New structure
6018 (grub_efi_piwg_device_path_t): New type.
6019 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6020 (devpath_1): Transform to a structure. All users updated.
6021 (devpath_2): Likewise.
6022 (devpath_3): Likewise.
6023 (devpath_4): Likewise.
6024 (devpath_5): Likewise.
6025
6026 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * loader/efi/appleloader.c: Restored. Update all users.
6029
6030 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6031
6032 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6033
6034 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6035 (struct boot_blocklist): Move from here ...
6036 * include/grub/i386/pc/boot.h [ASM_FILE]
6037 (struct grub_boot_blocklist): ... to here. Update all users.
6038 (setup): Only initialize `start' member of `first_block'
6039 structure. Add assert() calls to verify the other members.
6040
6041 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6042 (generate_image): Fix broken blocklist length initialization.
6043 Add assert() call to verify blocklist `segment' field.
6044
6045 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6046
6047 * loader/efi/appleloader.c: Remove. Update all users.
6048
6049 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6050
6051 * boot/i386/pc/boot.S: Update copyright year.
6052 * boot/i386/pc/cdboot.S: Likewise.
6053 * boot/i386/pc/diskboot.S: Likewise.
6054 * boot/i386/pc/lnxboot.S: Likewise.
6055 * boot/i386/pc/pxeboot.S: Likewise.
6056 * bus/pci.c: Likewise.
6057 * commands/cmp.c: Likewise.
6058 * commands/help.c: Likewise.
6059 * commands/hexdump.c: Likewise.
6060 * commands/i386/pc/halt.c: Likewise.
6061 * commands/i386/pc/play.c: Likewise.
6062 * commands/i386/pc/vbeinfo.c: Likewise.
6063 * commands/ls.c: Likewise.
6064 * commands/test.c: Likewise.
6065 * disk/dmraid_nvidia.c: Likewise.
6066 * disk/i386/pc/biosdisk.c: Likewise.
6067 * disk/ieee1275/nand.c: Likewise.
6068 * disk/ieee1275/ofdisk.c: Likewise.
6069 * disk/lvm.c: Likewise.
6070 * disk/raid.c: Likewise.
6071 * disk/raid6_recover.c: Likewise.
6072 * disk/scsi.c: Likewise.
6073 * fs/affs.c: Likewise.
6074 * fs/cpio.c: Likewise.
6075 * fs/ext2.c: Likewise.
6076 * fs/hfs.c: Likewise.
6077 * fs/iso9660.c: Likewise.
6078 * fs/ntfs.c: Likewise.
6079 * fs/sfs.c: Likewise.
6080 * fs/udf.c: Likewise.
6081 * fs/ufs.c: Likewise.
6082 * fs/xfs.c: Likewise.
6083 * gencmdlist.sh: Likewise.
6084 * genmk.rb: Likewise.
6085 * include/grub/disk.h: Likewise.
6086 * include/grub/efi/api.h: Likewise.
6087 * include/grub/efi/efi.h: Likewise.
6088 * include/grub/efi/pe32.h: Likewise.
6089 * include/grub/elf.h: Likewise.
6090 * include/grub/fs.h: Likewise.
6091 * include/grub/i386/at_keyboard.h: Likewise.
6092 * include/grub/i386/pc/memory.h: Likewise.
6093 * include/grub/i386/pc/vbe.h: Likewise.
6094 * include/grub/i386/pci.h: Likewise.
6095 * include/grub/i386/tsc.h: Likewise.
6096 * include/grub/ieee1275/ieee1275.h: Likewise.
6097 * include/grub/ntfs.h: Likewise.
6098 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6099 * include/grub/sparc64/libgcc.h: Likewise.
6100 * include/grub/symbol.h: Likewise.
6101 * include/grub/types.h: Likewise.
6102 * include/multiboot2.h: Likewise.
6103 * io/gzio.c: Likewise.
6104 * kern/device.c: Likewise.
6105 * kern/disk.c: Likewise.
6106 * kern/efi/efi.c: Likewise.
6107 * kern/efi/mm.c: Likewise.
6108 * kern/elf.c: Likewise.
6109 * kern/file.c: Likewise.
6110 * kern/i386/dl.c: Likewise.
6111 * kern/i386/pc/init.c: Likewise.
6112 * kern/i386/pc/startup.S: Likewise.
6113 * kern/ieee1275/ieee1275.c: Likewise.
6114 * kern/ieee1275/init.c: Likewise.
6115 * kern/main.c: Likewise.
6116 * kern/mm.c: Likewise.
6117 * kern/powerpc/dl.c: Likewise.
6118 * kern/sparc64/dl.c: Likewise.
6119 * kern/x86_64/dl.c: Likewise.
6120 * lib/hexdump.c: Likewise.
6121 * loader/efi/appleloader.c: Likewise.
6122 * loader/i386/ieee1275/linux.c: Likewise.
6123 * loader/i386/pc/chainloader.c: Likewise.
6124 * loader/i386/pc/linux.c: Likewise.
6125 * loader/i386/pc/multiboot2.c: Likewise.
6126 * loader/ieee1275/multiboot2.c: Likewise.
6127 * loader/multiboot2.c: Likewise.
6128 * loader/multiboot_loader.c: Likewise.
6129 * loader/powerpc/ieee1275/linux.c: Likewise.
6130 * normal/completion.c: Likewise.
6131 * normal/menu_entry.c: Likewise.
6132 * partmap/apple.c: Likewise.
6133 * util/grub.d/10_hurd.in: Likewise.
6134 * util/hostfs.c: Likewise.
6135 * video/readers/png.c: Likewise.
6136
6137 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6138
6139 * include/grub/misc.h (GNUC_PREREQ): New macro.
6140 (ATTRIBUTE_ERROR): New macro.
6141 * include/grub/list.h (grub_bad_type_cast_real): Use
6142 ATTRIBUTE_ERROR.
6143
6144 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6145
6146 * normal/menu_text.c (print_message): Change messages.
6147
6148 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6149
6150 * normal/menu_entry.c (store_completion): Gettextizze.
6151
6152 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6153
6154 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6155
6156 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6157
6158 * po/POTFILES: Sort correctly.
6159
6160 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6161
6162 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6163 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6164 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6165 full stop.
6166 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6167 summary. Gettextizze the strings.
6168 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6169 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6170 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6171 full stop.
6172 (GRUB_MOD_INIT): Remove command name from summary.
6173 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6174 summary.
6175 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6176 * term/i386/pc/serial.c (options): Add full stops.
6177 (GRUB_MOD_INIT): Remove command name from the summary.
6178
6179 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6180
6181 * commands/acpi.c: Gettextizze help strings and/or options. Include
6182 `grub/i18n.h' if needed.
6183 * commands/blocklist.c: Likewise.
6184 * commands/boot.c: Likewise.
6185 * commands/cat.c: Likewise.
6186 * commands/cmp.c: Likewise.
6187 * commands/configfile.c: Likewise.
6188 * commands/crc.c: Likewise.
6189 * commands/date.c: Likewise.
6190 * commands/echo.c: Likewise.
6191 * commands/efi/fixvideo.c: Likewise.
6192 * commands/efi/loadbios.c: Likewise.
6193 * commands/gptsync.c: Likewise.
6194 * commands/halt.c: Likewise.
6195 * commands/handler.c: Likewise.
6196 * commands/hdparm.c: Likewise.
6197 * commands/hexdump.c: Likewise.
6198 * commands/i386/cpuid.c: Likewise.
6199 * commands/i386/pc/drivemap.c: Likewise.
6200 * commands/i386/pc/halt.c: Likewise.
6201 * commands/i386/pc/pxecmd.c: Likewise.
6202 * commands/i386/pc/vbeinfo.c: Likewise.
6203 * commands/i386/pc/vbetest.c: Likewise.
6204 * commands/ieee1275/suspend.c: Likewise.
6205 * commands/keystatus.c: Likewise.
6206 * commands/loadenv.c: Likewise.
6207 * commands/ls.c: Likewise.
6208 * commands/lsmmap.c: Likewise.
6209 * commands/lspci.c: Likewise.
6210 * commands/memrw.c: Likewise.
6211 * commands/minicmd.c: Likewise.
6212 * commands/parttool.c: Likewise.
6213 * commands/password.c: Likewise.
6214 * commands/probe.c: Likewise.
6215 * commands/read.c: Likewise.
6216 * commands/reboot.c: Likewise.
6217 * commands/search.c: Likewise.
6218 * commands/sleep.c: Likewise.
6219 * commands/test.c: Likewise.
6220 * commands/true.c: Likewise.
6221 * commands/usbtest.c: Likewise.
6222 * commands/videotest.c: Likewise.
6223 * commands/xnu_uuid.c: Likewise.
6224 * disk/loopback.c: Likewise.
6225 * hello/hello.c: Likewise.
6226 * loader/i386/bsd.c: Likewise.
6227 * term/i386/pc/serial.c: Likewise.
6228 * po/POTFILES: Add new files.
6229
6230 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6231
6232 * term/i386/pc/at_keyboard.c
6233 (keyboard_controller_wait_untill_ready): Rename to ...
6234 (keyboard_controller_wait_until_ready): ... this. Update all users.
6235
6236 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6237
6238 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6239 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6240 string using string width.
6241 * normal/menu_text.c (grub_print_message_indented): Use
6242 grub_print_spaces and not print_spaces.
6243 (print_timeout): Likewise.
6244 (print_spaces): Move to...
6245 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6246
6247 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6248
6249 Import from Gnulib.
6250
6251 * gnulib/getdelim.c: New file.
6252 * gnulib/getline.c: Likewise.
6253
6254 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6255
6256 * include/grub/list.h (grub_assert_fail): Removed.
6257 (grub_bad_type_cast_real): New function.
6258 (grub_bad_type_cast): New macro.
6259 (GRUB_AS_LIST): Use grub_bad_type_cast.
6260 (GRUB_AS_LIST_P): Likewise.
6261 (GRUB_AS_NAMED_LIST): Likewise.
6262 (GRUB_AS_NAMED_LIST_P): Likewise.
6263 (GRUB_AS_PRIO_LIST): Likewise.
6264 (GRUB_AS_PRIO_LIST_P): Likewise.
6265 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6266
6267 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6270 Fix syntax error.
6271
6272 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6273
6274 * configure.ac: Check for TARGET_CFLAGS initialization before we
6275 initialize it ourselves (sigh).
6276 Move a few modifications to TARGET_CFLAGS to be unconditional
6277 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6278 eh_frame)
6279
6280 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6281 * term/i386/pc/at_keyboard.c
6282 (keyboard_controller_wait_untill_ready): Likewise.
6283 (keyboard_controller_led): Rename `led_status' paramter to avoid
6284 name conflict.
6285
6286 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6287
6288 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6289 quotes.
6290
6291 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6294
6295 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * normal/menu_text.c (grub_print_message_indented): Prevent
6298 past-the-end-of-array dereference.
6299
6300 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6303 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6304
6305 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6306
6307 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6308 * normal/main.c (grub_normal_read_line): Remove a space from the
6309 default prompt.
6310
6311 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6312
6313 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6314 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6315 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6316 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6317 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6318 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6319 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6320
6321 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6322
6323 * video/readers/jpeg.c (cmd): Declare.
6324 (grub_cmd_jpegtest): Use `grub_command_t' type.
6325 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6326 Assign to `cmd'.
6327 (GRUB_MOD_FINI): Use `cmd' to unregister.
6328 * video/readers/png.c (cmd): Declare.
6329 (grub_cmd_pngtest): Use `grub_command_t' type.
6330 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6331 Assign to `cmd'.
6332 (GRUB_MOD_FINI): Use `cmd' to unregister.
6333 * video/readers/tga.c (cmd): Declare.
6334 (grub_cmd_tgatest): Use `grub_command_t' type.
6335 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6336 Assign to `cmd'.
6337 (GRUB_MOD_FINI): Use `cmd' to unregister.
6338
6339 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6340
6341 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6342 stops.
6343 * kern/corecmd.c (grub_register_core_commands): Likewise.
6344 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6345 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6346 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6347 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6348 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6349 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6350 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6351 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6352 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6353 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6354 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6355 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6356 * normal/handler.c (insert_handler): Likewise.
6357 * normal/main.c (GRUB_MOD_INIT): Likewise.
6358 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6359
6360 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6361
6362 * commands/help.c (grub_cmd_help): Print the command name before the
6363 summary.
6364 (GRUB_MOD_INIT): Remove command name from the summary.
6365 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6366 string as summary.
6367 * lib/arg.c (find_long): Print the command name before the summary.
6368 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6369 summary.
6370 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6371 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6372 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6373 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6374 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6375 * commands/date.c (GRUB_MOD_INIT): Likewise.
6376 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6377 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6378 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6379 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6380 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6381 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6382 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6383 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6384 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6385 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6386 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6387 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6388 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6389 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6390 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6391 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6392 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6393 * commands/password.c (GRUB_MOD_INIT): Likewise.
6394 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6395 * commands/read.c (GRUB_MOD_INIT): Likewise.
6396 * commands/search.c (GRUB_MOD_INIT): Likewise.
6397 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6398 * commands/test.c (GRUB_MOD_INIT): Likewise.
6399 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6400 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6401 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6402 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6403 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6404 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6405 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6406 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6407 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6408 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6409 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6410 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6411 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6412 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6413
6414 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 Use search command for preliminar UUID search.
6417
6418 * commands/search.c: Split into ...
6419 * commands/search_wrap.c: ...this
6420 * commands/search.c: ...and this.
6421 * commands/search_file.c: New file.
6422 * commands/search_label.c: New file.
6423 * commands/search_uuid.c: New file.
6424 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6425 Add commands/search_wrap.c, commands/search_file.c,
6426 commands/search_label.c and commands/search_uuid.c.
6427 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6428 (search_mod_SOURCES): Set to commands/search_wrap.c.
6429 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6430 search_label.mod.
6431 (search_fs_file_mod_SOURCES): New variable.
6432 (search_fs_file_mod_CFLAGS): Likewise.
6433 (search_fs_file_mod_LDFLAGS): Likewise.
6434 (search_label_mod_SOURCES): Likewise.
6435 (search_label_mod_CFLAGS): Likewise.
6436 (search_label_mod_LDFLAGS): Likewise.
6437 (search_fs_uuid_mod_SOURCES): New variable.
6438 (search_fs_uuid_mod_CFLAGS): Likewise.
6439 (search_fs_uuid_mod_LDFLAGS): Likewise.
6440 (fs_file_mod_SOURCES): Removed.
6441 (fs_file_mod_CFLAGS): Likewise.
6442 (fs_file_mod_LDFLAGS): Likewise.
6443 (fs_uuid_mod_SOURCES): Removed.
6444 (fs_uuid_mod_CFLAGS): Likewise.
6445 (fs_uuid_mod_LDFLAGS): Likewise.
6446 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6447 Set to util/grub-install.in.
6448 * disk/fs_file.c: Removed.
6449 * disk/fs_uuid.c: Likewise.
6450 * include/grub/search.h: New file.
6451 * util/grub-install.in: Handle sparc64.
6452 Create and use load.cfg.
6453 * util/sparc64/ieee1275/grub-install.in: Removed.
6454
6455 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6458 Ignore return status if CF is cleared.
6459 (grub_biosdisk_get_diskinfo_standard): Likewise.
6460
6461 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6462
6463 * term/i386/pc/at_keyboard.c
6464 (keyboard_controller_wait_untill_ready): New function.
6465 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6466 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6467 for keyboard polling, rather than duplicate the same loop. This
6468 saves a few bytes in code size.
6469
6470 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 Support for (pxe[:server[:gateway]]) syntax and
6473 use environment variable for PXE.
6474
6475 * commands/i386/pc/pxecmd.c (options): Removed.
6476 (print_ip): Removed.
6477 (grub_cmd_pxe): Removed
6478 (grub_cmd_pxe_unload): New function.
6479 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6480 (grub_pxe_your_ip): Made static.
6481 (grub_pxe_default_server_ip): Likewise.
6482 (grub_pxe_default_gateway_ip): Likewise.
6483 (grub_pxe_blksize): Likewise.
6484 (parse_ip): New function.
6485 (grub_pxe_open): Support server and gateway specification.
6486 (grub_pxe_close): Free disk->data.
6487 (grub_pxefs_open): Use disk->data.
6488 (grub_pxefs_read): Likewise.
6489 (grub_env_write_readonly): New function.
6490 (set_mac_env): Likewise.
6491 (set_env_limn_ro): Likewise.
6492 (parse_dhcp_vendor): Likewise.
6493 (grub_pxe_detect): Set the environment variables.
6494 (set_ip_env): New function.
6495 (write_ip_env): Likewise.
6496 (grub_env_write_pxe_default_server): Likewise.
6497 (grub_env_write_pxe_default_gateway): Likewise.
6498 (grub_env_write_pxe_blocksize): Likewise.
6499 (GRUB_MOD_INIT(pxe)): Set environment variables.
6500 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6501 (grub_pxe_mac_addr_t): ... this. All users updated.
6502 (grub_pxe_your_ip): Removed.
6503 (grub_pxe_server_ip): Likewise.
6504 (grub_pxe_gateway_ip): Likewise.
6505 (grub_pxe_blksize): Likewise.
6506
6507 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6508
6509 * commands/help.c: Include `<grub/i18n.h>'.
6510 (grub_cmd_help): Gettextizze.
6511 (GRUB_MOD_INIT): Likewise.
6512 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6513 (GRUB_MOD_INIT): Gettextizze.
6514 * commands/search.c: Include `<grub/i18n.h>'.
6515 (options): Gettextizze.
6516 (GRUB_MOD_INIT): Gettextizze.
6517 * lib/arg.c: Include `<grub/i18n.h>'.
6518 (help_options): Gettextizze.
6519 (find_long): Likewise.
6520 (grub_arg_show_help): Likewise.
6521 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6522 (read_command_list): Gettextizze.
6523 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6524 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6525
6526 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6527
6528 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6529 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6530 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6531 (led_status): New variable.
6532 (keyboard_controller_led): New function.
6533 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6534 update led status for caps lock, num lock and scroll lock.
6535
6536 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6537
6538 * util/hostdisk.c (open_device): Fix a comment.
6539
6540 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6541
6542 * util/grub-install.in (host_os): New variable.
6543 * util/i386/efi/grub-install.in (host_os): Likewise.
6544
6545 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6546
6547 * util/mkisofs/write.c (padblock_write): Abort when given an
6548 excedingly large embed image, instead of silently truncating it.
6549
6550 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6551
6552 * include/multiboot.h: Indentation fixes.
6553
6554 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6555
6556 * include/multiboot.h (struct multiboot_aout_symbol_table)
6557 (struct multiboot_elf_section_header_table): New structure
6558 declarations (stolen from GRUB Legacy).
6559 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6560 table information.
6561
6562 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6563 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6564 type aliases.
6565
6566 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6567
6568 * include/multiboot.h: Make comments src2texi-friendly.
6569
6570 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6571
6572 For consistency with [multiboot]/docs/boot.S.
6573
6574 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6575 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6576 (MULTIBOOT_MAGIC2): Rename from this ...
6577 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6578
6579 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6580
6581 * include/multiboot.h: Remove `<grub/types.h>'.
6582 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6583 types. Update all users.
6584
6585 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6586
6587 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6588 `couldn't' and `can not' by `cannot'.
6589 * commands/i386/pc/drivemap.c: Likewise.
6590 * disk/ata.c: Likewise.
6591 * disk/ieee1275/nand.c: Likewise.
6592 * fs/affs.c: Likewise.
6593 * fs/fat.c: Likewise.
6594 * fs/hfs.c: Likewise.
6595 * fs/hfsplus.c: Likewise.
6596 * fs/iso9660.c: Likewise.
6597 * fs/jfs.c: Likewise.
6598 * fs/minix.c: Likewise.
6599 * fs/reiserfs.c: Likewise.
6600 * fs/sfs.c: Likewise.
6601 * fs/udf.c: Likewise.
6602 * fs/ufs.c: Likewise.
6603 * fs/xfs.c: Likewise.
6604 * loader/powerpc/ieee1275/linux.c: Likewise.
6605 * loader/sparc64/ieee1275/linux.c: Likewise.
6606 * util/grub-probe.c: Likewise.
6607 * util/misc.c: Likewise.
6608
6609 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6610
6611 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6612 grub_errno calls.
6613 * commands/acpi.c: Likewise.
6614 * commands/blocklist.c: Likewise.
6615 * commands/efi/loadbios.c: Likewise.
6616 * commands/i386/pc/drivemap.c: Likewise.
6617 * commands/loadenv.c: Likewise.
6618 * commands/memrw.c: Likewise.
6619 * commands/password.c: Likewise.
6620 * commands/videotest.c: Likewise.
6621 * disk/ata.c: Likewise.
6622 * disk/ata_pthru.c: Likewise.
6623 * disk/dmraid_nvidia.c: Likewise.
6624 * disk/ieee1275/nand.c: Likewise.
6625 * disk/ieee1275/ofdisk.c: Likewise.
6626 * disk/loopback.c: Likewise.
6627 * disk/lvm.c: Likewise.
6628 * disk/mdraid_linux.c: Likewise.
6629 * disk/raid.c: Likewise.
6630 * disk/raid6_recover.c: Likewise.
6631 * disk/scsi.c: Likewise.
6632 * efiemu/main.c: Likewise.
6633 * efiemu/mm.c: Likewise.
6634 * efiemu/pnvram.c: Likewise.
6635 * efiemu/symbols.c: Likewise.
6636 * font/font.c: Likewise.
6637 * fs/cpio.c: Likewise.
6638 * fs/hfsplus.c: Likewise.
6639 * fs/iso9660.c: Likewise.
6640 * fs/jfs.c: Likewise.
6641 * fs/minix.c: Likewise.
6642 * fs/ntfs.c: Likewise.
6643 * fs/ntfscomp.c: Likewise.
6644 * fs/reiserfs.c: Likewise.
6645 * fs/ufs.c: Likewise.
6646 * fs/xfs.c: Likewise.
6647 * gettext/gettext.c: Likewise.
6648 * include/grub/auth.h: Likewise.
6649 * kern/elf.c: Likewise.
6650 * kern/file.c: Likewise.
6651 * kern/ieee1275/init.c: Likewise.
6652 * kern/ieee1275/mmap.c: Likewise.
6653 * kern/ieee1275/openfw.c: Likewise.
6654 * kern/powerpc/dl.c: Likewise.
6655 * kern/sparc64/dl.c: Likewise.
6656 * lib/arg.c: Likewise.
6657 * loader/i386/bsd.c: Likewise.
6658 * loader/i386/bsdXX.c: Likewise.
6659 * loader/i386/efi/linux.c: Likewise.
6660 * loader/i386/efi/xnu.c: Likewise.
6661 * loader/i386/ieee1275/linux.c: Likewise.
6662 * loader/i386/linux.c: Likewise.
6663 * loader/i386/multiboot.c: Likewise.
6664 * loader/i386/pc/linux.c: Likewise.
6665 * loader/i386/pc/multiboot2.c: Likewise.
6666 * loader/i386/xnu.c: Likewise.
6667 * loader/ieee1275/multiboot2.c: Likewise.
6668 * loader/macho.c: Likewise.
6669 * loader/machoXX.c: Likewise.
6670 * loader/multiboot2.c: Likewise.
6671 * loader/multiboot_loader.c: Likewise.
6672 * loader/powerpc/ieee1275/linux.c: Likewise.
6673 * loader/sparc64/ieee1275/linux.c: Likewise.
6674 * loader/xnu.c: Likewise.
6675 * loader/xnu_resume.c: Likewise.
6676 * mmap/i386/pc/mmap.c: Likewise.
6677 * normal/menu_viewer.c: Likewise.
6678 * partmap/acorn.c: Likewise.
6679 * partmap/amiga.c: Likewise.
6680 * partmap/apple.c: Likewise.
6681 * script/lexer.c: Likewise.
6682 * term/gfxterm.c: Likewise.
6683 * term/i386/pc/serial.c: Likewise.
6684 * term/i386/pc/vga.c: Likewise.
6685 * term/ieee1275/ofconsole.c: Likewise.
6686 * term/terminfo.c: Likewise.
6687 * video/bitmap.c: Likewise.
6688 * video/efi_gop.c: Likewise.
6689 * video/efi_uga.c: Likewise.
6690 * video/fb/video_fb.c: Likewise.
6691 * video/i386/pc/vbe.c: Likewise.
6692 * video/readers/tga.c: Likewise.
6693 * video/video.c: Likewise.
6694
6695 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6696
6697 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6698 * commands/lspci.c: Likewise.
6699 * commands/probe.c: Likewise.
6700 * commands/xnu_uuid.c: Likewise.
6701 * conf/i386-coreboot.rmk: Likewise.
6702 * conf/i386-efi.rmk: Likewise.
6703 * conf/i386-ieee1275.rmk: Likewise.
6704 * conf/i386-pc.rmk: Likewise.
6705 * conf/powerpc-ieee1275.rmk: Likewise.
6706 * conf/sparc64-ieee1275.rmk: Likewise.
6707 * conf/x86_64-efi.rmk: Likewise.
6708 * fs/i386/pc/pxe.c: Likewise.
6709 * gettext/gettext.c: Likewise.
6710 * include/grub/efi/graphics_output.h: Likewise.
6711 * include/grub/i386/pc/memory.h: Likewise.
6712 * kern/env.c: Likewise.
6713 * kern/i386/qemu/startup.S: Likewise.
6714 * lib/i386/pc/biosnum.c: Likewise.
6715 * lib/i386/relocator.c: Likewise.
6716 * lib/i386/relocator_asm.S: Likewise.
6717 * lib/relocator.c: Likewise.
6718 * loader/i386/bsd.c: Likewise.
6719 * loader/i386/multiboot.c: Likewise.
6720 * loader/i386/pc/chainloader.c: Likewise.
6721 * loader/i386/xnu.c: Likewise.
6722 * loader/xnu.c: Likewise.
6723 * normal/main.c: Likewise.
6724 * normal/menu_text.c: Likewise.
6725 * util/getroot.c: Likewise.
6726 * util/grub-mkconfig_lib.in: Likewise.
6727 * util/grub.d/00_header.in: Likewise.
6728 * util/i386/pc/grub-mkimage.c: Likewise.
6729 * util/mkisofs/eltorito.c: Likewise.
6730 * util/mkisofs/exclude.h: Likewise.
6731 * util/mkisofs/hash.c: Likewise.
6732 * util/mkisofs/iso9660.h: Likewise.
6733 * util/mkisofs/joliet.c: Likewise.
6734 * util/mkisofs/mkisofs.c: Likewise.
6735 * util/mkisofs/mkisofs.h: Likewise.
6736 * util/mkisofs/multi.c: Likewise.
6737 * util/mkisofs/name.c: Likewise.
6738 * util/mkisofs/rock.c: Likewise.
6739 * util/mkisofs/tree.c: Likewise.
6740 * util/mkisofs/write.c: Likewise.
6741 * video/efi_gop.c: Likewise.
6742
6743 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6746 size counting.
6747
6748 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6749
6750 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6751 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6752
6753 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6756 (GRUB_MOD_INIT(memrw)): Update help line.
6757
6758 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6761 Use grub_extcmd_t. All users updated.
6762 (options): New variable.
6763 (grub_cmd_read): Restructure for readability. Support "-v" option.
6764 (grub_cmd_write): Restructure for readability.
6765
6766 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6767
6768 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6769
6770 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6771
6772 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6773 with the actual contents of the correspondending make variable.
6774 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6775 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6776 specifying `*.lst' and `efiemu??.o'
6777
6778 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6779
6780 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6781 after function name.
6782 Noticed by Rene Engelhard <rene@debian.org>.
6783
6784 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6787 (options): New variable.
6788 (iospace): Likewise.
6789 (grub_lspci_iter): List IO spaces if "-i" was given.
6790 (grub_cmd_lspci): Parse options.
6791 (GRUB_MOD_INIT(lspci)): Use extcmd.
6792 (GRUB_MOD_FINI(lspci)): Likewise.
6793
6794 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6795
6796 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6797 `function' keyword.
6798 Patch by Tony Mancill <tmancill@debian.org>.
6799
6800 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6803 (grub_uhci_portstatus): Likewise.
6804 (grub_uhci_portstatus): Add necessary delay.
6805 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6806
6807 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6808
6809 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6810 (GRUB_MOD_INIT): Likewise.
6811 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6812 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6813 * commands/echo.c (options): Fix capitalizations and/or full stops.
6814 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6815 (enable_rom_area): Likewise.
6816 (GRUB_MOD_INIT): Likewise.
6817 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6818 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6819 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6820 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6821 * commands/hexdump.c (options): Likewise.
6822 * commands/i386/cpuid.c (options): Likewise.
6823 (GRUB_MOD_INIT): Likewise.
6824 * commands/i386/pc/drivemap.c (options): Likewise.
6825 (GRUB_MOD_INIT): Likewise.
6826 * commands/i386/pc/halt (options): Likewise.
6827 (GRUB_MOD_INIT): Likewise.
6828 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6829 * commands/i386/pc/pxecmd.c (options): Likewise.
6830 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6831 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6832 * commands/keystatus.c (options): Likewise.
6833 (GRUB_MOD_INIT): Likewise.
6834 * commands/loadenv.c (options): Likewise.
6835 * commands/ls.c (options): Likewise.
6836 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6837 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6838 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6839 * commands/parttool.c (helpmsg): Likewise.
6840 * commands/probe.c (options): Likewise.
6841 * commands/read.c (GRUB_MOD_INIT): Likewise.
6842 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6843 * commands/search.c (options): Likewise.
6844 * commands/sleep.c (options): Likewise.
6845 * commands/test.c (GRUB_MOD_INIT): Likewise.
6846 * commands/true.c (GRUB_MOD_INIT): Likewise.
6847 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6848 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6849 * lib/arg.c (help_options): Likewise.
6850 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6851 `$(XGETTEXT)'.
6852 * po/POTFILES: Add `commands/loadenv.c'.
6853
6854 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6855
6856 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6857 instead of specifying them explicit.
6858
6859 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6860
6861 * NEWS: Add grub-probe support for GNU/Hurd.
6862
6863 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6864
6865 * NEWS: gettext was added after 1.97.
6866
6867 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6868
6869 * util/mkisofs/msdos_partition.h: New file (based on
6870 include/grub/msdos_partition.h).
6871 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6872 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6873 (ld_options, main): Recognize --protective-msdos-label.
6874 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6875 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6876 (padblock_write): If `use_protective_msdos_label' is set, patch a
6877 protective DOS-style label in the output image.
6878
6879 * util/grub-mkrescue.in: Use --protective-msdos-label.
6880
6881 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6882
6883 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6884 boot.
6885
6886 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6887
6888 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6889 variables.
6890 (ld_options, main): Recognize `--embedded-boot'.
6891 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6892 declarations.
6893 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6894 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6895 (padblock_write): Likewise. Rewrite to support embedded boot image.
6896
6897 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6898 for BIOS-based disk boot instead of only ElTorito.
6899
6900 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6901
6902 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6903 build (not needed for bootstrap).
6904
6905 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6906
6907 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6908 from i386-pc build (not needed for bootstrap).
6909 Rewrite a pair of strings.
6910
6911 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6912
6913 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6914
6915 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6918
6919 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6920
6921 * kern/env.c (grub_env_context_open): Mark exported variable for
6922 reexport.
6923
6924 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6925
6926 * kern/env.c (grub_env_export): Create nonexistent variables before
6927 exporting.
6928
6929 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6930
6931 * include/grub/auth.h: Include `<grub/i18n.h>'.
6932 (GRUB_GET_PASSWORD): Gettextizze string.
6933 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6934 menu_text.c.
6935 (grub_utf8_to_ucs4_alloc): Fix indentation.
6936 (grub_print_ucs4): Likewise.
6937 (grub_getstringwidth): Likewise.
6938 (print_message_indented): New declaration.
6939 * normal/auth.c: Include `<grub/i18n.h>'.
6940 (grub_auth_check_authentication): Gettexttize string.
6941 * normal/cmdline.c: Include `<grub/i18n.h>'.
6942 (grub_cmdline_get): Gettextizze.
6943 * normal/color.c: Include `<grub/i18n.h>'.
6944 (grub_parse_color_name_pair): Gettexttize strings.
6945 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6946 string (use `print_message_indented').
6947 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6948 `include/grub/normal.h'.
6949 (print_message_indented): Renamed to ...
6950 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6951 used in normal/main.c).
6952 (print_message): Use `grub_print_message_indented' instead of
6953 `print_message_indented'.
6954 (print_timeout): Likewise.
6955 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6956 (grub_normal_print_device_info): Gettexttize strings.
6957 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6958
6959 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6962 of arguments. Return number of tokens and not arguments. All users
6963 updated.
6964
6965 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6968 non-MSDOS paritions.
6969
6970 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * include/grub/types.h (UNUSED): Removed since it conflicts with
6973 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6974 Reported by Grégoire Sutre.
6975
6976 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6977
6978 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6979 (grub_print_ucs4_alloc): Likewise.
6980 (grub_getstringwidth): Likewise.
6981 * normal/main.c (grub_normal_init_page): Gettextize version string.
6982 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6983 (getstringwidth): Renamed to ...
6984 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6985 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6986 (grub_print_ucs4): Remove `static' qualifer (now used in
6987 normal/main.c).
6988 * po/POTFILES: Add normal/main.c.
6989
6990 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6991
6992 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6993 (print_message_indented): Add `margin_left' and `margin_right'
6994 parameters.
6995 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6996 strings.
6997 (print_timeout): Use `print_message_indented' to print the message.
6998 Deletes `second_stage' parameter.
6999 (run_menu): Update `print_timeout' calls.
7000
7001 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Fix console palette on OpenFirmware.
7004
7005 * term/ieee1275/ofconsole.c (MAX): Removed.
7006 (colors): Redone based on VGA palette.
7007 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7008 colors are supported.
7009 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7010
7011 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Fix potential EfiEmu double prepare.
7014
7015 * efiemu/main.c (prepared): New variable
7016 (grub_efiemu_unload): Set prepare to '0'.
7017 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7018
7019 set_virtual_address_map support.
7020
7021 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7022 prototype.
7023 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7024 prototype.
7025 (grub_efiemu_crc32): Likewise.
7026 (grub_efiemu_crc64): Likewise.
7027 (grub_efiemu_set_virtual_address_map): Likewise.
7028 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7029 New definition.
7030 (grub_autoefi_set_virtual_address_map): Likewise.
7031 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7032 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7033 Restructure flow to accomodate it.
7034 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7035 (grub_efiemu_crc): Recompute CRC32.
7036 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7037 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7038 * efiemu/symbols.c (relocated_handle): New variable.
7039 (grub_efiemu_free_syms): Free relocated_handle.
7040 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7041 (grub_efiemu_write_sym_markers): New function.
7042 (grub_efiemu_set_virtual_address_map): Likewise.
7043
7044 Newer XNU parameters.
7045
7046 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7047 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7048 (grub_xnu_fill_devicetree): New prototype.
7049 (grub_xnu_heap_real_start): New variable.
7050 * loader/xnu.c (get_name_ptr): New function.
7051 (grub_xnu_load_driver): Fill namelen and name.
7052
7053 64-bit xnu support.
7054
7055 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7056 and 'loader/macho64.c'.
7057 * conf/i386-pc.rmk: Likewise.
7058 * conf/x86_64-efi.rmk: Likewise.
7059 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7060 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7061 * include/grub/macho.h (grub_macho_segment64): New structure.
7062 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7063 (grub_macho_size32): ... to this.
7064 (grub_macho32_get_entry_point): Renamed from ...
7065 (grub_macho_get_entry_point32): ... to this.
7066 (grub_macho_contains_macho64): New prototype.
7067 (grub_macho_size64): Likewise.
7068 (grub_macho_get_entry_point64): Likewise.
7069 (grub_macho32_load): Renamed from ...
7070 (grub_macho_load32): ... to this.
7071 (grub_macho32_filesize): Renamed from ...
7072 (grub_macho_filesize32): ... to this.
7073 (grub_macho32_readfile): Renamed from ...
7074 (grub_macho_readfile32): ... to this.
7075 (grub_macho_filesize64): New prototype.
7076 (grub_macho_readfile64): Likewise.
7077 (grub_macho_parse32): Likewise.
7078 (grub_macho_parse64): Likewise.
7079 * loader/macho.c: Split into ...
7080 * loader/machoXX.c: ... and this. Replace 32 with XX.
7081 * loader/macho32.c: New file.
7082 * loader/macho64.c: Likewise.
7083 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7084 (grub_cmd_xnu_kernel): Make 32-bit only.
7085 (grub_cmd_xnu_kernel64): New function.
7086 (grub_xnu_load_driver): Support Mach-O 64.
7087 (grub_cmd_xnu_mkext): Likewise.
7088 * util/grub.d/30_os-prober.in (osx_entry): New function.
7089 Generate entries for 64-bit boot too.
7090
7091 Eliminate ad-hoc tree format in XNU and EfiEmu.
7092
7093 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7094 * efiemu/pnvram.c: Rewritten to use environment variables.
7095 All users updated.
7096
7097 Inline utf16_to_utf8.
7098
7099 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7100 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7101 All users updated.
7102 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7103
7104 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7105 * commands/usbtest.c (grub_usb_get_string): ... move here.
7106 (usb_print_str): Fix error handling.
7107 * include/grub/usb.h (grub_usb_get_string): Remove.
7108
7109 UTF-8 to UTF-16 transformation.
7110
7111 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7112 (charset_mod_SOURCES): New variable.
7113 (charset_mod_CFLAGS): Likewise.
7114 (charset_mod_LDFLAGS): Likewise.
7115 * include/grub/utf.h: New file.
7116 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7117
7118 Support for device properties.
7119
7120 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7121 (grub_xnu_devprop_device_header): Likewise.
7122 (grub_xnu_devprop_device_descriptor): Likewise.
7123 (grub_xnu_devprop_add_device): New prototype.
7124 (grub_xnu_devprop_remove_device): Likewise.
7125 (grub_xnu_devprop_remove_property): Likewise.
7126 (grub_xnu_devprop_add_property_utf8): Likewise.
7127 (grub_xnu_devprop_add_property_utf16): Likewise.
7128 (grub_cpu_xnu_init): Likewise.
7129 (grub_cpu_xnu_fini): Likewise.
7130 (grub_cpu_xnu_unload): Likewise.
7131 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7132 (property_descriptor): Likewise.
7133 (devices): New variable.
7134 (grub_xnu_devprop_remove_property): New function.
7135 (grub_xnu_devprop_add_device): Likewise.
7136 (grub_xnu_devprop_remove_device): Likewise.
7137 (grub_xnu_devprop_add_property): Likewise.
7138 (grub_xnu_devprop_add_property_utf8): Likewise.
7139 (grub_xnu_devprop_add_property_utf16): Likewise.
7140 (hextoval): Likewise.
7141 (grub_cpu_xnu_fill_devprop): Likewise.
7142 (grub_cmd_devprop_load): Likewise.
7143 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7144 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7145 (cmd_devprop_load): New variable.
7146 (grub_cpu_xnu_init): New function.
7147 (grub_cpu_xnu_fini): Likewise.
7148 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7149 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7150 (grub_cmd_xnu_devtree): Likewise.
7151 (hextoval): New function.
7152 (unescape): Likewise.
7153 (grub_xnu_fill_devicetree): Likewise.
7154
7155 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7156 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7157
7158 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 Workaround for broken ATI VBE.
7161
7162 * video/i386/pc/vbe.c (last_set_mode): New variable.
7163 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7164 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7165 (grub_video_vbe_setup): Don't check for reserved flag.
7166
7167 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7168
7169 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7170 the `find' command.
7171
7172 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 UUID support for HFS.
7175
7176 * fs/hfs.c (grub_hfs_uuid): New function.
7177 (grub_hfs_fs): New value .uuid.
7178 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7179
7180 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7181
7182 Fix a segfault with parsing unknown long options.
7183
7184 * util/grub-mkrelpath.c (options): Zero terminate it.
7185
7186 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7187
7188 * include/grub/misc.h (grub_puts): New declaration.
7189 (grub_puts_): Likewise.
7190 * kern/misc.c (grub_puts): New definition.
7191 (grub_puts_): Likewise.
7192
7193 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7194
7195 * util/grub-probe.c (probe): Improve error message.
7196
7197 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7198
7199 * loader/i386/multiboot_elfxx.c
7200 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7201 initialization.
7202
7203 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Relocator framework
7206
7207 * loader/i386/xnu_helper.S: Removed. All users updated.
7208 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7209 (relocator_mod_SOURCES): New variable.
7210 (relocator_mod_CFLAGS): Likewise.
7211 (relocator_mod_LDFLAGS): Likewise.
7212 (relocator_mod_ASFLAGS): Likewise.
7213 * conf/x86_64.rmk: Likewise.
7214 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7215 (grub_multiboot_payload_entry_offset): Likewise.
7216 (grub_multiboot_forward_relocator): Likewise.
7217 (grub_multiboot_forward_relocator_end): Likewise.
7218 (grub_multiboot_backward_relocator): Likewise.
7219 (grub_multiboot_backward_relocator_end): Likewise.
7220 (grub_multiboot_payload_eip): New variable.
7221 (grub_multiboot_payload_orig): Likewise.
7222 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7223 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7224 * include/grub/i386/memory.h
7225 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7226 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7227 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7228 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7229 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7230 * include/grub/i386/relocator.h: New file.
7231 * include/grub/x86_64/relocator.h: Likewise.
7232 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7233 (XNU_RELOCATOR): New macro.
7234 (grub_xnu_launcher_start): Remove.
7235 (grub_xnu_launcher_end): Likewise.
7236 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7237 (grub_xnu_heap_real_start): Remove.
7238 (grub_xnu_heap_start): Change to void *. All users updated.
7239 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7240 * lib/i386/relocator.c: New file.
7241 * lib/i386/relocator_asm.S: Likewise.
7242 * lib/i386/relocator_backward.S: Likewise.
7243 * lib/mips/relocator.c: Likewise.
7244 * lib/mips/relocator_asm.S: Likewise.
7245 * lib/relocator.c: Likewise.
7246 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7247 (entry): Removed.
7248 (playground): Likewise.
7249 (grub_multiboot_payload_orig): New variable.
7250 (grub_multiboot_payload_dest): Likewise.
7251 (grub_multiboot_payload_size): Likewise.
7252 (grub_multiboot_payload_eip): Likewise.
7253 (grub_multiboot_payload_esp): Likewise.
7254 (grub_multiboot_boot): Use grub_relocator32_boot.
7255 (grub_multiboot_unload): Free relocators.
7256 (grub_multiboot): Setup stack. Use relocators.
7257 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7258 (grub_multiboot_load_elfXX): Use relocators.
7259 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7260 (grub_multiboot_payload_size): Likewise.
7261 (grub_multiboot_payload_dest): Likewise.
7262 (grub_multiboot_payload_entry_offset): Likewise.
7263 (grub_multiboot_forward_relocator): Likewise.
7264 (grub_multiboot_backward_relocator): Likewise.
7265 (grub_multiboot_real_boot): Likewise.
7266 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7267 (grub_xnu_entry_point): Likewise.
7268 (grub_xnu_arg1): Likewise.
7269 (grub_xnu_stack): Likewise.
7270 (grub_xnu_launch): Removed.
7271 (grub_xnu_boot_resume): New function.
7272 (grub_xnu_boot): Use relocators.
7273 * loader/i386/xnu_helper.S: Removed.
7274 * loader/xnu.c (grub_xnu_heap_start): New variable.
7275 (grub_xnu_heap_size): Likewise.
7276 (grub_xnu_heap_malloc): Use relocators.
7277 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7278
7279 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7282 anything.
7283
7284 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7285
7286 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7287 GRUB_ERR_NONE before calling grub_env_set.
7288
7289 2009-12-12 Robert Millan <rmh@aybabtu.com>
7290
7291 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7292 * genmk.rb (video): New variable.
7293 (CLEANFILES, VIDEOFILES): Add #{video}.
7294 (#{video}): New target rule.
7295 * genvideolist.sh: New file.
7296 * Makefile.in (pkglib_DATA): Add video.lst.
7297 (video.lst): New target rule.
7298 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7299 `video.lst'.
7300 * util/grub.d/30_os-prober.in: Replace `vbe' with
7301 ${GRUB_VIDEO_BACKEND}.
7302
7303 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7304
7305 * THANKS: Add David Miller.
7306
7307 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 libpciaccess support.
7310
7311 * Makefile.in (LIBPCIACCESS): New variable.
7312 (enable_grub_emu_pci): Likewise.
7313 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7314 util/pci.c and commands/lspci.c.
7315 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7316 * configure.ac (grub-emu-pci): New option.
7317 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7318 (grub_pci_device_unmap_range): Likewise.
7319 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7320 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7321 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7322 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7323 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7324 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7325 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7326 * include/grub/pciutils.h: New file.
7327 * util/pci.c: Likewise.
7328
7329 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7330
7331 * util/misc.c: Don't include <errno.h> twice.
7332
7333 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7334
7335 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7336 name in an error message.
7337 (grub_biosdisk_rw): Likewise.
7338
7339 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 Eliminate NTFS 4Gib barrier.
7342
7343 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7344 (read_run_data): Likewise.
7345 (grub_ntfs_read_run_list): Likewise.
7346 (grub_ntfs_read_block): Likewise.
7347 (grub_ntfs_iterate_dir): Likewise.
7348 (read_mft): Likewise.
7349 (read_data): Likewise.
7350 Use COM_LOG_LEN.
7351 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7352 to avoid 64-bit division
7353 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7354 (grub_ntfs_rlst): Use grub_disk_addr_t.
7355
7356 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 Eliminate grub-fstest 4Gib barrier.
7359
7360 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7361 (read_file): Fix error reporting.
7362
7363 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 Eliminate hexdump 4Gib barrier.
7366
7367 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7368 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7369
7370 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7373 Fixes amarsh bug.
7374
7375 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7376
7377 Remove miscellaneous files in distclean target.
7378
7379 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7380
7381 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7382
7383 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7384 if they're already set. This resolves the conflict between my
7385 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7386 fixing the --grub-probe option again.
7387 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7388 change on 2009-10-06, so that we now once again source
7389 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7390
7391 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7392
7393 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7394 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7395 `util/devicemap.c'.
7396
7397 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7398
7399 * include/grub/misc.h (grub_printf_): New declaration.
7400 * kern/misc.c (grub_printf_): New definition.
7401 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7402 instead of `grub_printf' and `_'.
7403 * normal/menu_entry.c (store_completion): Likewise.
7404 (run): Likewise.
7405 (grub_menu_entry_run): Likewise.
7406 * normal/menu_text.c (grub_wait_after_message): Likewise.
7407 (notify_booting): Likewise.
7408 (notify_fallback): Likewise.
7409 (notify_execution_failure): Likewise.
7410
7411 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7412
7413 * configure.ac: Check for vasprintf.
7414 * util/misc.c (asprintf): Move allocation from here ...
7415 (vasprintf): ... to here. New function.
7416 (xasprintf): New function.
7417 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7418 prototypes.
7419 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7420 * util/grub-mkfont.c (write_font): Likewise.
7421 * util/grub-probe.c (probe): Likewise.
7422 * util/hostdisk.c (make_device_name): Likewise.
7423
7424 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7425
7426 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7427 anything even prefixed with 'cdrom' as a cdrom.
7428
7429 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7430
7431 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7432 mount points.
7433
7434 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7435
7436 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7437 grub_gettext_msg_list.
7438 (grub_gettext_gettranslation_from_position): Return const char *
7439 and not char *.
7440 (grub_gettext_translate): Add the translated strings into a list,
7441 returns from the list if existing there.
7442 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7443 (grub_gettext_delete_list): Delete the list.
7444 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7445 lang environment variable is changed.
7446 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7447
7448 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Rename kernel.mod to kernel.img.
7451
7452 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7453 (kernel_mod_EXPORTS): Rename to ...
7454 (kernel_img_EXPORTS): ... this.
7455 (kernel_mod_SOURCES): Rename to ...
7456 (kernel_img_SOURCES): ... this.
7457 (kernel_mod_HEADERS): Rename to ...
7458 (kernel_img_HEADERS): ... this. All users updated.
7459 (kernel_mod_CFLAGS): Rename to ...
7460 (kernel_img_CFLAGS): ... this.
7461 (kernel_mod_ASFLAGS): Rename to ...
7462 (kernel_img_ASFLAGS): ... this.
7463 (kernel_mod_LDFLAGS): Rename to ...
7464 (kernel_img_LDFLAGS): ... this.
7465 * conf/x86_64-efi.rmk: Likewise.
7466 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7467 (read_kernel_image): ... this. All users updated.
7468 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7469
7470 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7471
7472 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7473 (print_spaces): New function.
7474 (grub_print_ucs4): New function.
7475 (getstringwidth): New function.
7476 (print_message_indented): New function.
7477 (print_message): Gettexttize strings using print_message_indented.
7478 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7479 width.
7480 (get_entry_number): Gettextize and uses dynamic terminal width.
7481 (notify_booting, notify_fallback, notify_execution_failure):
7482 Gettextize.
7483 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7484 string.
7485 (run): Likewise.
7486 (grub_menu_entry_run): Likewise.
7487 * PO/POTFILES: Add normal/menu_entry.c.
7488
7489 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7492
7493 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7494
7495 * util/grub-install.in: Install gettext .mo files.
7496 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7497
7498 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7499
7500 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7501 grub_dprintf.
7502
7503 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7504
7505 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7506 non-firmware-dependant one in realmode.S takes precedence.
7507
7508 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7509
7510 * commands/halt.c: Replace misc arch-specific headers with
7511 `<grub/misc.h>'.
7512 * commands/reboot.c: Likewise.
7513 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7514 `<grub/misc.h>'.
7515 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7516 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7517 (kernel_img_SOURCES): ... to here.
7518
7519 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7520 * include/grub/i386/pc/init.h: Likewise.
7521 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7522 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7523
7524 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7525
7526 * include/grub/i386/halt.h: Remove.
7527 * include/grub/i386/reboot.h: Likewise.
7528
7529 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7530
7531 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7532
7533 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7534 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7535 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7536 "progname.h"
7537 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7538 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7539 (usage): Add missing comma in printf.
7540
7541 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7542
7543 Use the same reboot approach on i386 coreboot and qemu as we do on
7544 BIOS.
7545
7546 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7547 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7548 * kern/i386/reboot.c: Remove.
7549 * include/grub/i386/reboot.h (grub_reboot): Export function.
7550 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7551 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7552 0xf000:0xfff0 instead of 0xffff:0x0000.
7553 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7554 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7555
7556 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7557
7558 Fix $srcdir != $objdir build.
7559
7560 * Makefile.in (po/%.po): Rewrite as ...
7561 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7562
7563 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7564
7565 Fix GNU/Hurd grub-install crash.
7566 * util/grub-probe.c (probe): Try to access `path' only when it is not
7567 NULL.
7568
7569 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 Correct module naming.
7572
7573 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7574 (GRUB_MOD_INIT(efi_uga)): ... to this
7575 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7576 (GRUB_MOD_FINI(efi_uga)): ... to this
7577 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7578 (GRUB_MOD_INIT(efi_gop)): ... to this
7579 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7580 (GRUB_MOD_FINI(efi_gop)): ... to this
7581
7582 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7583
7584 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7585 translatable.
7586 (usage): Translate `arg' strings using gettext().
7587 Thanks to Jordi Mallach for the suggestion.
7588
7589 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 GOP support. Based on patch from Bean
7592 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7593
7594 * video/efi_gop.c: New file.
7595 * include/grub/efi/graphics_output.h: Likewise.
7596 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7597 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7598 variables.
7599 * conf/x86_64-efi.rmk: Likewise.
7600
7601 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 Rename efi_fb to efi_uga.
7604
7605 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7606 'efi_uga.mod'.
7607 (efi_fb_mod_SOURCES): Rename this ...
7608 (efi_uga_mod_SOURCES): ... to this.
7609 (efi_fb_mod_CFLAGS): Rename this ...
7610 (efi_uga_mod_CFLAGS): ... to this.
7611 (efi_fb_mod_LDFLAGS): Rename this ...
7612 (efi_uga_mod_LDFLAGS): ... to this.
7613 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7614 'efi_uga.mod'.
7615 (efi_fb_mod_SOURCES): Rename this ...
7616 (efi_uga_mod_SOURCES): ... to this.
7617 (efi_fb_mod_CFLAGS): Rename this ...
7618 (efi_uga_mod_CFLAGS): ... to this.
7619 (efi_fb_mod_LDFLAGS): Rename this ...
7620 (efi_uga_mod_LDFLAGS): ... to this.
7621 * video/efi_fb.c: Move this ...
7622 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7623
7624 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7625
7626 * po/README: New file. Explain our PO file workflow.
7627
7628 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7629
7630 * po/ChangeLog: Remove. Move relevant entries back to ...
7631 * ChangeLog: ... here.
7632 * po/ca.po: Remove (now handled by TLP).
7633 * po/id.po: Likewise.
7634 * po/zh_CN.po: Likewise.
7635 * Makefile.in (LINGUAS): Initialize in a way that supports
7636 empty set.
7637
7638 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7639
7640 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7641 reliing on po/LINGUAS.
7642 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7643 (po/%.po): ... this.
7644
7645 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7646
7647 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7648 (main): Use `program_name' instead of nonexistent `progname'.
7649
7650 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7651
7652 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7653 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7654
7655 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7656
7657 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7658 commit.
7659 * conf/i386-efi.rmk: Likewise.
7660 * conf/i386-ieee1275.rmk: Likewise.
7661 * conf/powerpc-ieee1275.rmk: Likewise.
7662 * conf/sparc64-ieee1275.rmk: Likewise.
7663 * conf/x86_64-efi.rmk: Likewise.
7664
7665 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7666
7667 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7668
7669 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7670
7671 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7672
7673 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7674
7675 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7676 (grub_mkdevicemap_SOURCES): New variable.
7677 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7678 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7679 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7680 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7681 (grub_mkdevicemap_SOURCES): Remove.
7682 * conf/i386-efi.rmk: Likewise.
7683 * conf/i386-ieee1275.rmk: Likewise.
7684 * conf/i386-pc.rmk: Likewise.
7685 * conf/powerpc-ieee1275.rmk: Likewise.
7686 * conf/sparc64-ieee1275.rmk: Likewise.
7687 * conf/x86_64-efi.rmk: Likewise.
7688 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7689 (usage): Fix strings to use `program_name'.
7690 (main): Initialize gettext.
7691 * util/grub-editenv.c: Likewise.
7692 * util/grub-emu.c: Likewise.
7693 * util/grub-fstest.c: Likewise.
7694 * util/grub-mkdevicemap.c: Likewise.
7695 * util/grub-mkfont.c: Likewise.
7696 * util/grub-mkrelpath.c: Likewise.
7697 * util/grub-pe2elf.c: Likewise.
7698 * util/grub-probe.c: Likewise.
7699 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7700 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7701 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7702
7703 * util/misc.c: Include `"progname.h"'.
7704 (progname): Remove variable.
7705 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7706
7707 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7708
7709 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7710 printf and print a newline after the menuentry header line.
7711 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7712
7713 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7714
7715 autoconf >= 2.60 support $(localedir).
7716
7717 * INSTALL: Note that autoconf 2.60 is required.
7718 * configure.ac (AC_PREREQ): Bump to 2.60.
7719 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7720 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7721
7722 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7723
7724 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7725 aclocal is run.
7726
7727 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7728
7729 * normal/main.c (grub_normal_read_line): Fix off-by-one
7730 buffer overflow.
7731
7732 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7735 "parser.grub" in grub_command_execute() call.
7736
7737 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7738
7739 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7740 * conf/i386-efi.rmk: Likewise.
7741 * conf/i386-ieee1275.rmk: Likewise.
7742 * conf/i386-pc.rmk: Likewise.
7743 * conf/powerpc-ieee1275.rmk: Likewise.
7744 * conf/sparc64-ieee1275.rmk: Likewise.
7745 * conf/x86_64-efi.rmk: Likewise.
7746 * gettext/gettex.c: Include <grub/i18n.h>.
7747 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7748 here ...
7749 * include/grub/i18n.h: ... to here
7750 * include/grub/i18n.h: ... to here.
7751 * kern/misc.c: Include <grub/i18n.h>
7752 (grub_gettext_dummy): Move above user.
7753
7754 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7755
7756 * util/Makefile.in (install-local): Convert a `for' into a normal
7757 shell expansion.
7758
7759 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7760
7761 * autogen.sh: Add automake call.
7762 * config.guess: Remove.
7763 * config.sub: Likewise.
7764 * install-sh: Likewise.
7765
7766 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7767
7768 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7769
7770 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7771
7772 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7773 function to a normal shell `for'.
7774
7775 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7776
7777 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7778
7779 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7780
7781 * util/grub-mkrelpath.c: New file.
7782 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7783 (grub_mkrelpath_SOURCES): New variable.
7784 * include/grub/util/misc.h: New function prototype.
7785 * util/misc.c (make_system_path_relative_to_its_root): New function.
7786
7787 * util/grub-mkconfig_lib.in (bindir): New variable.
7788 (grub_mkrelpath): Likewise.
7789 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7790
7791 * util/probe.c (probe): Make the file path relative to its root.
7792 Change a info message to use the GRUB path. Enable again the
7793 check if we can read the file with GRUB facilities.
7794
7795 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7796 to its root.
7797
7798 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7799
7800 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7801 platform.
7802
7803 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7804
7805 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7806 strncmp().
7807
7808 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7809
7810 * util/getroot.c (grub_util_is_dmraid): New function.
7811 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7812 devices as normal ones, not as LVM.
7813
7814 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7815
7816 * conf/common.rmk: Add grub-gettext_lib target and updates
7817 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7818 LDFLAGS.
7819 * gettext/gettext.c: New file. (Reads mo files).
7820 * include/grub/file.h (grub_file_pread): New prototype.
7821 * include/grub/i18n.h (_): New prototype.
7822 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7823 prototypes.
7824 * kern/misc.c (grub_gettext_dummy): New function.
7825 * normal/menu_text.c: Include <grub/i18n.h>.
7826 * normal/menu_text.c (print_timeout): Gettexttize string.
7827 * normal/menu_text.c (print_message): Gettexttize string.
7828 * po/POTFILES: Add `normal/menu_text.c'.
7829 * po/ca.po: Add new translations.
7830 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7831 gettext module and defines locale_dir and lang in grub.cfg.
7832 * NEWS: Add gettext support.
7833
7834 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7835
7836 * util/hostdisk.c: Include `<grub/i18n.h>'.
7837 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7838 (make_device_name): Rewrite using asprintf.
7839 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7840 (find_system_device): If a device is not found, generate one just
7841 by reusing the OS path name.
7842 (read_device_map): Make it permissible for device.map not to exist.
7843
7844 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7845
7846 * script/sh/execute.c: Move from here ...
7847 * script/execute.c: ... to here. Update all users.
7848 * script/sh/function.c: Move from here ...
7849 * script/function.c: ... to here. Update all users.
7850 * script/sh/lexer.c: Move from here ...
7851 * script/lexer.c: ... to here. Update all users.
7852 * script/sh/main.c: Move from here ...
7853 * script/main.c: ... to here. Update all users.
7854 * script/sh/parser.y: Move from here ...
7855 * script/parser.y: ... to here. Update all users.
7856 * script/sh/script.c: Move from here ...
7857 * script/script.c: ... to here. Update all users.
7858
7859 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7860
7861 * configure.ac: Detect all `emu' platforms. Define
7862 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7863 --enable-grub-emu logic. Disable include/grub/machine
7864 symlink on `emu' platforms.
7865
7866 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7867 * gensymlist.sh.in: Likewise.
7868
7869 * include/grub/i386/coreboot/machine.h: Remove file.
7870 * include/grub/i386/efi/machine.h: Likewise.
7871 * include/grub/i386/ieee1275/machine.h: Likewise.
7872 * include/grub/i386/pc/machine.h: Likewise.
7873 * include/grub/i386/qemu/machine.h: Likewise.
7874 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7875 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7876 * include/grub/x86_64/efi/machine.h: Likewise.
7877
7878 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7879 * commands/halt.c: Likewise.
7880 * commands/reboot.c: Likewise.
7881 * include/grub/autoefi.h: Likewise.
7882 * include/grub/i386/at_keyboard.h: Likewise.
7883 * include/grub/i386/kernel.h: Likewise.
7884 * include/grub/i386/loader.h: Likewise.
7885 * include/grub/i386/pc/memory.h: Likewise.
7886 * kern/dl.c: Likewise.
7887 * kern/i386/coreboot/init.c: Likewise.
7888 * loader/i386/bsd.c: Likewise.
7889 * loader/i386/linux.c: Likewise.
7890 * loader/multiboot_loader.c: Likewise.
7891 * term/i386/pc/serial.c: Likewise.
7892 * term/usb_keyboard.c: Likewise.
7893
7894 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7895 `<grub/machine/machine.h>'
7896 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7897 * util/misc.c: Remove `<grub/machine/machine.h>' and
7898 `<grub/machine/time.h>'.
7899
7900 * Makefile.in (enable_grub_emu): Remove variable.
7901 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7902
7903 * conf/any-emu.rmk: New file.
7904 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7905 (grub_emu_init.c): Move from here ...
7906 * conf/any-emu.rmk: ... to here.
7907
7908 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7909 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7910 * conf/any-emu.rmk: ... to here.
7911
7912 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7913
7914 * include/grub/parser.h (grub_parser_register): Document need
7915 of `name' parameter.
7916 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7917 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7918 "sh" to "grub".
7919
7920 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7921
7922 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7923 `$(XGETTEXT)'.
7924 * include/grub/i18n.h (N_): New macro.
7925 * util/mkisofs/mkisofs.h: Likewise.
7926 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7927 around N_().
7928 (usage): Use gettext() to translate help strings when printing them.
7929
7930 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7931
7932 Based on patch from Bean
7933 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7934
7935 * video/efi_fb.c: New file.
7936 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7937 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7938 variables.
7939 * conf/x86_64-efi.rmk: Likewise.
7940
7941 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7942
7943 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7944 * util/i386/pc/grub-setup.c: Likewise.
7945
7946 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7947
7948 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7949 <hurd/fs.h>
7950 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7951 file_get_storage_info to implement grub_guess_root_device.
7952
7953 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7954
7955 * Makefile.in (target): Use make's builtin $(shell) function
7956 instead of calling directly $(SHELL) to create the locale directories,
7957 inside the $(foreach) function.
7958
7959 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7960
7961 * util/grub-mkrescue.in: Print an error and usage if output option
7962 has not been given.
7963
7964 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7965
7966 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7967 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7968 root and /boot are on different devices.
7969
7970 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7971
7972 Fix build for srcdir != objdir.
7973
7974 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7975 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7976 $(srcdir).
7977 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7978 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7979 reference for input.
7980
7981 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7982
7983 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7984 or hardlinking it). Remove -J option, Joliet is not compatible with
7985 multiple source directories.
7986
7987 2009-11-21 Carles Pina i Estany <carles@pina.cat>
7988 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7989
7990 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7991 (process_input_dir): New function. Process an arbitrary input
7992 directory.
7993 Misc adjustments to support both "override mode" and system-wide mode.
7994
7995 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7996
7997 * configure.ac (UNIFONT_BDF): Rename to ...
7998 (FONT_SOURCE): ... this. Update all users.
7999
8000 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8001
8002 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8003 to the list of unifont files to look for.
8004
8005 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8006
8007 Patch from Joe Auricchio <jauricchio@gmail.com>
8008 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8009 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8010 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8011
8012 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8013
8014 * Makefile.in (install-local): Add a missing backslash.
8015
8016 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8017
8018 * include/grub/x86_64/io.h: New file.
8019
8020 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8021
8022 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8023 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8024 Include `"progname.h"'.
8025 (main): Initialize gettext.
8026 * util/i386/pc/grub-setup.c: Gettexttize.
8027 * util/i386/pc/grub-mkimage.c: Likewise.
8028
8029 * Makefile.in (po/*.po): Redefine as ...
8030 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8031
8032 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8033
8034 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8035
8036 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8037 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8038 (program_name): Remove.
8039 (main): Initialize gettext support.
8040 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8041 Include `<libintl.h>'.
8042 (_): New macro.
8043
8044 * util/mkisofs/eltorito.c: Gettexttize.
8045 * util/mkisofs/joliet.c: Likewise.
8046 * util/mkisofs/mkisofs.c: Likewise.
8047 * util/mkisofs/multi.c: Likewise.
8048 * util/mkisofs/rock.c: Likewise.
8049 * util/mkisofs/tree.c: Likewise.
8050 * util/mkisofs/write.c: Likewise.
8051
8052 * po/POTFILES: Update with new files.
8053
8054 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8055
8056 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8057 * util/mkisofs/iso9660.h: Likewise.
8058 * util/mkisofs/joliet.c: Likewise.
8059 * util/mkisofs/mkisofs.c: Likewise.
8060 * util/mkisofs/mkisofs.h: Likewise.
8061 * util/mkisofs/rock.c: Likewise.
8062 * util/mkisofs/tree.c: Likewise.
8063 * util/mkisofs/write.c: Likewise.
8064
8065 * util/mkisofs/eltorito.c (rcsid): Remove.
8066 * util/mkisofs/hash.c: Likewise.
8067 * util/mkisofs/joliet.c: Likewise.
8068 * util/mkisofs/name.c: Likewise.
8069 * util/mkisofs/rock.c: Likewise.
8070 * util/mkisofs/tree.c: Likewise.
8071 * util/mkisofs/write.c: Likewise.
8072
8073 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8074
8075 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8076 instead of static allocation.
8077 * util/mkisofs/match.h: Likewise.
8078
8079 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8080
8081 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8082 and `util/grub.d/10_linux.in'.
8083 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8084 translatable Shell files.
8085
8086 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8087
8088 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8089
8090 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8091
8092 * INSTALL: Document Automake is needed for bootstrap.
8093 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8094 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8095 Add gettext initialization.
8096 (kfreebsd_entry): Make menuentry output translatable.
8097
8098 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8099
8100 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8101 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8102 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8103 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8104 (LINGUAS): Auto-generate using `po/LINGUAS'.
8105 * po/LINGUAS: New file.
8106
8107 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8108
8109 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8110 other things).
8111 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8112 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8113 bindtextdomain() calls for gettext initialization.
8114
8115 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8116
8117 * gnulib/progname.c: New file (imported from Gnulib).
8118 * gnulib/progname.h: Likewise.
8119 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8120 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8121 (usage): Replace `progname' with `program_name'.
8122 (main): Use set_program_name() for program name initialization.
8123
8124 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8125
8126 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8127 from here ...
8128 * Makefile.in (CPPFLAGS): ... to here.
8129
8130 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8131
8132 * aclocal.m4: Move from here ...
8133 * acinclude.m4: ... to here.
8134 * autogen.sh: Add call to `aclocal'.
8135 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8136
8137 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8138
8139 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8140 (LINGUAS): New variable.
8141 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8142 (install-local): Install MO files.
8143 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8144 * include/grub/i18n.h: New file.
8145 * po/POTFILES: New file.
8146 * po/ca.po: New file.
8147 * util/grub.d/10_linux.in (bindir): New variable.
8148 Add gettext initialization.
8149 (linux_entry): Make menuentry output translatable.
8150 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8151 (usage): Make --help output translatable.
8152 (main): Initialize gettext.
8153
8154 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8155
8156 * import_gcry.py: New file (written by Vladimir with minor
8157 adjustments).
8158 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8159 ciphers.
8160 * INSTALL: Document that Python is required for bootstrap.
8161
8162 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8163
8164 Import ciphers from libgcrypt 1.4.4.
8165
8166 * lib/libgcrypt/cipher/ChangeLog
8167 * lib/libgcrypt/cipher/ac.c
8168 * lib/libgcrypt/cipher/arcfour.c
8169 * lib/libgcrypt/cipher/bithelp.h
8170 * lib/libgcrypt/cipher/blowfish.c
8171 * lib/libgcrypt/cipher/camellia-glue.c
8172 * lib/libgcrypt/cipher/camellia.c
8173 * lib/libgcrypt/cipher/camellia.h
8174 * lib/libgcrypt/cipher/cast5.c
8175 * lib/libgcrypt/cipher/cipher.c
8176 * lib/libgcrypt/cipher/crc.c
8177 * lib/libgcrypt/cipher/des.c
8178 * lib/libgcrypt/cipher/dsa.c
8179 * lib/libgcrypt/cipher/ecc.c
8180 * lib/libgcrypt/cipher/elgamal.c
8181 * lib/libgcrypt/cipher/hash-common.c
8182 * lib/libgcrypt/cipher/hash-common.h
8183 * lib/libgcrypt/cipher/hmac-tests.c
8184 * lib/libgcrypt/cipher/md.c
8185 * lib/libgcrypt/cipher/md4.c
8186 * lib/libgcrypt/cipher/md5.c
8187 * lib/libgcrypt/cipher/primegen.c
8188 * lib/libgcrypt/cipher/pubkey.c
8189 * lib/libgcrypt/cipher/rfc2268.c
8190 * lib/libgcrypt/cipher/rijndael-tables.h
8191 * lib/libgcrypt/cipher/rijndael.c
8192 * lib/libgcrypt/cipher/rmd.h
8193 * lib/libgcrypt/cipher/rmd160.c
8194 * lib/libgcrypt/cipher/rsa.c
8195 * lib/libgcrypt/cipher/seed.c
8196 * lib/libgcrypt/cipher/serpent.c
8197 * lib/libgcrypt/cipher/sha1.c
8198 * lib/libgcrypt/cipher/sha256.c
8199 * lib/libgcrypt/cipher/sha512.c
8200 * lib/libgcrypt/cipher/tiger.c
8201 * lib/libgcrypt/cipher/twofish.c
8202 * lib/libgcrypt/cipher/whirlpool.c
8203
8204 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8205
8206 Fix build for systems without error().
8207
8208 * gnulib/error.c: New file (imported from Gnulib).
8209 * gnulib/error.h: Likewise.
8210 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8211 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8212 (this variable is now used by error()).
8213
8214 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8215
8216 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8217 instead of relying that char is signed.
8218
8219 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8222 blocksize different from specified.
8223 (grub_pxefs_read): Likewise.
8224
8225 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8226
8227 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8228
8229 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8230 (grub_ata_readwrite): Likewise. Update 2 format strings.
8231 (grub_atapi_read): Likewise.
8232
8233 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8234 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8235 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8236 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8237 (ata_mod_LDFLAGS): Move from here ...
8238 * conf/i386.rmk: ... to here ...
8239 * conf/x86_64-efi.rmk: ... and here.
8240 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8241 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8242
8243 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8244
8245 Relicense multiboot.h, with RMS' blessing.
8246
8247 * include/multiboot.h: Change to X11 license.
8248
8249 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8250
8251 Support --version in grub-mkisofs.
8252
8253 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8254 (OPTION_VERSION): New macro.
8255 (ld_options): Recognize --version.
8256 (usage): Move `program_name' from here ...
8257 (program_name): ... to here. Add `static' qualifier.
8258 (main): Recognize `OPTION_VERSION'.
8259
8260 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8261
8262 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8263 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8264
8265 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8266
8267 Fix help2man generation for mkisofs.
8268
8269 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8270 (usage): Send output to stdout (rather than stderr).
8271
8272 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8273
8274 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8275 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8276 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8277 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8278 (bin_SCRIPTS): Add `grub-mkfloppy'.
8279 (grub_mkfloppy_SOURCES): New variable.
8280
8281 * util/grub-mkrescue.in: New file.
8282 * util/i386/pc/grub-mkfloppy.in: New file.
8283
8284 * util/i386/coreboot/grub-mkrescue.in: Remove.
8285 * util/i386/pc/grub-mkrescue.in: Remove.
8286
8287 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8288
8289 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8290 from here ...
8291 * include/multiboot.h (struct multiboot_header): ... to here. Update
8292 all users.
8293 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8294 from here ...
8295 * include/multiboot.h (struct multiboot_info): ... to here. Update
8296 all users.
8297 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8298 from here ...
8299 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8300 Update all users.
8301 * include/grub/multiboot.h (struct grub_mod_list): Move
8302 from here ...
8303 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8304 Update all users.
8305
8306 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8307
8308 * include/multiboot2.h (multiboot_word): Rename from this ...
8309 (multiboot2_word): ... to this. Update all users.
8310 (multiboot_header): Rename from this ...
8311 (multiboot2_header): ... to this. Update all users.
8312 (multiboot_tag_header): Rename from this ...
8313 (multiboot2_tag_header): ... to this. Update all users.
8314 (multiboot_tag_start): Rename from this ...
8315 (multiboot2_tag_start): ... to this. Update all users.
8316 (multiboot_tag_name): Rename from this ...
8317 (multiboot2_tag_name): ... to this. Update all users.
8318 (multiboot_tag_module): Rename from this ...
8319 (multiboot2_tag_module): ... to this. Update all users.
8320 (multiboot_tag_memory): Rename from this ...
8321 (multiboot2_tag_memory): ... to this. Update all users.
8322 (multiboot_tag_unused): Rename from this ...
8323 (multiboot2_tag_unused): ... to this. Update all users.
8324 (multiboot_tag_end): Rename from this ...
8325 (multiboot2_tag_end): ... to this. Update all users.
8326
8327 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8328
8329 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8330 this platform we should support Multiboot1 first.
8331
8332 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8333 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8334 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8335
8336 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8337
8338 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8339 of write calls (converting them to fwrite() if they aren't already).
8340 (get_torito_desc): Likewise.
8341 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8342
8343 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8344
8345 * util/i386/pc/grub-install.in: Move from here ...
8346 * util/grub-install.in: ... to here. Update all users.
8347
8348 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8349
8350 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8351
8352 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8353
8354 Support for El Torito without floppy emulation.
8355
8356 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8357 (init_boot_catalog): Improve error handling.
8358 (get_torito_desc): Don't use floppy emulation unless requested by
8359 user. Patch boot information table when requested via
8360 `-boot-info-table'.
8361 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8362 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8363 (use_boot_info_table): New variables.
8364 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8365 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8366 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8367 `--eltorito-emul-floppy'.
8368 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8369 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8370 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8371 (use_boot_info_table, get_731): New prototypes.
8372 * util/mkisofs/write.c (get_731): New function.
8373
8374 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8375
8376 Fix the generation of the man page.
8377
8378 * util/pc/i386/grub-install.in: Source
8379 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8380
8381 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8382
8383 Large file support for grub-mkisofs.
8384
8385 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8386 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8387 (session_start): Upgrade type to `uint64_t'. Update all users.
8388 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8389 (struct directory_entry): Upgrade type of `starting_block' and
8390 `size' to `uint64_t'. Update all users.
8391 (struct deferred): Remove unused structure.
8392 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8393 Update all users.
8394 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8395 file is larger than `UINT32_MAX'.
8396 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8397 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8398 return value.
8399 (struct deferred_write): Upgrade type of `extent' and `size' to
8400 `uint64_t'. Update all users.
8401 (last_extent_written): Upgrade type to `uint64_t'. Update all
8402 users.
8403 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8404 Update all users. Upgrade type of `remain' to `int64_t' and
8405 `use' to `size_t'. Use error() to handle fread() errors.
8406 (write_files): Rely on write_one_file() rather than calling
8407 xfwrite() directly.
8408
8409 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8410
8411 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8412
8413 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8414
8415 * util/mkisofs/fnmatch.c: Remove.
8416 * util/mkisofs/getopt1.c: Likewise.
8417 * util/mkisofs/getopt.c: Likewise.
8418 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8419 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8420 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8421 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8422 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8423
8424 * configure.ac: Detect `mingw32msvc' host_os.
8425 Check for lstat(), getuid() and getgid().
8426
8427 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8428 instances of `u_char' with `uint8_t'.
8429
8430 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8431 [!HAVE_GETUID] (getuid): New function (stub).
8432 [!HAVE_GETGID] (getgid): Likewise.
8433 [!HAVE_LSTAT] (lstat): Likewise.
8434 [!S_IROTH] (S_IROTH): New macro (dummy).
8435 [!S_IRGRP] (S_IRGRP): Likewise.
8436
8437 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8440 conditional expression).
8441
8442 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8443
8444 Import from Gnulib.
8445
8446 * gnulib/fnmatch.c: New file.
8447 * gnulib/fnmatch.h: Likewise.
8448 * gnulib/fnmatch_loop.c: Likewise.
8449 * gnulib/getopt.c: Likewise.
8450 * gnulib/getopt.h: Likewise.
8451 * gnulib/getopt1.c: Likewise.
8452 * gnulib/getopt_int.h: Likewise.
8453 * gnulib/gettext.h: Likewise.
8454
8455 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8456
8457 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8458 * normal/handler.c (read_handler_list): Likewise.
8459
8460 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8461
8462 Misc cleanup.
8463
8464 * kern/command.c (grub_register_command_prio): Use
8465 grub_zalloc() instead of explicitly zeroing data.
8466 * kern/list.c: Include `<grub/mm.h>'.
8467 (grub_named_list_find): Replace `0' with `NULL'.
8468 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8469 (fs_module_list): Change type to `grub_named_list_t'. Update all
8470 users.
8471 * normal/dyncmd.c (read_command_list): Add space between function
8472 call and parenthesis.
8473 * normal/handler.c (read_handler_list): Likewise.
8474
8475 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8476
8477 * normal/auth.c (punishment_delay): Moved from here ...
8478 (grub_auth_strcmp): ... to here (inside function).
8479
8480 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8481
8482 * include/grub/list.h (struct grub_named_list): Remove `const'
8483 qualifier from `name'.
8484 (struct grub_prio_list): Likewise.
8485
8486 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8487
8488 * normal/auth.c: Include `<grub/time.h>'.
8489 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8490
8491 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8492
8493 * normal/auth.c (punishment_delay): New variable.
8494 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8495 (grub_auth_check_authentication): Punish failed login attempts with
8496 an incremental (2^N) delay.
8497
8498 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8499
8500 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8501 path with $(srcdir).
8502
8503 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8506
8507 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8508
8509 * util/i386/coreboot/grub-mkrescue.in: New file.
8510 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8511 variables.
8512
8513 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8514 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8515 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8516 requirements.
8517 * util/mkisofs/defaults.h: New file.
8518 * util/mkisofs/eltorito.c: Likewise.
8519 * util/mkisofs/exclude.h: Likewise.
8520 * util/mkisofs/fnmatch.c: Likewise.
8521 * util/mkisofs/getopt.c: Likewise.
8522 * util/mkisofs/getopt1.c: Likewise.
8523 * util/mkisofs/hash.c: Likewise.
8524 * util/mkisofs/include/fctldefs.h: Likewise.
8525 * util/mkisofs/include/mconfig.h: Likewise.
8526 * util/mkisofs/include/prototyp.h: Likewise.
8527 * util/mkisofs/include/statdefs.h: Likewise.
8528 * util/mkisofs/iso9660.h: Likewise.
8529 * util/mkisofs/joliet.c: Likewise.
8530 * util/mkisofs/match.c: Likewise.
8531 * util/mkisofs/match.h: Likewise.
8532 * util/mkisofs/mkisofs.c: Likewise.
8533 * util/mkisofs/mkisofs.h: Likewise.
8534 * util/mkisofs/multi.c: Likewise.
8535 * util/mkisofs/name.c: Likewise.
8536 * util/mkisofs/rock.c: Likewise.
8537 * util/mkisofs/tree.c: Likewise.
8538 * util/mkisofs/write.c: Likewise.
8539
8540 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8543 being insecure.
8544
8545 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8546
8547 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8548 `grub-mkimage' (and use $0 when possible).
8549
8550 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8551
8552 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8553 error message for excessively large memory map.
8554
8555 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8556
8557 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8558 executable bit.
8559
8560 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8561
8562 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8563 message for coreboot users.
8564
8565 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8566
8567 Fix build with GNU gold.
8568
8569 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8570 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8571 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8572 link addresses.
8573 * aclocal.m4: Likewise.
8574
8575 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8576
8577 * configure.ac (AC_PREREQ): Bump to 2.59d.
8578 * INSTALL: Make it more clear when Autoconf and Ruby are
8579 needed and when to run `./autogen.sh'.
8580
8581 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8582
8583 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8584 OSes.
8585
8586 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8587
8588 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8589
8590 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8591
8592 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8593 giving it to GNU Mach.
8594
8595 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8596
8597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8598 GNU partition number to get internal GRUB partition number.
8599
8600 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8601
8602 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8603 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8604
8605 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8606
8607 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8608 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8609 case.
8610
8611 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8612
8613 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8614
8615 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8616
8617 Fix build problem.
8618
8619 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8620 `-isystem=$(srcdir)/include'.
8621
8622 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8623
8624 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8625 checked (grub-install doesn't currently rely on it).
8626
8627 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8628
8629 Revert SVN r2660.
8630
8631 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8632 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8633 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8634 * conf/i386-ieee1275.rmk: Likewise.
8635 * conf/i386-pc.rmk: Likewise.
8636 * conf/powerpc-ieee1275.rmk: Likewise.
8637 * conf/sparc64-ieee1275.rmk: Likewise.
8638 * conf/x86_64-efi.rmk: Likewise.
8639
8640 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8641
8642 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8643
8644 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8645
8646 * include/grub/misc.h: Stop checking for APPLE_CC.
8647
8648 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8649
8650 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8651 doesn't cause an infinite call loop.
8652
8653 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8654
8655 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8656 strings.
8657
8658 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8659
8660 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8661 variable.
8662 * Makefile.in: Likewise.
8663
8664 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8665
8666 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8667
8668 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8669
8670 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8671
8672 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8673
8674 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8675
8676 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8679 from here ...
8680 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8681
8682 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8683
8684 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8685 in $(MAKEINFO) invocation. This makes it clear in output that
8686 errors are being ignored.
8687
8688 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8689
8690 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8691 from here ...
8692 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8693 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8694 * conf/i386-ieee1275.rmk: Likewise.
8695 * conf/i386-pc.rmk: Likewise.
8696 * conf/powerpc-ieee1275.rmk: Likewise.
8697 * conf/sparc64-ieee1275.rmk: Likewise.
8698 * conf/x86_64-efi.rmk: Likewise.
8699
8700 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8701
8702 * util/grub-editenv.c (main): If only a command is given, use
8703 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8704 (usage): FILENAME is now optional and has a default.
8705
8706 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8707
8708 Improve grub-mkconfig performance when there are several menu
8709 entries on a single filesystem.
8710
8711 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8712 prepare_grub_to_access_device.
8713 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8714 * util/grub.d/30_os-prober.in: Likewise.
8715
8716 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8717
8718 * util/grub.d/10_freebsd.in: Remove.
8719 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8720 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8721
8722 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8723
8724 * docs/grub.cfg: Fix example usage of *BSD loaders.
8725
8726 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8727
8728 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8729 grub_util_error() call.
8730
8731 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8732
8733 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8734 `reserved_first_sector' member.
8735 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8736 `reserved_first_sector' to 1.
8737 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8738 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8739 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8740 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8741 filesystems which begin at first sector.
8742 (options): New option --skip-fs-probe.
8743 (main): Handle --skip-fs-probe and pass it to setup().
8744
8745 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8746
8747 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8748 (memset): Fix function prototype.
8749
8750 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8751 2009-10-25 Vasily Averin <vvs@parallels.com>
8752
8753 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8754 `dirent.direntlen == 0'.
8755
8756 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8757
8758 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8759 `cpio'.
8760 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8761
8762 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8763
8764 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8765 `__trampoline_setup' and `__ucmpdi2'.
8766 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8767 that libgcc provides.
8768
8769 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8770
8771 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8772 * include/grub/sparc64/libgcc.h (memset): Likewise.
8773 * include/grub/misc.h (memset, memcmp): New function prototypes.
8774
8775 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8776
8777 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8778 `cpio'.
8779 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8780
8781 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8782
8783 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8784 * docs/grub.cfg: Compensate for recent change in multiboot
8785 loader (since 2009-08-14 it won't pass filename to payload).
8786 * util/grub.d/10_hurd.in: Likewise.
8787
8788 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8789
8790 * config.guess: Update to latest version from config git
8791 repository.
8792 * config.sub: Likewise.
8793
8794 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8795
8796 Fix build on sparc64.
8797
8798 * configure.ac: Perform checks for libgcc symbols before
8799 adding `-nostdlib' to LDFLAGS.
8800
8801 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Let user specify OpenBSD root device.
8804
8805 * loader/i386/bsd.c (openbsd_root): New variable.
8806 (openbsd_opts): New option 'root'.
8807 (OPENBSD_ROOT_ARG): New macro.
8808 (grub_openbsd_boot): Use 'openbsd_root'.
8809 (grub_cmd_openbsd): Fill 'openbsd_root'.
8810
8811 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8812
8813 * NEWS: Misc adjustments.
8814
8815 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8818
8819 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8820
8821 * configure.ac: Bump version to 1.97.
8822
8823 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8824
8825 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8826 -mno-3dnow on x86 architectures. Some toolchains enable these
8827 features by default, but they rely on registers that aren't enabled
8828 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8829
8830 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8831
8832 Make entry text a bit more readable.
8833
8834 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8835
8836 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8839
8840 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8843 operations.
8844
8845 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * configure.ac: Add missing dollar.
8848
8849 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8852
8853 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8854 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8855 exports.
8856 * include/grub/sparc64/libgcc.h: Likewise. Use
8857 preprocessor conditionals.
8858
8859 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8860
8861 * conf/common.rmk (grub-dumpbios): Remove rule.
8862 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8863 * util/grub-dumpbios.in: Remove file.
8864
8865 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8866
8867 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8868 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8869
8870 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8871 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8872 users.
8873
8874 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8875 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8876 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8877 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8878 users.
8879
8880 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8881
8882 * term/tparm.c: Switch to GPLv3.
8883
8884 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8885
8886 * include/grub/i386/cpuid.h: Add header protection.
8887
8888 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8889
8890 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8891
8892 * include/grub/i386/cpuid.h: New file.
8893 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8894 (has_longmode): Rename to ...
8895 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8896 `static' attribute.
8897 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8898 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8899 on a CPU that doesn't implement AMD64 instruction set.
8900
8901 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8902
8903 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8904 that version.texi is rebuilt on version number changes.
8905
8906 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8907
8908 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8909 Fixes bug #27602.
8910
8911 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8912
8913 * util/i386/pc/grub-install.in: Source
8914 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8915 that the --grub-probe option will work.
8916 * util/sparc64/ieee1275/grub-install.in: Likewise.
8917
8918 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8919
8920 * configure.ac: Bump version to 1.97~beta4.
8921
8922 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8923
8924 Resync grub-mkdevicemap in x86_64-efi.
8925
8926 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8927 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8928 `util/devicemap.c'.
8929
8930 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8931
8932 * util/grub-editenv.c (create_envblk_file): Write new block with a
8933 .new suffix and then rename it into place, to ensure atomic
8934 creation.
8935
8936 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8937
8938 Do not automatically install headers.
8939
8940 * Makefile.in (include_DATA): Remove. Update all users.
8941
8942 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8943
8944 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8945 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8946
8947 * util/osdetect.lua: Remove.
8948 * script/lua/lauxlib.c: Likewise.
8949 * script/lua/ldebug.c: Likewise.
8950 * script/lua/grub_main.c: Likewise.
8951 * script/lua/lauxlib.h: Likewise.
8952 * script/lua/ldebug.h: Likewise.
8953 * script/lua/ltablib.c: Likewise.
8954 * script/lua/liolib.c: Likewise.
8955 * script/lua/lstrlib.c: Likewise.
8956 * script/lua/lualib.h: Likewise.
8957 * script/lua/ldo.c: Likewise.
8958 * script/lua/ldump.c: Likewise.
8959 * script/lua/ldo.h: Likewise.
8960 * script/lua/loslib.c: Likewise.
8961 * script/lua/lundump.c: Likewise.
8962 * script/lua/grub_lib.c: Likewise.
8963 * script/lua/ldblib.c: Likewise.
8964 * script/lua/lundump.h: Likewise.
8965 * script/lua/lmem.c: Likewise.
8966 * script/lua/grub_lib.h: Likewise.
8967 * script/lua/lmathlib.c: Likewise.
8968 * script/lua/lstate.c: Likewise.
8969 * script/lua/ltm.c: Likewise.
8970 * script/lua/lvm.c: Likewise.
8971 * script/lua/lmem.h: Likewise.
8972 * script/lua/lstate.h: Likewise.
8973 * script/lua/ltm.h: Likewise.
8974 * script/lua/ltable.c: Likewise.
8975 * script/lua/lvm.h: Likewise.
8976 * script/lua/llex.c: Likewise.
8977 * script/lua/lgc.c: Likewise.
8978 * script/lua/grub_lua.h: Likewise.
8979 * script/lua/loadlib.c: Likewise.
8980 * script/lua/lfunc.c: Likewise.
8981 * script/lua/lopcodes.c: Likewise.
8982 * script/lua/lparser.c: Likewise.
8983 * script/lua/ltable.h: Likewise.
8984 * script/lua/llex.h: Likewise.
8985 * script/lua/lgc.h: Likewise.
8986 * script/lua/lfunc.h: Likewise.
8987 * script/lua/lbaselib.c: Likewise.
8988 * script/lua/lopcodes.h: Likewise.
8989 * script/lua/lparser.h: Likewise.
8990 * script/lua/lzio.c: Likewise.
8991 * script/lua/linit.c: Likewise.
8992 * script/lua/lobject.c: Likewise.
8993 * script/lua/llimits.h: Likewise.
8994 * script/lua/lstring.c: Likewise.
8995 * script/lua/lzio.h: Likewise.
8996 * script/lua/lapi.c: Likewise.
8997 * script/lua/lcode.c: Likewise.
8998 * script/lua/lua.h: Likewise.
8999 * script/lua/lobject.h: Likewise.
9000 * script/lua/lstring.h: Likewise.
9001 * script/lua/lapi.h: Likewise.
9002 * script/lua/lcode.h: Likewise.
9003 * script/lua/luaconf.h: Likewise.
9004
9005 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
9006
9007 * docs/grub.texi (Command-line and menu entry commands): Document
9008 date and echo commands.
9009
9010 2009-09-24 Pavel Roskin <proski@gnu.org>
9011
9012 * include/grub/kernel.h (struct grub_module_header): Remove
9013 `grub_module_header_types'. Make `type' unsigned. Make `size'
9014 32-bit on all platforms.
9015 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9016 8-bit field. Use grub_host_to_target32() for `size'.
9017 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9018 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9019 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9020
9021 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9022
9023 Fix "lost keypress" bug in at_keyboard.
9024
9025 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9026 Checks for readyness of input buffer (without flushing it).
9027 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9028 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9029
9030 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9031
9032 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9033 size check within GRUB_MACHINE_PCBIOS section.
9034
9035 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9036
9037 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9038 return value.
9039 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9040 KEYBOARD_ISREADY check.
9041 (grub_at_keyboard_checkkey): Rename to ...
9042 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9043 Remove gratuitous cast.
9044
9045 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9046
9047 * configure.ac: Call AC_PROG_MKDIR_P.
9048 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9049 version.texi in $(builddir) rather than $(srcdir).
9050 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9051 to makeinfo's @include search path.
9052
9053 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9054
9055 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9056
9057 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9058
9059 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9060 for `*.dpkg-new'.
9061
9062 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9063
9064 Build info documentation. Some code borrowed from Automake.
9065
9066 * configure.ac: Check for makeinfo.
9067 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9068 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9069 docs/version.texi.
9070 (MOSTLYCLEANFILES): Add vti.tmp.
9071 (docs/version.texi, docs/stamp-vti): Update automatically.
9072 (docs/grub.info): Build info documentation. Use --force and ignore
9073 errors for now.
9074 (all-local): Add $(INFOS).
9075 (install-local): Install info files.
9076 (uninstall): Uninstall info files.
9077 * docs/version.texi: Remove from revision control. This file is
9078 automatically generated on build now.
9079 * gendistlist.sh: Add `*.info'.
9080
9081 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9082
9083 * kern/term.c: Fix indentation.
9084
9085 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9086
9087 * util/hostdisk.c: Fix a comment.
9088
9089 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9090
9091 Fix regression introduced in r2539.
9092
9093 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9094 to 0xA1.
9095
9096 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9097
9098 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9099 os-prober. Under normal operation, it does not print anything to
9100 stderr; if it does, we need to debug it, and throwing away stderr
9101 makes that excessively difficult.
9102
9103 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9106
9107 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9108
9109 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9110 AC_LANG_PROGRAM from autoconf.
9111 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9112 prototypes (fixes warning).
9113
9114 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9115 `--disable-werror' was used.
9116
9117 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9118
9119 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9120 uninitialized `lastaddr'.
9121
9122 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9125
9126 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9127
9128 * commands/test.c (get_fileinfo): Return immediately if
9129 grub_fs_probe fails.
9130
9131 2009-09-14 José Martínez <xosemp@gmail.com>
9132
9133 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9134
9135 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9136
9137 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9138 output.
9139
9140 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9141
9142 * configure.ac: Remove --enable-grub-pe2elf. Only build
9143 grub-pe2elf when needed by the build system itself.
9144 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9145
9146 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9147
9148 * configure.ac: Bump version to 1.97~beta3.
9149 * docs/version.texi: Likewise.
9150
9151 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9152
9153 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9154 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9155 from here ...
9156 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9157 (grub_linux_setup_video): ... to here (with some adjustments).
9158
9159 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9160
9161 Fix memory corruption issue (spotted by Colin Watson).
9162
9163 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9164 causing returned size to be stored in an incorrect memory location.
9165 Fix use of uninitialized value when storing the returned size.
9166
9167 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9168
9169 Change clean rules to properly remove files
9170
9171 * genmk.rb: add new clean rules
9172 * Makefile.in (clean): add the new targets
9173 (mostlyclean): likewise
9174
9175 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9176
9177 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9178 to grub_uint64_t.
9179 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9180 non-resident files.
9181
9182 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9183
9184 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9185 part of bug #27349.
9186
9187 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9188
9189 * util/grub-mkconfig.in: Make the created config mode 400 and
9190 print a warning if it fails.
9191
9192 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9193
9194 * util/grub.d/40_custom.in: Ask user to type custom entries below
9195 comment, rather than below 'exec tail' line.
9196
9197 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9198
9199 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9200 visible in grub.cfg.
9201
9202 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9205 file.
9206
9207 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9208
9209 * docs/grub.cfg: Add an example menu entry for memtest86+.
9210
9211 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9212
9213 * config.guess: Update to latest version from config git.
9214 * config.sub: Likewise.
9215
9216 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9217
9218 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9219 unknown-command case. Fixes bug #27320.
9220
9221 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9222
9223 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9224 `help' if the command exists.
9225
9226 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9227
9228 * INSTALL: Require GCC 4.1.3 or later.
9229
9230 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9231
9232 * Makefile.in (RMKFILES): add i386-qemu.rmk
9233 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9234 $(srcdir)/stamp-h.in
9235
9236 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9237
9238 * util/grub-probe.c (probe): Comment out buggy codepath, which
9239 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9240 should be re-enabled after 1.97.
9241
9242 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9243
9244 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9245 find searches for.
9246
9247 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9250 unnecessary calls to grub_error.
9251
9252 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9253
9254 * NEWS: Mention `keystatus' and Unicode fonts.
9255
9256 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9257
9258 * configure.ac: Bump version to 1.97~beta2.
9259 * docs/version.texi: Likewise.
9260
9261 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9262
9263 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9264 containing unwind information in some cases where it previously did
9265 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9266 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9267 discussion.
9268
9269 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9270
9271 Embedding loadenv module into grub-emu
9272
9273 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9274 commands/loadenv.c
9275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9276 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9277 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9280 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9281
9282 2009-09-03 Magnus Granberg <zorry@ume.nu>
9283
9284 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9285 include -fPIE in the default specs.
9286 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9287 to TARGET_CFLAGS.
9288
9289 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9290
9291 * INSTALL: Note that GNU Bison 2.3 or later is required.
9292
9293 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9294
9295 * kern/i386/pc/startup.S: Fix typo.
9296
9297 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9300 according to GCS.
9301
9302 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9303
9304 * docs/grub.texi (Naming convention): Describe one-based partition
9305 numbering.
9306 (Device syntax): Likewise.
9307 (File name syntax): Likewise.
9308 (Block list syntax): Likewise.
9309 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9310 menu.lst.
9311 (File name syntax): Likewise.
9312 (Command-line and menu entry commands): Document acpi, blocklist,
9313 crc, export, insmod, keystatus, ls, set, and unset commands.
9314
9315 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9316
9317 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9318 to avoid implying that only one of --shift, --ctrl, or --alt may be
9319 used.
9320
9321 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9322
9323 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9324 rather than comparing against S_IFREG, which will almost never work.
9325
9326 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9329 (write_blocklists): Likewise.
9330
9331 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9332
9333 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9334 argument to grub_printf.
9335
9336 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9337
9338 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9339 non GNU test.
9340
9341 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * kern/file.c (grub_file_read): Spelling fix
9344
9345 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9348 loading of headers in some cases.
9349
9350 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9351
9352 * configure.ac: Bump version to 1.97~beta1.
9353 * docs/version.texi: Likewise.
9354
9355 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * include/grub/i386/xnu.h: Add license header.
9358 include grub/err.h explicitly.
9359
9360 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9361
9362 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9363 to `ufs' in the vfs.root.mountfrom kernel parameter.
9364
9365 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9366
9367 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9368
9369 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9370 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9371
9372 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9373 `ARRAY_SIZE' macro.
9374
9375 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * kern/file.c (grub_file_read): Check offset.
9378 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9379 * fs/jfs.c (grub_jfs_read_file): Likewise.
9380 * fs/ntfs.c (grub_ntfs_read): Likewise.
9381 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9382 * fs/minix.c (grub_minix_read_file): Correct offset check.
9383 * fs/ufs.c (grub_ufs_read_file): Likewise.
9384
9385 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9386
9387 * term/i386/pc/console.c (bios_data_area): Cast
9388 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9389
9390 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 1-bit optimised blitters.
9393
9394 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9395 prototype.
9396 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9397 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9398 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9399 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9400 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9401 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9402 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9403 function.
9404 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9405 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9406 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9407 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9408 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9409 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9410 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9411 when possible.
9412 * video/video.c (grub_video_get_blit_format): Return
9413 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9414
9415 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9416
9417 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9418 the first argument to grub_printf.
9419
9420 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9421 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9422
9423 Add `getkeystatus' terminal method. Add a new `keystatus' command
9424 to query it.
9425
9426 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9427 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9428 modifier key bitmasks.
9429 (struct grub_term_input): Add `getkeystatus' member.
9430 (grub_getkeystatus): Add prototype.
9431 * kern/term.c (grub_getkeystatus): New function.
9432
9433 * include/grub/i386/pc/memory.h
9434 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9435 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9436 Data Area layout.
9437 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9438 (grub_console_term_input): Set `getkeystatus' member.
9439 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9440 constants.
9441 (grub_usb_keyboard_getreport): Likewise.
9442 (grub_usb_keyboard_checkkey): Likewise.
9443 (grub_usb_keyboard_getkeystatus): New function.
9444 (grub_usb_keyboard_term): Set `getkeystatus' member.
9445
9446 * commands/keystatus.c: New file.
9447 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9448 (keystatus_mod_SOURCES): New variable.
9449 (keystatus_mod_CFLAGS): Likewise.
9450 (keystatus_mod_LDFLAGS): Likewise.
9451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9452 commands/keystatus.c.
9453 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9455 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9458 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9459
9460 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 Split befs.mod and afs.mod into *_be.mod and *.mod
9463
9464 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9465 (grub_fstest_SOURCES): Likewise.
9466 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9467 (afs_be_mod_SOURCES): New variable.
9468 (afs_be_mod_CFLAGS): Likewise.
9469 (afs_be_mod_LDFLAGS): Likewise.
9470 (befs_be_mod_SOURCES): Likewise.
9471 (befs_be_mod_CFLAGS): Likewise.
9472 (befs_be_mod_LDFLAGS): Likewise.
9473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9474 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9476 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9477 (grub_emu_SOURCES): Likewise.
9478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9479 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9480 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9481 * fs/afs_be.c: New file.
9482 * fs/befs_be.c: New file.
9483 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9484 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9485 (U16): Replaced with ...
9486 (grub_afs_to_cpu16): ...this. All users updated.
9487 (U32): Replaced with ...
9488 (grub_afs_to_cpu32): ...this. All users updated.
9489 (U64): Replaced with ...
9490 (grub_afs_to_cpu64): ...this. All users updated.
9491 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9492 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9493 (grub_afs_validate_sblock): Check only one endianness.
9494 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9495 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9496 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9497 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9498 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9499 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9500 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9501 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9502
9503 2009-08-26 Bean <bean123ch@gmail.com>
9504
9505 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9506 64-bit number.
9507 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9508 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9509 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9510
9511 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 NetBSD memory map support.
9514
9515 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9516 (grub_netbsd_btinfo_mmap_header): New structure.
9517 (grub_netbsd_btinfo_mmap_entry): Likewise.
9518 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9519
9520 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Enable bsd.mod on coreboot.
9523
9524 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9525 (bsd_mod_SOURCES): New variable.
9526 (bsd_mod_CFLAGS): Likewise.
9527 (bsd_mod_LDFLAGS): Likewise.
9528 (bsd_mod_ASFLAGS): Likewise.
9529 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9530 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9531
9532 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 Cleanup NetBSD root support.
9535
9536 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9537 grub_bsd_get_device.
9538 Fix typo.
9539
9540 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9541
9542 * util/grub.d/00_header.in: Move check for the video backend of
9543 gfxterm from here ...
9544 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9545 a suitable video backend.
9546
9547 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 Fix breakage in grub-setup.
9550
9551 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9552 "msdos_partition_map".
9553
9554 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 Fix breakage in normal/auth.c.
9557
9558 * normal/auth.c (grub_iswordseparator): New function.
9559
9560 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 Authentication support.
9563
9564 * commands/password.c: New file.
9565 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9566 (password_mod_SOURCES): New variable.
9567 (password_mod_CFLAGS): Likewise.
9568 (password_mod_LDFLAGS): Likewise.
9569 (normal_mod_SOURCES): Add normal/auth.c.
9570 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9571 normal/auth.c.
9572 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9574 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9576 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9577 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9578 * include/grub/auth.h: New file.
9579 * include/grub/err.h (grub_err_t): New enum value
9580 GRUB_ERR_ACCESS_DENIED.
9581 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9582 'users'.
9583 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9584 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9585 users updated.
9586 * normal/auth.c: New file.
9587 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9588 (grub_cmdline_run): Don't allow to go to command line without
9589 authentication.
9590 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9591 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9592 menuentry without superuser rights.
9593 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9594 user isn't a superuser.
9595
9596 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 Save space by inlining misc.c functions.
9599
9600 * kern/misc.c (grub_iswordseparator): Made static.
9601 * kern/misc.c (grub_strcat): Moved from here ...
9602 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9603 * kern/misc.c (grub_strncat): Moved from here ...
9604 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9605 * kern/misc.c (grub_strcasecmp): Moved from here ...
9606 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9607 * kern/misc.c (grub_strncasecmp): Moved from here ...
9608 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9609 * kern/misc.c (grub_isalpha): Moved from here ...
9610 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9611 * kern/misc.c (grub_isdigit): Moved from here ...
9612 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9613 * kern/misc.c (grub_isgraph): Moved from here ...
9614 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9615 * kern/misc.c (grub_tolower): Moved from here ...
9616 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9617
9618 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * script/sh/function.c (grub_script_function_find): Cut error message
9621 not to flood terminal.
9622 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9623 limit.
9624 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9625
9626 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9627
9628 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9629 `report' grub_uint8_t *.
9630 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9631 Use a 50-millisecond timeout rather than just repeating
9632 grub_usb_keyboard_getreport 50 times.
9633 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9634
9635 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 Rename *_partition_map to part_*
9638
9639 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9640 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9641 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9642 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9643 All users updated.
9644 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9645 All users updated.
9646 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9647 * util/grub-probe.c (probe_partmap): Don't transform partition name
9648 to get module name.
9649
9650 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Fix OpenBSD and NetBSD support.
9653
9654 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9655 memory address conflict.
9656 (OPENBSD_MMAP_ACPI): New definition.
9657 (OPENBSD_MMAP_NVS): Likewise.
9658 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9659 and OPENBSD_MMAP_NVS.
9660 Add memory map terminator
9661 Explicit cast when calling grub_unix_real_boot.
9662 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9663
9664 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 Let user specify NetBSD root device.
9667
9668 * loader/i386/bsd.c (netbsd_root): New variable.
9669 (netbsd_opts): New option 'root'.
9670 (NETBSD_ROOT_ARG): New macro.
9671 (grub_netbsd_boot): Use 'netbsd_root'.
9672 (grub_bsd_unload): Free 'netbsd_root'.
9673 (grub_cmd_netbsd): Fill 'netbsd_root'.
9674
9675 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 Support for 64-bit NetBSD.
9678
9679 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9680 point when booting non-FreeBSD.
9681
9682 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 Support --no-smp and --no-acpi for NetBSD.
9685
9686 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9687 (NETBSD_AB_NOACPI): Likewise.
9688 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9689 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9690
9691 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9694 errors.
9695 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9696 errors. Call grub_error when needed.
9697
9698 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * commands/search.c (search_fs): Try searching without autoload first.
9701 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9702 filesystem module explicitly for faster booting.
9703
9704 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9707
9708 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * util/grub.d/30_os-prober.in: Disable os-prober if
9711 `GRUB_DISABLE_OS_PROBER' was set to true.
9712
9713 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9714
9715 * partmap/pc.c: Rename to ...
9716 * partmap/msdos.c: ... this. Update all users.
9717 (grub_pc_partition_map): Rename to ...
9718 (grub_msdos_partition_map): ... this. Update all users.
9719
9720 * parttool/pcpart.c: Rename to ...
9721 * parttool/msdospart.c: ... this. Update all users.
9722
9723 * include/grub/pc_partition.h: Rename to ...
9724 * include/grub/msdos_partition.h: ... this. Update all users.
9725 (grub_pc_partition_bsd_entry): Rename to ...
9726 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9727 (grub_pc_partition_disk_label): Rename to ...
9728 (grub_msdos_partition_disk_label): ... this. Update all users.
9729 (grub_pc_partition_entry): Rename to ...
9730 (grub_msdos_partition_entry): ... this. Update all users.
9731 (grub_pc_partition_mbr): Rename to ...
9732 (grub_msdos_partition_mbr): ... this. Update all users.
9733 (grub_pc_partition): Rename to ...
9734 (grub_msdos_partition): ... this. Update all users.
9735 (grub_pc_partition_is_empty): Rename to ...
9736 (grub_msdos_partition_is_empty): ... this. Update all users.
9737 (grub_pc_partition_is_extended): Rename to ...
9738 (grub_msdos_partition_is_extended): ... this. Update all users.
9739 (grub_pc_partition_is_bsd): Rename to ...
9740 (grub_msdos_partition_is_bsd): ... this. Update all users.
9741
9742 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9743 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9744 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9745 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9746 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9747 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9748 (gpt_mod_LDFLAGS): Rename to ...
9749 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9750 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9751 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9752 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9753 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9754 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9755 (part_gpt_mod_LDFLAGS): ... this.
9756 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9757 `pcpart.mod' to `msdospart.mod'.
9758 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9759 to ...
9760 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9761 (msdospart_mod_LDFLAGS): ... this.
9762
9763 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9766 (openbsd_opts): Likewise.
9767 (netbsd_opts): Likewise.
9768 (freebsd_flags): Added 0 terminator.
9769 (openbsd_flags): Likewise.
9770 (netbsd_flags): Likewise.
9771 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9772 (grub_cmd_freebsd): Transformed into extended command.
9773 (grub_cmd_openbsd): Likewise.
9774 (grub_cmd_netbsd): Likewise.
9775 (cmd_freebsd): Changed type to grub_extcmd_t.
9776 (cmd_openbsd): Likewise.
9777 (cmd_netbsd): Likewise.
9778 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9779 grub_cmd_openbsd as extended commands.
9780 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9781 cmd_netbsd and cmd_openbsd
9782
9783 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9786
9787 2009-08-21 Pavel Roskin <proski@gnu.org>
9788
9789 * Makefile.in (install-local): When checking if a file is in the
9790 build directory, use "test -e" to detect symlinks.
9791
9792 * Makefile.in (install-local): Remove all files in
9793 $(DESTDIR)$(pkglibdir) before installing new files there.
9794
9795 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9796
9797 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9798 grub-mkelfimage.
9799
9800 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9801
9802 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9803 explicitly specified by the user.
9804
9805 2009-08-18 Pavel Roskin <proski@gnu.org>
9806
9807 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9808 grub_uint8_t pointer for data.
9809 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9810 Likewise.
9811 * video/fb/fbutil.c: Remove unnecessary casts.
9812
9813 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9814
9815 VBE cleanup.
9816
9817 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9818 (grub_vbe_set_video_mode): Save active mode info
9819 only after setting the mode.
9820 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9821 second argument.
9822
9823 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9824
9825 Rename variables for clarity.
9826
9827 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9828 (active_vbe_mode_info): ... this. All users updated.
9829 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9830 All users updated.
9831 (initial_mode): Rename to ...
9832 (initial_vbe_mode): ... this. All users updated.
9833 (mode_in_use): Rename to ..
9834 (vbe_mode_in_use): ... this. All users updated.
9835 (mode_list): Rename to ..
9836 (vbe_mode_list): ... this. All users updated.
9837 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9838 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9839 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9840 'mode_list_size' to 'vbe_mode_list_size'.
9841 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9842 'best_mode_info' to 'best_vbe_mode_info' and
9843 'best_mode' to 'best_vbe_mode'
9844
9845 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9846
9847 Remove duplicate grub_video_fb_get_video_ptr.
9848
9849 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9850 (grub_video_fb_get_video_ptr): ... this.
9851 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9852 * video/fb/fbutil.c: Add comment about addressing.
9853 (get_data_ptr): Rename to ...
9854 (grub_video_fb_get_video_ptr): ... this. All users updated.
9855 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9856
9857 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9858
9859 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9860 grub_dprintf() that was just added.
9861
9862 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9863
9864 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9865 (DEFAULT_VIDEO_MODE): Remove macros.
9866 (grub_linux_boot): Remove assumption that Linux has FB support,
9867 and use "text" as default video mode.
9868
9869 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9872 grub_dprintf.
9873 * fs/fat.c (grub_fat_read_data): Likewise.
9874
9875 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9878 payload.
9879 (grub_module): Likewise.
9880
9881 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9884 mbi->cmdline but free playground.
9885
9886 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Handle group offset on UFS1.
9889
9890 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9891 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9892
9893 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 Split ufs.mod into ufs1.mod and ufs2.mod.
9896
9897 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9898 (grub_fstest_SOURCES): Likewise.
9899 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9900 (ufs_mod_SOURCES): Remove.
9901 (ufs_mod_CFLAGS): Likewise.
9902 (ufs_mod_LDFLAGS): Likewise.
9903 (ufs1_mod_SOURCES): New variable.
9904 (ufs1_mod_CFLAGS): Likewise.
9905 (ufs1_mod_LDFLAGS): Likewise.
9906 (ufs2_mod_SOURCES): New variable.
9907 (ufs2_mod_CFLAGS): Likewise.
9908 (ufs2_mod_LDFLAGS): Likewise.
9909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9910 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9911 Likewise.
9912 (grub_emu_SOURCES): Likewise.
9913 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9914 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9915 (grub_setup_SOURCES): Likewise.
9916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9917 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9918 (grub_setup_SOURCES): Likewise.
9919 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9920 Likewise.
9921 * fs/ufs2.c: New file.
9922 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9923
9924 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Framebuffer split.
9927
9928 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9929 subsystem at the end.
9930 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9931 (video_fb_mod_SOURCES): New variable.
9932 (video_fb_mod_CFLAGS): Likewise.
9933 (video_fb_mod_LDFLAGS): Likewise.
9934 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9935 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9936 * video/i386/pc/vbeblit.c: Moved from here ...
9937 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9938 * video/i386/pc/vbefill.c: Moved from here ...
9939 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9940 * video/i386/pc/vbeutil.c: Moved from here ...
9941 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9942 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9943 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9944 * include/grub/i386/pc/vbefill.h: Moved from here ...
9945 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9946 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9947 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9948 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9949 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9950 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9951 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9952 (grub_video_adapter): Added 'get_info_and_fini'.
9953 (grub_video_get_info_and_fini): New prototype.
9954 (grub_video_set_mode): make modestring const char *.
9955 * loader/i386/linux.c (grub_linux_setup_video): Use
9956 grub_video_get_info_and_fini.
9957 (grub_linux_boot): Move modesetting just before booting.
9958 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9959 grub_video_get_info_and_fini.
9960 * video/i386/pc/vbe.c: Moved framebuffer part ...
9961 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9962 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9963 grub_video_fbstd_colors and grub_video_fb_set_palette.
9964 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9965 grub_video_fb_init.
9966 (grub_video_vbe_fini): Use grub_video_fb_fini.
9967 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9968 render_target and use grub_video_fb_set_active_render_target and
9969 grub_video_fb_set_palette.
9970 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9971 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9972 (grub_video_vbe_adapter): Use framebuffer.
9973 * video/video.c (grub_video_get_info_and_fini): New function.
9974 (grub_video_set_mode): Make modestring const char *.
9975 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9976 values are already initialised.
9977
9978 2009-08-14 Pavel Roskin <proski@gnu.org>
9979
9980 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9981 ABS and APPLE_CC.
9982 * boot/i386/pc/diskboot.S: Likewise.
9983 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9984 sectors allow compilation on MacOSX.
9985 * conf/i386-pc.rmk: Enable unconditional compilation of
9986 lnxboot.img.
9987
9988 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
9989
9990 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9991 * util/grub.d/00_header.in: Enter interruptible sleep if
9992 GRUB_HIDDEN_TIMEOUT is set.
9993
9994 2009-08-13 Yves Blusseau <blusseau@zetam.org>
9995
9996 * include/grub/symbol.h: Add the LOCAL macro.
9997 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9998 starting with "L_".
9999
10000 2009-08-13 Pavel Roskin <proski@gnu.org>
10001
10002 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10003 any modern compilers we support.
10004
10005 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10006 Use local labels starting with "L_" so that Apple assembler
10007 knows they are local.
10008
10009 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10010
10011 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10012 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10013 (bsd_kernel_types): ... this enum.
10014
10015 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10016 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10017 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10018
10019 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10020 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10021 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10022 messages.
10023
10024 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10025
10026 * util/grub-dumpdevtree: Moved from here ...
10027 * util/i386/efi/grub-dumpdevtree: ... to here.
10028 (hexify): New function. Converts a string to its hex version.
10029 Generate hex versions of "efi" and "device-properties" by calling
10030 hexify() on the ASCII strings rather than by hardcoding numbers.
10031
10032 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10033
10034 * fs/jfs.c: Update copyright year.
10035
10036 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10037
10038 * util/grub.d/00_header.in: Fix a comment.
10039 * util/grub.d/10_linux.in: Likewise.
10040 * util/grub.d/10_windows.in: Likewise.
10041 * util/grub.d/10_hurd.in: Likewise.
10042
10043 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10044
10045 * util/grub-mkconfig.in: Allow the user to specify the used font
10046 with GRUB_FONT.
10047
10048 2009-08-08 Pavel Roskin <proski@gnu.org>
10049
10050 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10051 available, xfs.mod needs it now.
10052
10053 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10054 the "g" modifier in sed when the intention is to strip something
10055 once. This fixes comparison of kernels with multiple dashes.
10056
10057 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10058 on it. Add missing space before closing bracket. Fix
10059 misleading formatting.
10060
10061 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10062
10063 * docs/grub.texi: Major overhaul. Remove all sections that are
10064 specific to GRUB Legacy, or mostly composed of Legacy-specific
10065 information.
10066
10067 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10068
10069 * docs/version.texi: New file. Provides version information for
10070 grub.texi.
10071
10072 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10073
10074 * docs/grub.texi: Update CVS information to SVN.
10075 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10076
10077 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10078
10079 * util/grub-mkconfig.in: Remove a wrong `fi'.
10080
10081 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10082
10083 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10084 (grub_jfs_uuid): New function.
10085 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10086
10087 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10088
10089 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10090 of it to ...
10091 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10092 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10093
10094 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10095
10096 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10097 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10098 Update all users.
10099
10100 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10101 not just "vmlinu[zx]".
10102 Moved from here ...
10103 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10104 all users.
10105
10106 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10107 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10108 all users.
10109
10110 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10111
10112 * util/grub.d/10_freebsd.in: Use an absolute device path for
10113 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10114
10115 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10116
10117 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10118 handling of multiple abstraction modules.
10119
10120 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10121
10122 Fix a bug resulting in black screen when loading Linux using a
10123 packed video mode.
10124
10125 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10126 function.
10127
10128 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10129 (grub_vbe_bios_getset_dac_palette_width): New function.
10130 (grub_vbe_bios_get_dac_palette_width)
10131 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10132 grub_vbe_bios_getset_dac_palette_width()).
10133
10134 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10135 check for return status.
10136 (grub_vbe_get_video_mode_info): When getting information for a packed
10137 mode (<= 8 bpp), obtain DAC palette width using
10138 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10139 {red,green,blue}_mark_size.
10140
10141 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10142
10143 * commands/search.c (options): Fix help output to match actual code.
10144
10145 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10148 of homegrown code.
10149
10150 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10153 on XFS or ReiserFS.
10154
10155 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 Support Apple partition map with sector size different from 512 bytes.
10158
10159 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10160 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10161 and 'apart.partmap_size'.
10162
10163 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10164 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10165
10166 Fix cpuid command.
10167
10168 * commands/i386/cpuid.c (options): New variable.
10169 (grub_cmd_cpuid): Return real error.
10170 (GRUB_MOD_INIT(cpuid)): Declare options.
10171
10172 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10175 valid.
10176
10177 2009-07-31 Bean <bean123ch@gmail.com>
10178
10179 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10180 log2_inode.
10181 (grub_fshelp_node): Move inode field to the end.
10182 (grub_xfs_data): Remove inode field.
10183 (grub_xfs_inode_block): Calculate inode size using sblock.
10184 (grub_xfs_inode_offset): Likewise.
10185 (grub_xfs_read_inode): Calculate inode size using sblock.
10186 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10187 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10188 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10189 to match inode size.
10190 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10191 not accessible when data is null.
10192 (grub_xfs_open): Likewise.
10193
10194 2009-07-31 Bean <bean123ch@gmail.com>
10195
10196 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10197 Don't change pv->disk if it's already set.
10198
10199 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10200 (grub_raid_register): ... here.
10201 (grub_raid_rescan): Removed.
10202
10203 * include/grub/raid.h (grub_raid_rescan): Removed.
10204
10205 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10206 (fstest): Replace grub_raid_rescan with module fini function followed
10207 by init function.
10208
10209 * util/grub-probe.c: Add include file <grub/raid.h>.
10210 (probe_raid_level): New function.
10211 (probe): Detect abstraction by walking the disk device, support two
10212 level of abstraction (LVM on RAID) when detecting partition map.
10213
10214 2009-07-31 Pavel Roskin <proski@gnu.org>
10215
10216 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10217 to grub_zalloc(), it was erroneous.
10218 Reported by Bean <bean123ch@gmail.com>
10219
10220 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10223 embedding zone, not only the first one.
10224
10225 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10226
10227 * term/gfxterm.c (clear_char): New function.
10228 (grub_virtual_screen_setup): Use clear_char.
10229 (scroll_up): Likewise.
10230 (grub_virtual_screen_cls): Likewise.
10231
10232 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10233
10234 * util/deviceiter.c (get_acceleraid_disk_name): New static
10235 function.
10236 (grub_util_iterate_devices): Handle Accelraid devices.
10237 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10238
10239 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10240
10241 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10242 separator for the suggested gfxpayload string (';' collides with the
10243 parser and needs escaping).
10244
10245 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10248 Clear direction flag before jumping to OS.
10249 (grub_multiboot2_real_boot): Likewise.
10250
10251 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10252
10253 * util/i386/pc/grub-install: Fix parsing of --disk-module
10254 option.
10255
10256 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10257
10258 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10259 when embedding.
10260
10261 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10262
10263 * util/grub-mkconfig.in (package_version): New variable.
10264 Use it do display the version.
10265
10266 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10267
10268 * kern/file.c (grub_file_open): Revert to previous check with
10269 grub_errno.
10270
10271 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10274 from help line. It's out of sync with code.
10275
10276 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10279 entries on failed boot.
10280
10281 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10282
10283 * kern/file.c (grub_file_open): Fix an error check.
10284
10285 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10288 partition map couldn't be identified.
10289
10290 2009-07-23 Pavel Roskin <proski@gnu.org>
10291
10292 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10293 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10294 case of little endian words becomes just an optimization.
10295 Respect const modifier.
10296 (md5_final): Use code that doesn't depend on endianness.
10297
10298 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10299 to avoid loss of upper bits if align is unsigned and shorter
10300 than addr.
10301
10302 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 UUID support for UFS
10305
10306 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10307 (grub_ufs_uuid): New function.
10308 (grub_ufs_fs): add .uuid
10309
10310 2009-07-21 Pavel Roskin <proski@gnu.org>
10311
10312 * kern/dl.c (grub_dl_check_header): Make static.
10313
10314 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10315
10316 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10317 add drivemap for Vista. It breaks Windows 7.
10318
10319 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10322 128 bytes
10323
10324 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 Add BFS support
10327
10328 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10329 (grub_fstest_SOURCES): Likewise.
10330 (pkglib_MODULES): Add befs.mod.
10331 (befs_mod_SOURCES): New variable.
10332 (befs_mod_CFLAGS): Likewise.
10333 (befs_mod_LDFLAGS): Likewise.
10334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10335 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10336 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10337 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10338 (grub_setup_SOURCES): Likewise.
10339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10341 (grub_setup_SOURCES): Likewise.
10342 * fs/befs.c: New file.
10343 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10344 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10345 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10346 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10347 (B_KEY_INDEX_ALIGN): New declaration.
10348 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10349 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10350 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10351 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10352 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10353 (grub_afs_mount) [MODE_BFS]: Likewise.
10354 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10355 (grub_afs_fs): Use GRUB_AFS_FSNAME
10356 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10357 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10358 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10359 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10360
10361 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10362
10363 * util/getroot.c (find_root_device): Add support for MacOSX.
10364 * util/hostdisk.c: Likewise.
10365
10366 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * font/font.c (find_glyph): Check whether a font is present to avoid
10369 segmentation fault.
10370
10371 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10372
10373 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10374
10375 2009-07-20 Pavel Roskin <proski@gnu.org>
10376
10377 * configure.ac: Trim excessively wordy excuses.
10378
10379 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Add symlink, mtime and label support to AtheFS.
10382
10383 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10384 (grub_afs_iterate_dir): Handle symlinks.
10385 (grub_afs_open): Use grub_afs_read_symlink.
10386 (grub_afs_dir): Likewise.
10387 Pass mtime.
10388 (grub_afs_label): New function.
10389 (grub_afs_fs): Add grub_afs_label.
10390 (grub_afs_read_symlink): New function.
10391
10392 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Fix AtheFS support.
10395
10396 * fs/afs.c: Fix comments style.
10397 (grub_afs_blockrun): Declare as packed.
10398 (grub_afs_datastream): Likewise.
10399 (grub_afs_bnode): Likewise.
10400 (grub_afs_btree): Likewise.
10401 (grub_afs_sblock): Likewise.
10402 Declare `name' as char.
10403 (grub_afs_inode): Declare as packed.
10404 Change void *vnode to grub_uint32_t unused.
10405 (grub_afs_iterate_dir): Check that key_size is positive.
10406 (grub_afs_mount): Don't read superblock twice.
10407 (grub_afs_dir): Don't free node in case of error,
10408 grub_fshelp_find_file already handles this.
10409 (grub_afs_open): Likewise.
10410
10411 2009-07-19 Pavel Roskin <proski@gnu.org>
10412
10413 * Makefile.in: Remove LIBLZO and enable_lzo.
10414 * conf/i386-pc.rmk: Remove lzo support.
10415 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10416 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10417 support.
10418 * kern/i386/pc/lzo1x.S: Remove.
10419 * kern/i386/pc/startup.S: Remove lzo support.
10420 * util/i386/pc/grub-mkimage.c: Likewise.
10421
10422 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10425 * fs/xfs.c (grub_xfs_dir): Likewise.
10426 * fs/afs.c (grub_afs_dir): Likewise.
10427 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10428 (grub_iso9660_open): Likewise.
10429 * fs/jfs.c (grub_jfs_open): Likewise.
10430 * fs/ext2.c (grub_ext2_dir): Likewise.
10431 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10432 * script/sh/lexer.c (grub_script_yylex): Likewise.
10433
10434 2009-07-16 Pavel Roskin <proski@gnu.org>
10435
10436 * configure.ac: Never add "-c" to CFLAGS.
10437
10438 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10439
10440 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10441 grub_cv_cc_efiemu should be used.
10442
10443 * configure.ac: Typo fixes.
10444
10445 * kern/mm.c (grub_zalloc): New function.
10446 (grub_debug_zalloc): Likewise.
10447 * include/grub/mm.h: Declare grub_zalloc() and
10448 grub_debug_zalloc().
10449 * util/misc.c (grub_zalloc): New function.
10450 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10451 instead of grub_malloc(), remove unneeded initializations.
10452 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10453 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10454 * commands/parttool.c (grub_cmd_parttool): Likewise.
10455 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10456 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10457 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10458 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10459 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10460 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10461 (grub_cmd_efiemu_pnvram): Likewise.
10462 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10463 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10464 (grub_iso9660_iterate_dir): Likewise.
10465 * fs/jfs.c (grub_jfs_opendir): Likewise.
10466 * fs/ntfs.c (list_file): Likewise.
10467 (grub_ntfs_mount): Likewise.
10468 * kern/disk.c (grub_disk_open): Likewise.
10469 * kern/dl.c (grub_dl_load_core): Likewise.
10470 * kern/elf.c (grub_elf_file): Likewise.
10471 * kern/env.c (grub_env_context_open): Likewise.
10472 (grub_env_set): Likewise.
10473 (grub_env_set_data_slot): Likewise.
10474 * kern/file.c (grub_file_open): Likewise.
10475 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10476 * loader/i386/multiboot.c (grub_module): Likewise.
10477 * loader/xnu.c (grub_xnu_create_key): Likewise.
10478 (grub_xnu_create_value): Likewise.
10479 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10480 (read_config_file): Likewise.
10481 * normal/menu_entry.c (make_screen): Likewise.
10482 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10483 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10484 * script/sh/script.c (grub_script_parse): Likewise.
10485 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10486 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10487 * video/readers/png.c (grub_png_output_byte): Likewise.
10488 (grub_video_reader_png): Likewise.
10489
10490 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Enable all targets that can be built by default
10493
10494 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10495 grub-mkfont and grub-fstest if they can be built
10496
10497 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Fix hang and segmentation fault in grub-emu-usb
10500
10501 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10502 * util/usb.c (grub_libusb_devices): likewise
10503 (grub_libusb_init): rename to ...
10504 (GRUB_MOD_INIT (libusb)):...this
10505 (grub_libusb_fini): rename to ..
10506 (GRUB_MOD_FINI (libusb)):...this
10507 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10508 * include/grub/disk.h (grub_raid_init): removed, it's useless
10509 (grub_raid_fini): likewise
10510 (grub_lvm_init): likewise
10511 (grub_lvm_fini): likewise
10512 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10513 by grub_init_all
10514
10515 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 Fix libusb
10518
10519 * Makefile.in (LIBUSB): new macro
10520 * genmk.rb (Utility/print_tail): new method
10521 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10522 (top level): call util.print_tail at the end.
10523
10524 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Make FreeBSD accept zpool.cache
10527
10528 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10529 type is /boot/zfs/zpool.cache
10530
10531 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 Fix 64-bit efiemu
10534
10535 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10536 correct wrong typedef
10537 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10538
10539 2009-07-15 Pavel Roskin <proski@gnu.org>
10540
10541 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10542 * kern/disk.c (struct grub_disk_cache): Likewise.
10543
10544 * commands/probe.c (options): Typo fix.
10545
10546 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10547 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10548 accordingly.
10549 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10550
10551 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10552 the end of "Error" to make the message more readable.
10553
10554 * boot/i386/pc/boot.S (kernel_segment): Remove.
10555 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10556 for destination.
10557
10558 * boot/i386/pc/boot.S (boot_version): Remove.
10559 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10560 Remove.
10561
10562 * include/grub/i386/pc/boot.h: Sort all offsets.
10563 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10564 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10565 * boot/i386/pc/boot.S: Assert location of every offset listed in
10566 include/grub/i386/pc/boot.h.
10567
10568 2009-07-13 Pavel Roskin <proski@gnu.org>
10569
10570 * include/grub/i386/coreboot/machine.h: Rename
10571 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10572 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10573 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10574
10575 * kern/dl.c: Force native word size to suppress warnings when
10576 compiling grub-emu.
10577
10578 * kern/device.c (grub_device_iterate): Change struct part_ent to
10579 hold the name, not a pointer to it. Use one grub_malloc() per
10580 partition, not two. Free partition_name if grub_malloc() fails.
10581 Set ents to NULL only before grub_partition_iterate() is called.
10582
10583 2009-07-11 Bean <bean123ch@gmail.com>
10584
10585 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10586 childname.
10587
10588 2009-07-10 Bean <bean123ch@gmail.com>
10589 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10590
10591 * kern/ieee1275/openfw.c (grub_children_iterate)
10592 (grub_devalias_iterate): Fix size evaluation for property or path
10593 strings, which was broken since r2132.
10594
10595 2009-07-07 Pavel Roskin <proski@gnu.org>
10596
10597 * commands/search.c (search_file): Merge into ...
10598 (search_fs): ... this. Accept search type as argument.
10599 (grub_cmd_search): Pass search type to search_fs().
10600
10601 * include/grub/util/console.h: New file.
10602 * util/console.c: Use it instead of grub/machine/console.h.
10603 * util/grub-emu.c: Likewise.
10604
10605 * lib/arg.c (find_long_option): Remove.
10606 (find_long): Add `len' argument, make `s' const char *.
10607 (grub_arg_parse): Parse long options in place, not in a
10608 temporary buffer.
10609
10610 2009-07-06 Pavel Roskin <proski@gnu.org>
10611
10612 * commands/search.c (search_fs): Fix potential NULL pointer
10613 dereference.
10614
10615 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10616 function pointer.
10617
10618 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10619
10620 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10621 comparison.
10622
10623 2009-07-05 Pavel Roskin <proski@gnu.org>
10624
10625 * include/grub/i386/linux.h (struct linux_kernel_params):
10626 Restore padding3, it's still needed.
10627
10628 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10629 FreeBSD.
10630 * util/osdetect.lua: Likewise.
10631
10632 2009-07-05 Bean <bean123ch@gmail.com>
10633
10634 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10635
10636 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10637 (grub_lua_getenv): Likewise.
10638 (grub_lua_setenv): Likewise.
10639 (save_errno): New function.
10640 (push_result): Likewise.
10641 (grub_lua_enum_device): Likewise.
10642 (grub_lua_enum_file): Likewise.
10643 (grub_lua_file_open): Likewise.
10644 (grub_lua_file_close): Likewise.
10645 (grub_lua_file_seek): Likewise.
10646 (grub_lua_file_read): Likewise.
10647 (grub_lua_file_getline): Likewise.
10648 (grub_lua_file_getsize): Likewise.
10649 (grub_lua_file_getpos): Likewise.
10650 (grub_lua_file_eof): Likewise.
10651 (grub_lua_file_exist): Likewise.
10652 (grub_lua_add_menu): Likewise.
10653
10654 * script/lua/grub_lua.h (isupper): New inline function.
10655 (islower): Likewise.
10656 (ispunct): Likewise.
10657 (isxdigit): Likewise.
10658 (strcspn): Change to normal function.
10659 (strpbkr): New function declaration.
10660 (memchr): Likewise.
10661
10662 * script/lua/grub_main.c (scan_str): New function.
10663 (strcspn): Likewise.
10664 (strpbrk): Likewise.
10665 (memchr): Likewise.
10666
10667 * script/lua/linit.c (lualibs): Enable the string library.
10668
10669 * util/osdetect.lua: New file.
10670
10671 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10672
10673 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10674 `capabilities' member.
10675
10676 2009-07-02 Pavel Roskin <proski@gnu.org>
10677
10678 * genparttoollist.sh: Add missing newline at the end.
10679
10680 2009-07-01 Pavel Roskin <proski@gnu.org>
10681
10682 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10683
10684 * util/hostdisk.c (open_device): Remove `const' from
10685 `sysctl_size', as sysctlbyname() can change it (in this case it
10686 doesn't actually happen).
10687
10688 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10689 using signed long int constants.
10690
10691 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10692 constant to avoid a warning on FreeBSD.
10693
10694 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10695 where it's needed.
10696
10697 * Makefile.in: Install include/grub/machine symlink.
10698
10699 * Makefile.in: When installing symlinks, use "cp -fR", which
10700 works on FreeBSD and MacOSX.
10701 From Yves Blusseau <cl7m42e02@sneakemail.com>
10702
10703 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10704 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10705
10706 * util/misc.c: Move grub_reboot() and grub_halt() ...
10707 * util/grub-emu.c: ... here. Make main_env static.
10708 * include/grub/util/misc.h: Remove main_env.
10709
10710 * kern/mm.c: Use correct format to print size_t.
10711
10712 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10713 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10714 * kern/powerpc/dl.c: Likewise.
10715 * kern/sparc64/dl.c: Likewise.
10716 * kern/x86_64/dl.c: Likewise.
10717
10718 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10719
10720 Fix grub-emu build on sparc64-ieee1275.
10721
10722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10724
10725 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10726
10727 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10728 (grub_reboot, grub_halt): New functions.
10729
10730 * util/i386/pc/misc.c: Delete. Update all users.
10731 * util/sparc64/ieee1275/misc.c: Likewise.
10732 * util/powerpc/ieee1275/misc.c: Likewise.
10733
10734 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10735
10736 * conf/i386.rmk (setjmp_mod_SOURCES)
10737 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10738 * conf/common.rmk (setjmp_mod_SOURCES)
10739 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10740 to use $(target_cpu).
10741 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10742 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10743 * conf/powerpc-ieee1275.rmk: Likewise.
10744 * conf/sparc64-ieee1275.rmk: Likewise.
10745
10746 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10747 $(target_cpu) for kern/$(target_cpu)/dl.c.
10748 * conf/i386-efi.rmk: Likewise.
10749 * conf/i386-ieee1275.rmk: Likewise.
10750 * conf/x86_64-efi.rmk: Likewise.
10751 * conf/i386-coreboot.rmk: Likewise.
10752 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10753 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10754 kern/$(target_cpu)/cache.S.
10755 * conf/sparc64-ieee1275.rmk: Likewise.
10756
10757 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10758
10759 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10760 type to `grub_uint8_t', and adjust `padding9' accordingly.
10761
10762 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10765
10766 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10767 assembly in final jump, using register constraints.
10768
10769 (grub_linux_boot): For text mode, initialize `have_vga' using
10770 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10771
10772 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10773 right before the final jump.
10774
10775 Set `video_mode' to 0x3.
10776
10777 Document initialization of `video_page', `video_mode' and
10778 `video_ega_bx'.
10779
10780 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10781
10782 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10783 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10784 and set GRUB_LINUX_FLAG_QUIET appropriately.
10785
10786 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10787
10788 Fix build on Debian / sparc.
10789
10790 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10791
10792 2009-06-28 Pavel Roskin <proski@gnu.org>
10793
10794 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10795 fix a warning.
10796
10797 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10798
10799 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10800
10801 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10802 `err'.
10803
10804 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10805
10806 Revert r2338.
10807
10808 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10809 file can't be opened. grub_file_open() is already supposed to set
10810 grub_errno / grub_errmsg appropriately.
10811 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10812
10813 2009-06-27 Pavel Roskin <proski@gnu.org>
10814 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10815
10816 * include/grub/dl.h: Include grub/elf.h.
10817 (struct grub_dl): Add symtab field.
10818 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10819 GRUB_MODULES_MACHINE_READONLY.
10820 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10821 of the header for read-only modules.
10822 (grub_dl_unload): Free mod->symtab for read-only modules.
10823 * kern/i386/dl.c: Use mod->symtab.
10824 * kern/powerpc/dl.c: Likewise.
10825 * kern/sparc64/dl.c: Likewise.
10826 * kern/x86_64/dl.c: Likewise.
10827
10828 * conf/i386-qemu.rmk: New file.
10829 * kern/i386/qemu/startup.S: Likewise.
10830 * kern/i386/qemu/mmap.c: Likewise.
10831 * boot/i386/qemu/boot.S: Likewise.
10832 * include/grub/i386/qemu/time.h: Likewise.
10833 * include/grub/i386/qemu/serial.h: Likewise.
10834 * include/grub/i386/qemu/kernel.h: Likewise.
10835 * include/grub/i386/qemu/console.h: Likewise.
10836 * include/grub/i386/qemu/boot.h: Likewise.
10837 * include/grub/i386/qemu/init.h: Likewise.
10838 * include/grub/i386/qemu/machine.h: Likewise.
10839 * include/grub/i386/qemu/loader.h: Likewise.
10840 * include/grub/i386/qemu/memory.h: Likewise.
10841
10842 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10843 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10844 [qemu] (pkglib_IMAGES): Add `boot.img'.
10845 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10846 [qemu] (boot_img_FORMAT): New variables.
10847 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10848 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10849 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10850 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10851 [qemu] (kernel_img_FORMAT): New variables.
10852
10853 * configure.ac: Recognise `i386-qemu'.
10854
10855 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10856 (for no compression).
10857 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10858 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10859 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10860 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10861 ifdefs).
10862
10863 2009-06-27 Pavel Roskin <proski@gnu.org>
10864
10865 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10866 read.
10867 * efiemu/prepare32.c: Likewise.
10868 * efiemu/prepare64.c: Likewise.
10869
10870 2009-06-26 Pavel Roskin <proski@gnu.org>
10871
10872 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10873 * include/grub/elf.h: Define symbols without "32" or "64" based
10874 on GRUB_TARGET_WORDSIZE.
10875 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10876 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10877 ELF definitions.
10878 * efiemu/loadcore64.c: Likewise.
10879 * loader/i386/bsd32.c: Likewise.
10880 * loader/i386/bsd64.c: Likewise.
10881 * kern/dl.c: Remove own ELF definitions.
10882 * util/i386/efi/grub-mkimage.c: Likewise.
10883
10884 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10885
10886 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10887 segment 0x0 unconditionally, because the reference generated by
10888 GAS is an absolute address.
10889
10890 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10891
10892 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10893 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10894
10895 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10896
10897 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10898 indexes. Check for -f explicitly.
10899 (search_file): Improve error message.
10900 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10901
10902 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10903
10904 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10905 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10906
10907 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10908
10909 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10910 * conf/i386-ieee1275.rmk: Likewise.
10911 * conf/i386-coreboot.rmk: Likewise.
10912
10913 * kern/i386/pc/startup.S (grub_stop): Remove function.
10914 * kern/i386/ieee1275/startup.S: Likewise.
10915 * kern/i386/coreboot/startup.S: Likewise.
10916 * kern/i386/misc.S (grub_stop): New function.
10917
10918 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10919
10920 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10921 * kern/i386/realmode.S (real_to_prot): ... to here.
10922
10923 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10924
10925 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10926 with `kernel.img'.
10927 (kernel_elf_SOURCES): Rename to ...
10928 (kernel_img_SOURCES): ... this.
10929 (kernel_elf_HEADERS): Rename to ...
10930 (kernel_img_HEADERS): ... this. Update all users.
10931 (kernel_elf_ASFLAGS): Rename to ...
10932 (kernel_img_ASFLAGS): ... this.
10933 (kernel_elf_CFLAGS): Rename to ...
10934 (kernel_img_CFLAGS): ... this.
10935 (kernel_elf_LDFLAGS): Rename to ...
10936 (kernel_img_LDFLAGS): ... this.
10937 * conf/i386-coreboot.rmk: Likewise.
10938 * conf/powerpc-ieee1275.rmk: Likewise.
10939
10940 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10941 with "kernel.img".
10942
10943 2009-06-21 Pavel Roskin <proski@gnu.org>
10944
10945 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10946 to match nested functions.
10947 * loader/sparc64/ieee1275/linux.c: Likewise.
10948
10949 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10950
10951 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10952
10953 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10954 all i386 platforms.
10955
10956 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10957
10958 Fix asm file handling on ELF, and remove workarounds.
10959
10960 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
10961 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
10962 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10963 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10964
10965 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 Load BSD ELF modules
10968
10969 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10970 and loader/i386/bsd64.c
10971 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10972 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10973 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10974 (grub_freebsd_load_elfmodule32): New declaration
10975 (grub_freebsd_load_elfmoduleobj64): Likewise
10976 (grub_freebsd_load_elf_meta32): Likewise
10977 (grub_freebsd_load_elf_meta64): Likewise
10978 (grub_freebsd_add_meta): Likewise
10979 (grub_freebsd_add_meta_module): Likewise
10980 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10981 (grub_freebsd_add_meta_module): Likewise and move module-specific
10982 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10983 (grub_cmd_freebsd): Add elf-kernel specific parts
10984 based on grub_freebsd_add_meta_module
10985 (grub_cmd_freebsd_module): Add type parsing moved from
10986 grub_freebsd_add_meta_module
10987 (grub_cmd_freebsd_module_elf): New function
10988 (cmd_freebsd_module_elf): New variable
10989 (GRUB_MOD_INIT): Register freebsd_module_elf
10990 * loader/i386/bsd32.c: New file
10991 * loader/i386/bsd64.c: Likewise
10992 * loader/i386/bsdXX.c: Likewise
10993 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10994 (grub_elf64_load): Likewise
10995 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10996 All users updated
10997 (grub_elf64_load_hook_t): Likewise
10998
10999 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
11000
11001 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11002 variable.
11003 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11004 don't write a menu entry for recovery mode.
11005
11006 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11007
11008 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11009 after it's no longer needed.
11010
11011 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11012
11013 * include/grub/i386/loader.h (grub_linux_prot_size)
11014 (grub_linux_tmp_addr, grub_linux_real_addr)
11015 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11016 GRUB_MACHINE_PCBIOS.
11017 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11018 common grub_util_info() call to ...
11019 (generate_image): ... here.
11020 Fix use of uninitialized memory, comparison of signed with
11021 unsigned integers and memory leak.
11022 Remove bogus module address message.
11023
11024 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11027 grub_raid_register
11028 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11029
11030 2009-06-19 Pavel Roskin <proski@gnu.org>
11031
11032 * configure.ac: Remove stray AC_MSG_CHECKING.
11033
11034 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * disk/scsi.c (grub_scsi_open): use continue instead of big if
11037
11038 2009-06-18 Pavel Roskin <proski@gnu.org>
11039
11040 * conf/common.rmk: Add fs_file.mod.
11041 * disk/fs_file.c: New file.
11042 * include/grub/disk.h (enum grub_disk_dev_id): Add
11043 GRUB_DISK_DEVICE_FILE_ID.
11044
11045 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 Fix build with Apple's toolchain. Part 2
11048
11049 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11050 a fake start
11051
11052 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 Fix build with Apple's toolchain. Part 1
11055
11056 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11057 for long calls
11058 * configure.ac: remove a leftover AC_MSG_RESULT
11059 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11060 Apple's toolchain
11061
11062 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 Fix warnings
11065
11066 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11067 (decomp_block): initialize ch
11068 use grub_memcpy instead of memcpy
11069
11070 2009-06-17 Pavel Roskin <proski@gnu.org>
11071
11072 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11073 version, use declarations needed to use vga_text as the startup
11074 console.
11075
11076 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11077 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11078 the kernel.
11079 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11080 and grub_at_keyboard_fini(), it's done on module load and
11081 unload.
11082
11083 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11084
11085 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11086 file can't be found.
11087 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11088
11089 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 Fix newline handling
11092
11093 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11094 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11095 (grub_script_yylex): don't segfault on unterminated script
11096 newline terminates command and variable
11097
11098 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 avoid double grub_adjust_range call. Bug reported by David Simner
11101
11102 * kern/disk.c (grub_disk_write): change to raw disk access before
11103 calling disk_read
11104
11105 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11106
11107 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11108 spaces, for the benefit of help2man.
11109 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11110
11111 2009-06-16 Pavel Roskin <proski@gnu.org>
11112
11113 * kern/i386/halt.c: Include grub/machine/init.h.
11114 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11115
11116 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11117
11118 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11119 drivemap menuentry.
11120
11121 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11122
11123 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11124 `echo' command.
11125
11126 2009-06-16 Pavel Roskin <proski@gnu.org>
11127
11128 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11129 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11130 save %dx, we only need %dl and we never change it.
11131 * boot/i386/pc/cdboot.S: Don't set the root drive.
11132 * boot/i386/pc/pxeboot.S: Likewise.
11133 * include/grub/i386/pc/boot.h: Remove
11134 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11135 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11136 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11137 * kern/i386/pc/init.c (make_install_device): Remove references
11138 to grub_root_drive.
11139 * kern/i386/pc/startup.S: Likewise.
11140 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11141
11142 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 xnu_uuid command
11145
11146 * commands/xnu_uuid.c: new file
11147 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11148 (xnu_uuid_mod_SOURCES): new variable
11149 (xnu_uuid_mod_CFLAGS): likewise
11150 (xnu_uuid_mod_LDFLAGS): likewise
11151 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11152 * conf/i386-ieee1275.rmk: likewise
11153 * conf/i386-pc.rmk: likewise
11154 * conf/powerpc-ieee1275.rmk: likewise
11155 * conf/sparc64-ieee1275.rmk: likewise
11156 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11157
11158 2009-06-16 Pavel Roskin <proski@gnu.org>
11159
11160 * configure.ac: Avoid '==' in test command, it's not portable.
11161
11162 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Probe command
11165
11166 * commands/probe.c: new file
11167 * conf/common.rmk (pkglib_MODULES): add probe.mod
11168 (probe_mod_SOURCES): new variable
11169 (probe_mod_CFLAGS): likewise
11170 (probe_mod_LDFLAGS): likewise
11171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11172 * conf/i386-ieee1275.rmk: likewise
11173 * conf/i386-pc.rmk: likewise
11174 * conf/powerpc-ieee1275.rmk: likewise
11175 * conf/sparc64-ieee1275.rmk: likewise
11176
11177 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Fix handling of string like \"hello\" and "a
11180 b"
11181
11182 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11183 (grub_script_yylex): fix parsing of quoting, escaping and newline
11184
11185 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11188 handling
11189
11190 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11191
11192 * util/grub-mkconfig.in: Fix parsing of --output option.
11193
11194 2009-06-12 Pavel Roskin <proski@gnu.org>
11195
11196 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11197 genmk.rb don't need to be generated or installed.
11198
11199 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * commands/i386/pc/drivemap_int13h.S: add more comments
11202
11203 2009-06-11 Pavel Roskin <proski@gnu.org>
11204
11205 * Makefile.in (uninstall): Uninstall manuals.
11206
11207 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11208 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11209 and update-grub_lib in two places.
11210 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11211
11212 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11213 a compiler warning.
11214
11215 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11216 `entry_lo' to fix variable shadowing.
11217
11218 2009-06-11 Christian Franke <franke@computer.org>
11219
11220 * kern/misc.c (__enable_execute_stack): Add missing return type
11221 to prevent gcc warning.
11222
11223 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11224
11225 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11226
11227 2009-06-11 Pavel Roskin <proski@gnu.org>
11228
11229 * Makefile.in: Don't rely on any scripts being executable.
11230 Always use $(SHELL) to run shell scripts.
11231
11232 * configure.ac: Always define ___main if using -nostdlib. This
11233 fixes tests on Cygwin.
11234
11235 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11236
11237 UDF fix
11238
11239 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11240 is in bytes and not in blocks
11241
11242 2009-06-11 Pavel Roskin <proski@gnu.org>
11243
11244 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11245 warning.
11246
11247 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11248
11249 * util/grub.d/30_os-prober.in: Fix a comment. Source
11250 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11251 to set the root device. Place drivemap command in the generated
11252 chain entry.
11253
11254 2009-06-11 Pavel Roskin <proski@gnu.org>
11255
11256 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11257 have long been resolved.
11258
11259 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * util/grub.d/10_linux.in: Capitalise "Linux".
11262
11263 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11264
11265 2009-06-11 Pavel Roskin <proski@gnu.org>
11266
11267 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11268 fix a gcc warning and ensure that the function won't ever exit.
11269
11270 * kern/i386/ieee1275/init.c: Add missing prototype for
11271 grub_stop_floppy().
11272
11273 * loader/ieee1275/multiboot2.c [__i386__]: Include
11274 grub/cpu/multiboot.h.
11275
11276 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11277 casts to short - they are not portable and cause warnings. Fix
11278 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11279
11280 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Drivemap fixes
11283
11284 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11285 new function
11286 (grub_get_root_biosnumber_saved): new variable
11287 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11288 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11289 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11290 %dx after the call if necessary
11291 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11292 (boot_mod_SOURCES): remove
11293 (boot_mod_CFLAGS): remove
11294 (boot_mod_LDFLAGS): remove
11295 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11296 (boot_mod_SOURCES): new variable
11297 (boot_mod_CFLAGS): likewise
11298 (boot_mod_LDFLAGS): likewise
11299 * conf/i386-efi.rmk: likewise
11300 * conf/i386-ieee1275.rmk: likewise
11301 * conf/i386-pc.rmk: likewise
11302 * conf/powerpc-ieee1275.rmk: likewise
11303 * conf/sparc64-ieee1275.rmk: likewise
11304 * conf/x86_64-efi.rmk: likewise
11305 * include/grub/i386/pc/biosnum.h: new file
11306 * lib/i386/pc/biosnum.c: likewise
11307 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11308 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11309 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11310
11311 2009-06-10 Pavel Roskin <proski@gnu.org>
11312
11313 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11314 Use separate variables. Read only the file size at the end, but
11315 not the checksum that we don't use.
11316
11317 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11318 Adjust all callers.
11319
11320 * kern/ieee1275/openfw.c: Remove libc includes.
11321 * kern/ieee1275/cmain.c: Likewise.
11322 * include/grub/ieee1275/ieee1275.h: Likewise.
11323
11324 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11325 compiler warnings.
11326
11327 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11328
11329 * Makefile.in: Remove all trailing whitespace.
11330 * conf/i386-pc.rmk: Likewise.
11331 * conf/powerpc-ieee1275.rmk: Likewise.
11332 * conf/sparc64-ieee1275.rmk: Likewise.
11333 * docs/grub.texi: Likewise.
11334 * docs/texinfo.tex: Likewise.
11335 * disk/fs_uuid.c: Likewise.
11336 * disk/lvm.c: Likewise.
11337 * disk/scsi.c: Likewise.
11338 * disk/ata.c: Likewise.
11339 * disk/ieee1275/ofdisk.c: Likewise.
11340 * disk/i386/pc/biosdisk.c: Likewise.
11341 * disk/host.c: Likewise.
11342 * disk/raid.c: Likewise.
11343 * disk/efi/efidisk.c: Likewise.
11344 * disk/usbms.c: Likewise.
11345 * disk/memdisk.c: Likewise.
11346 * disk/loopback.c: Likewise.
11347 * kern/powerpc/dl.c: Likewise.
11348 * kern/device.c: Likewise.
11349 * kern/dl.c: Likewise.
11350 * kern/sparc64/dl.c: Likewise.
11351 * kern/ieee1275/ieee1275.c: Likewise.
11352 * kern/term.c: Likewise.
11353 * kern/fs.c: Likewise.
11354 * kern/i386/dl.c: Likewise.
11355 * kern/i386/pc/startup.S: Likewise.
11356 * kern/i386/pc/init.c: Likewise.
11357 * kern/i386/pc/mmap.c: Likewise.
11358 * kern/i386/pc/lzo1x.S: Likewise.
11359 * kern/i386/ieee1275/init.c: Likewise.
11360 * kern/i386/realmode.S: Likewise.
11361 * kern/i386/tsc.c: Likewise.
11362 * kern/partition.c: Likewise.
11363 * kern/corecmd.c: Likewise.
11364 * kern/file.c: Likewise.
11365 * kern/efi/efi.c: Likewise.
11366 * kern/efi/init.c: Likewise.
11367 * kern/efi/mm.c: Likewise.
11368 * kern/main.c: Likewise.
11369 * kern/err.c: Likewise.
11370 * kern/env.c: Likewise.
11371 * kern/disk.c: Likewise.
11372 * kern/generic/millisleep.c: Likewise.
11373 * kern/generic/rtc_get_time_ms.c: Likewise.
11374 * kern/misc.c: Likewise.
11375 * kern/parser.c: Likewise.
11376 * genmk.rb: Likewise.
11377 * configure.ac: Likewise.
11378 * boot/i386/pc/diskboot.S: Likewise.
11379 * boot/i386/pc/pxeboot.S: Likewise.
11380 * boot/i386/pc/boot.S: Likewise.
11381 * boot/i386/pc/lnxboot.S: Likewise.
11382 * boot/i386/pc/cdboot.S: Likewise.
11383 * parttool/pcpart.c: Likewise.
11384 * video/readers/tga.c: Likewise.
11385 * video/video.c: Likewise.
11386 * video/bitmap.c: Likewise.
11387 * lib/envblk.c: Likewise.
11388 * lib/i386/setjmp.S: Likewise.
11389 * fs/xfs.c: Likewise.
11390 * fs/afs.c: Likewise.
11391 * fs/fat.c: Likewise.
11392 * fs/ntfs.c: Likewise.
11393 * fs/udf.c: Likewise.
11394 * fs/affs.c: Likewise.
11395 * fs/iso9660.c: Likewise.
11396 * fs/hfs.c: Likewise.
11397 * fs/fshelp.c: Likewise.
11398 * fs/ext2.c: Likewise.
11399 * fs/jfs.c: Likewise.
11400 * fs/reiserfs.c: Likewise.
11401 * fs/hfsplus.c: Likewise.
11402 * fs/minix.c: Likewise.
11403 * fs/cpio.c: Likewise.
11404 * fs/sfs.c: Likewise.
11405 * fs/ufs.c: Likewise.
11406 * efiemu/prepare.c: Likewise.
11407 * efiemu/loadcore_common.c: Likewise.
11408 * efiemu/runtime/efiemu.sh: Likewise.
11409 * efiemu/runtime/efiemu.S: Likewise.
11410 * efiemu/runtime/efiemu.c: Likewise.
11411 * efiemu/pnvram.c: Likewise.
11412 * efiemu/main.c: Likewise.
11413 * efiemu/i386/pc/cfgtables.c: Likewise.
11414 * efiemu/i386/loadcore64.c: Likewise.
11415 * efiemu/i386/loadcore32.c: Likewise.
11416 * efiemu/loadcore.c: Likewise.
11417 * efiemu/symbols.c: Likewise.
11418 * efiemu/mm.c: Likewise.
11419 * include/grub/autoefi.h: Likewise.
11420 * include/grub/datetime.h: Likewise.
11421 * include/grub/term.h: Likewise.
11422 * include/grub/hfs.h: Likewise.
11423 * include/grub/lvm.h: Likewise.
11424 * include/grub/i386/tsc.h: Likewise.
11425 * include/grub/i386/linux.h: Likewise.
11426 * include/grub/i386/xnu.h: Likewise.
11427 * include/grub/i386/efiemu.h: Likewise.
11428 * include/grub/i386/pc/biosdisk.h: Likewise.
11429 * include/grub/i386/pc/memory.h: Likewise.
11430 * include/grub/i386/pc/vbe.h: Likewise.
11431 * include/grub/parttool.h: Likewise.
11432 * include/grub/video.h: Likewise.
11433 * include/grub/memory.h: Likewise.
11434 * include/grub/fs.h: Likewise.
11435 * include/grub/partition.h: Likewise.
11436 * include/grub/xnu.h: Likewise.
11437 * include/grub/efi/api.h: Likewise.
11438 * include/grub/efi/pe32.h: Likewise.
11439 * include/grub/efi/memory.h: Likewise.
11440 * include/grub/multiboot.h: Likewise.
11441 * include/grub/usbdesc.h: Likewise.
11442 * include/grub/multiboot2.h: Likewise.
11443 * include/grub/acpi.h: Likewise.
11444 * include/grub/efiemu/efiemu.h: Likewise.
11445 * include/grub/disk.h: Likewise.
11446 * include/grub/ieee1275/ieee1275.h: Likewise.
11447 * include/grub/net.h: Likewise.
11448 * include/grub/machoload.h: Likewise.
11449 * include/grub/macho.h: Likewise.
11450 * include/multiboot.h: Likewise.
11451 * genmoddep.awk: Likewise.
11452 * normal/main.c: Likewise.
11453 * normal/menu_entry.c: Likewise.
11454 * normal/menu_viewer.c: Likewise.
11455 * normal/completion.c: Likewise.
11456 * normal/cmdline.c: Likewise.
11457 * normal/misc.c: Likewise.
11458 * normal/datetime.c: Likewise.
11459 * bus/usb/usbtrans.c: Likewise.
11460 * bus/usb/ohci.c: Likewise.
11461 * bus/usb/uhci.c: Likewise.
11462 * bus/usb/usb.c: Likewise.
11463 * mmap/efi/mmap.c: Likewise.
11464 * mmap/i386/pc/mmap_helper.S: Likewise.
11465 * mmap/i386/pc/mmap.c: Likewise.
11466 * mmap/i386/mmap.c: Likewise.
11467 * mmap/i386/uppermem.c: Likewise.
11468 * mmap/mmap.c: Likewise.
11469 * commands/acpi.c: Likewise.
11470 * commands/echo.c: Likewise.
11471 * commands/blocklist.c: Likewise.
11472 * commands/loadenv.c: Likewise.
11473 * commands/usbtest.c: Likewise.
11474 * commands/boot.c: Likewise.
11475 * commands/parttool.c: Likewise.
11476 * commands/search.c: Likewise.
11477 * commands/cat.c: Likewise.
11478 * commands/i386/pc/play.c: Likewise.
11479 * commands/i386/pc/drivemap.c: Likewise.
11480 * commands/i386/pc/vbeinfo.c: Likewise.
11481 * commands/i386/pc/acpi.c: Likewise.
11482 * commands/i386/pc/vbetest.c: Likewise.
11483 * commands/ls.c: Likewise.
11484 * commands/cmp.c: Likewise.
11485 * commands/test.c: Likewise.
11486 * commands/efi/acpi.c: Likewise.
11487 * commands/gptsync.c: Likewise.
11488 * commands/help.c: Likewise.
11489 * partmap/amiga.c: Likewise.
11490 * partmap/apple.c: Likewise.
11491 * partmap/acorn.c: Likewise.
11492 * partmap/pc.c: Likewise.
11493 * partmap/sun.c: Likewise.
11494 * partmap/gpt.c: Likewise.
11495 * script/sh/lexer.c: Likewise.
11496 * script/sh/function.c: Likewise.
11497 * font/font.c: Likewise.
11498 * font/font_cmd.c: Likewise.
11499 * loader/powerpc/ieee1275/linux.c: Likewise.
11500 * loader/efi/chainloader.c: Likewise.
11501 * loader/multiboot_loader.c: Likewise.
11502 * loader/macho.c: Likewise.
11503 * loader/i386/multiboot.c: Likewise.
11504 * loader/i386/linux.c: Likewise.
11505 * loader/i386/pc/linux.c: Likewise.
11506 * loader/i386/pc/multiboot2.c: Likewise.
11507 * loader/i386/pc/chainloader.c: Likewise.
11508 * loader/i386/pc/xnu.c: Likewise.
11509 * loader/i386/bsd_trampoline.S: Likewise.
11510 * loader/i386/efi/linux.c: Likewise.
11511 * loader/i386/multiboot_elfxx.c: Likewise.
11512 * loader/i386/bsd_helper.S: Likewise.
11513 * loader/i386/bsd.c: Likewise.
11514 * loader/i386/linux_trampoline.S: Likewise.
11515 * loader/i386/xnu_helper.S: Likewise.
11516 * loader/i386/xnu.c: Likewise.
11517 * loader/i386/bsd_pagetable.c: Likewise.
11518 * loader/i386/multiboot_helper.S: Likewise.
11519 * loader/xnu.c: Likewise.
11520 * loader/xnu_resume.c: Likewise.
11521 * io/gzio.c: Likewise.
11522 * term/efi/console.c: Likewise.
11523 * term/terminfo.c: Likewise.
11524 * term/ieee1275/ofconsole.c: Likewise.
11525 * term/i386/pc/serial.c: Likewise.
11526 * term/i386/pc/vesafb.c: Likewise.
11527 * term/i386/pc/vga.c: Likewise.
11528 * term/usb_keyboard.c: Likewise.
11529 * term/gfxterm.c: Likewise.
11530 * aclocal.m4: Likewise.
11531 * util/lvm.c: Likewise.
11532 * util/grub.d/30_os-prober.in: Likewise.
11533 * util/grub.d/10_hurd.in: Likewise.
11534 * util/console.c: Likewise.
11535 * util/grub-macho2img.c: Likewise.
11536 * util/grub-probe.c: Likewise.
11537 * util/hostfs.c: Likewise.
11538 * util/i386/pc/grub-mkimage.c: Likewise.
11539 * util/i386/pc/grub-setup.c: Likewise.
11540 * util/i386/efi/grub-mkimage.c: Likewise.
11541 * util/grub-mkconfig.in: Likewise.
11542 * util/raid.c: Likewise.
11543 * util/resolve.c: Likewise.
11544 * util/grub-mkdevicemap.c: Likewise.
11545 * util/grub-emu.c: Likewise.
11546 * util/getroot.c: Likewise.
11547 * util/hostdisk.c: Likewise.
11548 * util/usb.c: Likewise.
11549 * util/grub-editenv.c: Likewise.
11550 * util/misc.c: Likewise.
11551
11552 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11553
11554 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11555 `genparttoollist.sh'.
11556 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11557 Add `*.sh' to the list find searches for and change `mdate.sh'
11558 to `mdate-sh'.
11559
11560 2009-06-10 Pavel Roskin <proski@gnu.org>
11561
11562 * include/grub/multiboot2.h: Provide compatibility defines for
11563 multiboot2.h.
11564 * include/multiboot2.h: Include stdint.h only if needed, using
11565 angle brackets.
11566 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11567 grub/multiboot2.h.
11568 * loader/ieee1275/multiboot2.c: Likewise.
11569 * loader/multiboot2.c: Likewise.
11570 * loader/multiboot_loader.c: Likewise.
11571
11572 * configure.ac: Use -nostdlib when probing for the target. It
11573 should not be required to have libc for the target.
11574
11575 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11576 they fail without libc headers for the target.
11577 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11578 exports.
11579 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11580 preprocessor conditionals.
11581
11582 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11583 build system doesn't need to be aware of the tar.c internals.
11584
11585 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11586
11587 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11588
11589 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11590
11591 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11592 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11593
11594 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11595
11596 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11597 aren't available if ata.mod gets used.
11598
11599 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11600
11601 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11602 initialising controller.
11603 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11604
11605 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11606
11607 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11608 to choose between ata and biosdisk module on i386-pc.
11609
11610 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11611
11612 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11613 Subclass and Programming Interface fields in terms of the 3 byte
11614 Class Code register.
11615 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11616
11617 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11618 interface is OHCI. Add grub_dprintf for symmetry with
11619 bus/usb/uhci.c.
11620 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11621 interface is UHCI. Add interf variable for programming
11622 interface. Print interface with class/subclass.
11623
11624 * bus/usb/ohci.c: Set interf with correct field.
11625
11626 * bus/usb/uhci.c: Remove unneeded doubled lines.
11627 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11628 Remove whitespace inside comment.
11629
11630 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11631
11632 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11633 as fallback an equivalent option without depth.
11634
11635 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Not fail if unable to retrieve C/H/S on LBA disks
11638
11639 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11640 if unable to retrieve C/H/S on LBA disks
11641
11642 2009-06-08 Pavel Roskin <proski@gnu.org>
11643
11644 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11645 about aliasing.
11646
11647 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11648
11649 * Makefile.in (uninstall): Remove all $lib_DATA files.
11650
11651 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Bugfix: install on partitionless device
11654
11655 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11656 is a whole disk
11657
11658 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11659
11660 * Makefile.in (uninstall): Remove all $include_DATA files.
11661
11662 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11663
11664 * commands/true.c: New file. Implement the true and false commands.
11665 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11666 (true_mod_SOURCES): New variable.
11667 (true_mod_CFLAGS): Likewise.
11668 (true_mod_LDFLAGS): Likewise.
11669
11670 2009-06-05 Colin D Bennett <colin@gibibit.com>
11671
11672 Optimized font character lookup using binary search instead of linear
11673 search. Fonts now are required to have the character index ordered by
11674 code point.
11675
11676 * font/font.c (load_font_index): Verify that fonts have ordered
11677 character indices.
11678 (find_glyph): Use binary search instead of linear search to find a
11679 character in a font.
11680
11681 2009-06-05 Michael Scherer <misc@mandriva.org>
11682
11683 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11684 uses case sensitive btree.
11685 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11686 only for case insensitive filesystems.
11687
11688 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11691 * conf/common.rmk (search_mod_CFLAGS): likewise
11692
11693 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11696 compensate a compiler bug
11697
11698 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11701 instead of '\b'
11702
11703 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 Definitions for creating asm symbols with Apple's CC
11706
11707 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11708 [APPLE_CC] (VARIABLE): likewise
11709
11710 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 Disable lnxboot.img when compiled
11713 with Apple's CC
11714
11715 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11716 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11717 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11718 [! APPLE_CC] (CODE_LENG): skip
11719 [! APPLE_CC] (setup_sects): likewise
11720 [! APPLE_CC]: skip filling
11721
11722 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 Address in trampolines based on 32-bit registers when compiled
11725 with Apple's CC
11726
11727 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11728 for addresses
11729 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11730
11731 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11734
11735 * kern/misc.c [APPLE_CC] (memcpy): new function
11736 [APPLE_CC] (memmove): likewise
11737 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11738 (memcpy): define alias conditionally on !APPLE_CC
11739 (memset): likewise
11740 (abort): likewise
11741 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11742 APPLE_CC are defined
11743 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11744 (grub_assert_fail): make prototype conditional
11745
11746 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11749
11750 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11751 grub-macho2img
11752 (CLEANFILES): add grub-macho2img
11753 (grub_macho2img_SOURCES): new variable
11754 * kern/i386/pc/startup.S (bss_start): new variable
11755 (bss_end): likewise
11756 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11757 * util/grub-macho2img.c: new file
11758
11759 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Use objconv when compiling with Apple's CC
11762
11763 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11764 (efiemu64.o): likewise
11765 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11766 when compiling with Apple's CC
11767 (efiemu64_s.o): likewise
11768 * configure.ac: check for objconv when compiling with Apple's CC
11769 * genmk.rb: use objconv for modules when compiled with Apple's CC
11770
11771 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 Define segment as well as section when compiling with
11774 Apple's CC
11775
11776 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11777 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11778 (efiemu_convert_pointer): likewise
11779 (efiemu_set_virtual_address_map): likewise
11780 (efiemu_convert_pointer): likewise
11781 (efiemu_getcrc32): likewise
11782 (init_crc32_table): likewise
11783 (reflect): likewise
11784 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11785 (GRUB_MOD_DEP): likewise
11786
11787 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 Allow a compilation without -mcmodel=large
11790
11791 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11792 when compiled without -mcmodel=large
11793 (filter_memory_map): remove memory post 4 GiB when compiled
11794 without -mcmodel=large
11795 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11796 TARGET_CFLAGS when -mcmodel=large isn't supported
11797
11798 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 Remove nested functions in efiemu core
11801
11802 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11803
11804 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11807
11808 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11809 temporary storage
11810 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11811 using Apple's CC
11812 (grub_cpu_is_tsc_supported): likewise
11813 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11814
11815 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 Absolute addressing through constant with Apple's cc
11818
11819 * kern/i386/pc/startup.S: Define necessary constants
11820 and address through it when using ABS with Apple's CC
11821 * boot/i386/pc/diskboot.S: likewise
11822 * boot/i386/pc/boot.S: likewise
11823 * boot/i386/pc/lnxboot.S: likewise
11824 * boot/i386/pc/cdboot.S: likewise
11825 * mmap/i386/pc/mmap_helper.S: likewise
11826 * commands/i386/pc/drivemap_int13h.S: likewise
11827
11828 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Check if compiler is apple cc
11831
11832 * Makefile.in (ASFLAGS): new variable
11833 (TARGET_ASFLAGS): likewise
11834 (TARGET_MODULE_FORMAT): likewise
11835 (TARGET_APPLE_CC): likewise
11836 (OBJCONV): likewise
11837 (TARGET_IMG_CFLAGS): likewise
11838 (TARGET_CPPFLAGS): add includedir
11839 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11840 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11841 Check for linker script only if compiler isn't Apple's CC
11842 (TARGET_MODULE_FORMAT): set
11843 (TARGET_APPLE_CC): likewise
11844 (TARGET_ASFLAGS): likewise
11845 (ASFLAGS): likewise
11846 Check for objcopy only if compiler isn't Apple's CC
11847 Check for BSS symbol only if compiler isn't Apple's CC
11848 * genmk.rb: adapt nm options if we use Apple's utils
11849 * aclocal.m4 (grub_apple_cc): new test
11850 (grub_apple_target_cc): likewise
11851
11852 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 Simplify sed expressions and improve awk
11855
11856 * Makefile.in (install-local): simplify sed expression
11857 * gencmdlist.sh: likewise
11858 * genmoddep.awk: avoid adding module as a dependency of itself
11859
11860 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 Add missing start symbols
11863
11864 * boot/i386/pc/boot.S: add start
11865 * boot/i386/pc/pxeboot.S: likewise
11866
11867 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 Fix wrong assumptions with grub-mkimage on EFI
11870
11871 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11872 (relocate_addresses): consider both r_addend and value at offset
11873 (make_mods_section): zerofill modinfo and header
11874 (convert_elf): write prefix here
11875
11876 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 Use .asciz instead of .string
11879
11880 * i386/pc/diskboot.S: use .asciz instead of .string
11881 * i386/pc/boot.S: likewise
11882 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11883 (GRUB_MOD_NAME): likewise
11884
11885 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 gfxpayload support
11888
11889 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11890 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11891 (grub_video_setup): remove
11892 (grub_video_set_mode): new prototype
11893 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11894 (vid_mode): remove
11895 (linux_vesafb_res): compile only on PCBIOS
11896 (grub_linux_boot): support gfxpayload
11897 * loader/i386/pc/xnu.c (video_hook): new function
11898 (grub_xnu_set_video): support gfxpayload
11899 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11900 (DEFAULT_VIDEO_HEIGHT): likewise
11901 (DEFAULT_VIDEO_FLAGS): likewise
11902 (DEFAULT_VIDEO_MODE): new definition
11903 (video_hook): new function
11904 (grub_gfxterm_init): use grub_video_set_mode
11905 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11906 loading xnu
11907 * video/video.c (grub_video_setup): removed
11908 (grub_video_set_mode): new function based on grub_gfxterm_init and
11909 grub_video_setup
11910
11911 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 Avoid calling biosdisk in drivemap
11914
11915 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11916 (revparse_biosdisk): likewise
11917 (list_mappings): derive name from id directly
11918 (grub_cmd_drivemap): use tryparse_diskstring
11919
11920 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 Script fixes
11923
11924 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11925 (grub_lexer_param): add tokenonhold
11926 (grub_script_create_cmdline): remove cmdline. All callers updated
11927 (grub_script_function_create): make functionname
11928 grub_script_arg. All callers updated
11929 (grub_script_execute_argument_to_string): new prototype
11930 * kern/parser.c (state_transitions): reorder
11931 (grub_parser_cmdline_state): fix a bug and make more compact
11932 * script/sh/execute.c (grub_script_execute_argument_to_string):
11933 make global
11934 (grub_script_execute_cmdline): use new format
11935 * script/sh/function.c (grub_script_function_create): make functionname
11936 grub_script_arg. All callers updated
11937 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11938 (grub_script_yylex): remove
11939 (grub_script_yylex2): renamed to ...
11940 (grub_script_yylex): ...renamed
11941 parse the expressions like a${b}c
11942 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11943 (GRUB_PARSER_TOKEN_VAR): remove
11944 (GRUB_PARSER_TOKEN_NAME): likewise
11945 ("if"): declare as typeless
11946 ("while"): likewise
11947 ("function"): likewise
11948 ("else"): likewise
11949 ("then"): likewise
11950 ("fi"): likewise
11951 (text): remove
11952 (argument): likewise
11953 (script): accept empty scripts and make exit on error
11954 (arguments): use GRUB_PARSER_TOKEN_ARG
11955 (function): likewise
11956 (command): move error handling to script
11957 (menuentry): move grub_script_lexer_ref before
11958 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
11959 argument. All callers updated
11960
11961 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11962
11963 Prevent GRUB from probing floppies during boot.
11964
11965 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11966 * commands/search.c (options): Add --no-floppy.
11967 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11969 --no-floppy when searching for UUIDs.
11970
11971 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11972
11973 Simplify the code duplication in commands/search.c.
11974
11975 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11976 (search_fs): ... this. Update all users.
11977
11978 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
11979
11980 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11981
11982 2009-05-28 Pavel Roskin <proski@gnu.org>
11983
11984 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11985 Remove the original symlink explicitly.
11986
11987 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11988 just one slash. That's how grub_fshelp_find_file() does it.
11989
11990 2009-05-26 Pavel Roskin <proski@gnu.org>
11991
11992 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11993 to `str'.
11994
11995 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11996 possibly unused.
11997
11998 2009-05-25 Christian Franke <franke@computer.org>
11999
12000 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12001 register.
12002 (grub_atapi_identify): Add wait after drive select.
12003 (grub_ata_identify): Do more strict status register check before
12004 calling grub_atapi_identify (). Suppress error message if status
12005 register is 0x00 after command failure. Add status register
12006 check after PIO read to avoid bogus identify due to stuck DRQ.
12007 Thanks to Pavel Roskin for testing.
12008 (grub_device_initialize): Remove unsafe status register check.
12009 Thanks to 'phcoder' for problem report and patch.
12010 Prevent sign extension in debug message.
12011
12012 2009-05-23 Colin D Bennett <colin@gibibit.com>
12013
12014 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12015 definition file, and functions defined in `normal/menu.c' have had
12016 their prototypes moved to `include/grub/menu.h' for consistency.
12017
12018 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12019 from normal.h.
12020 (grub_menu_get_entry): Likewise.
12021 (grub_menu_get_timeout): Likewise.
12022 (grub_menu_set_timeout): Likewise.
12023 (grub_menu_execute_entry): Likewise.
12024 (grub_menu_execute_with_fallback): Likewise.
12025 (grub_menu_entry_run): Likewise.
12026
12027 * include/grub/normal.h: Re-ordered and grouped function
12028 prototypes by file that the function is defined in.
12029 (grub_menu_execute_callback): Removed; moved to menu.h.
12030 (grub_menu_get_entry): Likewise.
12031 (grub_menu_get_timeout): Likewise.
12032 (grub_menu_set_timeout): Likewise.
12033 (grub_menu_execute_entry): Likewise.
12034 (grub_menu_execute_with_fallback): Likewise.
12035 (grub_menu_entry_run): Likewise.
12036 (grub_menu_addentry): Renamed from this ...
12037 (grub_normal_add_menu_entry): ... to this.
12038
12039 * normal/main.c (grub_menu_addentry): Renamed from this ...
12040 (grub_normal_add_menu_entry): ... to this.
12041
12042 * script/sh/execute.c (grub_script_execute_menuentry): Update
12043 reference to renamed grub_menu_addentry function.
12044
12045 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12046
12047 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12048
12049 2009-05-22 Pavel Roskin <proski@gnu.org>
12050
12051 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12052 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12053 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12054 compiling for the i386 targets, but not for the utilities.
12055
12056 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12057 to grub_uint8_t.
12058 (grub_root_drive): Likewise.
12059 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12060 remove alignment.
12061 (grub_root_drive): Change size to byte.
12062 (grub_start_addr): Remove.
12063 (grub_end_addr): Likewise.
12064 (grub_apm_bios_info): Likewise.
12065
12066 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12067
12068 * normal/i386: Remove.
12069 * normal/powerpc: Likewise.
12070 * normal/sparc64: Likewise.
12071 * normal/x86_64: Likewise.
12072
12073 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12076 * loader/i386/linux_trampoline.S: Fix indentation
12077 * loader/i386/xnu_helper.S: Likewise
12078
12079 2009-05-18 Colin D Bennett <colin@gibibit.com>
12080
12081 Display error messages when parsing a Lua statement fails.
12082 Previously, executing a syntactically invalid statement like
12083 ")foo" or "bar;" would silently fail.
12084
12085 * script/lua/grub_main.c (handle_lua_error): New function.
12086 (grub_lua_parse_line): Improved reporting of Lua parser and
12087 execution errors.
12088
12089 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Remove -Werror which causes build to fail on some systems
12092
12093 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12094 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12095 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12096
12097 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 trampoline for linux on 64-bit platform
12100
12101 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12102 loader/i386/efi/linux_trampoline.S
12103 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12104 declaration
12105 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12106 here
12107 * loader/i386/linux_trampoline.S: moved here
12108 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12109 trampoline
12110 (jumpvector): removed
12111 (grub_linux_trampoline_start): new declaration
12112 (grub_linux_trampoline_end): likewise
12113 (grub_linux_boot): use trampoline when on 64-bit platform
12114 * loader/i386/linux.c: likewise
12115
12116 2009-05-16 Pavel Roskin <proski@gnu.org>
12117
12118 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12119 const to avoid a warning.
12120 (grub_lua_setenv): Likewise.
12121 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12122 lmsg to fix a warning.
12123
12124 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12125
12126 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12127 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12128 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12129 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12130 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12131 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12132 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12133 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12134
12135 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12136
12137 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12138
12139 2009-05-16 Bean <bean123ch@gmail.com>
12140
12141 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12142 (lua_mod_SOURCES): New variable.
12143 (lua_mod_CFLAGS): Likewise.
12144 (lua_mod_LDFLAGS): Likewise.
12145
12146 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12147 (setjmp_mod_SOURCES): New variable.
12148 (setjmp_mod_CFLAGS): Likewise.
12149 (setjmp_LDFLAGS): Likewise.
12150
12151 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12152 (setjmp_mod_SOURCES): New variable.
12153 (setjmp_mod_CFLAGS): Likewise.
12154 (setjmp_LDFLAGS): Likewise.
12155
12156 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12157 (setjmp_mod_SOURCES): New variable.
12158 (setjmp_mod_CFLAGS): Likewise.
12159 (setjmp_LDFLAGS): Likewise.
12160
12161 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12162 (setjmp_mod_SOURCES): New variable.
12163 (setjmp_mod_CFLAGS): Likewise.
12164 (setjmp_LDFLAGS): Likewise.
12165
12166 * normal/i386/setjmp.S: Moved from here ...
12167 * lib/i386/setjmp.S: ... Moved here
12168 * normal/x86_64/setjmp.S: Moved from here ...
12169 * lib/x86_64/setjmp.S: ... Moved here
12170 * normal/powerpc/setjmp.S: Moved from here ...
12171 * lib/powerpc/setjmp.S: ... Moved here
12172 * normal/sparc64/setjmp.S: Moved from here ...
12173 * lib/sparc64/setjmp.S: ... Moved here
12174
12175 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12176 returns_twice in mingw.
12177
12178 * script/lua/grub_lib.c: New file.
12179 * script/lua/grub_lib.h: Likewise.
12180 * script/lua/grub_lua.h: Likewise.
12181 * script/lua/grub_main.c: Likewise.
12182 * script/lua/lapi.c: Likewise.
12183 * script/lua/lapi.h: Likewise.
12184 * script/lua/lauxlib.c: Likewise.
12185 * script/lua/lauxlib.h: Likewise.
12186 * script/lua/lbaselib.c: Likewise.
12187 * script/lua/lcode.c: Likewise.
12188 * script/lua/lcode.h: Likewise.
12189 * script/lua/ldblib.c: Likewise.
12190 * script/lua/ldebug.c: Likewise.
12191 * script/lua/ldebug.h: Likewise.
12192 * script/lua/ldo.c: Likewise.
12193 * script/lua/ldo.h: Likewise.
12194 * script/lua/ldump.c: Likewise.
12195 * script/lua/lfunc.c: Likewise.
12196 * script/lua/lfunc.h: Likewise.
12197 * script/lua/lgc.c: Likewise.
12198 * script/lua/lgc.h: Likewise.
12199 * script/lua/linit.c: Likewise.
12200 * script/lua/liolib.c: Likewise.
12201 * script/lua/llex.c: Likewise.
12202 * script/lua/llex.h: Likewise.
12203 * script/lua/llimits.h: Likewise.
12204 * script/lua/lmathlib.c: Likewise.
12205 * script/lua/lmem.c: Likewise.
12206 * script/lua/lmem.h: Likewise.
12207 * script/lua/loadlib.c: Likewise.
12208 * script/lua/lobject.c: Likewise.
12209 * script/lua/lobject.h: Likewise.
12210 * script/lua/lopcodes.c: Likewise.
12211 * script/lua/lopcodes.h: Likewise.
12212 * script/lua/loslib.c: Likewise.
12213 * script/lua/lparser.c: Likewise.
12214 * script/lua/lparser.h: Likewise.
12215 * script/lua/lstate.c: Likewise.
12216 * script/lua/lstate.h: Likewise.
12217 * script/lua/lstring.c: Likewise.
12218 * script/lua/lstring.h: Likewise.
12219 * script/lua/lstrlib.c: Likewise.
12220 * script/lua/ltable.c: Likewise.
12221 * script/lua/ltable.h: Likewise.
12222 * script/lua/ltablib.c: Likewise.
12223 * script/lua/ltm.c: Likewise.
12224 * script/lua/ltm.h: Likewise.
12225 * script/lua/lua.h: Likewise.
12226 * script/lua/luaconf.h: Likewise.
12227 * script/lua/lualib.h: Likewise.
12228 * script/lua/lundump.c: Likewise.
12229 * script/lua/lundump.h: Likewise.
12230 * script/lua/lvm.c: Likewise.
12231 * script/lua/lvm.h: Likewise.
12232 * script/lua/lzio.c: Likewise.
12233 * script/lua/lzio.h: Likewise.
12234
12235 2009-05-16 Bean <bean123ch@gmail.com>
12236
12237 * include/grub/kernel.h (grub_module_header_types): Add type
12238 OBJ_TYPE_CONFIG.
12239
12240 * kern/main.c (grub_load_config): New function.
12241 (grub_main): Call grub_load_config to read boot config.
12242
12243 * grub-mkimage (generate_image): New parameter config_path.
12244 (options): New option --config.
12245 (main): Parse --config option, and pass it to generate_image.
12246
12247 2009-05-14 Christian Franke <franke@computer.org>
12248
12249 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12250 This fixes build on Cygwin.
12251
12252 2009-05-14 Pavel Roskin <proski@gnu.org>
12253
12254 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12255 jump. This saves two bytes, so the typical case of 2 swapped
12256 drives would fit 32 bytes.
12257
12258 2009-05-13 Pavel Roskin <proski@gnu.org>
12259
12260 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12261 grub_uint32_t to avoid a warning.
12262
12263 * loader/i386/linux.c (allocate_pages): When assigning
12264 real_mode_mem, cast through grub_size_t to fix a warning. The
12265 code already makes sure that the value would fit a pointer.
12266 (grub_linux_setup_video): Cast render_target->data to
12267 grub_size_t to fix a warning.
12268
12269 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12270
12271 * commands/i386/pc/drivemap.c: New file - implement drivemap
12272 command.
12273 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12274 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12275
12276 2009-05-13 Pavel Roskin <proski@gnu.org>
12277
12278 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12279 embedding_area_exists.
12280
12281 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12282
12283 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12284 it easier to understand / work with.
12285 Improve warning messages for cases where there's no embedding area,
12286 or when it is too small (or core.img too large).
12287
12288 2009-05-13 Pavel Roskin <proski@gnu.org>
12289
12290 * loader/i386/pc/multiboot2.c: Add necessary includes for
12291 grub_multiboot2_real_boot().
12292
12293 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12294 PX record is always little-endian. We only need the lower 2
12295 bytes of the mode.
12296
12297 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12298 facilitate code reuse.
12299 (grub_cpio_mount): Use "struct head", not a char buffer. This
12300 fixes a warning reported by gcc 4.4.
12301
12302 * kernel/disk.c (grub_disk_read): Use void pointer for the
12303 buffer.
12304 (grub_disk_write): Use const void pointer for the buffer.
12305 Adjust all callers. Remove unnecessary casts.
12306
12307 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12308
12309 * util/i386/pc/grub-install.in: Update copyright year.
12310
12311 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 gptsync
12314
12315 * commands/gptsync.c: new file
12316 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12317 (gptsync_mod_SOURCES): new variable
12318 (gptsync_mod_CFLAGS): likewise
12319 (gptsync_mod_LDFLAGS): likewise
12320 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12321 new definition
12322 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12323 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12324 * conf/i386-ieee1275.rmk: likewise
12325 * conf/i386-pc.rmk: likewise
12326 * conf/powerpc-ieee1275.rmk: likewise
12327
12328 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 Fixed grub-emu
12331
12332 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12333 (grub_dl_ref): likewise
12334
12335 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12336
12337 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12338 split in two functions (one for msdos and one for gpt).
12339
12340 2009-05-08 Pavel Roskin <proski@gnu.org>
12341
12342 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12343 not modified.
12344
12345 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12346 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12347 Initialize them with -1. Add sanity check for bad1. Eliminate
12348 nerr variable.
12349
12350 2009-05-08 David S. Miller <davem@davemloft.net>
12351
12352 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12353
12354 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12355
12356 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12357 existence.
12358
12359 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12360
12361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12362 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12363
12364 2009-05-05 David S. Miller <davem@davemloft.net>
12365
12366 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12367
12368 2009-05-05 Pavel Roskin <proski@gnu.org>
12369
12370 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12371 of grub_dl_ref() and grub_dl_unref().
12372 * commands/parttool.c: Remove preprocessor conditionals around
12373 grub_dl_ref() and grub_dl_unref().
12374 * fs/affs.c: Likewise.
12375 * fs/afs.c: Likewise.
12376 * fs/cpio.c: Likewise.
12377 * fs/ext2.c: Likewise.
12378 * fs/fat.c: Likewise.
12379 * fs/hfs.c: Likewise.
12380 * fs/hfsplus.c: Likewise.
12381 * fs/iso9660.c: Likewise.
12382 * fs/jfs.c: Likewise.
12383 * fs/minix.c: Likewise.
12384 * fs/ntfs.c: Likewise.
12385 * fs/reiserfs.c: Likewise.
12386 * fs/sfs.c: Likewise.
12387 * fs/udf.c: Likewise.
12388 * fs/ufs.c: Likewise.
12389 * fs/xfs.c: Likewise.
12390 * include/grub/dl.h: Likewise.
12391 * loader/xnu.c: Likewise.
12392
12393 2009-05-04 Pavel Roskin <proski@gnu.org>
12394
12395 * commands/acpi.c: Remove unused variable my_mod.
12396 * partmap/amiga.c: Likewise.
12397 * partmap/apple.c: Likewise.
12398 * partmap/gpt.c: Likewise.
12399 * partmap/pc.c: Likewise.
12400 * partmap/sun.c: Likewise.
12401 * term/gfxterm.c: Likewise.
12402 * term/i386/pc/vesafb.c: Likewise.
12403 * term/i386/pc/vga.c: Likewise.
12404
12405 2009-05-04 David S. Miller <davem@davemloft.net>
12406
12407 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12408 pointer args to grub_ieee1275_get_property().
12409
12410 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12411
12412 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12413 devices, and do not traverse down under controller nodes.
12414
12415 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12416 (grub_ofdisk_open): Use it to un-escape "," characters.
12417 * kern/disk.c (find_part_sep): New.
12418 (grub_disk_open): Use it to find the first non-escaped ','
12419 character in the disk name.
12420 * util/ieee1275/devicemap.c (escape_of_path): New.
12421 (grub_util_emit_devicemap_entry): Use it.
12422 * util/sparc64/ieee1275/grub-install.in: Update script to
12423 strip partition specifiers properly by not triggering on
12424 '\' escaped ',' characters.
12425
12426 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12427
12428 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12429 to 0x300.
12430 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12431 resolutions.
12432 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12433 on documentation from Wikipedia).
12434
12435 2009-05-04 Pavel Roskin <proski@gnu.org>
12436
12437 * disk/ata.c: Spelling fixes.
12438 * disk/raid.c: Likewise.
12439 * disk/usbms.c: Likewise.
12440 * disk/dmraid_nvidia.c: Likewise.
12441 * kern/ieee1275/openfw.c: Likewise.
12442 * kern/ieee1275/init.c: Likewise.
12443 * kern/ieee1275/cmain.c: Likewise.
12444 * boot/i386/pc/cdboot.S: Likewise.
12445 * video/readers/png.c: Likewise.
12446 * video/i386/pc/vbe.c: Likewise.
12447 * fs/udf.c: Likewise.
12448 * fs/hfs.c: Likewise.
12449 * fs/reiserfs.c: Likewise.
12450 * efiemu/runtime/efiemu.c: Likewise.
12451 * efiemu/main.c: Likewise.
12452 * efiemu/mm.c: Likewise.
12453 * include/grub/elf.h: Likewise.
12454 * include/grub/xnu.h: Likewise.
12455 * include/grub/usbdesc.h: Likewise.
12456 * include/grub/usb.h: Likewise.
12457 * include/grub/script_sh.h: Likewise.
12458 * include/grub/lib/LzmaEnc.h: Likewise.
12459 * include/grub/efiemu/efiemu.h: Likewise.
12460 * include/grub/command.h: Likewise.
12461 * normal/menu.c: Likewise.
12462 * normal/main.c: Likewise.
12463 * normal/datetime.c: Likewise.
12464 * bus/usb/uhci.c: Likewise.
12465 * mmap/i386/uppermem.c: Likewise.
12466 * mmap/mmap.c: Likewise.
12467 * commands/acpi.c: Likewise.
12468 * commands/test.c: Likewise.
12469 * partmap/apple.c: Likewise.
12470 * font/font.c: Likewise.
12471 * loader/sparc64/ieee1275/linux.c: Likewise.
12472 * loader/macho.c: Likewise.
12473 * loader/i386/bsd_trampoline.S: Likewise.
12474 * loader/i386/bsd.c: Likewise.
12475 * loader/xnu.c: Likewise.
12476 * term/i386/pc/vesafb.c: Likewise.
12477 * term/usb_keyboard.c: Likewise.
12478 * util/resolve.c: Likewise.
12479 * util/getroot.c: Likewise.
12480
12481 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12482
12483 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12484
12485 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12486
12487 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12488 build error.
12489
12490 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12491
12492 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12493 parameter only available on BIOS.
12494
12495 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 Removed wrong semicolon in declaration
12498
12499 * grub/misc.h (grub_dprintf): remove semicolon
12500
12501 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12502
12503 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12504 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12505 is done by grub_cmd_linux() now).
12506 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12507 restore video to text mode.
12508 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12509 indicates lack of "vga=" parameter. "vga=0" is mapped to
12510 `GRUB_LINUX_VID_MODE_NORMAL'.
12511
12512 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12513
12514 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12515 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12516 and `normal/script.c'. Add `kern/rescue_reader.c',
12517 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12518 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12519 `grub_script.tab.c'.
12520
12521 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12522 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12526
12527 * Makefile.in: Remove duplicated 2008 in Copyright line.
12528
12529 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12530
12531 * util/misc.c (grub_util_warn): New function. Emits a warning
12532 unconditionally.
12533 * include/grub/util/misc.h (grub_util_warn): New declaration.
12534
12535 * util/i386/pc/grub-install.in: Understand --force and pass it down
12536 to grub-setup.
12537
12538 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12539 down to setup().
12540 (setup): Improve error messages and add warnings when requested to
12541 install in odd layouts. Refuse to install using blocklists unless
12542 --force was set.
12543
12544 2009-05-04 martin f. krafft <madduck@madduck.net>
12545
12546 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12547
12548 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 Updated copyright year
12551
12552 * fs/hfsplus.c: updated copyright year
12553
12554 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 HFS+ UUID
12557
12558 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12559 in the space previously used by unused3
12560 (grub_hfsplus_uuid): new function
12561 (grub_hfsplus_fs): added uuid field
12562
12563 2009-05-03 Pavel Roskin <proski@gnu.org>
12564
12565 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12566 suppress warnings. It's no longer needed.
12567 * disk/host.c: Likewise.
12568 * disk/ata_pthru.c: Likewise.
12569 * disk/loopback.c: Likewise.
12570 * hook/datehook.c: Likewise.
12571 * parttool/pcpart.c: Likewise.
12572 * fs/i386/pc/pxe.c: Likewise.
12573 * fs/ntfscomp.c: Likewise.
12574 * efiemu/main.c: Likewise.
12575 * mmap/mmap.c: Likewise.
12576 * commands/crc.c: Likewise.
12577 * commands/hexdump.c: Likewise.
12578 * commands/hdparm.c: Likewise.
12579 * commands/acpi.c: Likewise.
12580 * commands/echo.c: Likewise.
12581 * commands/minicmd.c: Likewise.
12582 * commands/blocklist.c: Likewise.
12583 * commands/memrw.c: Likewise.
12584 * commands/loadenv.c: Likewise.
12585 * commands/usbtest.c: Likewise.
12586 * commands/lsmmap.c: Likewise.
12587 * commands/boot.c: Likewise.
12588 * commands/parttool.c: Likewise.
12589 * commands/configfile.c: Likewise.
12590 * commands/search.c: Likewise.
12591 * commands/ieee1275/suspend.c: Likewise.
12592 * commands/cat.c: Likewise.
12593 * commands/i386/pc/pxecmd.c: Likewise.
12594 * commands/i386/pc/play.c: Likewise.
12595 * commands/i386/pc/halt.c: Likewise.
12596 * commands/i386/pc/vbeinfo.c: Likewise.
12597 * commands/i386/pc/vbetest.c: Likewise.
12598 * commands/lspci.c: Likewise.
12599 * commands/date.c: Likewise.
12600 * commands/handler.c: Likewise.
12601 * commands/ls.c: Likewise.
12602 * commands/test.c: Likewise.
12603 * commands/cmp.c: Likewise.
12604 * commands/efi/loadbios.c: Likewise.
12605 * commands/efi/fixvideo.c: Likewise.
12606 * commands/halt.c: Likewise.
12607 * commands/help.c: Likewise.
12608 * commands/reboot.c: Likewise.
12609 * hello/hello.c: Likewise.
12610 * script/sh/main.c: Likewise.
12611 * loader/xnu.c: Likewise.
12612 * term/terminfo.c: Likewise.
12613 * term/i386/pc/serial.c: Likewise.
12614 * term/usb_keyboard.c: Likewise.
12615
12616 2009-05-03 David S. Miller <davem@davemloft.net>
12617
12618 * normal/menu.c: Include grub/parser.h
12619
12620 2009-05-03 Pavel Roskin <proski@gnu.org>
12621
12622 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12623 not char*.
12624 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12625 Suggested by Javier Martín <lordhabbit@gmail.com>
12626
12627 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12628 efiemu??.o doesn't exist.
12629 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12630 copying.
12631
12632 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 FreeBSD 64-bit support
12635
12636 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12637 and loader/i386/bsd_trampoline.S
12638 (bsd_mod_ASFLAGS): new variable
12639 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12640 (FREEBSD_MODTYPE_KERNEL64): likewise
12641 (grub_bsd64_trampoline_start): likewise
12642 (grub_bsd64_trampoline_end): likewise
12643 (grub_bsd64_trampoline_selfjump): likewise
12644 (grub_bsd64_trampoline_gdt): likewise
12645 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12646 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12647 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12648 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12649 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12650 of "attrib" member
12651 * loader/i386/bsd_pagetable.c: new file
12652 * loader/i386/bsd_trampoline.S: likewise
12653 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12654 (ALIGN_VAR): likewise
12655 (entry_hi): new variable
12656 (kern_end_mdofs): likewise
12657 (is_64bit): likewise
12658 (grub_freebsd_add_meta): use ALIGN_VAR
12659 (grub_e820_mmap): new declaration
12660 (grub_freebsd_add_mmap): new function
12661 (grub_freebsd_add_meta_module): support 64 bit kernels
12662 (grub_freebsd_list_modules): use ALIGN_VAR
12663 (gdt_descriptor): new declaration
12664 (grub_freebsd_boot): support 64 bit kernels
12665 (grub_bsd_elf64_hook): new function
12666 (grub_bsd_load_elf): support elf64
12667
12668 2009-05-03 Bean <bean123ch@gmail.com>
12669
12670 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12671 after we get the result of if statement.
12672
12673 2009-05-03 Bean <bean123ch@gmail.com>
12674
12675 * Makefile.in (enable_efiemu): New variable.
12676
12677 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12678 set.
12679 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12680 path.
12681 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12682 path, add -mno-red-zone option.
12683 (efiemu64_s.o): Likewise.
12684 (efiemu64.o): Use macro $^ for source file.
12685
12686 * configure.ac (--enable-efiemu): New option.
12687
12688 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 xnu support
12691
12692 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12693 (pkglib_MODULES): add xnu.mod
12694 (xnu_mod_SOURCES): new variable
12695 (xnu_mod_CFLAGS): likewise
12696 (xnu_mod_LDFLAGS): likewise
12697 (xnu_mod_ASFLAGS): likewise
12698 * conf/i386-pc.rmk: likewise
12699 * conf/x86_64-efi.rmk: likewise
12700 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12701 new declaration
12702 * include/grub/i386/macho.h: new file
12703 * include/grub/i386/xnu.h: likewise
12704 * include/grub/macho.h: likewise
12705 * include/grub/machoload.h: likewise
12706 * include/grub/x86_64/macho.h: likewise
12707 * include/grub/x86_64/xnu.h: likewise
12708 * include/grub/xnu.h: likewise
12709 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12710 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12711 * loader/i386/efi/xnu.c: new file
12712 * loader/i386/pc/xnu.c: likewise
12713 * loader/i386/xnu.c: likewise
12714 * loader/i386/xnu_helper.S: likewise
12715 * loader/macho.c: likewise
12716 * loader/xnu.c: likewise
12717 * loader/xnu_resume.c: likewise
12718 * util/grub-dumpdevtree: likewise
12719 * include/grub/i386/pit.h: include grub/err.h
12720 (grub_pit_wait): export
12721 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12722
12723 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 Efiemu
12726
12727 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12728 _linux_efi, linux_efi.
12729 new files in grub-emu
12730 new targets efiemu32.o and efiemu64.o
12731 * loader/linux_normal_efiemu.c: likewise
12732 * loader/i386/efi/linux.c: added preliminary efiemu support
12733 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12734 files to copy
12735 * include/grub/autoefi.h: new file
12736 * include/grub/i386/efiemu.h: likewise
12737 * include/grub/i386/pc/efiemu.h: likewise
12738 * include/grub/efi/api.h: add LL suffix when necessary
12739 new definitions relating to tables
12740 * include/grub/efiemu/efiemu.h: new file
12741 * include/grub/efiemu/runtime.h: likewise
12742 * efiemu/prepare.c: likewise
12743 * efiemu/loadcore_common.c: likewise
12744 * efiemu/loadcore64.c: likewise
12745 * efiemu/runtime/efiemu.sh: likewise
12746 * efiemu/runtime/efiemu.S: likewise
12747 * efiemu/runtime/efiemu.c: likewise
12748 * efiemu/runtime/config.h: likewise
12749 * efiemu/prepare32.c: likewise
12750 * efiemu/main.c: likewise
12751 * efiemu/modules/pnvram.c: likewise
12752 * efiemu/modules/i386: likewise
12753 * efiemu/modules/i386/pc: likewise
12754 * efiemu/modules/acpi.c: likewise
12755 * efiemu/i386/pc/cfgtables.c: likewise
12756 * efiemu/i386/loadcore64.c: likewise
12757 * efiemu/i386/loadcore32.c: likewise
12758 * efiemu/prepare64.c: likewise
12759 * efiemu/loadcore.c: likewise
12760 * efiemu/symbols.c: likewise
12761 * efiemu/mm.c: likewise
12762 * efiemu/loadcore32.c: likewise
12763
12764 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 ACPI spoofing
12767
12768 * commands/acpi.c: new file
12769 * commands/i386/pc/acpi.c: likewise
12770 * commands/efi/acpi.c: likewise
12771 * include/grub/acpi.h: likewise
12772 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12773 (acpi_mod_SOURCES): new variable
12774 (acpi_mod_CFLAGS): likewise
12775 (acpi_mod_LDFLAGS): likewise
12776 * conf/i386-efi.rmk: likewise
12777 * conf/x86_64-efi.rmk: likewise
12778
12779 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Missing part from mmap patch
12782
12783 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12784 (grub_mmap_unregister)
12785 (grub_mmap_free_and_unregister): use grub_mmap_register
12786
12787 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 Mmap services
12790
12791 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12792 * loader/i386/linux.c (find_mmap_size): likewise
12793 (allocate_pages): likewise
12794 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12795 (grub_fill_multiboot_mmap): likewise
12796 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12797 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12798 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12799 (OPENBSD_MMAP_RESERVED): likewise
12800 * include/grub/i386/pc/memory.h: include grub/memory.h
12801 (grub_lower_mem): removed
12802 (grub_upper_mem): likewise
12803 (GRUB_MACHINE_MEMORY_ACPI): new definition
12804 (GRUB_MACHINE_MEMORY_NVS): likewise
12805 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12806 (GRUB_MACHINE_MEMORY_HOLE): likewise
12807 (grub_machine_mmap_register): likewise
12808 (grub_machine_mmap_unregister): likewise
12809 (grub_machine_get_upper): likewise
12810 (grub_machine_get_lower): likewise
12811 (grub_machine_get_post64): likewise
12812 * include/grub/i386/efi/memory.h: new file
12813 * include/grub/x86_64/efi/memory.h: likewise
12814 * include/grub/efi/memory.h: likewise
12815 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12816 (mmap_mod_SOURCES): new variable
12817 (mmap_mod_LDFLAGS): likewise
12818 (mmap_mod_ASFLAGS): likewise
12819 * conf/i386-coreboot.rmk: likewise
12820 * conf/i386-ieee1275.rmk: likewise
12821 * conf/i386-efi.rmk: likewise
12822 * conf/x86_64-efi.rmk: likewise
12823 * include/grub/types.h (UINT_TO_PTR): new macro
12824 (PTR_TO_UINT32): likewise
12825 (PTR_TO_UINT64): likewise
12826 * include/grub/memory.h: new file
12827 * mmap/i386/pc/mmap.c: likewise
12828 * mmap/i386/pc/mmap_helper.S: likewise
12829 * mmap/i386/uppermem.c: likewise
12830 * mmap/mmap.c: likewise
12831 * mmap/efi/mmap.c: likewise
12832 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12833 grub_upper_mem
12834 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12835 (grub_upper_mem): likewise
12836 (grub_machine_init): don't use grub_upper_mem,
12837 make grub_lower_mem local
12838 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12839 grub_mmap_iterate and grub_mmap_get_upper
12840 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12841
12842 2009-05-02 Bean <bean123ch@gmail.com>
12843
12844 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12845 script/sh/parser.y.
12846 (pkglib_MODULES): Add normal.mod and sh.mod.
12847 (normal_SOURCES): New variable.
12848 (normal_mod_CFLAGS): Likewise.
12849 (normal_mod_LDFLAGS): Likewise.
12850 (sh_mod_SOURCES): Likewise.
12851 (sh_mod_CFLAGS): Likewise.
12852 (sh_mod_LDFLAGS): Likewise.
12853
12854 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12855 script/sh/lexer.c_DEPENDENCIES.
12856 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12857 kern/rescue_reader.c and kern/rescue_parser.c.
12858 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12859 (grub_emu_SOURCES): Change source files.
12860 (pkglib_MODULES): Remove normal.mod.
12861 (normal_SOURCES): Removed.
12862 (normal_mod_CFLAGS): Likewise.
12863 (normal_mod_LDFLAGS): Likewise.
12864 * conf/i386-coreboot.rmk: Likewise.
12865 * conf/i386-efi.rmk: Likewise.
12866 * conf/i386-ieee1276.rmk: Likewise.
12867 * conf/powerpc-ieee1275.rmk: Likewise.
12868 * conf/sparc64-ieee1275.rmk: Likewise.
12869 * conf/x86_64-efi.rmk: Likewise.
12870
12871 * include/grub/command.h (grub_command_execute): New inline function.
12872
12873 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12874
12875 * include/grub/normal.h: Remove <grub/setjmp.h>.
12876 (grub_fs_module_list): Moved to normal/autofs.c.
12877 (grub_exit_env): Removed.
12878 (grub_command_execute): Likewise.
12879 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12880 parameter script.
12881 (read_command_list): New function declaration.
12882 (read_fs_list): Likewise.
12883
12884 * include/parser.h: Include <grub/reader.h>.
12885 (grub_parser_split_cmdline): Change type of getline parameter.
12886 (grub_parser): New structure.
12887 (grub_parser_class): New variable.
12888 (grub_parser_execute): New function declaration.
12889 (grub_register_rescue_parser): Likewise.
12890 (grub_parser_register): New inline function.
12891 (grub_parser_unregister): Likewise.
12892 (grub_parser_get_current): Likewise.
12893 (grub_parser_set_current): Likewise.
12894
12895 * include/grub/reader.h: New file.
12896 * kern/reader.c: Likewise.
12897 * kern/rescue_parser.c: Likewise.
12898 * kern/rescue_reader.c: Likewise.
12899 * normal/autofs.c: Likewise.
12900 * normal/dyncmd.c: Likewise.
12901
12902 * include/grub/rescue.h: Removed.
12903 * normal/command.h: Likewise.
12904
12905 * include/grub/script.h: Moved to ...
12906 * include/grub/script_sh.h: ... Moved here.
12907 * normal/execute.c: Moved to ...
12908 * script/sh/execute.c: ... Moved here.
12909 * normal/function.c: Moved to ...
12910 * script/sh/function.c: ... Moved here.
12911 * normal/lexer.c: Moved to ...
12912 * script/sh/lexer.c: ... Moved here.
12913 * normal/parser.y: Moved to ...
12914 * script/sh/parser.y: ... Moved here.
12915 * normal/script.c: Moved to ...
12916 * script/sh/script.c: ... Moved here.
12917
12918 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12919 <grub/reader.h>.
12920 (grub_exit_env): Removed.
12921 (fs_module_list): Moved to normal/autofs.c.
12922 (grub_file_getline): Don't handle comment here.
12923 (free_menu): Skip removed field entry->commands.
12924 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12925 script parameter.
12926 (read_config_file): Removed nested parameter, change getline function.
12927 (grub_enter_normal_mode): Removed.
12928 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12929 (read_command_list): Likewise.
12930 (autoload_fs_module): Moved to normal/autofs.c.
12931 (read_fs_list): Likewise.
12932 (reader_nested): New variable.
12933 (grub_normal_execute): Run parser.sh to switch to sh parser.
12934 (grub_cmd_rescue): Removed.
12935 (cmd_normal): Removed.
12936 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12937 rescue command.
12938 (grub_cmdline_run): New function.
12939 (grub_normal_reader_init): Likewise.
12940 (grub_normal_read_line): Likewise.
12941 (grub_env_write_pager): Likewise.
12942 (cmdline): New variable.
12943 (grub_normal_reader): Likewise.
12944 (GRUB_MOD_INIT): Register normal reader and set as current, register
12945 pager hook, register normal command with grub_register_command_prio,
12946 so that it won't show up in command.lst.
12947 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12948 grub_fs_autoload_hook.
12949
12950 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12951 (grub_menu_execute_entry): Replace grub_script_execute with
12952 grub_parser_execute, change parameter to grub_command_execute.
12953
12954 * normal/menu_text.c: Remove <grub/script.h>.
12955
12956 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12957 and <grub/parser.h>.
12958 (run): Change editor_getline to use new parser interface. Change
12959 parameter to grub_command_execute.
12960
12961 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12962 <grub/reader.h> and <grub/parser.h>.
12963 (grub_load_normal_mode): Execute normal command.
12964 (grub_main): Call grub_register_core_commands,
12965 grub_register_rescue_parser and grub_register_rescue_reader, use
12966 grub_reader_loop to enter input loop.
12967
12968 * kern/parser.c (grub_parser_split_cmdline): Change type of
12969 getline parameter.
12970 (grub_parser_class): New variable.
12971 (grub_parser_execute): New function.
12972
12973 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12974 * loader/multiboot2.c: Likewise.
12975 * loader/sparc64/ieee1275/linux.c: Likewise.
12976
12977 * util/grub-emu.c (read_command_list): New dummy function.
12978
12979 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12980
12981 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12982 count to 16 for CCISS and IDA.
12983
12984 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12985
12986 * normal/menu_text.c (grub_wait_after_message): Print a newline
12987 after waiting for user input.
12988
12989 * loader/i386/linux.c: Include `<grub/normal.h>'.
12990 (grub_cmd_linux): Improve the error message about `ask' mode, by
12991 waiting for user input so it's not missed (we can do this, since
12992 user requested interaction).
12993
12994 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 Added missing lst to grub-mkrescue
12997
12998 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12999 and ${input_dir}/parttool.lst
13000
13001 2009-04-30 David S. Miller <davem@davemloft.net>
13002
13003 * util/hostdisk.c (device_is_wholedisk): New function.
13004 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13005 zero only if device_is_wholedisk() returns true.
13006
13007 * util/hostdisk.c (convert_system_partition_to_system_disk):
13008 Handle virtual disk devices named /dev/vdiskX as found on sparc
13009 and powerpc.
13010
13011 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13012 lettered partition specifier is found, convert to numbered.
13013
13014 2009-04-29 David S. Miller <davem@davemloft.net>
13015
13016 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13017 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13018
13019 * normal/command.c: Add missing newline at end of file.
13020
13021 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13022 warnings.
13023 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13024 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13025 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13026 ihandles have a 32-bit type but need to be stored in a "void *".
13027
13028 2009-04-28 Pavel Roskin <proski@gnu.org>
13029
13030 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13031 not disk. Adjust all dependencies.
13032 (grub_fs_uuid_close): Use grub_device_close(), not
13033 grub_disk_close().
13034
13035 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13036 parent's partition, don't copy it by reference, as it gets freed
13037 on close.
13038
13039 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 Preboot hooks support
13042
13043 * commands/boot.c (struct grub_preboot_t): new declaration
13044 (preboots_head): new variable
13045 (preboots_tail): likewise
13046 (grub_loader_register_preboot_hook): new function
13047 (grub_loader_unregister_preboot_hook): likewise
13048 (grub_loader_set): launch preboot hooks
13049 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13050 (grub_loader_register_preboot_hook): new declaration
13051 (grub_loader_unregister_preboot_hook): likewise
13052
13053 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 Warning fix
13056
13057 * disk/scsi.c (grub_scsi_open): added missing cast when
13058 calling grub_dprintf
13059
13060 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Bug and warning fixes
13063
13064 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13065 declaration
13066 * commands/test.c (test_parse): fixed bug with file tests and corrected
13067 declaration of find_file
13068
13069 2009-04-26 Pavel Roskin <proski@gnu.org>
13070
13071 * Makefile.in: Don't install empty manual pages if help2man is
13072 missing. Use help2man option for output, not shell redirection.
13073
13074 2009-04-26 David S. Miller <davem@davemloft.net>
13075
13076 * util/grub-mkdevicemap.c (make_device_map): Add missing
13077 NESTED_FUNC_ATTR to process_device().
13078
13079 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 Test command
13082
13083 * commands/test.c: rewritten to use bash-like test
13084
13085 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Parttool autoloading and improvements
13088
13089 * Makefile.in (pkglib_DATA): add parttool.lst
13090 (parttool.lst): new target
13091 * genmk.rb: generate parttool-*
13092 (CLEANFILES): add #{parttool}
13093 (PARTTOOLFILES): new variable
13094 * genparttoollist.sh: new file
13095 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13096 (grub_pcpart_type): likewise
13097 * commands/parttool.c (helpmsg): new variable
13098 (grub_cmd_parttool): output help if not enough arguments are supplied
13099 autoload modules
13100 (GRUB_MOD_INIT(parttool)): use helpmsg
13101
13102 2009-04-24 David S. Miller <davem@davemloft.net>
13103
13104 Avoiding opening same device multiple times in device iterator.
13105
13106 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13107 and use it to build a list of partitions in iterate_disk() and
13108 iterate_partition().
13109
13110 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13111 on disk->data.
13112
13113 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13114 grub_devalias_iterate() result instead of unconditional 0.
13115 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13116 Also, capture hook return value, either directly or via
13117 grub_children_iterate(), and propagate to caller.
13118 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13119 grub_children_iterate): Return value is now 'int' instead of
13120 'grub_err_t'.
13121 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13122 like a proper iterator, stopping when hooks return non-zero.
13123 (grub_devalias_iterate): Likewise.
13124
13125 2009-04-23 David S. Miller <davem@davemloft.net>
13126
13127 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13128
13129 2009-04-22 David S. Miller <davem@davemloft.net>
13130
13131 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13132 is larger than address_cells, use that value for address_cells too.
13133
13134 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13135 IEEE1275_MAX_PATH_LEN): Define.
13136 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13137 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13138 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13139 'devtype'. Explicitly NULL terminate devalias expansion.
13140
13141 * util/sparc64/ieee1275/misc.c: New file.
13142 * util/sparc64/ieee1275/grub-setup.c: New file.
13143 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13144 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13145 * util/sparc64/ieee1275/grub-install.in: New file.
13146 * util/ieee1275/ofpath.c: New file.
13147 * util/ieee1275/devicemap.c: New file.
13148 * util/devicemap.c: New file.
13149 * util/deviceiter.c: New file.
13150 * kern/sparc64/ieee1275/init.c: New file.
13151 * include/grub/util/ofpath.h: New file.
13152 * include/grub/util/deviceiter.h: New file.
13153 * util/grub-mkdevicemap.c: Include deviceiter.h.
13154 Implement using grub_util_emit_devicemap_entry and
13155 grub_util_iterate_devices.
13156 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13157 util/devicemap.c into grub-mkdevicemap
13158 * conf/i386-efi.rmk: Likewise.
13159 * conf/i386-ieee1275.rmk: Likewise.
13160 * conf/i386-pc.rmk: Likewise.
13161 * conf/powerpc-ieee1275.rmk: Likewise.
13162 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13163 images and installation utilities. Build kernel as image
13164 instead of as elf binary. Use common rules as much as possible.
13165
13166 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Correct GPT definition
13169
13170 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13171 of "attrib" member
13172
13173 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13174
13175 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13176
13177 2009-04-19 David S. Miller <davem@davemloft.net>
13178
13179 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13180 (grub_rescue_cmd_linux): Rename to...
13181 (grub_cmd_linux): and fix prototype.
13182 (grub_rescue_cmd_initrd): Rename to...
13183 (grub_cmd_initrd): and fix prototype.
13184 (cmd_linux, cmd_initrd): New.
13185 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13186 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13187
13188 2009-04-17 Pavel Roskin <proski@gnu.org>
13189
13190 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13191 format.
13192 (grub_ohci_transfer): Likewise.
13193
13194 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13195
13196 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13197 return without a value. Fix inconsistent indentation.
13198
13199 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13200 match struct grub_fs.
13201
13202 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13203 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13204 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13205 * commands/lspci.c (grub_lspci_iter): Likewise.
13206
13207 2009-04-16 Bean <bean123ch@gmail.com>
13208
13209 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13210 value.
13211
13212 2009-04-15 Pavel Roskin <proski@gnu.org>
13213
13214 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13215 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13216 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13217 definitions.
13218
13219 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13220
13221 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13222 that no multiple data or metadata areas are supported and `Unknown
13223 metadata header'.
13224
13225 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Move loader out of the kernel
13228
13229 * kern/loader.c: moved to ...
13230 * commands/boot.c: ... moved here
13231 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13232 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13233 * include/grub/kernel.h (grub_machine_fini): export
13234 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13235 (grub_loader_set): likewise
13236 (grub_loader_unset): likewise
13237 (grub_loader_boot): likewise
13238 * conf/common.rmk: new module boot.mod
13239 (pkglib_MODULES): add boot.mod
13240 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13241 (grub_emu_SOURCES): likewise
13242 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13243 (grub_emu_SOURCES): likewise
13244 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13245 (grub_emu_SOURCES): likewise
13246 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13247 (grub_emu_SOURCES): likewise
13248 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13249 (grub_emu_SOURCES): likewise
13250 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13251 (grub_emu_SOURCES): likewise
13252 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13253 (grub_emu_SOURCES): likewise
13254
13255 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13258
13259 * kern/misc.c (grub_itoa): Removed function
13260 (grub_ltoa): likewise
13261 (grub_vsprintf): use grub_lltoa
13262
13263 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 Restore grub-emu
13266
13267 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13268 * conf/i386-coreboot.rmk: likewise
13269 * conf/i386-ieee1275.rmk: likewise
13270 * conf/powerpc-ieee1275.rmk: likewise
13271
13272 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13273
13274 * INSTALL: Add that `./autogen.sh' needs to be run before
13275 `./configure.'.
13276
13277 2009-04-14 Bean <bean123ch@gmail.com>
13278
13279 * Makefile.in (pkglib_DATA): Add handler.lst.
13280 (handler.lst): New rule.
13281
13282 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13283 * conf/i386-coreboot.rmk: Likewise.
13284 * conf/i386-ieee1275.rmk: Likewise.
13285 * conf/i386-efi.rmk: Likewise.
13286 * conf/x86_64-efi.rmk: Likewise.
13287 * conf/powerpc-ieee1275.rmk: Likewise.
13288 * conf/sparc64-ieee1275.rmk: Likewise.
13289
13290 * genhandlerlist.sh: New file.
13291
13292 * genmk.rb: Add rules to generate handler.lst.
13293
13294 * include/grub/normal.h (grub_file_getline): New function definition.
13295 (read_handler_list): Likewise.
13296 (free_handler_list): Likewise.
13297
13298 * include/grub/term.h (grub_term_register_input): Add name parameter
13299 for auto generation of handler.lst.
13300 (grub_term_register_output): Likewise.
13301
13302 * normal/handler.c: New file.
13303
13304 * normal/main.c (get_line): Renamed to grub_file_getline.
13305 (read_config_file): Use the newly renamed grub_file_getline.
13306 (read_command_list): Likewise.
13307 (read_fs_list): Likewise.
13308 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13309 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13310
13311 * term/efi/console.c (grub_console_init): Add name parameter for auto
13312 generation of handler.lst.
13313 * term/gfxterm.c: Likewise.
13314 * term/i386/pc/at_keyboard.c: Likewise.
13315 * term/i386/pc/console.c: Likewise.
13316 * term/i386/pc/serial.c: Likewise.
13317 * term/i386/pc/vesafb.c: Likewise.
13318 * term/i386/pc/vga.c: Likewise.
13319 * term/i386/pc/vga_text.c: Likewise.
13320 * term/ieee1275/ofconsole.c: Likewise.
13321 * term/usb_keyboard.c: Likewise.
13322
13323 2009-04-14 Bean <bean123ch@gmail.com>
13324
13325 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13326 properly with null character.
13327
13328 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13329
13330 * configure: Remove.
13331 * config.h.in: Likewise.
13332 * stamp-h.in: Likewise.
13333 * DISTLIST: Likewise.
13334 * conf/common.mk: Likewise.
13335 * conf/i386-coreboot.mk: Likewise.
13336 * conf/i386-efi.mk: Likewise.
13337 * conf/i386-ieee1275.mk: Likewise.
13338 * conf/i386.mk: Likewise.
13339 * conf/i386-pc.mk: Likewise.
13340 * conf/powerpc-ieee1275.mk: Likewise.
13341 * conf/sparc64-ieee1275.mk: Likewise.
13342 * conf/x86_64-efi.mk: Likewise.
13343
13344 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13345 develop on GRUB.
13346
13347 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13348 David S. Miller <davem@davemloft.net>
13349
13350 * util/hostdisk.c (make_device_name): Fix buffer length
13351 calculations.
13352
13353 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13354
13355 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13356 <sys/param.h> and <sys/sysctl.h>.
13357 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13358 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13359 opening the device and reset them afterwards.
13360
13361 2009-04-13 Pavel Roskin <proski@gnu.org>
13362
13363 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13364 Reported by John Stanley <jpsinthemix@verizon.net>
13365
13366 2009-04-13 Robert Millan <rmh@aybabtu.com>
13367
13368 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13369 that name for menuentries when appropriate.
13370
13371 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13372
13373 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13374
13375 2009-04-13 Robert Millan <rmh@aybabtu.com>
13376
13377 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13378 to Linux, simply abort telling the user it's no longer supported.
13379
13380 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13381
13382 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13383 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13384 `freebsd_loadenv' only when devices.hints exist.
13385
13386 2009-04-13 Pavel Roskin <proski@gnu.org>
13387
13388 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13389
13390 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13391
13392 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13393 partition number.
13394 (grub_drive): Likewise.
13395
13396 2009-04-13 David S. Miller <davem@davemloft.net>
13397
13398 * kern/sparc64/ieee1275/ieee1275.c: New file.
13399 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13400 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13401 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13402 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13403 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13404 grub_ieee1275_alloc_physmem): Declare new exported functions.
13405
13406 * include/grub/sparc64/ieee1275/loader.h: New file.
13407 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13408 * include/grub/sparc64/kernel.h: Likewise.
13409 * loader/sparc64/ieee1275/linux.c: Likewise.
13410
13411 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13412 (grub_fstest_SOURCES): Likewise.
13413
13414 * util/hostdisk.c (make_device_name): Do not make any assumptions
13415 about the length of drive names.
13416
13417 * kern/dl.c (grub_dl_load_file): Close file immediately when
13418 we are done using it.
13419
13420 2009-04-12 David S. Miller <davem@davemloft.net>
13421
13422 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13423 values. Noticed by Pavel Roskin.
13424
13425 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13426 target compiler.
13427
13428 * genmk.rb: Add more flexible image type specification, also
13429 pass --strip-unneeded to objcopy.
13430 * conf/i386-pc.rmk: Use *_FORMAT.
13431 * conf/i386-pc.mk: Rebuilt.
13432
13433 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13434 (OFDISK_HASH_SZ): Define.
13435 (ofdisk_hash): New hash table.
13436 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13437 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13438 instead of device phandle which is not unique.
13439
13440 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13441 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13442 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13443 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13444 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13445 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13446 GRUB_KERNEL_MACHINE_DATA_END): Define.
13447 (grub_kernel_image_size, grub_total_module_size): Declare.
13448
13449 2009-04-12 Pavel Roskin <proski@gnu.org>
13450
13451 * configure.ac: Change the logic when we check for target tools.
13452 Do it when the target is specified and it's different from the
13453 specified value of the host.
13454
13455 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13456
13457 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13458 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13459 GNU/kFreeBSD. Check if a device is a character device. Use
13460 DIOCGMEDIASIZE to get the size.
13461 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13462 support for GNU/kFreeBSD.
13463 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13464 is a character device instead of a block device. Add support for
13465 FreeBSD device names.
13466
13467 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13468 is a character device instead of a block device.
13469
13470 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13471 is a character device instead of a block device.
13472
13473 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13474
13475 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13476 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13477 FreeBSD. Check if a device is a character device. Use
13478 DIOCGMEDIASIZE to get the size.
13479 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13480 support for FreeBSD.
13481 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13482 is a character device instead of a block device. Add support for
13483 FreeBSD device names.
13484
13485 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13486 a character device instead of a block device.
13487 (grub_util_check_char_device): New function.
13488
13489 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13490 a character device instead of a block device.
13491
13492 * include/grub/util/getroot.h (grub_util_check_char_device): New
13493 prototype.
13494
13495 2009-04-11 David S. Miller <davem@davemloft.net>
13496
13497 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13498 static libgcc.
13499 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13500 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13501 function, if present.
13502 (__bswapdi2): Likewise.
13503
13504 * include/grub/sparc64/ieee1275/boot.h: New file.
13505 * boot/sparc64/ieee1275/boot.S: Likewise.
13506 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13507
13508 * kern/misc.c (grub_ltoa): New function.
13509 (grub_vsprintf): Use it to format 'long' integers.
13510
13511 2009-04-10 David S. Miller <davem@davemloft.net>
13512
13513 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13514 slots are of type grub_ieee1275_cell_t.
13515 (grub_nand_read): Likewise.
13516 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13517 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13518 macros are used to compare values in arg/ret block of the call.
13519 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13520 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13521 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13522 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13523 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13524 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13525 grub_ieee1275_close, grub_ieee1275_set_property,
13526 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13527 grub_ieee1275_cell_t.
13528 * kern/ieee1275/openfw.c (grub_map): Likewise.
13529 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13530 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13531
13532 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13533 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13534 (grub_devalias_iterate): Likewise.
13535
13536 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 UFS improvements
13539
13540 * fs/ufs.c (INODE_NBLOCKS): new definition
13541 (struct grub_ufs_dirent): added fields for non-BSD dirents
13542 (grub_ufs_get_file_block): fixed double indirect handling
13543 (grub_ufs_lookup_symlink): use more robust way to determine whether
13544 symlink is inline
13545 (grub_ufs_find_file): support for non-BSD dirents
13546 (grub_ufs_dir): support for non-BSD dirents
13547
13548 2009-04-10 Bean <bean123ch@gnail.com>
13549
13550 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13551 attribute, otherwise the size would be wrong for i386 platform.
13552
13553 * include/grub/pci.h (grub_pci_read_word): New inline function.
13554 (grub_pci_read_byte): Likewise.
13555 (grub_pci_write): Likewise.
13556 (grub_pci_write_word): Likewise.
13557 (grub_pci_write_byte): Likewise.
13558
13559 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13560
13561 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13562 (find_framebuf): Scan pci to locate the frame buffer address.
13563
13564 * commands/efi/fixvideo.c: New file.
13565
13566 * commands/efi/loadbios.c: Likewise.
13567
13568 * commands/memrw.c: Likewise.
13569
13570 * util/grub-dumpbios.in: Likewise.
13571
13572 * conf/common.rmk (grub-dumpbios): New utility.
13573 (pkglib_MODULES): New module memrw.mod.
13574 (memrw_mod_SOURCE): New macro.
13575 (memrw_mod_CFLAGS): Likewise.
13576 (memrw_mod_LDFLAGS): Likewise.
13577
13578 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13579 fixvideo.mod.
13580 (loadbios_mod_SOURCE): New macro.
13581 (loadbios_mod_CFLAGS): Likewise.
13582 (loadbios_mod_LDFLAGS): Likewise.
13583 (fixvideo_mod_SOURCE): Likewise.
13584 (fixvideo_mod_CFLAGS): Likewise.
13585 (fixvideo_mod_LDFLAGS): Likewise.
13586
13587 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13588 fixvideo.mod.
13589 (loadbios_mod_SOURCE): New macro.
13590 (loadbios_mod_CFLAGS): Likewise.
13591 (loadbios_mod_LDFLAGS): Likewise.
13592 (fixvideo_mod_SOURCE): Likewise.
13593 (fixvideo_mod_CFLAGS): Likewise.
13594 (fixvideo_mod_LDFLAGS): Likewise.
13595
13596 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13597
13598 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13599
13600 2009-04-07 David S. Miller <davem@davemloft.net>
13601
13602 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13603 support for R_SPARC_OLO10 relocations. Fix compile warning for
13604 R_SPARC_WDISP30 case.
13605 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13606
13607 2009-04-06 Pavel Roskin <proski@gnu.org>
13608
13609 * include/grub/misc.h (ARRAY_SIZE): New macro.
13610 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13611 New macro.
13612 * loader/i386/linux.c (allocate_pages): Use free_pages().
13613 (grub_linux_unload): Don't use free_pages().
13614 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13615 wrong index. Treat all other modes as text modes.
13616 (grub_cmd_linux): Initialize vid_mode unconditionally to
13617 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13618
13619 * commands/help.c (print_command_help): Use cmd->prio, not
13620 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13621
13622 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Parttool
13625
13626 * parttool/pcpart.c: new file
13627 * commands/parttool.c: likewise
13628 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13629 (parttool_mod_SOURCES): new variable
13630 (parttool_mod_CFLAGS): likewise
13631 (parttool_mod_LDFLAGS): likewise
13632 (pcpart_mod_SOURCES): likewise
13633 (pcpart_mod_CFLAGS): likewise
13634 (pcpart_mod_LDFLAGS): likewise
13635 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13636 and parttool/pcpart.c
13637 * conf/i386-efi.rmk: likewise
13638 * conf/i386-ieee1275.rmk: likewise
13639 * conf/i386-pc.rmk: likewise
13640 * conf/powerpc-ieee1275.rmk: likewise
13641 * conf/sparc64-ieee1275.rmk: likewise
13642 * conf/x86_64-ieee1275.rmk: likewise
13643
13644 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 Support for mtime and further expandability of dir command
13647
13648 * include/grub/lib/datetime.h: moved to ...
13649 * include/grub/datetime.h: ... moved here and added
13650 declaration of grub_unixtime2datetime. All users updated
13651 * include/grub/fs.h: new syntax for dir and mtime functions in
13652 struct grub_fs
13653 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13654 and GRUB_FSHELP_FLAGS_MASK
13655 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13656 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13657 (grub_ext2_mtime): new function
13658 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13659 (grub_hfsplus_mtime): new function
13660 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13661 (GRUB_UFS_ATTR_FILE): likewise
13662 (GRUB_UFS_ATTR_LNK): likewise
13663 (struct grub_ufs_sblock): new fields mtime
13664 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13665 all users updated
13666 (grub_ufs_dir): mtime support
13667 (grub_ufs_mtime): new function
13668 * fs/affs.c (grub_affs_dir): use new dir syntax
13669 * fs/afs.c (grub_afs_dir): likewise
13670 * fs/cpio.c (grub_cpio_dir): likewise
13671 * fs/fat.c (grub_fat_find_dir): likewise
13672 * fs/hfs.c (grub_hfs_dir): likewise
13673 * fs/iso9660.c (grub_iso9660_dir): likewise
13674 * fs/jfs.c (grub_jfs_dir): likewise
13675 * fs/minix.c (grub_minix_dir): likewise
13676 * fs/ntfs.c (grub_ntfs_dir): likewise
13677 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13678 * fs/sfs.c (grub_sfs_dir): likewise
13679 * fs/xfs.c (grub_xfs_dir): likewise
13680 * util/hostfs.c (grub_hostfs_dir): likewise
13681 * lib/datetime.c: moved to ...
13682 * normal/datetime.c: ... moved here
13683 (grub_unixtime2datetime): new function
13684 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13685 * normal/completion.c (iterate_dir): use new dir syntax
13686 * normal/misc.c (grub_normal_print_device_info): tell the
13687 last modification time of a volume
13688 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13689 * conf/common.rmk: added lib/datetime.c to ls.mod
13690 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13691 (normal_mod_SOURCES): likewise
13692 (datetime_mod_SOURCES): Removed lib/datetime.c
13693 * conf/i386-efi.rmk: likewise
13694 * conf/i386-ieee1275.rmk: likewise
13695 * conf/i386-pc.rmk: likewise
13696 * conf/powerpc-ieee1275.rmk: likewise
13697 * conf/sparc64-ieee1275.rmk: likewise
13698 * conf/x86_64-efi.rmk: likewise
13699
13700 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 Trim trailing spaces in FAT label and support mtools-like labels
13703
13704 * fs/fat.c (grub_fat_iterate_dir): New function based
13705 on grub_fat_find_dir
13706 (grub_fat_find_dir): use grub_fat_iterate_dir
13707 (grub_fat_label): likewise
13708
13709 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13712 and command.h
13713 remove extraneous kernel_elf_HEADERS
13714
13715 2009-04-04 Bean <bean123ch@gnail.com>
13716
13717 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13718
13719 * util/misc.c: Likewise.
13720
13721 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13722
13723 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13724 instead of grub_printf.
13725
13726 2009-04-03 Robert Millan <rmh@aybabtu.com>
13727
13728 * loader/i386/linux.c (grub_linux_setup_video): Fill
13729 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13730 values from `mode info' structure instead of hardcoded
13731 values.
13732
13733 2009-04-01 Pavel Roskin <proski@gnu.org>
13734
13735 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13736 unused now.
13737 * genmk.rb: Likewise.
13738 * configure.ac: Likewise.
13739
13740 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13741
13742 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13743 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13744
13745 2009-04-01 David S. Miller <davem@davemloft.net>
13746
13747 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13748 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13749 (grub_setjmp): Mark with 'returns_twice' attribute.
13750 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13751 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13752 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13753
13754 2009-04-01 Robert Millan <rmh@aybabtu.com>
13755
13756 Reapply fix from 2008-07-28 which was accidentally reverted; also
13757 perform the same fix to a similar check in same function.
13758
13759 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13760 with the same number are found, just use issue a warning with
13761 grub_dprintf(), as this error has been reported to be non-fatal.
13762
13763 2009-03-31 Pavel Roskin <proski@gnu.org>
13764
13765 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13766 for cross-compilation.
13767
13768 2009-03-30 Robert Millan <rmh@aybabtu.com>
13769
13770 Fix i386-ieee1275 build.
13771
13772 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13773 Remove declaration.
13774
13775 2009-03-30 Pavel Roskin <proski@gnu.org>
13776
13777 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13778 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13779 zero-terminated, rely only on the strlen value. Fix comparison
13780 of strings differing in length.
13781
13782 2009-03-30 Robert Millan <rmh@aybabtu.com>
13783
13784 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13785 checking for abi version. Improve error messages on BIOS to notify
13786 user about `linux16' command.
13787
13788 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 Leak fixes
13791
13792 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13793 in case of collision
13794 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13795
13796 2009-03-29 Robert Millan <rmh@aybabtu.com>
13797
13798 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13799 set `vid_mode' accordingly.
13800 (grub_linux_boot): Process `vid_mode' and set video mode.
13801
13802 2009-03-29 Robert Millan <rmh@aybabtu.com>
13803
13804 * util/grub.d/10_linux.in (linux_entry): New function.
13805 Factorize generation of Linux boot entries.
13806
13807 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13808
13809 Make the format of Environment Block plain text. The boot loader
13810 part is not tested well yet.
13811
13812 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13813 (buffer): Removed.
13814 (envblk): Likewise.
13815 (usage): Remove "info" and "clear". Add "unset". Update the
13816 description of "set", as this does not delete variables any
13817 longer.
13818 (create_envblk_file): Complete rewrite.
13819 (open_envblk_file): Likewise.
13820 (cmd_info): Removed.
13821 (cmd_list): Likewise.
13822 (cmd_set): Likewise.
13823 (cmd_clear): Likewise.
13824 (list_variables): New function.
13825 (write_envblk): Likewise.
13826 (set_variables): Likewise.
13827 (unset_variables): Likewise.
13828 (main): Complete rewrite.
13829
13830 * commands/loadenv.c (buffer): Removed.
13831 (envblk): Likewise.
13832 (open_envblk_file): New function.
13833 (read_envblk_file): Complete rewrite.
13834 (grub_cmd_load_env): Likewise.
13835 (grub_cmd_list_env): Likewise.
13836 (struct blocklist): New struct.
13837 (free_blocklists): New function.
13838 (check_blocklists): Likewise.
13839 (write_blocklists): Likewise.
13840 (grub_cmd_save_env): Complete rewrite.
13841
13842 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13843 a plain text signature.
13844 (GRUB_ENVBLK_MAXLEN): Removed.
13845 (struct grub_envblk): Complete rewrite.
13846 (grub_envblk_find): Removed.
13847 (grub_envblk_insert): Likewise.
13848 (grub_envblk_open): New prototype.
13849 (grub_envblk_set): Likewise.
13850 (grub_envblk_delete): Put const to VALUE.
13851 (grub_envblk_iterate): Put const to NAME and VALUE.
13852 (grub_envblk_close): New prototype.
13853 (grub_envblk_buffer): New inline function.
13854 (grub_envblk_size): Likewise.
13855
13856 * lib/envblk.c: Include grub/mm.h.
13857 (grub_env_find): Removed.
13858 (grub_envblk_open): New function.
13859 (grub_envblk_close): Likewise.
13860 (escaped_value_len): Likewise.
13861 (find_next_line): Likewise.
13862 (grub_envblk_insert): Removed.
13863 (grub_envblk_set): New function.
13864 (grub_envblk_delete): Complete rewrite.
13865 (grub_envblk_iterate): Likewise.
13866
13867 2009-03-28 Robert Millan <rmh@aybabtu.com>
13868
13869 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13870 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13871 variables. Use 16-bit loader.
13872 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13873 loader.
13874 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13875 (grub_linux16_boot): ... this. Update all users.
13876 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13877 (grub_linux_boot): ... this. Update all users.
13878
13879 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13880 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13881 commands to `linux16' and `initrd16'.
13882 (GRUB_MOD_FINI(linux)): Rename to ...
13883 (GRUB_MOD_FINI(linux16)): ... this.
13884
13885 2009-03-24 Pavel Roskin <proski@gnu.org>
13886
13887 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13888 not just for compilation.
13889
13890 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 Move multiboot helper out of kernel
13893
13894 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13895 `loader/i386/multiboot_helper.S'.
13896 * conf/i386-coreboot.rmk: Likewise
13897 * conf/i386-ieee1275.rmk: Likewise
13898
13899 * kern/i386/loader.S: Move multiboot helpers from here...
13900 * loader/i386/multiboot_helper.S: ...moved here
13901 * include/grub/i386/loader.h: Move declarations of multiboot
13902 helpers from here...
13903 * include/grub/i386/multiboot.h: ...moved here
13904 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13905
13906 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13907
13908 * kern/env.c (grub_env_context_open): Added an argument to specify
13909 whether a new context inherits exported variables from current
13910 one. This is useful when making a sandbox to interpret a config
13911 file.
13912 All callers updated.
13913
13914 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13915
13916 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13917
13918 * kern/env.c (grub_env_context_close): Fix memory leaks.
13919
13920 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13921
13922 * normal/main.c (grub_normal_execute): Added an argument
13923 BATCH to specify if an interactive interface should be provided
13924 after reading a config file.
13925 All callers updated.
13926 (read_command_list): Prevent being executed twice.
13927 (read_fs_list): Likewise.
13928
13929 * include/grub/normal.h (grub_normal_execute): Updated the
13930 prototype.
13931
13932 2009-03-22 Pavel Roskin <proski@gno.org>
13933
13934 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13935 _start.
13936 * kern/i386/pc/startup.S: Likewise.
13937 * kern/i386/efi/startup.S: Likewise.
13938 * kern/i386/ieee1275/startup.S: Likewise.
13939 * kern/i386/coreboot/startup.S: Likewise.
13940 * kern/x86_64/efi/startup.S: Likewise.
13941
13942 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13943 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13944 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13945
13946 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13949
13950 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13951 limit detection.
13952 Use vaddr of correct segment for entry_point.
13953
13954 2009-03-21 Bean <bean123ch@gmail.com>
13955
13956 * commands/blocklist.c: Add include file <grub/command.h>, remove
13957 <grub/normal.h> and <grub/arg.h>.
13958 (grub_cmd_blocklist): Use the new command interface.
13959 (GRUB_MOD_INIT): Likewise.
13960 (GRUB_MOD_FINI): Likewise.
13961 * commands/boot.c: Likewise.
13962 * commands/cat.c: Likewise.
13963 * commands/cmp.c: Likewise.
13964 * commands/configfile.c: Likewise.
13965 * commands/crc.c: Likewise.
13966 * commands/echo.c: Likewise.
13967 * commands/halt.c: Likewise.
13968 * commands/handler.c: Likewise.
13969 * commands/hdparm.c: Likewise.
13970 * commands/help.c: Likewise.
13971 * commands/hexdump.c: Likewise.
13972 * commands/loadenv.c: Likewise.
13973 * commands/ls.c: Likewise.
13974 * commands/lsmmap.c: Likewise.
13975 * commands/lspci.c: Likewise.
13976 * commands/loadenv.c: Likewise.
13977 * commands/read.c: Likewise.
13978 * commands/reboot.c: Likewise.
13979 * commands/search.c: Likewise.
13980 * commands/sleep.c: Likewise.
13981 * commands/test.c: Likewise.
13982 * commands/usbtest.c: Likewise.
13983 * commands/videotest.c: Likewise.
13984 * commands/i386/cpuid.c: Likewise.
13985 * commands/i386/pc/halt.c: Likewise.
13986 * commands/i386/pc/play.c: Likewise.
13987 * commands/i386/pc/pxecmd.c: Likewise.
13988 * commands/i386/pc/vbeinfo.c: Likewise.
13989 * commands/i386/pc/vbetest.c: Likewise.
13990 * commands/ieee1275/suspend.c: Likewise.
13991 * disk/loopback.c: Likewise.
13992 * font/font_cmd.c: Likewise.
13993 * hello/hello.c: Likewise.
13994 * loader/efi/appleloader.c: Likewise.
13995 * loader/efi/chainloader.c: Likewise.
13996 * loader/i386/bsd.c: Likewise.
13997 * loader/i386/efi/linux.c: Likewise.
13998 * loader/i386/ieee1275/linux.c: Likewise.
13999 * loader/i386/linux.c: Likewise.
14000 * loader/i386/pc/chainloader.c: Likewise.
14001 * loader/i386/pc/linux.c: Likewise.
14002 * loader/powerpc/ieee1275/linux.c: Likewise.
14003 * loader/multiboot_loader.c: Likewise.
14004 * term/gfxterm.c: Likewise.
14005 * term/i386/pc/serial.c: Likewise.
14006 * term/terminfo.c: Likewise.
14007
14008 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14009 * term/i386/pc/vga.c: Likewise.
14010 * video/readers/jpeg.c: Likewise.
14011 * video/readers/png.c: Likewise.
14012 * video/readers/tga.c: Likewise.
14013
14014 * util/grub-fstest (cmd_loopback): Removed.
14015 (cmd_blocklist): Likewise.
14016 (cmd_ls): Likewise.
14017 (grub_register_command): Likewise.
14018 (grub_unregister_command): Likewise.
14019 (execute_command): Use grub_command_find to locate command and execute
14020 it.
14021
14022 * include/grub/efi/chainloader.h: Removed.
14023 * loader/efi/chainloader_normal.c: Likewise.
14024 * loader/i386/bsd_normal.c: Likewise.
14025 * loader/i386/pc/chainloader_normal.c: Likewise.
14026 * loader/i386/pc/multiboot_normal.c: Likewise.
14027 * loader/linux_normal.c: Likewise.
14028 * loader/multiboot_loader_normal.c: Likewise.
14029 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14030
14031 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14032 and grub_register_command_p1.
14033
14034 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14035 kern/command.c, lib/arg.c and commands/extcmd.c.
14036 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14037 (minicmd_mod_SOURCES): New variable.
14038 (minicmd_mod_CFLAGS): Likewise.
14039 (minicmd_mod_LDFLAGS): Likewise.
14040 (extcmd_mod_SOURCES): Likewise.
14041 (extcmd_mod_CFLAGS): Likewise.
14042 (extcmd_mod_LDFLAGS): Likewise.
14043 (boot_mod_SOURCES): Removed.
14044 (boot_mod_CFLAGS): Likewise.
14045 (boot_mod_LDFLAGS): Likewise.
14046
14047 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14048 kern/corecmd.c.
14049 (kernel_img_HEADERS): Add command.h.
14050 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14051 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14052 and lib/arg.c.
14053 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14054 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14055 remove the corresponding normal mode command.
14056 (normal_mod_SOURCES): Remove normal/arg.c.
14057 * conf/i386-coreboot.rmk: Likewise.
14058 * conf/i386-efi.rmk: Likewise.
14059 * conf/i386-ieee1275.rmk: Likewise.
14060 * conf/powerpc-ieee1275.rmk: Likewise.
14061 * conf/x86_64-efi.rmk: Likewise.
14062
14063 * include/grub/arg.h: Move from here ...
14064 * include/grub/lib/arg.h: ... to here.
14065
14066 * normal/arg.c: Move from here ...
14067 * lib/arg.c: ... to here.
14068
14069 * commands/extcmd.c: New file.
14070 * commands/minicmd.c: Likewise.
14071 * include/grub/command.h: Likewise.
14072 * include/grub/extcmd.h: Likewise.
14073 * kern/command.c: Likewise.
14074 * kern/corecmd.c: Likewise.
14075
14076 * kern/list.c (grub_list_iterate): Return int instead of void.
14077 (grub_list_insert): New function.
14078 (grub_prio_list_insert): Likewise.
14079
14080 * kern/rescue.c (grub_rescue_command): Removed.
14081 (grub_rescue_command_list): Likewise.
14082 (grub_rescue_register_command): Likewise.
14083 (grub_rescue_unregister_command): Likewise.
14084 (grub_rescue_cmd_boot): Move to minicmd.c
14085 (grub_rescue_cmd_help): Likewise.
14086 (grub_rescue_cmd_info): Likewise.
14087 (grub_rescue_cmd_boot): Likewise.
14088 (grub_rescue_cmd_testload): Likewise.
14089 (grub_rescue_cmd_dump): Likewise.
14090 (grub_rescue_cmd_rmmod): Likewise.
14091 (grub_rescue_cmd_lsmod): Likewise.
14092 (grub_rescue_cmd_exit): Likewise.
14093 (grub_rescue_print_devices): Moved to corecmd.c.
14094 (grub_rescue_print_files): Likewise.
14095 (grub_rescue_cmd_ls): Likewise.
14096 (grub_rescue_cmd_insmod): Likewise.
14097 (grub_rescue_cmd_set): Likewise.
14098 (grub_rescue_cmd_unset): Likewise.
14099 (attempt_normal_mode): Use grub_command_find to get normal module.
14100 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14101 commands, remove grub_rescue_register_command calls.
14102
14103 * normal/command.c (grub_register_command): Removed.
14104 (grub_unregister_command): Likewise.
14105 (grub_command_find): Likewise.
14106 (grub_iterate_commands): Likewise.
14107 (rescue_command): Likewise.
14108 (export_command): Moved to corecmd.c.
14109 (set_command): Removed.
14110 (unset_command): Likewise.
14111 (insmod_command): Likewise.
14112 (rmmod_command): Likewise.
14113 (lsmod_command): Likewise.
14114 (grub_command_init): Likewise.
14115
14116 * normal/completion.c (iterate_command): Use cmd->prio to check for
14117 active command.
14118 (complete_arguments): Use grub_extcmd_t structure to find options.
14119 (grub_normal_do_completion): Change function grub_iterate_commands to
14120 grub_command_iterate.
14121
14122 * normal/execute.c (grub_script_execute_cmd): No need to parse
14123 argument here.
14124
14125 * normal/main.c (grub_dyncmd_dispatcher): New function.
14126 (read_command_list): Register unload commands as dyncmd.
14127 (grub_cmd_normal): Use new command interface, register rescue,
14128 unregister normal at entry, register normal, unregister rescue at exit.
14129
14130 * include/grub/list.h (grub_list_test_t): New type.
14131 (grub_list_iterate): Return int instead of void.
14132 (grub_list_insert): New function.
14133 (GRUB_AS_NAMED_LIST_P): New macro.
14134 (GRUB_AS_PRIO_LIST): Likewise.
14135 (GRUB_AS_PRIO_LIST_P): Likewise.
14136 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14137 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14138 (grub_prio_list): New structure.
14139 (grub_prio_list_insert): New function.
14140 (grub_prio_list_remove): New inline function.
14141
14142 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14143 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14144 (GRUB_COMMAND_FLAG_MENU): Likewise.
14145 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14146 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14147 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14148 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14149 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14150 (grub_command): Likewise.
14151 (grub_register_command): Likewise.
14152 (grub_command_find): Likewise.
14153 (grub_iterate_commands): Likewise.
14154 (grub_command_init): Likewise.
14155 (grub_arg_parse): Likewise.
14156 (grub_arg_show_help): Likewise.
14157
14158 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14159 (grub_rescue_unregister_command): Likewise.
14160
14161 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14162 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14163 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14164
14165 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14166 grub_rescue_cmd_initrd.
14167 * include/grub/i386/loader.h: Likewise.
14168 * include/grub/x86_64/loader.h: Likewise.
14169
14170 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14171
14172 2009-03-21 Bean <bean123ch@gmail.com>
14173
14174 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14175 instead of stat in mingw environment.
14176
14177 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14178
14179 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14180
14181 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14182 AC_CONFIG_LINKS.
14183
14184 2009-03-21 Bean <bean123ch@gmail.com>
14185
14186 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14187 out of range error.
14188
14189 2009-03-18 Michel Dänzer <michel@daenzer.net>
14190
14191 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14192 checking inode flags for EXT4_EXTENTS_FLAG.
14193
14194 2009-03-18 Robert Millan <rmh@aybabtu.com>
14195
14196 * loader/i386/linux.c: Include `<grub/video.h>' and
14197 `<grub/i386/pc/vbe.h>'..
14198 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14199 (grub_linux32_boot): Attempt to configure video settings with
14200 grub_linux_setup_video().
14201 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14202 to avoid grub_console_fini() which would step out of graphical mode
14203 unconditionally.
14204
14205 2009-03-14 Robert Millan <rmh@aybabtu.com>
14206
14207 Fix build on powerpc.
14208 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14209
14210 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14211
14212 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14213 background image command.
14214
14215 2009-03-12 Colin D Bennett <colin@gibibit.com>
14216
14217 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14218 (grub_gfxterm_putchar): Extract pairs of identical calls to
14219 draw_cursor out of conditional blocks.
14220
14221 2009-03-11 Pavel Roskin <proski@gnu.org>
14222
14223 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14224 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14225
14226 2009-03-11 Robert Millan <rmh@aybabtu.com>
14227
14228 * loader/i386/multiboot_elfxx.c
14229 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14230
14231 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14232
14233 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14234 `kern/handler.c'.
14235
14236 2009-03-11 Robert Millan <rmh@aybabtu.com>
14237
14238 * loader/i386/multiboot.c (code_size): New variable.
14239 (grub_multiboot): Define offsets by adding to `code_size' rather
14240 than subtracting from `grub_multiboot_payload_size'. Provide
14241 4-byte alignment to MBI and others by increasing
14242 `boot_loader_name_length' appropriately.
14243
14244 * loader/i386/multiboot_elfxx.c
14245 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14246
14247 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14248
14249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14250 `fs/ext2.c'.
14251
14252 2009-03-08 Robert Millan <rmh@aybabtu.com>
14253
14254 Make loader/i386/linux.c usable on i386-pc again.
14255
14256 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14257 memory to heap.
14258 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14259 `#error' stanza.
14260
14261 2009-03-07 Bean <bean123ch@gmail.com>
14262
14263 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14264 allocation.
14265
14266 2009-03-06 Robert Millan <rmh@aybabtu.com>
14267
14268 Fix display issue on terminals with screen size other than 80x25
14269 (e.g. gfxterm with resolution higher than 640x480).
14270
14271 * normal/main.c (grub_normal_init_page): Display title text in a
14272 position relative to the center of the terminal instead of relying
14273 on a hardcoded offset.
14274
14275 2009-03-04 Robert Millan <rmh@aybabtu.com>
14276
14277 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14278 installed.
14279
14280 * Makefile.in (host_kernel): New variable.
14281 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14282 scripts instead of just the windows one.
14283 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14284
14285 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14286
14287 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14288 `kern/handler.c'.
14289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14290 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14293 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14294 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14295
14296 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14297
14298 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14299 or if there's no space for the disk label and print the partition number on a
14300 invalid magic.
14301
14302 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14303
14304 * util/misc.c: Include <time.h>.
14305 (grub_millisleep): New function.
14306
14307 2009-03-04 Bean <bean123ch@gmail.com>
14308
14309 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14310 another option -mno-red-zone.
14311
14312 * commands/handler.c: Change module description.
14313
14314 * kern/handler.c: Add missing space at the end of description line.
14315
14316 * kern/list.c: Likewise.
14317
14318 2009-03-03 Robert Millan <rmh@aybabtu.com>
14319
14320 Move more components to the relocation area, and fix mbi pointer
14321 handling to use the destination rather than the origin (thanks to
14322 Vladimir Serbinenko for spotting).
14323
14324 * loader/i386/multiboot.c (mbi_dest): New variable.
14325 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14326 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14327 relocation area.
14328
14329 2009-03-01 Bean <bean123ch@gmail.com>
14330
14331 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14332 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14333 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14334 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14335
14336 * loader/i386/efi/linux.c (acpi_guid): New variable.
14337 (acpi_guid): Likewise.
14338 (EBDA_SEG_ADDR): New constant.
14339 (LOW_MEM_ADDR): Likewise.
14340 (FAKE_EBDA_SEG): Likewise.
14341 (fake_bios_data): New function.
14342 (grub_linux_boot): Call fake_bios_data.
14343
14344 2009-03-01 Bean <bean123ch@gmail.com>
14345
14346 * commands/terminal.c: Removed.
14347
14348 * commands/handler.c: New file.
14349
14350 * include/grub/list.h: Likewise.
14351
14352 * include/grub/handler.h: Likewise.
14353
14354 * kern/list.c: Likewise.
14355
14356 * kern/handler.c: Likewise.
14357
14358 * kern/term.h: Include header file <grub/handler.h>.
14359 (grub_term_input): Move next field to the beginning.
14360 (grub_term_output): Likewise.
14361 (grub_term_input_class): New variable.
14362 (grub_term_output_class): Likewise.
14363 (grub_term_register_input): Changed to inline function.
14364 (grub_term_register_output): Likewise.
14365 (grub_term_unregister_input): Likewise.
14366 (grub_term_unregister_output): Likewise.
14367 (grub_term_set_current_input): Likewise.
14368 (grub_term_set_current_output): Likewise.
14369 (grub_term_get_current_input): Likewise.
14370 (grub_term_get_current_output): Likewise.
14371 (grub_term_iterate_input): Removed.
14372 (grub_term_iterate_output): Likewise.
14373
14374 * kern/term.c (grub_term_list_input): Removed.
14375 (grub_term_list_output): Likewise.
14376 (grub_term_input_class): New variable.
14377 (grub_term_output_class): Likewise.
14378 (grub_cur_term_input): Change variable as macro.
14379 (grub_cur_term_output): Likewise.
14380 (grub_term_register_input): Removed.
14381 (grub_term_register_output): Likewise.
14382 (grub_term_unregister_input): Likewise.
14383 (grub_term_unregister_output): Likewise.
14384 (grub_term_set_current_input): Likewise.
14385 (grub_term_set_current_output): Likewise.
14386 (grub_term_iterate_input): Likewise.
14387 (grub_term_iterate_output): Likewise.
14388 (grub_term_get_current_input): Likewise.
14389 (grub_term_get_current_output): Likewise.
14390
14391 * util/grub-editenv.c: Include header file <grub/handler.h>.
14392 (grub_term_get_current_input): Removed.
14393 (grub_term_get_current_output): Likewise.
14394 (grub_term_input_class): New variable.
14395 (grub_term_output_class): Likewise.
14396
14397 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14398 (grub_term_get_current_output): Likewise.
14399 (grub_term_input_class): New variable.
14400 (grub_term_output_class): Likewise.
14401
14402 * util/grub-probe.c (grub_term_get_current_input): Removed.
14403 (grub_term_get_current_output): Likewise.
14404 (grub_term_input_class): New variable.
14405 (grub_term_output_class): Likewise.
14406
14407 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14408 (grub_term_get_current_output): Likewise.
14409 (grub_term_input_class): New variable.
14410 (grub_term_output_class): Likewise.
14411
14412 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14413 (terminal_mod_SOURCES): Likewise.
14414 (terminal_mod_CFLAGS): Likewise.
14415 (terminal_mod_LDFLAGS): Likewise.
14416
14417 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14418 handler.c.
14419 (kernel_img_SOURCES): Add list.c and handler.c.
14420 (kernel_img_HEADERS): Add list.h and handler.h.
14421
14422 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14423 handler.c.
14424 (kernel_mod_SOURCES): Add list.c and handler.c.
14425 (kernel_mod_HEADERS): Add list.h and handler.h.
14426
14427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14428 handler.c.
14429 (kernel_elf_SOURCES): Add list.c and handler.c.
14430 (kernel_elf_HEADERS): Add list.h and handler.h.
14431
14432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14433 handler.c.
14434 (kernel_elf_SOURCES): Add list.c and handler.c.
14435 (kernel_elf_HEADERS): Add list.h and handler.h.
14436
14437 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14438 handler.c.
14439 (kernel_mod_SOURCES): Add list.c and handler.c.
14440 (kernel_mod_HEADERS): Add list.h and handler.h.
14441
14442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14443 handler.c.
14444 (kernel_elf_SOURCES): Add list.c and handler.c.
14445 (kernel_elf_HEADERS): Add list.h and handler.h.
14446
14447 2009-02-27 Robert Millan <rmh@aybabtu.com>
14448
14449 Factorize elf32 / elf64 code in Multiboot loader. This will
14450 prevent it from getting out of sync again.
14451
14452 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14453 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14454 grub_multiboot_load_elf64): Move from here ...
14455 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14456 grub_multiboot_load_elf): ... to here (new file).
14457
14458 2009-02-27 Robert Millan <rmh@aybabtu.com>
14459
14460 * util/grub.d/10_linux.in: Rename "single-user mode" to
14461 "recovery mode".
14462
14463 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 Don't leak in SCSI code.
14466 * disk/scsi.c (grub_scsi_close): free `scsi'.
14467
14468 2009-02-27 Robert Millan <rmh@aybabtu.com>
14469
14470 * loader/i386/pc/multiboot.c: Move from here ...
14471 * loader/i386/multiboot.c: ... to here. Update all users.
14472
14473 2009-02-27 Robert Millan <rmh@aybabtu.com>
14474
14475 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14476 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14477
14478 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14479
14480 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14481 b-tree.
14482
14483 2009-02-27 Robert Millan <rmh@aybabtu.com>
14484
14485 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14486 `0x' qualifier as 0 when base is specified as parameter).
14487
14488 2009-02-24 Bean <bean123ch@gmail.com>
14489
14490 * configure.ac: Check for -mcmodel=large in x86_64 target.
14491
14492 * include/grub/efi/api.h (efi_call_10): New macro.
14493 (efi_wrap_10): New function.
14494
14495 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14496 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14497 (GRUB_PE32_REL_BASED_LOW): Likewise.
14498 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14499 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14500 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14501 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14502 (GRUB_PE32_REL_BASED_REL): Likewise.
14503 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14504 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14505 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14506
14507 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14508 issue.
14509
14510 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14511 (efi_wrap_10): New function.
14512
14513 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14514
14515 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14516 MB/MBP model (NV chipset).
14517 (devdata_devs): Add devpath_5 to the list.
14518
14519 * load/i386/efi/linux.c (video_base): Remove variable.
14520 (RGB_MASK): New macro.
14521 (RGB_MAGIC): Likewise.
14522 (LINE_MIN): Likewise.
14523 (LINE_MAX): Likewise.
14524 (FBTEST_STEP): Likewise.
14525 (FBTEST_COUNT): Likewise.
14526 (fb_list): New variable.
14527 (grub_find_video_card): Remove function.
14528 (find_framebuf): New function.
14529 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14530 line length.
14531
14532 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14533 problem for x86_64.
14534
14535 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14536
14537 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14538
14539 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14540 coding tool name.
14541
14542 2009-02-22 Robert Millan <rmh@aybabtu.com>
14543
14544 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14545 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14546 in our relocation, instead of using it directly from heap. Also
14547 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14548
14549 2009-02-21 Robert Millan <rmh@aybabtu.com>
14550
14551 Implement USB keyboard support (based on patch by Marco Gerards)
14552
14553 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14554 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14555 (usb_keyboard_mod_LDFLAGS): New variables.
14556
14557 * term/usb_keyboard.c: New file.
14558
14559 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 Corrected wrong declaration
14562
14563 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14564
14565 2009-02-14 Christian Franke <franke@computer.org>
14566
14567 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14568 (grub_lspci_iter): Print class code and programming interface byte.
14569
14570 2009-02-14 Christian Franke <franke@computer.org>
14571
14572 * gendistlist.sh: Ignore `.svn' directories.
14573
14574 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14575
14576 * fs/fat.c: Add 2009 to Copyright line.
14577
14578 2009-02-14 Christian Franke <franke@computer.org>
14579
14580 * commands/hdparm.c: New file. Provides `hdparm' command
14581 which sends ATA commands via grub_disk_ata_pass_through ().
14582
14583 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14584
14585 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14586 and <grub/cpu/io.h> to include/grub/ata.h.
14587 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14588 (GRUB_CDROM_SECTOR_SIZE): Remove.
14589 (GRUB_ATA_*): Move to include/grub/ata.h.
14590 (GRUB_ATAPI_*): Likewise.
14591 (enum grub_ata_commands): Likewise.
14592 (enum grub_ata_timeout_milliseconds): Likewise.
14593 (struct grub_ata_device): Likewise.
14594 (grub_ata_regset): Likewise.
14595 (grub_ata_regget): Likewise.
14596 (grub_ata_regset2): Likewise.
14597 (grub_ata_regget2): Likewise.
14598 (grub_ata_check_ready): Likewise.
14599 (grub_ata_wait_not_busy): Remove static, exported in
14600 include/grub/ata.h.
14601 (grub_ata_wait_drq): Likewise.
14602 (grub_ata_pio_read): Likewise.
14603
14604 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14605 function for hdparm.mod.
14606
14607 * include/grub/ata.h: New file, contains declarations from
14608 disk/ata.c.
14609 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14610
14611 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14612 (grub_disk_ata_pass_through): New exported variable.
14613
14614 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14615
14616 2009-02-13 Colin D Bennett <colin@gibibit.com>
14617
14618 Support multiple fallback entries, and provide an API to support
14619 executing default+fallback menu entries. Renamed the `terminal' menu
14620 viewer to `text'.
14621
14622 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14623 variable declaration.
14624 (grub_menu_execute_callback): New structure declaration.
14625 (grub_menu_execute_callback_t): New typedef.
14626 (grub_menu_execute_with_fallback): New function declaration.
14627 (grub_menu_get_entry): Likewise.
14628 (grub_menu_get_timeout): Likewise.
14629 (grub_menu_set_timeout): Likewise.
14630
14631 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14632
14633 * normal/menu.c (grub_wait_after_message): Moved to
14634 `normal/menu_text.c'.
14635 (draw_border): Likewise.
14636 (print_message): Likewise.
14637 (print_entry): Likewise.
14638 (print_entries): Likewise.
14639 (grub_menu_init_page): Likewise.
14640 (get_entry_number): Likewise.
14641 (print_timeout): Likewise.
14642 (run_menu): Likewise.
14643 (grub_menu_execute_entry): Likewise.
14644 (show_text_menu): Likewise.
14645 (get_and_remove_first_entry_number): New function.
14646 (grub_menu_execute_with_fallback): Likewise.
14647 (get_entry): Renamed to ...
14648 (grub_menu_get_entry): .. this and made it global.
14649 (get_timeout): Renamed to ...
14650 (grub_menu_get_timeout): ... this and made it global.
14651 (set_timeout): Renamed to ...
14652 (grub_menu_set_timeout): ... this and made it global.
14653 (grub_normal_terminal_menu_viewer): Renamed to ...
14654 (grub_normal_text_menu_viewer): ... this.
14655
14656 * normal/menu_text.c: New file. Extracted text-menu-specific code
14657 from normal/menu.c.
14658
14659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14660 (normal_mod_SOURCES): Likewise.
14661
14662 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14663 (normal_mod_SOURCES): Likewise.
14664
14665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14666 (normal_mod_SOURCES): Likewise.
14667
14668 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14669 (normal_mod_SOURCES): Likewise.
14670
14671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14672 (normal_mod_SOURCES): Likewise.
14673
14674 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14675 (normal_mod_SOURCES): Likewise.
14676
14677 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14678 (normal_mod_SOURCES): Likewise.
14679
14680 2009-02-11 Robert Millan <rmh@aybabtu.com>
14681
14682 * util/grub.d/00_header.in: Update old reference to `font' command.
14683
14684 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14685
14686 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14687
14688 Based on patch from Javier Martín.
14689
14690 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14691
14692 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14693 to avoid false positives with FAT.
14694 (grub_fstest_SOURCES): Likewise.
14695 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14698 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14701
14702 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14703
14704 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14705 bpb.version_specific.fat12_or_fat16.fstype and
14706 bpb.version_specific.fat32.fstype.
14707
14708 2009-02-08 Robert Millan <rmh@aybabtu.com>
14709
14710 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14711
14712 2009-02-08 Robert Millan <rmh@aybabtu.com>
14713
14714 * Makefile.in (host_os, host_cpu): New variables.
14715 (target_os): Remove. Update all users.
14716
14717 2009-02-08 Marco Gerards <marco@gnu.org>
14718
14719 * Makefile.in (enable_grub_emu_usb): New variable.
14720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14721 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14722 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14723 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14724 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14725 `usbtest.mod' and `usbms.mod'.
14726 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14727 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14728 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14729 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14730 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14731 variables.
14732
14733 * disk/usbms.c: New file.
14734
14735 * include/grub/usb.h: Likewise.
14736
14737 * include/grub/usbtrans.h: Likewise.
14738
14739 * include/grub/usbdesc.h: Likewise.
14740
14741 * bus/usb/usbtrans.c: Likewise.
14742
14743 * bus/usb/ohci.c: Likewise.
14744
14745 * bus/usb/uhci.c: Likewise.
14746
14747 * bus/usb/usbhub.c: Likewise.
14748
14749 * bus/usb/usb.c: Likewise.
14750
14751 * commands/usbtest.c: Likewise.
14752
14753 * util/usb.c: Likewise.
14754
14755 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14756
14757 * configure.ac: Test for libusb presence.
14758
14759 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14760
14761 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14762
14763 * kern/mm.c: Add more comments.
14764
14765 2009-02-08 Robert Millan <rmh@aybabtu.com>
14766
14767 Patch from Javier Martín.
14768 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14769 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14770
14771 2009-02-08 Robert Millan <rmh@aybabtu.com>
14772
14773 * fs/cpio.c: Split tar functionality to ...
14774 * fs/tar.c: ... here (new file). Update all users.
14775
14776 2009-02-07 Robert Millan <rmh@aybabtu.com>
14777
14778 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14779 backward-incompatible features.
14780
14781 Based on patch from Javier Martín, with some adjustments.
14782
14783 2009-02-07 Michael Scherer <misc@mandriva.org>
14784
14785 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14786
14787 2009-02-07 Robert Millan <rmh@aybabtu.com>
14788
14789 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14790 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14791 after the RAID stuff.
14792
14793 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14794
14795 Fixes problem when running vbetest command as reported by
14796 Vladimir Serbinenko <phcoder@gmail.com>.
14797
14798 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14799
14800 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14801
14802 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14803 /dev/md/NpN style mdraid devices.
14804
14805 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14806
14807 * util/unifont2pff.rb: Remove.
14808
14809 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14810
14811 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14812 `#'.
14813
14814 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14815
14816 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14817 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14818 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14823
14824 2009-02-02 Christian Franke <franke@computer.org>
14825
14826 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14827
14828 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14829
14830 * INSTALL: Note that we now require at least autoconf 2.59 and
14831 that LZO is optional.
14832
14833 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14834
14835 Base on patch on bug #24154 created by Tomas Tintera
14836 <trosos@seznam.cz>.
14837
14838 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14839
14840 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14841
14842 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14843 <bero@arklinux.org>.
14844
14845 * normal/parser.y (script_init): Add missing semicolon.
14846
14847 2009-01-31 Colin D Bennett <colin@gibibit.com>
14848
14849 * normal/main.c: Add include to grub/menu_viewer.h.
14850 (free_menu_entry_classes): Added.
14851 (grub_normal_menu_addentry): Added class property handling.
14852 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14853 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14854
14855 * normal/menu_viewer.c: New file.
14856
14857 * normal/menu.c (run_menu_entry): Renamed to ...
14858 (grub_menu_execute_entry): ... this and made it as global.
14859 (grub_menu_run): Renamed to ...
14860 (show_text_menu): ... this and made it local.
14861 (show_text_menu): Adapt to new function names.
14862 (grub_normal_terminal_menu_viewer): New global variable.
14863
14864 * include/grub/menu.h: New file.
14865
14866 * include/grub/menu_viewer.h: New file.
14867
14868 * include/grub/normal.h: Added include to grub/menu.h.
14869 (grub_menu_entry): Moved to include/grub/menu.h.
14870 (grub_menu_entry_t): Likewise.
14871 (grub_menu): Likewise.
14872 (grub_menu_t): Likewise.
14873 (grub_normal_terminal_menu_viewer): Added.
14874 (grub_menu_execute_entry): Likewise.
14875 (grub_menu_run): Removed.
14876
14877 * DISTLIST: Added include/grub/menu.h.
14878 Added include/grub/menu_viewer.h.
14879 Added normal/menu_viewer.c.
14880
14881 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14882
14883 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14884 arglist for menutitle arguments.
14885
14886 * normal/main.c (grub_normal_menu_addentry): Likewise.
14887
14888 * normal/parser.y (menuentry): Likewise.
14889
14890 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14891
14892 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14893 (grub_script_create_cmdmenu): Likewise.
14894
14895 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14896
14897 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14898 changes.
14899
14900 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14901
14902 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14903
14904 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14905
14906 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14907
14908 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14909
14910 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14911
14912 2009-01-30 Christian Franke <franke@computer.org>
14913
14914 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14915 in option help text.
14916
14917 2009-01-27 Pavel Roskin <proski@gnu.org>
14918
14919 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14920
14921 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14922
14923 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14924
14925 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14926
14927 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14928 unregister function.
14929
14930 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14931
14932 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14933
14934 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14935
14936 * util/grub-mkfont.c (usage): Fix typo.
14937
14938 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14939
14940 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14941
14942 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14943
14944 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14945
14946 * kern/misc.c (grub_strcasecmp): New function.
14947 (grub_strcasecmp): Use grub_size_t instead of int for length.
14948 Fix return value.
14949 * include/grub/misc.h: Update function prototypes.
14950
14951 2009-01-26 Robert Millan <rmh@aybabtu.com>
14952
14953 * configure.ac: Fix cross-compilation check.
14954
14955 2009-01-22 Christian Franke <franke@computer.org>
14956
14957 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14958 (precision) digit string. Allow `.format2' without `format1' (width).
14959 Limit input chars for `%s' output to `format2' if specified. This is
14960 compatible with standard printf ().
14961
14962 2009-01-22 Christian Franke <franke@computer.org>
14963
14964 * disk/ata.c (grub_ata_wait_status): Replace by ...
14965 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14966 other status bits may be invalid while BSY is asserted.
14967 (grub_ata_check_ready): New function.
14968 (grub_ata_cmd): Removed.
14969 (grub_ata_wait_drq): New function.
14970 (grub_ata_strncpy): Remove inline.
14971 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14972 and error check now done by grub_ata_wait_drq ().
14973 (grub_ata_pio_write): Likewise.
14974 (grub_atapi_identify): Set DEV before check for !BSY. Use
14975 grub_ata_wait_drq () to wait for data.
14976 (grub_ata_device_initialize): Add status register check to
14977 detect missing SATA slave devices. Add debug messages.
14978 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14979 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14980 transfer loop by grub_ata_pio_write ().
14981 (grub_ata_identify): Set DEV before check for !BSY. Use
14982 grub_ata_wait_drq () to wait for data.
14983 (grub_ata_setaddress): Set DEV before check for !BSY.
14984 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14985 read/write in one loop. Fix invalid command on write. Fix incomplete
14986 command on (size % batch) == 0. Add missing error check after write of
14987 last block. Add debug messages.
14988 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14989
14990 2009-01-19 Christian Franke <franke@computer.org>
14991
14992 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14993 (GRUB_ATAPI_IREASON_*): Likewise.
14994 (grub_ata_pio_write): Fix timeout error return.
14995 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14996 (grub_atapi_wait_drq): New function.
14997 (grub_atapi_packet): New parameter `size'.
14998 Use grub_atapi_wait_drq () and direct write instead of
14999 grub_ata_pio_write ().
15000 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15001 reads the number of bytes requested by the device for each DRQ
15002 assertion.
15003 (grub_atapi_write): Remove old implementation, return not
15004 implemented instead.
15005
15006 2009-01-19 Christian Franke <franke@computer.org>
15007
15008 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15009 of 512 to calculate data size.
15010 (grub_scsi_read12): Likewise.
15011 (grub_scsi_write10): Likewise.
15012 (grub_scsi_write12): Likewise.
15013 (grub_scsi_read): Adjust size according to blocksize.
15014 Add checks for invalid blocksize and unaligned transfer.
15015
15016 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15017
15018 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15019
15020 * term/gfxterm.c (write_char): Fix background rendering for wide
15021 width glyphs.
15022
15023 2009-01-19 Robert Millan <rmh@aybabtu.com>
15024
15025 * config.guess: Update to latest version from config git.
15026 * config.sub: Likewise.
15027
15028 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
15029
15030 * Makefile.in: Change font compilation to use new grub-mkfont instead
15031 of java version.
15032
15033 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15034 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15035 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15036 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15037 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15038 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15039 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15040 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15041 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15042
15043 2009-01-16 Christian Franke <franke@computer.org>
15044
15045 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15046 (enum grub_ata_timeout_milliseconds): New enum.
15047 (grub_ata_wait_status): Add parameter milliseconds.
15048 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15049 recovery from timed-out commands.
15050 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15051 return grub_errno instead of REG_ERROR.
15052 (grub_ata_pio_write): Add parameter milliseconds.
15053 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15054 Pass milliseconds to grub_ata_wait_status () and
15055 grub_ata_pio_read ().
15056 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15057 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15058 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15059 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15060 It is not suitable for device detection, because DEV bit is ignored,
15061 the command may run too long, and not all devices set the signature
15062 properly.
15063 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15064 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15065 Fix device selection, DEV bit must be set first to address the registers
15066 of the correct device.
15067 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15068 grub_ata_pio_read/write ().
15069 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15070 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15071
15072 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15073
15074 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15075
15076 2009-01-13 Bean <bean123ch@gmail.com>
15077
15078 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15079
15080 2009-01-13 Bean <bean123ch@gmail.com>
15081
15082 * Makefile.in: (enable_grub_mkfont): New variable.
15083 (freetype_cflags): Likewise.
15084 (freetype_libs): Likewise.
15085
15086 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15087 (grub_mkfont_SOURCES): New variable.
15088 (grub_mkfont_CFLAGS): Likewise.
15089 (grub_mkfont_LDFLAGS): Likewise.
15090
15091 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15092 library if `--enable-grub-mkfont' is requested.
15093 (enable_grub_mkfont): New variable.
15094 (freetype_cflags): Likewise.
15095 (freetype_libs): Likewise.
15096
15097 * util/grub-mkfont.c: New file.
15098
15099 2009-01-12 Christian Franke <franke@computer.org>
15100
15101 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15102 mode check. Fix setting of compat_use[].
15103
15104 2009-01-10 Robert Millan <rmh@aybabtu.com>
15105
15106 Update a few copyright years which we forgot to do in 2008 (only for
15107 files whose changes made in 2008 were copyright-significant)
15108
15109 * Makefile.in: Add 2008 to Copyright line.
15110 * disk/ieee1275/ofdisk.c: Likewise.
15111 * disk/efi/efidisk.c: Likewise.
15112 * kern/dl.c: Likewise.
15113 * kern/sparc64/ieee1275/init.c: Likewise.
15114 * kern/mm.c: Likewise.
15115 * kern/efi/mm.c: Likewise.
15116 * boot/i386/pc/boot.S: Likewise.
15117 * genfslist.sh: Likewise.
15118 * fs/iso9660.c: Likewise.
15119 * fs/hfs.c: Likewise.
15120 * fs/jfs.c: Likewise.
15121 * fs/minix.c: Likewise.
15122 * fs/ufs.c: Likewise.
15123 * gensymlist.sh.in: Likewise.
15124 * genkernsyms.sh.in: Likewise.
15125 * include/grub/misc.h: Likewise.
15126 * include/grub/types.h: Likewise.
15127 * include/grub/symbol.h: Likewise.
15128 * include/grub/elf.h: Likewise.
15129 * include/grub/kernel.h: Likewise.
15130 * include/grub/disk.h: Likewise.
15131 * include/grub/dl.h: Likewise.
15132 * include/grub/i386/linux.h: Likewise.
15133 * include/grub/i386/pc/biosdisk.h: Likewise.
15134 * include/grub/efi/api.h: Likewise.
15135 * include/grub/efi/pe32.h: Likewise.
15136 * include/grub/util/misc.h: Likewise.
15137 * normal/execute.c: Likewise.
15138 * normal/arg.c: Likewise.
15139 * normal/completion.c: Likewise.
15140 * normal/lexer.c: Likewise.
15141 * normal/parser.y: Likewise.
15142 * normal/misc.c: Likewise.
15143 * commands/i386/pc/vbeinfo.c: Likewise.
15144 * commands/hexdump.c: Likewise.
15145 * commands/terminal.c: Likewise.
15146 * commands/ls.c: Likewise.
15147 * commands/help.c: Likewise.
15148 * partmap/pc.c: Likewise.
15149 * loader/efi/chainloader.c: Likewise.
15150 * loader/multiboot_loader.c: Likewise.
15151 * loader/i386/pc/multiboot2.c: Likewise.
15152 * term/efi/console.c: Likewise.
15153 * term/i386/pc/serial.c: Likewise.
15154 * util/lvm.c: Likewise.
15155 * util/console.c: Likewise.
15156 * util/i386/efi/grub-mkimage.c: Likewise.
15157 * util/raid.c: Likewise.
15158
15159 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15160
15161 * commands/videotest.c: Removed include to grub/machine/memory.h.
15162
15163 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15164 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15165 (video_mod_SOURCES): Removed.
15166 (video_mod_CFLAGS): Likewise.
15167 (video_mod_LDFLAGS): Likewise.
15168 (gfxterm_mod_SOURCES): Likewise.
15169 (gfxterm_mod_CFLAGS): Likewise.
15170 (gfxterm_mod_LDFLAGS): Likewise.
15171 (videotest_mod_SOURCES): Likewise.
15172 (videotest_mod_CFLAGS): Likewise.
15173 (videotest_mod_LDFLAGS): Likewise.
15174 (bitmap_mod_SOURCES): Likewise.
15175 (bitmap_mod_CFLAGS): Likewise.
15176 (bitmap_mod_LDFLAGS): Likewise.
15177 (tga_mod_SOURCES): Likewise.
15178 (tga_mod_CFLAGS): Likewise.
15179 (tga_mod_LDFLAGS): Likewise.
15180 (jpeg_mod_SOURCES): Likewise.
15181 (jpeg_mod_CFLAGS): Likewise.
15182 (jpeg_mod_LDFLAGS): Likewise.
15183 (png_mod_SOURCES): Likewise.
15184 (png_mod_CFLAGS): Likewise.
15185 (png_mod_LDFLAGS): Likewise.
15186
15187 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15188 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15189 (video_mod_SOURCES): Added.
15190 (video_mod_CFLAGS): Likewise.
15191 (video_mod_LDFLAGS): Likewise.
15192 (videotest_mod_SOURCES): Likewise.
15193 (videotest_mod_CFLAGS): Likewise.
15194 (videotest_mod_LDFLAGS): Likewise.
15195 (bitmap_mod_SOURCES): Likewise.
15196 (bitmap_mod_CFLAGS): Likewise.
15197 (bitmap_mod_LDFLAGS): Likewise.
15198 (tga_mod_SOURCES): Likewise.
15199 (tga_mod_CFLAGS): Likewise.
15200 (tga_mod_LDFLAGS): Likewise.
15201 (jpeg_mod_SOURCES): Likewise.
15202 (jpeg_mod_CFLAGS): Likewise.
15203 (jpeg_mod_LDFLAGS): Likewise.
15204 (png_mod_SOURCES): Likewise.
15205 (png_mod_CFLAGS): Likewise.
15206 (png_mod_LDFLAGS): Likewise.
15207 (gfxterm_mod_SOURCES): Likewise.
15208 (gfxterm_mod_CFLAGS): Likewise.
15209 (gfxterm_mod_LDFLAGS): Likewise.
15210
15211 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15212 grub/machine/console.h.
15213
15214 2009-01-04 Jerone Young <jerone@gmail.com>
15215
15216 Make on screen instructions clearer
15217
15218 Based on patch created by Jidanni <jidanni@jidanni.org>
15219
15220 * normal/menu.c: print clearer instructions on the screen
15221
15222 2009-01-02 Colin D Bennett <colin@gibibit.com>
15223
15224 New font engine.
15225
15226 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15227 build system and fixed gfxterm.c to work with different sized fonts.
15228
15229 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15230
15231 * configure: Re-generated.
15232
15233 * DISTLIST: Removed font/manager.c.
15234 Added font/font.c.
15235 Added font/font_cmd.c.
15236
15237 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15238 compilation.
15239
15240 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15241
15242 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15243
15244 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15245
15246 * normal/menu.c: Likewise.
15247
15248 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15249 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15250
15251 * include/grub/font.h: Replaced with new file.
15252
15253 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15254 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15255 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15256 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15257 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15258 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15259 fg_red, fg_green, fg_blue, fg_alpha.
15260 (grub_video_adapter): Removed blit_glyph.
15261 (grub_video_blit_glyph): Removed.
15262
15263 * font/manager.c: Removed file.
15264
15265 * font/font.c: New file.
15266
15267 * font/font_cmd.c: Likewise.
15268
15269 * video/video.c (grub_video_blit_glyph): Removed.
15270
15271 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15272 (grub_video_vbe_map_rgba): Likewise.
15273 (grub_video_vbe_unmap_color_int): Likewise.
15274 (grub_video_vbe_blit_glyph): Removed.
15275 (grub_video_vbe_adapter): Removed blit_glyph.
15276
15277 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15278 (get_pixel): Likewise.
15279 (set_pixel): Likewise.
15280
15281 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15282
15283 * term/gfxterm.c: Adapted to new font engine.
15284
15285 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15286
15287 * term/i386/pc/vga.c: Likewise.
15288
15289 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15290
15291 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15292
15293 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15294
15295 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15296
15297 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15298
15299 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15300
15301 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15302
15303 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15304
15305 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15306
15307 * util/grub.d/00_header.in: Changed to use new loadfont command.
15308
15309 * util/grub-mkconfig_lib.in: Changed font extension.
15310
15311 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15312
15313 * util/getroot.c (grub_util_get_grub_dev): Add support for
15314 /dev/md/dNNpNN style partitionable mdraid devices.
15315
15316 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15317
15318 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15319 at a time limit of the PXE TFTP API correctly.
15320 (grub_pxefs_close): Likewise.
15321
15322 2008-11-29 Robert Millan <rmh@aybabtu.com>
15323
15324 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15325 grub_ata_device_initialize() calls.
15326
15327 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15328
15329 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15330 iteration failed.
15331 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15332
15333 2008-11-28 Robert Millan <rmh@aybabtu.com>
15334
15335 Fix build on powerpc-ieee1275. Based on patch created by
15336 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15337 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15338 `kern/ieee1275/mmap.c'.
15339 * include/grub/powerpc/ieee1275/memory.h: New file.
15340
15341 Provide grub-install on coreboot.
15342 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15343 (grub_install_SOURCES): New variable.
15344 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15345 usable on coreboot.
15346
15347 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15348
15349 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15350 to `grub_term_input_t'.
15351 (grub_term_get_current_output): Change return type to
15352 `grub_term_output_t'.
15353
15354 2008-11-22 Robert Millan <rmh@aybabtu.com>
15355
15356 Fix breakage on coreboot due to declaration mismatch.
15357 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15358 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15359 grub_vga_text_cls().
15360
15361 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15362 comments. Avoid copying one more byte than necessary (just in case).
15363
15364 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15365 to 0x200000 (avoids trouble with some OFW implementations, and matches
15366 with the one in Yaboot).
15367 Reported by Manoel Abranches
15368
15369 2008-11-20 Robert Millan <rmh@aybabtu.com>
15370
15371 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15372 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15373
15374 * util/grub-mkconfig_lib.in (grub_warn): New function.
15375 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15376 warnings, to obtain consistent formatting.
15377 * util/grub.d/00_header.in: Likewise.
15378 * util/update-grub_lib.in: Likewise.
15379
15380 * loader/i386/linux.c (allocate_pages): Fix a warning.
15381 Move comment text to `#error' stanza.
15382
15383 Harmonize ieee1275's grub_available_iterate() with the generic
15384 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15385 build problem on i386-ieee1275):
15386 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15387 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15388 parameter `type'. Update all users of this function.
15389 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15390 `kern/ieee1275/mmap.c'.
15391 * kern/ieee1275/init.c
15392 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15393 with ...
15394 (grub_machine_mmap_iterate): ... this.
15395 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15396 return type to `grub_err_t'. Update all implementations of this
15397 function prototype.
15398 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15399 Likewise.
15400
15401 Add `lsmmap' command (lists firmware-provided memory map):
15402 * commands/lsmmap.c: New file.
15403 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15404 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15405 variables.
15406 * conf/powerpc-ieee1275.rmk: Likewise.
15407 * conf/i386-coreboot.rmk: Likewise.
15408 * conf/i386-ieee1275.rmk: Likewise.
15409
15410 2008-11-19 Robert Millan <rmh@aybabtu.com>
15411
15412 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15413 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15414 constraints to initrd allocation (based on code from
15415 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15416 for Linux to find it.
15417
15418 2008-11-14 Robert Millan <rmh@aybabtu.com>
15419
15420 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15421 order to cope with duplicate slashes.
15422
15423 2008-11-14 Robert Millan <rmh@aybabtu.com>
15424
15425 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15426 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15427 don't want to mess with lower memory, because it is used in the Linux
15428 loader.
15429
15430 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15431 an appropriate place in lower memory, between 0x10000 and 0x90000,
15432 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15433 is in our heap (probably as a result of it being corrupted during
15434 decompression). Add #error instance with comment to explain why this
15435 loader isn't currently usable on PC/BIOS.
15436
15437 2008-11-14 Robert Millan <rmh@aybabtu.com>
15438
15439 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15440 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15441
15442 2008-11-12 Robert Millan <rmh@aybabtu.com>
15443
15444 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15445
15446 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15447 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15448 from here ...
15449 * include/grub/i386/pc/memory.h: ... to here.
15450
15451 2008-11-12 Robert Millan <rmh@aybabtu.com>
15452
15453 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15454 split).
15455
15456 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15457 (grub_console_cur_color, grub_console_real_putchar)
15458 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15459 (grub_console_setcolorstate, grub_console_setcolor)
15460 (grub_console_getcolor): Move from here ...
15461 * include/grub/i386/vga_common.h: ... to here (new file).
15462
15463 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15464 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15465 `<grub/i386/io.h>'.
15466 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15467 `<grub/i386/vga_common.h>'.
15468
15469 2008-11-12 Robert Millan <rmh@aybabtu.com>
15470
15471 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15472 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15473 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15474 variables.
15475 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15476 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15477
15478 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15479 grub_console_init() with call to grub_vga_text_init().
15480 (grub_machine_fini): Replace call to
15481 grub_console_fini() with call to grub_vga_text_fini() and
15482 grub_at_keyboard_fini().
15483
15484 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15485 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15486 (grub_console_setcolorstate, grub_console_setcolor)
15487 (grub_console_getcolor): New function prototypes.
15488
15489 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15490 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15491 (grub_vga_text_setcursor): Static-ize.
15492 (grub_vga_text_term): New structure.
15493 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15494
15495 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15496 (grub_console_cur_color, grub_console_standard_color)
15497 (grub_console_normal_color, grub_console_highlight_color)
15498 (map_char, grub_console_putchar, grub_console_getcharwidth)
15499 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15500 (grub_console_getcolor): Move from here ...
15501 * term/i386/vga_common.c: ... to here (same function names).
15502
15503 2008-11-12 Robert Millan <rmh@aybabtu.com>
15504
15505 Use newly-added Multiboot support in coreboot.
15506
15507 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15508 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15509
15510 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15511 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15512 (codestart): Store the MBI in `startup_multiboot_info' when we're
15513 being loaded using Multiboot.
15514
15515 * kern/i386/coreboot/init.c (grub_machine_init): Move
15516 grub_at_keyboard_init() call to beginning of function (useful for
15517 debugging). Call grub_machine_mmap_init() before attempting to use
15518 grub_machine_mmap_iterate().
15519 (grub_lower_mem, grub_upper_mem): Move from here ...
15520 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15521 here (new file).
15522
15523 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15524 function prototype.
15525
15526 2008-11-12 Robert Millan <rmh@aybabtu.com>
15527
15528 Fix a regression introduced by the at_keyboard.mod split. Because
15529 some terminals are default on some platforms and non-default on
15530 others, the first terminal being registered determines which is
15531 going to be default.
15532
15533 * kern/term.c (grub_term_register_input): If this is the first
15534 terminal being registered, set it as the current one.
15535 (grub_term_register_output): Likewise.
15536
15537 * term/efi/console.c (grub_console_init): Do not call
15538 grub_term_set_current_output() or grub_term_set_current_input().
15539 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15540 * term/i386/pc/console.c (grub_console_init): Likewise.
15541 (grub_console_fini): Do not call grub_term_set_current_input()
15542 (but leave grub_term_set_current_output() to restore text mode).
15543
15544 2008-11-10 Robert Millan <rmh@aybabtu.com>
15545
15546 * util/grub.d/00_header.in: Add backward compatibility check for
15547 versions of terminal.mod that don't understand `terminal_input' or
15548 `terminal_output'.
15549
15550 2008-11-09 Robert Millan <rmh@aybabtu.com>
15551
15552 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15553 `terminal_input' / `terminal_output', not `terminal'.
15554
15555 2008-11-08 Robert Millan <rmh@aybabtu.com>
15556
15557 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15558 (DISTCLEANFILES): Add `build_env.mk'.
15559
15560 2008-11-08 Robert Millan <rmh@aybabtu.com>
15561
15562 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15563 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15564 members. Update all users.
15565 * util/console.c (grub_ncurses_term): Split in ...
15566 (grub_ncurses_term_input): ... this, and ...
15567 (grub_ncurses_term_output): ... this. Update all users.
15568 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15569
15570 2008-11-08 Robert Millan <rmh@aybabtu.com>
15571
15572 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15573 (PKGDATA): Add $(pkgdata_SRCDIR).
15574 (pkglib_BUILDDIR): New variable.
15575 (pkgdata_SRCDIR): New variable.
15576 (build_env.mk): New target.
15577 (include_DATA): New variable.
15578 (install-local): Install $(include_DATA) files in $(includedir).
15579
15580 2008-11-07 Pavel Roskin <proski@gnu.org>
15581
15582 * gendistlist.sh: Use C locale for sorting to ensure consistent
15583 output on all systems.
15584
15585 * util/grub.d/00_header.in: Remove incorrect space before
15586 "serial".
15587
15588 2008-11-07 Robert Millan <rmh@aybabtu.com>
15589
15590 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15591 per specification.
15592 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15593 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15594 (based on find_multi_boot1_header).
15595 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15596 using find_multi_boot2_header(), and abort if neither Multiboot or
15597 Multiboot headers were found.
15598
15599 2008-11-07 Robert Millan <rmh@aybabtu.com>
15600
15601 Modularize at_keyboard.mod:
15602
15603 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15604 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15605 (at_keyboard_mod_LDFLAGS): New variables.
15606
15607 Actual terminal split:
15608
15609 * include/grub/term.h (struct grub_term): Split in ...
15610 (struct grub_term_input): ... this, and ...
15611 (struct grub_term_output): ... this. Update all users.
15612 (grub_term_set_current): Split in ...
15613 (grub_term_set_current_input): ... this, and ...
15614 (grub_term_set_current_output): ... this.
15615 (grub_term_get_current): Split in ...
15616 (grub_term_get_current_input): ... this, and ...
15617 (grub_term_get_current_output): ... this.
15618 (grub_term_register): Split in ...
15619 (grub_term_register_input): ... this, and ...
15620 (grub_term_register_output): ... this.
15621 (grub_term_unregister): Split in ...
15622 (grub_term_unregister_input): ... this, and ...
15623 (grub_term_unregister_output): ... this.
15624 (grub_term_iterate): Split in ...
15625 (grub_term_iterate_input): ... this, and ...
15626 (grub_term_iterate_output): ... this.
15627
15628 * kern/term.c (grub_term_list): Split in ...
15629 (grub_term_list_input): ... this, and ...
15630 (grub_term_list_output): ... this. Update all users.
15631 (grub_cur_term): Split in ...
15632 (grub_cur_term_input): ... this, and ...
15633 (grub_cur_term_output): ... this. Update all users.
15634 (grub_term_set_current): Split in ...
15635 (grub_term_set_current_input): ... this, and ...
15636 (grub_term_set_current_output): ... this.
15637 (grub_term_get_current): Split in ...
15638 (grub_term_get_current_input): ... this, and ...
15639 (grub_term_get_current_output): ... this.
15640 (grub_term_register): Split in ...
15641 (grub_term_register_input): ... this, and ...
15642 (grub_term_register_output): ... this.
15643 (grub_term_unregister): Split in ...
15644 (grub_term_unregister_input): ... this, and ...
15645 (grub_term_unregister_output): ... this.
15646 (grub_term_iterate): Split in ...
15647 (grub_term_iterate_input): ... this, and ...
15648 (grub_term_iterate_output): ... this.
15649
15650 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15651 a check for input and one for output (and only attempt to get keys
15652 from user when input works).
15653
15654 * util/grub-probe.c (grub_term_get_current): Split in ...
15655 (grub_term_get_current_input): ... this, and ...
15656 (grub_term_get_current_output): ... this.
15657 * util/grub-fstest.c: Likewise.
15658 * util/i386/pc/grub-setup.c: Likewise.
15659 * util/grub-editenv.c: Likewise.
15660
15661 Portability adjustments:
15662
15663 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15664 `term/i386/pc/at_keyboard.c'.
15665 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15666 grub_keyboard_controller_init() (now handled by terminal .init).
15667 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15668 grub_at_keyboard_init().
15669 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15670 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15671 at_keyboard.mod via input terminal interface).
15672 * include/grub/i386/coreboot/console.h: Convert into a stub for
15673 `<grub/i386/pc/console.h>'.
15674
15675 Migrate full terminals to new API:
15676
15677 * term/efi/console.c (grub_console_term): Split into ...
15678 (grub_console_term_input): ... this, and ...
15679 (grub_console_term_output): ... this. Update all users.
15680 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15681 (grub_ofconsole_init): Split into ...
15682 (grub_ofconsole_init_input): ... this, and ...
15683 (grub_ofconsole_init_output): ... this.
15684 (grub_ofconsole_term): Split into ...
15685 (grub_ofconsole_term_input): ... this, and ...
15686 (grub_ofconsole_term_output): ... this. Update all users.
15687 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15688 (grub_serial_term_input): ... this, and ...
15689 (grub_serial_term_output): ... this. Update all users.
15690 * term/i386/pc/console.c (grub_console_term): Split into ...
15691 (grub_console_term_input): ... this, and ...
15692 (grub_console_term_output): ... this. Update all users.
15693 (grub_console_term_input): Only enable it on PC/BIOS platform.
15694 (grub_console_init): Remove grub_keyboard_controller_init() call.
15695
15696 Migrate input terminals to new API:
15697
15698 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15699 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15700 i386-specific anyway).
15701 (grub_console_checkkey): Rename to ...
15702 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15703 users.
15704 (grub_keyboard_controller_orig): New variable.
15705 (grub_console_getkey): Rename to ...
15706 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15707 users.
15708 (grub_keyboard_controller_init): Static-ize. Save original
15709 controller value so that it can be restored ...
15710 (grub_keyboard_controller_fini): ... here (new function).
15711 (grub_at_keyboard_term): New structure.
15712 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15713 functions.
15714
15715 Migrate output terminals to new API:
15716
15717 * term/i386/pc/vga.c (grub_vga_term): Change type to
15718 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15719 members. Update all users.
15720 * term/gfxterm.c (grub_video_term): Change type to
15721 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15722 members. Update all users.
15723 * include/grub/i386/pc/console.h (grub_console_checkkey)
15724 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15725 etc).
15726
15727 Migrate `terminal' command and userland tools to new API:
15728
15729 * commands/terminal.c (grub_cmd_terminal): Split into ...
15730 (grub_cmd_terminal_input): ... this, and ...
15731 (grub_cmd_terminal_output): ... this.
15732 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15733 `terminal_input' and `terminal_output'.
15734 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15735 `terminal_input' / `terminal_output' API.
15736 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15737 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15738 provided ${GRUB_TERMINAL}, convert it).
15739
15740 2008-11-04 Robert Millan <rmh@aybabtu.com>
15741
15742 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15743 for FreeBSD.
15744 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15745
15746 2008-11-03 Bean <bean123ch@gmail.com>
15747
15748 * kern/elf.c (grub_elf32_load): Revert to previous code.
15749 (grub_elf64_load): Likewise.
15750
15751 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15752
15753 2008-11-01 Robert Millan <rmh@aybabtu.com>
15754
15755 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15756 (TARGET_CPPFLAGS): Likewise.
15757 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15758
15759 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15760
15761 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15762
15763 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15764
15765 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15766 addition of objects until the code is not going to be able to fail.
15767
15768 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15769
15770 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15771 (add a missing NULL check, and correct them by moving the pointer
15772 operations after the actual check).
15773
15774 2008-10-29 Robert Millan <rmh@aybabtu.com>
15775
15776 * util/i386/pc/grub-install.in: Handle empty string as output from
15777 make_system_path_relative_to_its_root().
15778
15779 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15780
15781 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15782 circular metadata worst case scenario. If the metadata is circular
15783 then copy the wrap in place.
15784 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15785 project lib/format_text/layout.h
15786 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15787
15788 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15789
15790 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15791
15792 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15793
15794 * util/update-grub_lib.in: Mention filename in warning message.
15795
15796 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15797
15798 * NEWS: Update for rename of update-grub to grub-mkconfig.
15799
15800 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15801
15802 * util/update-grub_lib.in: Copy to ...
15803 * util/grub-mkconfig_lib.in: ... this. Update all users.
15804 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15805 * util/update-grub.in: Rename to ...
15806 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15807 option. Add `--output' option to allow users to specify the generated
15808 configuration file. Default to stdout.
15809 (update_grub_dir): Rename to ...
15810 (grub_mkconfig_dir): ... this.
15811 (grub_cfg): Default to an empty string.
15812 * conf/common.rmk (update-grub): Rename to ...
15813 (grub-mkconfig): ... this.
15814 (update-grub_lib): Copy to ...
15815 (grub-mkconfig_lib): ... this.
15816 (update-grub_SCRIPTS): Copy to ...
15817 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15818 (update-grub_DATA): Rename to ...
15819 (grub-mkconfig_DATA): ... this.
15820
15821 2008-09-28 Robert Millan <rmh@aybabtu.com>
15822
15823 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15824 to `modified'. Add the real `created' field.
15825 (grub_iso9660_uuid): Use `modified' rather than `created' for
15826 constructing the UUID.
15827
15828 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15829
15830 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15831 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15832
15833 2008-09-28 Bean <bean123ch@gmail.com>
15834
15835 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15836 Thanks to Christian Franke for finding this bug.
15837
15838 2008-09-25 Robert Millan <rmh@aybabtu.com>
15839
15840 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15841 instances of grub_util_get_disk_name() (see previous commit).
15842
15843 2008-09-25 Robert Millan <rmh@aybabtu.com>
15844
15845 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15846 `util/i386/get_disk_name.c'.
15847 * conf/i386-efi.rmk: Likewise.
15848 * conf/x86_64-efi.rmk: Likewise.
15849 * conf/i386-coreboot.rmk: Likewise.
15850 * conf/i386-ieee1275.rmk: Likewise.
15851 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15852 `util/ieee1275/get_disk_name.c'.
15853 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15854 * util/ieee1275/get_disk_name.c: Remove file.
15855 * util/i386/get_disk_name.c: Remove file.
15856 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15857 "hd%d" for device.map entries, rather than using
15858 grub_util_get_disk_name().
15859
15860 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15861
15862 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15863 warning.
15864 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15865
15866 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15867
15868 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15869 Changed to 0x5100.
15870 (GRUB_TERM_PPAGE): Changed to 0x4900.
15871
15872 2008-09-24 Robert Millan <rmh@aybabtu.com>
15873
15874 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15875 macros (they were i386-pc specific).
15876 * include/grub/sparc64/ieee1275/console.h: Likewise.
15877 * include/grub/efi/console.h: Likewise.
15878
15879 2008-09-22 Bean <bean123ch@gmail.com>
15880
15881 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15882 resident and in attribute list.
15883
15884 * include/grub/ntfs.h (BMP_LEN): Removed.
15885
15886 2008-09-22 Bean <bean123ch@gmail.com>
15887
15888 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15889 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15890
15891 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15892 error occurs, as grub_disk_open will call grub_disk_close, which will
15893 call p->close (scsi).
15894
15895 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15896
15897 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15898 (AC_PREREQ): Bumped to 2.59.
15899 (AC_TRY_COMPILE): Replace obsolete macro with ...
15900 (AC_COMPILE_IFELSE): ... this.
15901 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15902 (AC_LINK_IFELSE): ... this.
15903
15904 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15905
15906 * autogen.sh: Add a call to `gendistlist.sh'.
15907
15908 2008-09-19 Christian Franke <franke@computer.org>
15909
15910 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15911 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15912 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15913 Export __enable_execute_stack() to modules.
15914 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15915 New function.
15916
15917 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15918
15919 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15920 Sort the list.
15921
15922 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15923
15924 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15925 #include <grub/util/hostdisk.h>.
15926
15927 2008-09-08 Robert Millan <rmh@aybabtu.com>
15928
15929 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15930 segments when their filesz is zero (grub_file_read() interprets
15931 zero-size as "read until EOF", which results in memory corruption).
15932 Use `lowest_segment' rather than 0 for calculating the current
15933 segment load address.
15934
15935 2008-09-08 Robert Millan <rmh@aybabtu.com>
15936
15937 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15938 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15939 clobbered useful information.
15940
15941 2008-09-08 Robert Millan <rmh@aybabtu.com>
15942
15943 * include/grub/util/biosdisk.h: Move to ...
15944 * include/grub/util/hostdisk.h: ... here. Update all users.
15945 * util/biosdisk.c: Move to ...
15946 * util/hostdisk.c: ... here. Update all users.
15947
15948 2008-09-07 Robert Millan <rmh@aybabtu.com>
15949
15950 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15951 variables.
15952 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15953 and length can be stored directly in the `mbi->mmap_addr' and
15954 `mbi->mmap_length' struct fields.
15955
15956 2008-09-07 Robert Millan <rmh@aybabtu.com>
15957
15958 * conf/i386.rmk: New file. Provides declaration for building
15959 `cpuid.mod'.
15960 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15961 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15962 variables.
15963 Include `conf/i386.mk'.
15964 * conf/i386-efi.rmk: Likewise.
15965 * conf/x86_64-efi.rmk: Likewise.
15966 * conf/i386-coreboot.rmk: Likewise.
15967 * conf/i386-ieee1275.rmk: Likewise.
15968
15969 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15970
15971 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15972 Adds optimization support for BGR based modes.
15973
15974 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15975 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15976 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15977 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15978 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15979 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15980 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15981 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15982 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15983 (grub_video_i386_vbeblit_index_index): Likewise.
15984 (grub_video_i386_vbeblit_replace_directN): Added.
15985 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15986 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15987 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15988 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15989 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15990 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15991 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15992 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15993 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15994 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15995 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15996 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15997 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15998
15999 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16000 (grub_video_i386_vbefill_R8G8B8): Likewise.
16001 (grub_video_i386_vbefill_index): Likewise.
16002 (grub_video_i386_vbefill_direct32): Added.
16003 (grub_video_i386_vbefill_direct24): Likewise.
16004 (grub_video_i386_vbefill_direct16): Likewise.
16005 (grub_video_i386_vbefill_direct8): Likewise.
16006
16007 * include/grub/video.h (grub_video_blit_format): Removed
16008 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16009 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16010 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16011 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16012 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
16013
16014 * video/video.c (grub_video_get_blit_format): Updated to use new
16015 blit formats. Added handling for 16 bit color modes.
16016
16017 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
16018 fillers.
16019 (common_blitter): Updated to use new blitters.
16020
16021 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16022 Removed.
16023 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16024 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16025 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16026 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16027 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16028 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16029 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16030 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16031 (grub_video_i386_vbeblit_index_index): Likewise.
16032 (grub_video_i386_vbeblit_replace_directN): Added.
16033 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16034 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16035 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16036 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16037 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16038 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16039 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16040 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16041 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16042 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16043 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16044 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16045 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16046
16047 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16048 (grub_video_i386_vbefill_R8G8B8): Likewise.
16049 (grub_video_i386_vbefill_index): Likewise.
16050 (grub_video_i386_vbefill_direct32): Added.
16051 (grub_video_i386_vbefill_direct24): Likewise.
16052 (grub_video_i386_vbefill_direct16): Likewise.
16053 (grub_video_i386_vbefill_direct8): Likewise.
16054
16055 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16056 types.
16057
16058 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16059 types.
16060
16061 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16062 blitter types.
16063
16064 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16065 types.
16066
16067 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16068
16069 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16070 RAID level 1.
16071
16072 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16073
16074 * fs/iso9660.c (grub_iso9660_date): New structure.
16075 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16076 (grub_iso9660_uuid): New function.
16077
16078 2008-09-05 Bean <bean123ch@gmail.com>
16079
16080 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16081
16082 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16083 insensitive bit for names in Win32 and Win32 & DOS namespace.
16084
16085 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16086
16087 * include/grub/types.h (LONG_MAX): Likewise.
16088
16089 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16090
16091 * util/getroot.c: Include <config.h>.
16092 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16093 add support for /dev/md/N devices and handle LVM double dash escaping.
16094
16095 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16096
16097 * config.guess: Update to latest version from config git.
16098 * config.sub: Likewise.
16099
16100 2008-09-03 Robert Millan <rmh@aybabtu.com>
16101
16102 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16103 `disk->total_sectors'.
16104
16105 2008-09-01 Colin D Bennett <colin@gibibit.com>
16106
16107 * include/grub/normal.h: Fixed incorrect comment for
16108 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16109
16110 2008-09-01 Colin D Bennett <colin@gibibit.com>
16111
16112 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16113 values with defines.
16114
16115 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16116 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16117 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16118 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16119 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16120 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16121 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16122 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16123 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16124 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16125 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16126 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16127 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16128 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16129 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16130 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16131 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16132 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16133 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16134
16135 2008-08-31 Robert Millan <rmh@aybabtu.com>
16136
16137 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16138 declaration.
16139 (grub_multiboot): Fix a few warnings.
16140
16141 2008-08-31 Robert Millan <rmh@aybabtu.com>
16142
16143 * loader/i386/pc/multiboot.c: Update comment not to say that
16144 boot_device support is unimplemented.
16145
16146 2008-08-31 Robert Millan <rmh@aybabtu.com>
16147
16148 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16149 or memory map support are unimplemented.
16150
16151 2008-08-31 Colin D Bennett <colin@gibibit.com>
16152
16153 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16154
16155 2008-08-31 Colin D Bennett <colin@gibibit.com>
16156
16157 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16158 total video memory in 'vbeinfo' output; show color format details for
16159 each video mode.
16160
16161 2008-08-30 Pavel Roskin <proski@gnu.org>
16162
16163 * util/genmoddep.c: Remove for real this time.
16164 * DISTLIST: Remove util/genmoddep.c.
16165
16166 2008-08-30 Robert Millan <rmh@aybabtu.com>
16167
16168 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16169 as required by Multiboot spec (it was already 4-byte aligned, but
16170 only by chance).
16171
16172 2008-08-29 Pavel Roskin <proski@gnu.org>
16173
16174 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16175 * kern/powerpc/ieee1275/startup.S: ... this.
16176 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16177 * DISTLIST: Likewise.
16178
16179 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16180 grub/cpu/kernel.h. Add start label for consistency with other
16181 platforms. Add grub_prefix immediately after start. Add jump
16182 to the code after grub_prefix.
16183 * include/grub/powerpc/kernel.h: Provide valid values for
16184 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16185
16186 2008-08-29 Bean <bean123ch@gmail.com>
16187
16188 * configure.ac: Change host_os to cygwin for mingw.
16189 (asprintf): New check for function.
16190
16191 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16192 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16193
16194 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16195 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16196 sync, sleep and grub_util_get_disk_size for mingw.
16197
16198 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16199 to get size in mingw.
16200 (open_device): Use flag O_BINARY if it's defined.
16201 (find_root_device): Add dummy code for mingw.
16202
16203 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16204 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16205 (get_scsi_disk_name): Return 0 for mingw.
16206
16207 * util/hostfs.c: #include <grub/util/misc.h>.
16208 (grub_hostfs_open): Use "rb" flag to open file, use
16209 grub_util_get_disk_size to get disk size for mingw.
16210
16211 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16212 (asprintf): New function if HAVE_ASPRINTF is not set.
16213 (sync): New function for mingw.
16214 (sleep): Likewise.
16215 (grub_util_get_disk_size): Likewise.
16216
16217 2008-08-28 Pavel Roskin <proski@gnu.org>
16218
16219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16220 kern/time.c.
16221
16222 2008-08-28 Robert Millan <rmh@aybabtu.com>
16223
16224 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16225
16226 2008-08-28 Robert Millan <rmh@aybabtu.com>
16227
16228 Change find_grub_drive() syntax so it doesn't prevent it from
16229 detecting NULL names as errors.
16230
16231 * util/biosdisk.c (find_grub_drive): Move free slot search code
16232 from here ...
16233 (find_free_slot): ... to here.
16234 (read_device_map): Use find_free_slot() to search for free slots.
16235
16236 2008-08-27 Marco Gerards <marco@gnu.org>
16237
16238 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16239 (scsi_mod_SOURCES): New variable.
16240 (scsi_mod_CFLAGS): Likewise
16241 (scsi_mod_LDFLAGS): Likewise.
16242
16243 * disk/scsi.c: New file.
16244
16245 * include/grub/scsi.h: Likewise.
16246
16247 * include/grub/scsicmd.h: Likewise.
16248
16249 * disk/ata.c: Include <grub/scsi.h>.
16250 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16251 instead.
16252 (grub_ata_iterate): Skip ATAPI devices.
16253 (grub_ata_open): Only handle ATAPI devices.
16254 (struct grub_atapi_read): Removed.
16255 (grub_atapi_readsector): Likewise.
16256 (grub_ata_read): No longer handle ATAPI devices.
16257 (grub_ata_write): Likewise.
16258 (grub_atapi_iterate): New function.
16259 (grub_atapi_read): Likewise.
16260 (grub_atapi_write): Likewise.
16261 (grub_atapi_open): Likewise.
16262 (grub_atapi_close): Likewise.
16263 (grub_atapi_dev): New variable.
16264 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16265 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16266
16267 * include/grub/disk.h (enum grub_disk_dev_id): Add
16268 `GRUB_DISK_DEVICE_SCSI_ID'.
16269
16270 2008-08-26 Robert Millan <rmh@aybabtu.com>
16271
16272 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16273 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16274 descriptive.
16275
16276 2008-08-23 Bean <bean123ch@gmail.com>
16277
16278 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16279 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16280 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16281 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16282 dm_nv.mod.
16283 (raid5rec_mod_SOURCES): New macro.
16284 (raid5rec_mod_CFLAGS): Likewise.
16285 (raid5rec_mod_LDFLAGS): Likewise.
16286 (raid6rec_mod_SOURCES): Likewise.
16287 (raid6rec_mod_CFLAGS): Likewise.
16288 (raid6rec_mod_LDFLAGS): Likewise.
16289 (mdraid_mod_SOURCES): Likewise.
16290 (mdraid_mod_CFLAGS): Likewise.
16291 (mdraid_mod_LDFLAGS): Likewise.
16292 (dm_nv_mod_SOURCES): Likewise.
16293 (dm_nv_mod_CFLAGS): Likewise.
16294 (dm_nv_mod_LDFLAGS): Likewise.
16295
16296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16297 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16298 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16299
16300 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16301 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16302
16303 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16304
16305 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16306
16307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16308
16309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16310
16311 * disk/raid5_recover.c: New file.
16312
16313 * disk/raid6_recover.c: Likewise.
16314
16315 * disk/mdraid_linux.c: Likewise.
16316
16317 * disk/dmraid_nvidia.c: Likewise.
16318
16319 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16320 ULONG_MAX.
16321
16322 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16323 calculate the size of raid device.
16324 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16325 different layout of raid5.
16326 (grub_raid_scan_device): Remove code specific to mdraid.
16327 (grub_raid_list): New variable.
16328 (free_array): New function.
16329 (grub_raid_register): Likewise.
16330 (grub_raid_unregister): Likewise.
16331 (grub_raid_rescan): Likewise.
16332 (GRUB_MOD_INIT): Don't iterate device here.
16333 (GRUB_MOD_FINI): Use free_array to release resource.
16334
16335 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16336 (grub_raid5_recover_func_t): New function variable type.
16337 (grub_raid6_recover_func_t): Likewise.
16338 (grub_raid5_recover_func): New variable.
16339 (grub_raid6_recover_func): Likewise.
16340 (grub_raid_register): New function.
16341 (grub_raid_unregister): Likewise.
16342 (grub_raid_rescan): Likewise.
16343 (grub_raid_block_xor): Likewise.
16344
16345 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16346 (CMD_CRC): New macro.
16347 (part): Removed.
16348 (read_file): Handle device as well as file.
16349 (cmd_crc): New function.
16350 (fstest): Handle multiple disks.
16351 (options): Remove part, raw and long, add root and diskcount.
16352 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16353 (main): Find the first non option entry and ignore subsequent options,
16354 add handling for the new options, support multiple disks.
16355
16356 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16357
16358 2008-08-23 Bean <bean123ch@gmail.com>
16359
16360 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16361
16362 * genfslist.sh: Ignore kernel.mod.
16363
16364 * genpartmaplist.sh: Likewise.
16365
16366 2008-08-23 Robert Millan <rmh@aybabtu.com>
16367
16368 * util/getroot.c (find_root_device): Skip anything that starts with
16369 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16370
16371 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16372
16373 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16374 * util/grub.d/00_header.in: Allow the administrator to change default
16375 gfxmode via ${GRUB_GFXMODE}.
16376
16377 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16378
16379 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16380
16381 2008-08-21 Robert Millan <rmh@aybabtu.com>
16382
16383 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16384 loader.
16385 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16386 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16387
16388 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16389
16390 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16391 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16392
16393 2008-08-19 Robert Millan <rmh@aybabtu.com>
16394
16395 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16396 (struct grub_virtual_screen): Remove `cursor_color'.
16397 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16398 initialization.
16399 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16400
16401 2008-08-18 Robert Millan <rmh@aybabtu.com>
16402
16403 Unify (identical) linux_normal.c files.
16404 * loader/i386/efi/linux_normal.c: Move from here ...
16405 * loader/linux_normal.c: ... to here. Update all users.
16406 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16407 * loader/i386/ieee1275/linux_normal.c: Likewise.
16408
16409 2008-08-18 Robert Millan <rmh@aybabtu.com>
16410
16411 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16412 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16413 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16414 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16415 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16416 New macros.
16417 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16418 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16419 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16420 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16421 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16422 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16423 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16424 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16425 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16426 portably using grub_getxy().
16427 Replace `-EFI' with `-bzImage' in boot message.
16428
16429 2008-08-17 Robert Millan <rmh@aybabtu.com>
16430
16431 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16432
16433 2008-08-17 Robert Millan <rmh@aybabtu.com>
16434
16435 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16436
16437 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16438 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16439 (grub_machine_mmap_iterate): New function declaration.
16440 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16441 structure.
16442 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16443 macros.
16444
16445 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16446 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16447 Move e820 parsing from here ...
16448 * kern/i386/pc/mmap.c: New file.
16449 (grub_machine_mmap_iterate): ... to here.
16450
16451 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16452 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16453 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16454 (grub_available_iterate): Redeclare to return `void', and redeclare
16455 its hook to use grub_uint64_t as addr and size parameters, and rename
16456 to ...
16457 (grub_machine_mmap_iterate): ... this. Update all users.
16458
16459 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16460 to make it more readable. Rename to ...
16461 (grub_machine_mmap_iterate): ... this.
16462
16463 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16464 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16465 (grub_multiboot): Allocate an extra region after the payload, and fill
16466 it with a Multiboot memory map. Adjust a.out loader to calculate size
16467 with the extra space.
16468 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16469 with the extra space.
16470
16471 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16472
16473 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16474
16475 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16476
16477 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16478 mdate-sh to the list `find' searches for.
16479 * DISTLIST: Regenerated.
16480
16481 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16482
16483 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16484 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16485 genmoddep.awk, gensymlist.sh.in.
16486 (DISTDIRS): Add bus, docs, hook, lib.
16487 * DISTLIST: Regenerated.
16488 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16489
16490 2008-08-16 Robert Millan <rmh@aybabtu.com>
16491
16492 * disk/raid.c (grub_raid_init): Handle/report errors set by
16493 grub_device_iterate().
16494 * disk/lvm.c (grub_lvm_init): Likewise.
16495
16496 2008-08-15 Bean <bean123ch@gmail.com>
16497
16498 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16499 and datehook.mod.
16500 (datetime_mod_SOURCES): New macro.
16501 (datetime_mod_CFLAGS): Likewise.
16502 (datetime_mod_LDFLAGS): Likewise.
16503 (date_mod_SOURCES): Likewise.
16504 (date_mod_CFLAGS): Likewise.
16505 (date_mod_LDFLAGS): Likewise.
16506 (datehook_mod_SOURCES): Likewise.
16507 (datehook_mod_CFLAGS): Likewise.
16508 (datehook_mod_LDFLAGS): Likewise.
16509
16510 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16511 and datehook.mod.
16512 (datetime_mod_SOURCES): New macro.
16513 (datetime_mod_CFLAGS): Likewise.
16514 (datetime_mod_LDFLAGS): Likewise.
16515 (date_mod_SOURCES): Likewise.
16516 (date_mod_CFLAGS): Likewise.
16517 (date_mod_LDFLAGS): Likewise.
16518 (datehook_mod_SOURCES): Likewise.
16519 (datehook_mod_CFLAGS): Likewise.
16520 (datehook_mod_LDFLAGS): Likewise.
16521
16522 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16523 and datehook.mod.
16524 (datetime_mod_SOURCES): New macro.
16525 (datetime_mod_CFLAGS): Likewise.
16526 (datetime_mod_LDFLAGS): Likewise.
16527 (date_mod_SOURCES): Likewise.
16528 (date_mod_CFLAGS): Likewise.
16529 (date_mod_LDFLAGS): Likewise.
16530 (datehook_mod_SOURCES): Likewise.
16531 (datehook_mod_CFLAGS): Likewise.
16532 (datehook_mod_LDFLAGS): Likewise.
16533
16534 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16535 and datehook.mod.
16536 (datetime_mod_SOURCES): New macro.
16537 (datetime_mod_CFLAGS): Likewise.
16538 (datetime_mod_LDFLAGS): Likewise.
16539 (date_mod_SOURCES): Likewise.
16540 (date_mod_CFLAGS): Likewise.
16541 (date_mod_LDFLAGS): Likewise.
16542 (datehook_mod_SOURCES): Likewise.
16543 (datehook_mod_CFLAGS): Likewise.
16544 (datehook_mod_LDFLAGS): Likewise.
16545
16546 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16547 and datehook.mod.
16548 (datetime_mod_SOURCES): New macro.
16549 (datetime_mod_CFLAGS): Likewise.
16550 (datetime_mod_LDFLAGS): Likewise.
16551 (date_mod_SOURCES): Likewise.
16552 (date_mod_CFLAGS): Likewise.
16553 (date_mod_LDFLAGS): Likewise.
16554 (datehook_mod_SOURCES): Likewise.
16555 (datehook_mod_CFLAGS): Likewise.
16556 (datehook_mod_LDFLAGS): Likewise.
16557
16558 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16559
16560 * commands/date.c: New file.
16561
16562 * hook/datehook.c: Likewise.
16563
16564 * include/grub/lib/datetime.h: Likewise.
16565
16566 * include/grub/i386/cmos.h: Likewise.
16567
16568 * lib/datetime.c: Likewise.
16569
16570 * lib/i386/datetime.c: Likewise.
16571
16572 * lib/efi/datetime.c: Likewise.
16573
16574 2008-08-14 Robert Millan <rmh@aybabtu.com>
16575
16576 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16577 (grub_mkelfimage_SOURCES): New variable.
16578 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16579
16580 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16581 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16582 * conf/powerpc-ieee1275.rmk: Likewise.
16583 * conf/i386-ieee1275.rmk: Likewise.
16584
16585 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16586 * kern/i386/coreboot/init.c: Likewise.
16587
16588 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16589 with `<grub/cpu/kernel.h>'.
16590 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16591 to ...
16592 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16593 * kern/i386/coreboot/startup.S: Likewise.
16594
16595 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16596 (GRUB_MOD_GAP): Remove.
16597 * include/grub/powerpc/kernel.h: New file.
16598 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16599 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16600 * include/grub/i386/kernel.h: New file.
16601 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16602 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16603 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16604
16605 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16606 `grub-mkelfimage'.
16607 Use --directory when invoking grub_mkimage.
16608
16609 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16610 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16611 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16612 and GRUB_KERNEL_CPU_PREFIX.
16613
16614 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16615
16616 * include/grub/err.h (grub_err_printf): New function prototype.
16617 * util/misc.c (grub_err_printf): New function.
16618 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16619 grub_printf.
16620 * kern/err.c (grub_print_error): Use grub_err_printf.
16621
16622 2008-08-13 Robert Millan <rmh@aybabtu.com>
16623
16624 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16625
16626 2008-08-13 Robert Millan <rmh@aybabtu.com>
16627
16628 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16629 boot entry.
16630
16631 2008-08-12 Robert Millan <rmh@aybabtu.com>
16632
16633 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16634 of the relocation code from here ...
16635 (grub_multiboot): ... to here.
16636 (forward_relocator, backward_relocator): Move from here ...
16637 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16638 (grub_multiboot_backward_relocator): ... to here.
16639 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16640 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16641 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16642 (grub_multiboot_forward_relocator_end)
16643 (grub_multiboot_backward_relocator)
16644 (grub_multiboot_backward_relocator_end): New variables.
16645
16646 2008-08-12 Bean <bean123ch@gmail.com>
16647
16648 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16649
16650 2008-08-11 Robert Millan <rmh@aybabtu.com>
16651
16652 * kern/i386/linuxbios/startup.S: Move from here ...
16653 * kern/i386/coreboot/startup.S: ... to here.
16654
16655 * kern/i386/linuxbios/init.c: Move from here ...
16656 * kern/i386/coreboot/init.c: ... to here.
16657
16658 * kern/i386/linuxbios/table.c: Move from here ...
16659 * kern/i386/coreboot/mmap.c: ... to here.
16660
16661 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16662
16663 2008-08-11 Robert Millan <rmh@aybabtu.com>
16664
16665 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16666 errors. Leave it to the upper layer to handle them.
16667
16668 2008-08-09 Christian Franke <franke@computer.org>
16669
16670 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16671 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16672 Install `grub.d/10_windows' only on Cygwin.
16673 * configure.ac: Add subst of `target_os'.
16674 Check `target_os' also before setting TARGET_OBJ2ELF.
16675 Add `--enable-grub-pe2elf'.
16676
16677 2008-08-08 Robert Millan <rmh@aybabtu.com>
16678
16679 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16680 (grub_last_time): Change type to grub_uint64_t.
16681 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16682 (grub_disk_close): Likewise.
16683
16684 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16685 (run_menu): Migrate code from to using grub_get_time_ms().
16686
16687 * util/misc.c (grub_get_time_ms): New function.
16688
16689 2008-08-08 Marco Gerards <marco@gnu.org>
16690
16691 * disk/ata.c (grub_ata_regget): Change return type to
16692 `grub_uint8_t'.
16693 (grub_ata_regget2): Likewise.
16694 (grub_ata_wait_status): New function.
16695 (grub_ata_wait_busy): Removed function, updated all users to use
16696 `grub_ata_wait_status'.
16697 (grub_ata_wait_drq): Likewise.
16698 (grub_ata_cmd): New function.
16699 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16700 error handling.
16701 (grub_ata_pio_write): Add error handling.
16702 (grub_atapi_identify): Likewise.
16703 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16704 handling.
16705 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16706 handling. Actually use the detected registers. Reorder the
16707 detection logic such that it is easier to read.
16708 (grub_ata_pciinit): Do not assign the same ID to each controller.
16709 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16710 handling.
16711 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16712
16713 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16714
16715 2008-08-08 Marco Gerards <marco@gnu.org>
16716
16717 * NEWS: Update.
16718
16719 2008-08-07 Bean <bean123ch@gmail.com>
16720
16721 * include/grub/x86_64/pci.h: New file.
16722
16723 2008-08-07 Christian Franke <franke@computer.org>
16724
16725 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16726 (TIMER2_GATE): Likewise.
16727 (grub_pit_wait): Add enable/disable of the timer2 gate
16728 bit of port 0x61. This fixes a possible infinite loop.
16729
16730 2008-08-07 Bean <bean123ch@gmail.com>
16731
16732 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16733 kern/i386/tsc.c and kern/i386/pit.c.
16734
16735 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16736 x86_64 platform.
16737
16738 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16739 <grub/i386/tsc.h>.
16740
16741 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16742
16743 2008-08-07 Bean <bean123ch@gmail.com>
16744
16745 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16746
16747 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16748
16749 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16750 multiple inclusion. Add #include <grub/types.h>.
16751
16752 2008-08-06 Christian Franke <franke@computer.org>
16753
16754 * conf/common.rmk: Build and install `10_windows'.
16755 * util/grub.d/10_windows.in: New script.
16756
16757 2008-08-06 Pavel Roskin <proski@gnu.org>
16758
16759 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16760
16761 2008-08-06 Robert Millan <rmh@aybabtu.com>
16762
16763 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16764 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16765
16766 2008-08-06 Bean <bean123ch@gmail.com>
16767
16768 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16769 (grub_pxefs_fs_int): Remove dummy definition.
16770 (grub_pxefs_open): Use data->block_size to store the current block
16771 size setting.
16772 (grub_pxefs_read): Use block size stored in data->block_size. As the
16773 value of grub_pxe_blksize can be changed after the file is opened.
16774
16775 2008-08-06 Bean <bean123ch@gmail.com>
16776
16777 * fs/i386/pc/pxe.c (curr_file): new variable.
16778 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16779 require the dummy internal file system anymore.
16780 (grub_pxefs_read): Removed.
16781 (grub_pxefs_close): Likewise.
16782 (grub_pxefs_fs_int): Likewise.
16783 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16784 connection when we switch file.
16785 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16786
16787 2008-08-06 Robert Millan <rmh@aybabtu.com>
16788
16789 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16790 `halt.mod'.
16791 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16792 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16793
16794 * kern/i386/halt.c: New file.
16795 * kern/i386/reboot.c: Likewise.
16796 * include/grub/i386/reboot.h: Likewise.
16797 * include/grub/i386/halt.h: Likewise.
16798
16799 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16800 Include `<grub/cpu/halt.h>'.
16801 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16802 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16803
16804 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16805 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16806 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16807 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16808 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16809 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16810 from here ...
16811 * include/grub/i386/at_keyboard.h: ... to here.
16812
16813 2008-08-05 Robert Millan <rmh@aybabtu.com>
16814
16815 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16816 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16817 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16818 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16819 `kern/generic/millisleep.c'.
16820
16821 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16822 instead of grub_get_rtc().
16823 (grub_tsc_init): Initialize `tsc_boot_time'.
16824
16825 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16826 (grub_machine_init): Use grub_tsc_init() rather than
16827 installing an RTC-based handler via grub_install_get_time_ms().
16828
16829 * kern/i386/pit.c: New file.
16830 * include/grub/i386/pit.h: Likewise.
16831
16832 2008-08-05 Bean <bean123ch@gmail.com>
16833
16834 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16835
16836 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16837 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16838 (pxe_mod_SOURCES): New macro.
16839 (pxe_mod_CFLAGS): Likewise.
16840 (pxe_mod_LDFLAGS): Likewise.
16841 (pxecmd_mod_SOURCES): Likewise.
16842 (pxecmd_mod_CFLAGS): Likewise.
16843 (pxecmd_mod_LDFLAGS): Likewise.
16844
16845 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16846 (grub_pxe_call): Likewise.
16847
16848 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16849
16850 * commands/i386/pc/pxecmd.c: New file.
16851
16852 * fs/i386/pc/pxe.c: Likewise.
16853
16854 * include/grub/i386/pc/pxe.h: Likewise.
16855
16856 2008-08-05 Bean <bean123ch@gmail.com>
16857
16858 * util/console.c (grub_console_cur_color): New variable.
16859 (grub_console_standard_color): Likewise.
16860 (grub_console_normal_color): Likewise.
16861 (grub_console_highlight_color): Likewise.
16862 (color_map): Likewise.
16863 (use_color): Likewise.
16864 (NUM_COLORS): New macro.
16865 (grub_ncurses_setcolorstate): Handle color properly.
16866 (grub_ncurses_setcolor): Don't change color here, just remember the
16867 settings, color will be set in grub_ncurses_setcolorstate.
16868 (grub_ncurses_getcolor): New function.
16869 (grub_ncurses_init): Initialize color pairs.
16870 (grub_ncurses_term): New member grub_ncurses_getcolor.
16871
16872 2008-08-05 Colin D Bennett <colin@gibibit.com>
16873
16874 High resolution timer support. Implemented for x86 CPUs using TSC.
16875 Extracted generic grub_millisleep() so it's linked in only as needed.
16876 This requires a Pentium compatible CPU; if the RDTSC instruction is
16877 not supported, then it falls back on the generic grub_get_time_ms()
16878 implementation that uses the machine's RTC.
16879
16880 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16881 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16882 `kern/generic/millisleep.c'.
16883
16884 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16885 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16886
16887 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16888 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16889
16890 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16891
16892 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16893 `kern/generic/millisleep.c'.
16894
16895 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16896
16897 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16898
16899 * kern/generic/rtc_get_time_ms.c: New file.
16900
16901 * kern/generic/millisleep.c: New file.
16902
16903 * kern/misc.c: Don't include
16904 <kern/time.h> anymore.
16905 (grub_millisleep_generic): Removed.
16906
16907 * commands/sleep.c (grub_interruptible_millisleep): Uses
16908 grub_get_time_ms() instead of grub_get_rtc().
16909
16910 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16911 function.
16912 (grub_cpu_is_cpuid_supported): New inline function.
16913 (grub_cpu_is_tsc_supported): New inline function.
16914 (grub_tsc_init): New function prototype.
16915 (grub_tsc_get_time_ms): New function prototype.
16916
16917 * kern/i386/tsc.c (grub_get_time_ms): New file.
16918
16919 * include/grub/time.h: Include <grub/types.h.
16920 (grub_millisleep_generic): Removed.
16921 (grub_get_time_ms): New prototype.
16922 (grub_install_get_time_ms): New prototype.
16923 (grub_rtc_get_time_ms): New prototype.
16924
16925 * kern/time.c (grub_get_time_ms): New function.
16926 (grub_install_get_time_ms): New function.
16927
16928 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16929 <grub/time.h> anymore.
16930 (grub_millisleep): Removed.
16931 (grub_machine_init): Call grub_tsc_init.
16932
16933 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16934 get_time_ms() implementation.
16935
16936 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16937 (ieee1275_get_time_ms): New function.
16938 (grub_machine_init): Install get_time_ms() implementation.
16939
16940 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16941 (grub_machine_init): Call grub_tsc_init().
16942 (grub_millisleep): Removed.
16943
16944 * kern/ieee1275/init.c (grub_millisleep): Removed.
16945 (grub_machine_init): Install ieee1275_get_time_ms()
16946 implementation.
16947 (ieee1275_get_time_ms): New function.
16948 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16949 real work.
16950
16951 2008-08-05 Marco Gerards <marco@gnu.org>
16952
16953 * disk/ata.c: Include <grub/pci.h>.
16954 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16955 (grub_ata_initialize): Rewritten.
16956 (grub_ata_device_initialize): New function.
16957
16958 2008-08-04 Pavel Roskin <proski@gnu.org>
16959
16960 * kern/main.c: Include grub/mm.h.
16961
16962 2008-08-04 Robert Millan <rmh@aybabtu.com>
16963
16964 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16965 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16966 corruption problem).
16967
16968 2008-08-04 Robert Millan <rmh@aybabtu.com>
16969
16970 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16971 warnings introduced in my last commit.
16972
16973 2008-08-03 Robert Millan <rmh@aybabtu.com>
16974
16975 Make PCI available on all i386 architectures.
16976
16977 * include/grub/i386/pc/pci.h: Move from here ...
16978 * include/grub/i386/pci.h: ... to here.
16979
16980 * include/grub/i386/pc/pci.h: Remove.
16981 * include/grub/i386/efi/pci.h: Remove.
16982 * include/grub/x86_64/efi/pci.h: Remove.
16983
16984 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16985 `<grub/cpu/pci.h>'.
16986
16987 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16988 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16989 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16990
16991 * conf/i386-ieee1275.rmk: Likewise.
16992
16993 2008-08-03 Robert Millan <rmh@aybabtu.com>
16994
16995 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16996 (grub_console_setcursor): Make it possible to set cursor off.
16997
16998 2008-08-03 Robert Millan <rmh@aybabtu.com>
16999
17000 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17001 of modules instead of assuming which platform provides what.
17002 * util/update-grub.in: Likewise.
17003
17004 2008-08-03 Robert Millan <rmh@aybabtu.com>
17005
17006 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17007 instead of `grub_install_dos_part' to determine whether a drive needs
17008 to be prepended to prefix (`grub_install_dos_part' is not reliable,
17009 because it can be overridden when loading GRUB via Multiboot).
17010
17011 2008-08-02 Robert Millan <rmh@aybabtu.com>
17012
17013 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17014
17015 2008-08-02 Robert Millan <rmh@aybabtu.com>
17016
17017 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17018 of informational grub_dprintf() calls.
17019
17020 2008-08-02 Robert Millan <rmh@aybabtu.com>
17021
17022 * disk/memdisk.c (memdisk_size): Don't initialize.
17023 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17024
17025 * include/grub/i386/pc/kernel.h
17026 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17027 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17028 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17029 (grub_arch_memdisk_size): Remove.
17030
17031 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17032 field (was only used to transfer a constant). Add `type' field to
17033 support multiple module types.
17034 (grub_module_iterate): New function.
17035
17036 * kern/device.c (grub_device_open): Do not hide error messages
17037 when grub_disk_open() fails. Use grub_print_error() instead.
17038
17039 * kern/i386/pc/init.c (grub_arch_modules_addr)
17040 (grub_arch_memdisk_size): Remove functions.
17041 (grub_arch_modules_addr): Return the module address in high memory
17042 (now that it isn't copied anymore).
17043
17044 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17045 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17046 decompression routine (grub_total_module_size already includes that
17047 now). Don't copy modules back to low memory.
17048
17049 * kern/main.c: Include `<grub/mm.h>'.
17050 (grub_load_modules): Split out (and use) ...
17051 (grub_module_iterate): ... this function, which iterates through
17052 module objects and runs a hook.
17053 Comment out grub_mm_init_region() call, as it would cause non-ELF
17054 modules to be overwritten.
17055
17056 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17057 the memdisk image in its own region, make it part of the module list.
17058 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17059 (main): Parse --memdisk|-m option, and pass user-provided path as
17060 parameter to generate_image().
17061 (add_segments): Pass `memdisk_path' down to load_modules().
17062 (load_modules): Embed memdisk image in module section when requested.
17063 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17064 `header.type' instead of `header.offset'.
17065
17066 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17067 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17068 (memdisk_mod_LDFLAGS): New variables.
17069 * conf/i386-coreboot.rmk: Likewise.
17070 * conf/i386-ieee1275.rmk: Likewise.
17071
17072 2008-08-02 Robert Millan <rmh@aybabtu.com>
17073
17074 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17075 (backward_relocator): New variables. Used to allocate and relocate
17076 the payload, respectively.
17077 (grub_multiboot_load_elf32): Load into heap instead of requested
17078 address, install the appropriate relocator code in each bound of
17079 the payload, and set the entry point such that
17080 grub_multiboot_real_boot() will jump to one of them.
17081
17082 * kern/i386/loader.S (grub_multiboot_payload_size)
17083 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17084 (grub_multiboot_payload_entry_offset): New variables.
17085 (grub_multiboot_real_boot): Set cpu context to what the relocator
17086 expects, and jump to the relocator instead of the payload.
17087
17088 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17089 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17090 (grub_multiboot_payload_entry_offset): Export.
17091
17092 2008-08-01 Bean <bean123ch@gmail.com>
17093
17094 * normal/menu_entry.c (editor_getline): Don't return the original
17095 string as result, as it will be released by lexer once it has done
17096 using it.
17097
17098 2008-08-01 Robert Millan <rmh@aybabtu.com>
17099
17100 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17101 within menuentries, not before them.
17102 util/grub.d/10_hurd.in: Likewise.
17103
17104 2008-08-01 Bean <bean123ch@gmail.com>
17105
17106 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17107 (bufio_mod_SOURCES): New macro.
17108 (bufio_mod_CFLAGS): Likewise.
17109 (bufio_mod_LDFLAGS): Likewise.
17110
17111 * include/grub/bufio.h: New file.
17112
17113 * io/bufio.c: Likewise.
17114
17115 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17116 (grub_video_reader_png): Use grub_buffile_open to open file.
17117
17118 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17119 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17120
17121 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17122 (grub_video_reader_tga): Use grub_buffile_open to open file.
17123
17124 * font/manager.c: Include <grub/bufio.h>.
17125 (add_font): Use grub_buffile_open to open file.
17126
17127 2008-07-31 Robert Millan <rmh@aybabtu.com>
17128
17129 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17130 ELF segments, use a macro for arbitrarily accessing any of them instead
17131 of preparing a pointer that allows access to one at a time.
17132 (grub_multiboot_load_elf64): Likewise.
17133
17134 2008-07-31 Bean <bean123ch@gmail.com>
17135
17136 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17137 GRUB_KERNEL_MACHINE_DATA_END.
17138
17139 2008-07-30 Robert Millan <rmh@aybabtu.com>
17140
17141 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17142 Increase from 0x50 to 0x60.
17143 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17144 use UUIDs to identify the root drive for them. If that's not
17145 possible, abort.
17146 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17147 check, for cross-disk installs.
17148
17149 2008-07-30 Robert Millan <rmh@aybabtu.com>
17150
17151 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17152 is non-empty, use it to set the `prefix' environment variable instead
17153 of the usual approach.
17154 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17155 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17156 environment variable instead of dummy make_install_device().
17157
17158 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17159 (start): Insert a data section, with `grub_prefix' variable.
17160 * kern/i386/linuxbios/startup.S: Likewise.
17161
17162 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17163 New variable reference.
17164 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17165 New macro. Defines offset of `grub_prefix' within startup.S (relative
17166 to `start').
17167 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17168 section within startup.S (relative to `start').
17169 * include/grub/i386/coreboot/kernel.h: Likewise.
17170
17171 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17172 Overwrite grub_prefix with its contents, at the beginning of the
17173 first segment.
17174 (main): Understand -p|--prefix.
17175
17176 2008-07-30 Robert Millan <rmh@aybabtu.com>
17177
17178 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17179
17180 2008-07-30 Robert Millan <rmh@aybabtu.com>
17181
17182 * term/i386/pc/vga_text.c (grub_console_cls): Use
17183 grub_console_gotoxy() to go back to beginning of the screen.
17184 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17185
17186 2008-07-29 Christian Franke <franke@computer.org>
17187
17188 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17189 Add conversion of emulated mount points on Cygwin.
17190
17191 2008-07-29 Christian Franke <franke@computer.org>
17192
17193 * util/update-grub.in: Add a check for admin
17194 group on Cygwin.
17195 Remove old `grub.cfg.new' before creation.
17196 Add `-f' to `mv' to handle the different filesystem
17197 semantics of Windows.
17198
17199 2008-07-29 Bean <bean123ch@gmail.com>
17200
17201 * normal/main.c (get_line): Fix buffer overflow bug.
17202
17203 2008-07-28 Robert Millan <rmh@aybabtu.com>
17204
17205 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17206 (struct grub_apple_header): New struct. Describes the layout of
17207 the partmap header.
17208 (apple_partition_map_iterate): Check the header magic as well as the
17209 partition magic (which was already being checked).
17210
17211 2008-07-28 Pavel Roskin <proski@gnu.org>
17212
17213 * genmk.rb: Add a warning to the beginning of the output that
17214 it's a generated file and should not be edited.
17215
17216 2008-07-28 Robert Millan <rmh@aybabtu.com>
17217
17218 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17219 with the same number are found, just use issue a warning with
17220 grub_dprintf(), as this error has been reported to be non-fatal.
17221
17222 2008-07-27 Robert Millan <rmh@aybabtu.com>
17223
17224 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17225 information.
17226
17227 2008-07-27 Bean <bean123ch@gmail.com>
17228
17229 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17230 (grub_fat_find_dir): Ignore case when comparing filename.
17231
17232 2008-07-27 Bean <bean123ch@gmail.com>
17233
17234 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17235 smallino, as it's more descriptive, and i8count can be confused with
17236 the other field count.
17237 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17238 inode type.
17239
17240 2008-07-27 Bean <bean123ch@gmail.com>
17241
17242 * commands/crc.c: New file.
17243
17244 * lib/crc.c: Likewise.
17245
17246 * include/grub/lib/crc.h: Likewise.
17247
17248 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17249
17250 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17251 (hexdump): Move this function to ...
17252
17253 * lib/hexdump.c: ... here.
17254
17255 * include/grub/hexdump.h: Renamed to ...
17256
17257 * include/grub/lib/hexdump.h: ... this.
17258
17259 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17260
17261 * util/grub-editenv.c: Likewise.
17262
17263 * include/envblk.h: Renamed to ...
17264
17265 * include/lib/envblk.h: ... this.
17266
17267 * util/envblk.c: Renamed to ...
17268
17269 * lib/envblk.c: ... this.
17270
17271 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17272 lib/hexdump.c.
17273 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17274 (pkglib_MODULES): Add crc.mod.
17275 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17276 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17277 (crc_mod_SOURCES): New macro.
17278 (crc_mod_CFLAGS): Likewise.
17279 (crc_mod_LDFLAGS): Likewise.
17280
17281 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17282
17283 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17284
17285 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17286
17287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17288
17289 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17290
17291 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17292
17293 * commands/help.c: Include <grub/term.h>.
17294 (TERM_WIDTH): Removed. Updated all users.
17295
17296 2008-07-27 Pavel Roskin <proski@gnu.org>
17297
17298 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17299 spurious warnings about a comment within a comment.
17300
17301 2008-07-25 Robert Millan <rmh@aybabtu.com>
17302
17303 * util/getroot.c (find_root_device): Skip devices that match
17304 /dev/dm-[0-9]. This lets the real device be found for any type of
17305 abstraction (LVM, EVMS, RAID..).
17306 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17307 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17308 device is found first, find_root_device() will now skip it.
17309
17310 2008-07-24 Pavel Roskin <proski@gnu.org>
17311
17312 * include/grub/types.h: Use __builtin_bswap32() and
17313 __builtin_bswap64() with gcc 4.3 and newer.
17314
17315 2008-07-24 Christian Franke <franke@computer.org>
17316
17317 * util/i386/pc/grub-install.in: If `--debug' is specified,
17318 pass `--verbose' to grub-setup.
17319 Abort script if make_system_path_relative_to_its_root() fails.
17320
17321 2008-07-24 Bean <bean123ch@gmail.com>
17322
17323 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17324 variable `target_platform' should be `platform'.
17325
17326 2008-07-24 Bean <bean123ch@gmail.com>
17327
17328 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17329 (grub_png_init_fixed_block): New function.
17330 (grub_png_decode_image_data): Handle fixed huffman code compression.
17331
17332 2008-07-24 Bean <bean123ch@gmail.com>
17333
17334 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17335 (grub_pe2elf_SOURCES): New macro.
17336 (CLEANFILES): Add grub-pe2elf.
17337
17338 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17339 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17340 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17341 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17342 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17343 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17344 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17345 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17346 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17347 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17348 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17349 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17350 (GRUB_PE32_DT_FUNCTION): Likewise.
17351 (GRUB_PE32_REL_I386_DIR32): Likewise.
17352 (GRUB_PE32_REL_I386_REL32): Likewise.
17353 (grub_pe32_symbol): New structure.
17354 (grub_pe32_reloc): Likewise.
17355
17356 * util/grub-pe2elf.c: New file.
17357
17358 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17359 start symbol in non pc platform.
17360
17361 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17362
17363 The following patches are from Christian Franke.
17364
17365 * include/grub/dl.h: Remove .previous, gas supports this only
17366 for ELF format.
17367
17368 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17369 Remove .type, gas supports this only for ELF format.
17370
17371 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17372 nullbytes in symbol table. This fixes an infinite loop if table is
17373 zero filled.
17374
17375 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17376 TARGET_IMG_LDFLAGS and EXEEXT.
17377
17378 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17379 TARGET_IMG_LDFLAGS_AC.
17380 (grub_CHECK_STACK_ARG_PROBE): New function.
17381
17382 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17383
17384 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17385
17386 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17387 to set TARGET_IMG_LD* accordingly.
17388 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17389 Add call to grub_CHECK_STACK_ARG_PROBE.
17390 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17391
17392 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17393
17394 * genmk.rb: Add EXEEXT to CLEANFILES.
17395
17396 2008-07-23 Robert Millan <rmh@aybabtu.com>
17397
17398 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17399 define the codes for arrows and lines used for the menu).
17400 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17401 as well.
17402
17403 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17404 fonts, because the latter are too slow.
17405
17406 2008-07-21 Bean <bean123ch@gmail.com>
17407
17408 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17409 a20. Run keyboard test last, as it will cause macbook to halt.
17410
17411 2008-07-18 Pavel Roskin <proski@gnu.org>
17412
17413 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17414 load foreign architecture modules correctly anyway. Keep
17415 support for loading host architecture modules, whether we
17416 compile them or not.
17417
17418 2008-07-17 Pavel Roskin <proski@gnu.org>
17419
17420 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17421 change target_cpu. The compiler default can mismatch target_cpu
17422 in any case.
17423
17424 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17425 * kern/efi/efi.c: Likewise.
17426
17427 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17428 target compiler is functional.
17429 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17430 are set up.
17431
17432 * configure.ac: Default to efi platform for x86_64-apple. Allow
17433 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17434 adjustments from the rest, only do them if target is not
17435 explicitly given. Merge other adjustments with the final sanity
17436 check. Remove an extraneous check for supported CPU. Be
17437 specific which CPU and which platform is not supported.
17438
17439 * configure.ac: Default to pc platform for x86_64.
17440
17441 2008-07-17 Robert Millan <rmh@aybabtu.com>
17442
17443 Partial LinuxBIOS -> Coreboot rename.
17444
17445 * conf/i386-linuxbios.rmk: Renamed to ...
17446 * conf/i386-coreboot.rmk: ... this.
17447 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17448 * configure.ac: Accept "coreboot" as input platform (but maintain
17449 compatibility with "linuxbios").
17450 * include/grub/i386/linuxbios: Renamed to ...
17451 * include/grub/i386/coreboot: ... this.
17452
17453 2008-07-17 Bean <bean123ch@gmail.com>
17454
17455 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17456 (appleldr_mod_SOURCE): New variable.
17457 (appleldr_mod_CFLAGS): Likewise.
17458 (appleldr_mod_LDFLAGS): Likewise.
17459 (pci_mod_SOURCES): Likewise.
17460 (pci_mod_CFLAGS): Likewise.
17461 (pci_mod_LDFLAGS): Likewise.
17462 (lspci_mod_SOURCES): Likewise.
17463 (lspci_mod_CFLAGS): Likewise.
17464 (lspci_mod_LDFLAGS): Likewise.
17465
17466 * conf/x86_64-efi.rmk: New file.
17467
17468 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17469 macro.
17470 (grub_efidisk_write): Likewise.
17471
17472 * include/efi/api.h (efi_call_0): New macro.
17473 (efi_call_1): Likewise.
17474 (efi_call_2): Likewise.
17475 (efi_call_3): Likewise.
17476 (efi_call_4): Likewise.
17477 (efi_call_5): Likewise.
17478 (efi_call_6): Likewise.
17479
17480 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17481 grub_rescue_cmd_chainloader.
17482
17483 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17484 (grub_pe32_optional_header): Change some fields based on i386 or
17485 x86_64 platform.
17486 (GRUB_PE32_PE32_MAGIC): Likewise.
17487
17488 * include/grub/efi/uga_draw.h: New file.
17489
17490 * include/grub/elf.h (STN_ABS): New constant.
17491 (R_X86_64_NONE): Relocation constant for x86_64.
17492 (R_X86_64_64): Likewise.
17493 (R_X86_64_PC32): Likewise.
17494 (R_X86_64_GOT32): Likewise.
17495 (R_X86_64_PLT32): Likewise.
17496 (R_X86_64_COPY): Likewise.
17497 (R_X86_64_GLOB_DAT): Likewise.
17498 (R_X86_64_JUMP_SLOT): Likewise.
17499 (R_X86_64_RELATIVE): Likewise.
17500 (R_X86_64_GOTPCREL): Likewise.
17501 (R_X86_64_32): Likewise.
17502 (R_X86_64_32S): Likewise.
17503 (R_X86_64_16): Likewise.
17504 (R_X86_64_PC16): Likewise.
17505 (R_X86_64_8): Likewise.
17506 (R_X86_64_PC8): Likewise.
17507
17508 * include/grub/i386/efi/pci.h: New file.
17509
17510 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17511 Change it value based on platform.
17512 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17513 (GRUB_E820_RAM): Likewise.
17514 (GRUB_E820_RESERVED): Likewise.
17515 (GRUB_E820_ACPI): Likewise.
17516 (GRUB_E820_NVS): Likewise.
17517 (GRUB_E820_EXEC_CODE): Likewise.
17518 (GRUB_E820_MAX_ENTRY): Likewise.
17519 (grub_e820_mmap): New structure.
17520 (linux_kernel_header): Change the efi field according to different
17521 kernel version, also field from linux_kernel_header.
17522
17523 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17524
17525 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17526 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17527 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17528 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17529 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17530 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17531 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17532 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17533 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17534 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17535
17536 * include/grub/x86_64/efi/kernel.h: New file.
17537
17538 * include/grub/x86_64/efi/loader.h: Likewise.
17539
17540 * include/grub/x86_64/efi/machine.h: Likewise.
17541
17542 * include/grub/x86_64/efi/pci.h: Likewise.
17543
17544 * include/grub/x86_64/efi/time.h: Likewise.
17545
17546 * include/grub/x86_64/linux.h: Likewise.
17547
17548 * include/grub/x86_64/setjmp.h: Likewise.
17549
17550 * include/grub/x86_64/time.h: Likewise.
17551
17552 * include/grub/x86_64/types.h: Likewise.
17553
17554 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17555 GRUB_TARGET_SIZEOF_VOID_P.
17556
17557 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17558 (grub_efi_locate_handle): Likewise.
17559 (grub_efi_open_protocol): Likewise.
17560 (grub_efi_set_text_mode): Likewise.
17561 (grub_efi_stall): Likewise.
17562 (grub_exit): Likewise.
17563 (grub_reboot): Likewise.
17564 (grub_halt): Likewise.
17565 (grub_efi_exit_boot_services): Likewise.
17566 (grub_get_rtc): Likewise.
17567
17568 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17569 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17570 (grub_efi_allocate_pages): Wrap efi calls.
17571 (grub_efi_free_pages): Wrap efi calls.
17572 (grub_efi_get_memory_map): Wrap efi calls.
17573
17574 * kern/x86_64/dl.c: New file.
17575
17576 * kern/x86_64/efi/callwrap.S: Likewise.
17577
17578 * kern/x86_64/efi/startup.S: Likewise.
17579
17580 * loader/efi/appleloader.c: Likewise.
17581
17582 * loader/efi/chainloader.c (cmdline): New variable.
17583 (grub_chainloader_unload): Wrap efi calls.
17584 (grub_chainloader_boot): Likewise.
17585 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17586 command line.
17587
17588 * loader/efi/chainloader_normal.c (chainloader_command):
17589 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17590 command line.
17591
17592 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17593 method.
17594 (grub_e820_add_region): New function.
17595 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17596 booting.
17597 (grub_find_video_card): New function.
17598 (grub_linux_setup_video): New function.
17599 (grub_rescue_cmd_linux): Probe for video information.
17600
17601 * normal/x86_64/setjmp.S: New file.
17602
17603 * term/efi/console.c (map_char): New function.
17604 (grub_console_putchar): Map unicode char.
17605 (grub_console_checkkey): Wrap efi calls.
17606 (grub_console_getkey): Likewise.
17607 (grub_console_getwh): Likewise.
17608 (grub_console_gotoxy): Likewise.
17609 (grub_console_cls): Likewise.
17610 (grub_console_setcolorstate): Likewise.
17611 (grub_console_setcursor): Likewise.
17612
17613 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17614
17615 2008-07-16 Pavel Roskin <proski@gnu.org>
17616
17617 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17618 format strings.
17619
17620 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17621 pointer, not an integer. This fixes a warning and prevents
17622 precision loss on 64-bit systems.
17623 (relocate_addresses): Remove unneeded cast.
17624
17625 2008-07-15 Pavel Roskin <proski@gnu.org>
17626
17627 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17628
17629 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17630
17631 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17632 Fix comparison between signed and unsigned.
17633
17634 * include/grub/i386/ieee1275/console.h: Declare
17635 grub_console_init() and grub_console_fini().
17636
17637 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17638 It's empty and unused.
17639
17640 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17641 beginning to avoid warnings with some compilers.
17642
17643 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17644 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17645
17646 2008-07-14 Pavel Roskin <proski@gnu.org>
17647
17648 * kern/env.c (grub_register_variable_hook): Don't copy empty
17649 string, it leaks memory. Pass "" to grub_env_set(), it should
17650 handle constant strings.
17651
17652 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17653 * commands/cmp.c (grub_cmd_cmp): Likewise.
17654 * kern/dl.c (grub_dl_flush_cache): Likewise.
17655 (grub_dl_load_core): Likewise.
17656 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17657 (grub_elf64_load_phdrs): Likewise.
17658
17659 2008-07-13 Pavel Roskin <proski@gnu.org>
17660
17661 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17662 between signed and unsigned.
17663 (LzmaEnc_Finish): Fix warning about an unused parameter.
17664
17665 2008-07-13 Bean <bean123ch@gmail.com>
17666
17667 * Makefile.in (enable_lzo): New rule.
17668
17669 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17670
17671 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17672
17673 * boot/i386/pc/lnxboot.S: #include <config.h>.
17674
17675 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17676 its value according to the compression algorithm used, lzo or lzma.
17677
17678 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17679 compression algorithm according to configure macro.
17680
17681 * kern/i386/pc/startup.S (codestart): Likewise.
17682
17683 * kern/i386/pc/lzma_decode.S: New file.
17684
17685 * include/grub/lib/LzFind.h: Likewise.
17686
17687 * include/grub/lib/LzHash.h: Likewise.
17688
17689 * include/grub/lib/LzmaDec.h: Likewise.
17690
17691 * include/grub/lib/LzmaEnc.h: Likewise.
17692
17693 * include/grub/lib/LzmaTypes.h: Likewise.
17694
17695 * lib/LzFind.c: Likewise.
17696
17697 * lib/LzmaDec.c: Likewise.
17698
17699 * lib/LzmaEnc.c: Likewise.
17700
17701 2008-07-13 Bean <bean123ch@gmail.com>
17702
17703 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17704 (grub_ext4_extent_header): New structure.
17705 (grub_ext4_extent): Likewise.
17706 (grub_ext4_extent_idx): Likewise.
17707 (grub_ext4_find_leaf): New function.
17708 (grub_ext2_read_block): Handle extents.
17709
17710 2008-07-12 Robert Millan <rmh@aybabtu.com>
17711
17712 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17713
17714 2008-07-11 Robert Millan <rmh@aybabtu.com>
17715
17716 * util/grub.d/40_custom.in: New file. Example on how to add custom
17717 entries to /etc/grub.d.
17718 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17719 40_custom (implicitly, by merging all the grub.d rules).
17720
17721 2008-07-11 Pavel Roskin <proski@gnu.org>
17722
17723 * commands/read.c (grub_getline): Fix invalid memory access.
17724 Don't add newline to the variable value.
17725
17726 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17727 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17728 (serial_hw_get_port): Check validity of the port number.
17729 (grub_cmd_serial): Check return value of serial_hw_get_port().
17730
17731 2008-07-07 Pavel Roskin <proski@gnu.org>
17732
17733 * boot/i386/pc/diskboot.S (notification_string): Replace
17734 "Loading kernel" with just "loading". This is shorter, less
17735 confusing and saves a few bytes for possible future changes.
17736
17737 2008-07-05 Pavel Roskin <proski@gnu.org>
17738
17739 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17740 size for ATAPI devices, they are undefined. Output sector
17741 number in decimal form.
17742
17743 * disk/ata.c: Use named constants for status bits.
17744
17745 2008-07-04 Pavel Roskin <proski@gnu.org>
17746
17747 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17748 grub_addr_t before casting it to the void pointer to fix a
17749 warning. Non-addressable regions are discarded earlier.
17750 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17751 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17752 (check_signature): Don't shadow table_header.
17753 (grub_linuxbios_table_iterate): Cast numeric constants to
17754 grub_linuxbios_table_header_t.
17755 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17756 grub_stop().
17757
17758 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17759 prevent warnings.
17760
17761 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17762 pointer, which can cause warnings. Support 64-bit addresses.
17763
17764 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17765 of sizeof(long). This fixes PowerPC image generation on x86_64.
17766
17767 2008-07-04 Robert Millan <rmh@aybabtu.com>
17768
17769 This fixes a performance issue when pc & gpt partmap iterators
17770 didn't abort iteration even after our hook found what it was
17771 looking for (often causing expensive probes of non-existent drives).
17772
17773 Some callers relied on previous buggy behaviour, since they would
17774 raise an error when their own hooks caused early abortion of its
17775 iteration.
17776
17777 * kern/device.c (grub_device_open): Improve error message.
17778 * disk/lvm.c (grub_lvm_open): Likewise.
17779 * disk/raid.c (grub_raid_open): Likewise.
17780
17781 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17782 when hook requests it, independently of grub_errno.
17783 (pc_partition_map_probe): Do not fail when find_func() caused
17784 early abortion of pc_partition_map_iterate().
17785
17786 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17787 when hook requests it, independently of grub_errno.
17788 (gpt_partition_map_probe): Do not fail when find_func() caused
17789 early abortion of gpt_partition_map_iterate().
17790
17791 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17792 when hook requests it, independently of grub_errno. Do not fail when
17793 part_map_iterate_hook() caused early abortion of p->iterate().
17794
17795 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17796 when grub_partition_iterate() returned with non-zero.
17797
17798 2008-07-03 Pavel Roskin <proski@gnu.org>
17799
17800 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17801 like we do in grub_ata_pio_read().
17802 (grub_ata_readwrite): Always write individual sectors. Fix the
17803 sector count for the remainder.
17804 (grub_ata_write): Enable writing to ATA devices. Correctly
17805 report error for ATAPI devices.
17806
17807 2008-07-02 Pavel Roskin <proski@gnu.org>
17808
17809 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17810 warning.
17811
17812 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17813 for every read sector, we already increment it for the whole
17814 batch. This fixes reading more than 256 sectors at once.
17815
17816 * util/grub-editenv.c (cmd_info): Cast argument to long
17817 explicitly. ptrdiff_t reduces to int on i386.
17818
17819 * util/grub-editenv.c (main): Be specific which parameter is
17820 missing.
17821
17822 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17823 (memdisk): Make memdisk_orig_addr a pointer.
17824
17825 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17826 for file offsets, use grub_off_t instead. Fix printf format
17827 warnings.
17828
17829 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17830 there. Real unexpected warnings should not drown in the noise
17831 about known problems.
17832
17833 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17834 grub_disk_addr_t for memory addresses.
17835
17836 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17837 explicitly to fix a warning.
17838
17839 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17840
17841 * Makefile.in (MODULE_LDFLAGS): New variable.
17842 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17843 the linker accepts --build-id=none.
17844 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17845 MODULE_LDFLAGS.
17846 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17847
17848 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17849 those in Linux XFS code. Provide a way to access 64-bit parent
17850 inode.
17851 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17852 the end of struct grub_xfs_dir_header.
17853
17854 2008-07-02 Bean <bean123ch@gmail.com>
17855
17856 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17857 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17858 and GRUB_IEEE1275_FLAG_NO_ANSI.
17859
17860 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17861 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17862 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17863
17864 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17865 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17866
17867 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17868 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17869
17870 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17871 esc sequence on non ANSI terminal.
17872 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17873
17874 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17875 beginning of file.
17876
17877 2008-07-02 Bean <bean123ch@gmail.com>
17878
17879 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17880 (grub_editenv_SOURCES): New variable.
17881 (pkglib_MODULES): Add loadenv.mod.
17882 (loadenv_mod_SOURCES): New variable.
17883 (loadenv_mod_CFLAGS): Likewise.
17884 (loadenv_mod_LDFLAGS): Likewise.
17885
17886 * include/grub/envblk.h: New file.
17887
17888 * util/envblk.c: New file.
17889
17890 * util/grub-editenv.c: New file.
17891
17892 * commands/loadenv.c: New file.
17893
17894 2008-07-01 Pavel Roskin <proski@gnu.org>
17895
17896 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17897 not unsigned char. This fixes warnings and is consistent with
17898 other tags.
17899
17900 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17901
17902 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17903
17904 * term/tparm.c (analyze): Always set *popcount.
17905
17906 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17907 cast to fix a warning.
17908
17909 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17910 cast to suppress a warning.
17911
17912 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17913 grub_fshelp_read_file() expects.
17914
17915 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17916 write uuid as a 32-bit value in CPU byte order, so declare and
17917 use it as such.
17918
17919 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17920 long if the format specifier expects it.
17921 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17922 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17923 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17924 long to fix a warning.
17925 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17926 grub_dprintf() arguments to fix warnings.
17927
17928 2008-06-30 Pavel Roskin <proski@gnu.org>
17929
17930 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17931 install_bsd_part immediately before core.img is embedded or
17932 modified on disk. This fixes core.img verification if core.img
17933 cannot be embedded.
17934
17935 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17936 core_path to calculate the blocklist.
17937 Patch from Javier Martín <lordhabbit@gmail.com>
17938
17939 2008-06-29 Robert Millan <rmh@aybabtu.com>
17940
17941 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17942 block to disk block.
17943 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17944 Patch from Niels Böhm <bitbucket@arcor.de>
17945
17946 2008-06-29 Robert Millan <rmh@aybabtu.com>
17947
17948 * util/update-grub_lib.in (font_path): Search for fonts in
17949 /boot/grub first, which is more likely to be readable (we aren't
17950 deciding where fonts live, just looking for them).
17951
17952 2008-06-26 Pavel Roskin <proski@gnu.org>
17953
17954 * util/biosdisk.c (read_device_map): Don't leave dead map
17955 entries for devices failing stat() check.
17956
17957 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17958 core_path_dev for the core.img path on the target device.
17959
17960 2008-06-26 Robert Millan <rmh@aybabtu.com>
17961
17962 * disk/fs_uuid.c: New file.
17963 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17964 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17965 (fs_uuid_mod_LDFLAGS): New variables.
17966 * include/grub/disk.h (grub_disk_dev_id): Add
17967 `GRUB_DISK_DEVICE_UUID_ID'.
17968 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17969 implement iterate().
17970
17971 2008-06-26 Robert Millan <rmh@aybabtu.com>
17972
17973 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17974 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17975 Linux image includes no initrd.
17976
17977 2008-06-21 Javier Martín <lordhabbit@gmail.com>
17978
17979 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17980 call to resolve the core image location that effectively appended the
17981 name twice.
17982
17983 2008-06-21 Robert Millan <rmh@aybabtu.com>
17984
17985 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17986 call from here ...
17987
17988 * util/grub.d/10_hurd.in: ... to here ...
17989 * util/grub.d/10_linux.in: ... and here.
17990
17991 2008-06-19 Robert Millan <rmh@aybabtu.com>
17992
17993 * kern/main.c (grub_main): Export `prefix' variable immediately
17994 after it has been set by grub_machine_set_prefix().
17995
17996 2008-06-19 Robert Millan <rmh@aybabtu.com>
17997
17998 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17999 search result when not saving to variable, not the other way around.
18000 When saving to variable, abort iteration as soon as a match is found.
18001
18002 2008-06-19 Robert Millan <rmh@aybabtu.com>
18003
18004 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18005 check for partition that provides /boot/grub. Its logic is flawed,
18006 as it prevents prepare_grub_to_access_device() from being called
18007 multiple times.
18008
18009 2008-06-19 Robert Millan <rmh@aybabtu.com>
18010
18011 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18012 "insmod" command directly when abstraction modules are needed,
18013 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
18014 since it had already been processed).
18015
18016 2008-06-19 Pavel Roskin <proski@gnu.org>
18017
18018 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18019 changed. This is needed in case GRUB_LIBDIR changes.
18020 * conf/i386-ieee1275.rmk: Likewise.
18021 * conf/i386-linuxbios.rmk: Likewise.
18022 * conf/i386-pc.rmk: Likewise.
18023 * conf/powerpc-ieee1275.rmk: Likewise.
18024
18025 2008-06-18 Pavel Roskin <proski@gnu.org>
18026
18027 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18028 kernel_elf_symlist.c to symlist.c for consistency with other
18029 architectures. Update all users.
18030 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18031
18032 2008-06-18 Robert Millan <rmh@aybabtu.com>
18033
18034 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18035 it in prefix.
18036
18037 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18038 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18039 a RAID device, run setup() for all members independently on whether
18040 LVM abstraction is being used.
18041 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18042 If grub-mkimage has set `*install_dos_part == -2', don't override this
18043 value.
18044 Perform *install_dos_part adjustments independently on whether
18045 we're embedding or not.
18046 Clarify error message when image is too big for embedding.
18047 Remove duplicate *install_dos_part stanza.
18048
18049 2008-06-17 Robert Millan <rmh@aybabtu.com>
18050
18051 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18052 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18053 variables.
18054 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18055 values in grub_ofconsole_normal_color and
18056 grub_ofconsole_highlight_color (they're not directly related to
18057 background and foreground).
18058 (grub_ofconsole_setcolorstate): Extract background and foreground
18059 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18060
18061 2008-06-17 Robert Millan <rmh@aybabtu.com>
18062
18063 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18064 /boot/grub for the check in last commit, not /boot (they could be
18065 different partitions).
18066
18067 2008-06-16 Robert Millan <rmh@aybabtu.com>
18068
18069 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18070 asked to setup access for the same partition that provides /boot,
18071 don't bother using UUIDs since our root already has the value we
18072 want.
18073
18074 2008-06-16 Robert Millan <rmh@aybabtu.com>
18075
18076 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18077 I2O devices.
18078 Patch from Sven Mueller <sven@debian.org>.
18079
18080 2008-06-16 Robert Millan <rmh@aybabtu.com>
18081
18082 * util/update-grub.in: Check for $EUID instead of $UID.
18083 Reported by Vincent Zweije.
18084
18085 2008-06-16 Bean <bean123ch@gmail.com>
18086
18087 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18088 (grub_ext2_read_block): Likewise.
18089 (grub_ext2_read_inode): Likewise.
18090 (grub_ext2_mount): Likewise.
18091 (grub_ext2_close): Likewise.
18092 (grub_ext3_get_journal): Removed.
18093
18094 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18095 (grub_reiserfs_read_symlink): Likewise.
18096 (grub_reiserfs_mount): Likewise.
18097 (grub_reiserfs_open): Likewise.
18098 (grub_reiserfs_read): Likewise.
18099 (grub_reiserfs_close): Likewise.
18100 (grub_reiserfs_get_journal): Removed.
18101
18102 * fs/fshelp.c (grub_fshelp_read): Removed.
18103 (grub_fshelp_map_block): Likewise.
18104
18105 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18106 (grub_fshelp_journal): Likewise.
18107 (grub_fshelp_read): Likewise.
18108 (grub_fshelp_map_block): Likewise.
18109
18110 2008-06-16 Pavel Roskin <proski@gnu.org>
18111
18112 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18113 floating point anymore.
18114 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18115
18116 2008-06-15 Pavel Roskin <proski@gnu.org>
18117
18118 * commands/ls.c (grub_ls_list_files): Use integer calculations
18119 for human readable format, avoid floating point use.
18120 * kern/misc.c (grub_ftoa): Remove.
18121 (grub_vsprintf): Remove floating point support.
18122
18123 2008-06-15 Robert Millan <rmh@aybabtu.com>
18124
18125 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18126 devices.
18127 Reported by Max Vozeler.
18128
18129 2008-06-15 Robert Millan <rmh@aybabtu.com>
18130
18131 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18132 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18133 skipped later.
18134 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18135 the beginning of the prefix.
18136
18137 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18138 It is assumed that if we have a memdisk, grub-mkimage has set
18139 grub_prefix to include the "(memdisk)" drive in it.
18140
18141 2008-06-15 Robert Millan <rmh@aybabtu.com>
18142
18143 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18144 Initialize keyboard controller after registering the terminal, so that
18145 grub_printf() can be called from grub_keyboard_controller_init().
18146
18147 2008-06-15 Robert Millan <rmh@aybabtu.com>
18148
18149 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18150 extent-btree which is written as big endian on disk.
18151 Reported by Alain Greppin <al@chilibi.org>.
18152
18153 2008-06-14 Robert Millan <rmh@aybabtu.com>
18154
18155 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18156 * util/i386/pc/grub-install.in (modules): Likewise.
18157
18158 2008-06-13 Pavel Roskin <proski@gnu.org>
18159
18160 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18161
18162 2008-06-13 Bean <bean123ch@gmail.com>
18163
18164 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18165
18166 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18167
18168 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18169 to indicate sparse block.
18170
18171 2008-06-12 Pavel Roskin <proski@gnu.org>
18172
18173 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18174 number, grub_fshelp_read() does it for us.
18175
18176 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18177 linear disk read with journal translation.
18178 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18179 * include/grub/fshelp.h: Declare grub_fshelp_read().
18180
18181 2008-06-09 Pavel Roskin <proski@gnu.org>
18182
18183 * fs/minix.c (grub_minix_mount): Handle error reading
18184 superblock.
18185
18186 2008-06-08 Robert Millan <rmh@aybabtu.com>
18187
18188 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18189 don't append the RAID prefix afterwards.
18190 Reported by Clint Adams.
18191
18192 2008-06-08 Robert Millan <rmh@aybabtu.com>
18193
18194 Based on description from Pavel:
18195 * kern/disk.c (grub_disk_check_range): Rename to ...
18196 (grub_disk_adjust_range): ... this. Add a comment explaining the
18197 tasks performed by this function.
18198
18199 2008-06-08 Robert Millan <rmh@aybabtu.com>
18200
18201 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18202 `num_serial' (for consistency with other variables).
18203 (struct grub_ntfs_data): Add `uuid' member.
18204 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18205 (grub_ntfs_uuid): New function.
18206 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18207
18208 2008-06-07 Pavel Roskin <proski@gnu.org>
18209
18210 * util/biosdisk.c (open_device): Revert last change to the
18211 function, it broke installation. The sector needs to be
18212 different dependent on which device is opened.
18213
18214 2008-06-06 Robert Millan <rmh@aybabtu.com>
18215
18216 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18217 rest of GRUB, and breakage doesn't happen if its value were modified.
18218
18219 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18220 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18221 a constant (same value).
18222 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18223 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18224
18225 2008-06-06 Robert Millan <rmh@aybabtu.com>
18226
18227 * util/biosdisk.c (open_device): Do not modify sector offset when
18228 accessing a partition. kern/disk.c already handles this for us.
18229
18230 2008-06-06 Robert Millan <rmh@aybabtu.com>
18231
18232 * util/grub-emu.c (grub_machine_init): Move code in this function from
18233 here ...
18234 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18235 segfault in case grub_printf() is called).
18236
18237 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18238 grub_probe. Update all users not to explicitly add it again.
18239 (grub_device): New variable; contains corresponding device for grubdir.
18240 (fs_module, partmap_module, devabstraction_module): Pass
18241 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18242 every time.
18243
18244 2008-06-05 Robert Millan <rmh@aybabtu.com>
18245
18246 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18247 is found, print it (same layout as with labels).
18248
18249 2008-06-04 Robert Millan <rmh@aybabtu.com>
18250
18251 * util/biosdisk.c (get_drive): Rename to ...
18252 (find_grub_drive): ... this. Update all users.
18253
18254 (get_os_disk): Rename to ...
18255 (convert_system_partition_to_system_disk): ... this. Update all users.
18256
18257 (find_drive): Rename to ...
18258 (find_system_device): ... this. Update all users.
18259
18260 2008-06-04 Robert Millan <rmh@aybabtu.com>
18261
18262 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18263 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18264 (make_device_map): Likewise.
18265
18266 2008-06-01 Robert Millan <rmh@aybabtu.com>
18267
18268 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18269 before dereferencing it.
18270
18271 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18272 union with fat12/fat16-specific ones. Add some new fields, including
18273 `num_serial' for both versions.
18274 (struct grub_fat_data): Add `uuid' member.
18275 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18276 names. Initialize `data->uuid' using `num_serial'.
18277 (grub_fat_uuid): New function.
18278 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18279
18280 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18281 (grub_reiserfs_uuid): New function.
18282 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18283 member.
18284
18285 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18286 (grub_xfs_uuid): New function.
18287 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18288
18289 2008-06-01 Robert Millan <rmh@aybabtu.com>
18290
18291 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18292 code that is backward compatible with pre-uuid search command.
18293
18294 2008-05-31 Robert Millan <rmh@aybabtu.com>
18295
18296 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18297 floppies after everything else, to ensure floppy drive isn't accessed
18298 unnecessarily (patch from Bean).
18299
18300 2008-05-31 Robert Millan <rmh@aybabtu.com>
18301
18302 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18303 not print device names when we were asked to set a variable.
18304
18305 2008-05-31 Robert Millan <rmh@aybabtu.com>
18306
18307 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18308 using "cursor-on" and "cursor-off" commands (understood at least by
18309 the Open Firmware flavour on OLPC).
18310
18311 2008-05-31 Michael Gorven <michael@gorven.za.net>
18312
18313 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18314 on and off sequences.
18315
18316 2008-05-31 Robert Millan <rmh@aybabtu.com>
18317
18318 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18319 * util/update-grub.in: Likewise.
18320
18321 2008-05-30 Pavel Roskin <proski@gnu.org>
18322
18323 * util/biosdisk.c (linux_find_partition): Simplify logic and
18324 make the code more universal. Keep special processing for
18325 devfs, but use a simple rule for all other devices. If the
18326 device ends with a number, append 'p' and the partition number.
18327 Otherwise, append only the partition number.
18328
18329 2008-05-30 Robert Millan <rmh@aybabtu.com>
18330
18331 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18332 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18333 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18334 the `root' parameter to Linux.
18335
18336 2008-05-30 Robert Millan <rmh@aybabtu.com>
18337
18338 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18339 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18340 --fs_uuid with --fs-uuid.
18341 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18342 all filesystems support them).
18343
18344 2008-05-30 Robert Millan <rmh@aybabtu.com>
18345
18346 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18347 grub_printf() flags, since we're printing in units of 2 bytes.
18348
18349 2008-05-30 Robert Millan <rmh@aybabtu.com>
18350
18351 * util/grub.d/00_header.in: Remove obsolete comment referencing
18352 convert_system_path_to_grub_path().
18353 * util/update-grub.in: Likewise.
18354 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18355 (convert_system_path_to_grub_path): Add a warning message explaining
18356 that this function is deprecated. Rely on is_path_readable_by_grub()
18357 for the readability checks.
18358 (font_path): Use is_path_readable_by_grub() for the readability
18359 check rather than convert_system_path_to_grub_path().
18360
18361 2008-05-30 Robert Millan <rmh@aybabtu.com>
18362
18363 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18364 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18365 converting it first.
18366 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18367 grub.cfg for access to font file, and afterwards call it again to set
18368 the root device.
18369
18370 2008-05-30 Robert Millan <rmh@aybabtu.com>
18371
18372 * commands/search.c (options): Add --fs_uuid option.
18373 (search_fs_uuid): New function.
18374 (grub_cmd_search): Fix --set argument passing.
18375 Use search_fs_uuid() when requested via --fs_uuid.
18376 (grub_search_init): Update help message.
18377 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18378 and redeclare it as an array of 16-bit words.
18379 (grub_ext2_uuid): New function.
18380 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18381 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18382 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18383 (GRUB_DEVICE_BOOT_UUID): New variables.
18384 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18385 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18386 whenever possible.
18387 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18388 just assume `root' variable has the right value.
18389 * util/grub.d/10_linux.in: Likewise.
18390 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18391 via PRINT_FS_UUID.
18392 (main): Recognise `-t fs_uuid' argument.
18393
18394 2008-05-30 Robert Millan <rmh@aybabtu.com>
18395
18396 * util/biosdisk.c (map): Redefine structure to hold information
18397 about GRUB drive name.
18398 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18399 drive names.
18400 (call_hook): Remove.
18401 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18402 member. Assume drive has partitions.
18403 (grub_util_biosdisk_open): Access device names via `.device' struct
18404 member.
18405 (open_device): Likewise.
18406 (find_drive): Likewise.
18407 (read_device_map): Adjust map[] usage to match the new struct
18408 definition. Don't check for duplicates (still possible, but not cheap
18409 anymore).
18410 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18411 (make_device_name): Remove assumption of BIOS-like drive names.
18412
18413 2008-05-30 Pavel Roskin <proski@gnu.org>
18414
18415 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18416 compiling execute.c doesn't need grub_script.tab.h anymore.
18417 (normal/command.c_DEPENDENCIES): Likewise.
18418 (normal/function.c_DEPENDENCIES): Likewise.
18419 * conf/i386-ieee1275.rmk: Likewise.
18420 * conf/i386-linuxbios.rmk: Likewise.
18421 * conf/i386-pc.rmk: Likewise.
18422 * conf/powerpc-ieee1275.rmk: Likewise.
18423 * conf/sparc64-ieee1275.rmk: Likewise.
18424
18425 2008-05-29 Pavel Roskin <proski@gnu.org>
18426
18427 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18428 when scanning metadata for volume group name.
18429
18430 * include/grub/script.h: Don't include grub_script.tab.h. It's
18431 a generated file, which may only be included from the files with
18432 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18433 use union YYSTYPE, as the later allows forward declaration.
18434 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18435
18436 2008-05-29 Robert Millan <rmh@aybabtu.com>
18437
18438 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18439 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18440 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18441 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18442 scan codes.
18443
18444 2008-05-29 Robert Millan <rmh@aybabtu.com>
18445
18446 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18447 control key combinations.
18448
18449 2008-05-29 Robert Millan <rmh@aybabtu.com>
18450
18451 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18452 * util/ieee1275/grub-install.in: ... to here.
18453 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18454 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18455 (grub_install_SOURCES): Likewise.
18456
18457 2008-05-29 Robert Millan <rmh@aybabtu.com>
18458
18459 * fs/affs.c: Update copyright year.
18460 * fs/ext2.c: Likewise.
18461 * fs/fshelp.c: Likewise.
18462 * fs/hfsplus.c: Likewise.
18463 * fs/ntfs.c: Likewise.
18464 * fs/xfs.c: Likewise.
18465 * include/grub/fshelp.h: Likewise.
18466 * util/grub-mkdevicemap.c: Likewise.
18467
18468 2008-05-28 Robert Millan <rmh@aybabtu.com>
18469
18470 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18471 might need to be fatfs to support some firmware implementations
18472 (e.g. OFW or EFI).
18473
18474 2008-05-28 Robert Millan <rmh@aybabtu.com>
18475
18476 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18477 devices.
18478 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18479 (make_device_map): Likewise.
18480
18481 2008-05-20 Bean <bean123ch@gmail.com>
18482
18483 * fs/fshelp.c (grub_fshelp_map_block): New function.
18484 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18485 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18486
18487 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18488 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18489 (grub_fshelp_journal): New structure.
18490 (grub_fshelp_map_block): New function prototype.
18491 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18492 (grub_fshelp_map_block): Likewise.
18493
18494 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18495 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18496 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18497 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18498 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18499 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18500 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18501 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18502 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18503 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18504 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18505 (grub_ext2_sblock): New members for journal support.
18506 (grub_ext3_journal_header): New structure.
18507 (grub_ext3_journal_revoke_header): Likewise.
18508 (grub_ext3_journal_block_tag): Likewise.
18509 (grub_ext3_journal_sblock): Likewise.
18510 (grub_fshelp_node): New members logfile and journal.
18511 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18512 grub_fshelp_map_block to get real block number.
18513 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18514 number.
18515 (grub_ext2_read_inode): Likewise.
18516 (grub_ext3_get_journal): New function.
18517 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18518 (grub_ext2_close): Release memory used by journal.
18519
18520 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18521 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18522 (grub_reiserfs_transaction_header): Renamed to
18523 grub_reiserfs_description_block, replace field data with real_blocks.
18524 (grub_reiserfs_commit_block): New structure.
18525 (grub_reiserfs_data): New member journal.
18526 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18527 number.
18528 (grub_reiserfs_read_symlink): Likewise.
18529 (grub_reiserfs_iterate_dir): Likewise.
18530 (grub_reiserfs_open): Likewise.
18531 (grub_reiserfs_read): Likewise.
18532 (grub_reiserfs_get_journal): New function.
18533 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18534 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18535 using grub_reiserfs_get_journal.
18536 (grub_reiserfs_close): Release memory used by journal.
18537
18538 * fs/affs.c (grub_affs_read_block): Change block type to
18539 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18540
18541 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18542
18543 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18544
18545 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18546
18547 * fs/udf.c (grub_udf_read_block): Change block type to
18548 grub_disk_addr_t. Use type cast to avoid warning.
18549
18550 * fs/xfs.c (grub_xfs_read_block): Likewise.
18551
18552 2008-05-16 Christian Franke <franke@computer.org>
18553
18554 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18555 to ensure that break with ESC will always work.
18556 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18557 Remove ESC from keyboard queue.
18558
18559 2008-05-16 Christian Franke <franke@computer.org>
18560
18561 * util/biosdisk.c: [__CYGWIN__] Add includes.
18562 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18563 (get_os_disk): Move variable declarations to OS specific
18564 parts to avoid warning.
18565 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18566 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18567 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18568 Cygwin.
18569 * util/getroot.c: [__CYGWIN__] Add includes.
18570 (strip_extra_slashes): Fix "/" case.
18571 [__CYGWIN__] (get_win32_path): New function.
18572 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18573 [__CYGWIN__] (find_root_device): Disable.
18574 [__CYGWIN__] (get_bootsec_serial): New function.
18575 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18576 [__linux__] (grub_guess_root_device): Add early returns to simplify
18577 structure.
18578 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18579 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18580 check for Linux only.
18581
18582 2008-05-15 Bean <bean123ch@gmail.com>
18583
18584 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18585 keyboard hang problem in apple's intel mac.
18586
18587 2008-05-09 Robert Millan <rmh@aybabtu.com>
18588
18589 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18590 devices.
18591 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18592 (make_device_map): Likewise.
18593 Reported by Aurelien Jarno <aurel32@debian.org>
18594
18595 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18596
18597 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18598 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18599 (make_device_map): Output entries for xvd type disks.
18600
18601 2008-05-07 Robert Millan <rmh@aybabtu.com>
18602
18603 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18604 devices.
18605 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18606 (make_device_map): Likewise.
18607 Reported by Roland Dreier <rdreier@cisco.com>
18608
18609 2008-05-07 Robert Millan <rmh@aybabtu.com>
18610
18611 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18612 grub_strstr() call. Correct a few mistakes in failure path handling.
18613
18614 2008-05-06 Robert Millan <rmh@aybabtu.com>
18615
18616 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18617 Do not print a trailing slash (therefore, the root directory is an
18618 empty string).
18619 (convert_system_path_to_grub_path): Do not remove trailing slash
18620 from make_system_path_relative_to_its_root() output.
18621
18622 * util/i386/pc/grub-install.in: Add trailing slash to output from
18623 make_system_path_relative_to_its_root().
18624
18625 2008-05-06 Robert Millan <rmh@aybabtu.com>
18626
18627 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18628 ensures that output lines aren't intermangled with those sent to
18629 stderr (via grub_util_info()).
18630 * util/grub-probe.c (grub_refresh): Likewise.
18631 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18632
18633 2008-05-05 Christian Franke <franke@computer.org>
18634
18635 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18636 Add Cygwin device names.
18637 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18638 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18639 (check_device): Return error instead of success on empty name.
18640 (make_device_map): Move label inside linux specific code to
18641 prevent compiler warning.
18642
18643 2008-04-30 Robert Millan <rmh@aybabtu.com>
18644
18645 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18646 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18647 first boot option.
18648 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18649
18650 2008-04-29 Robert Millan <rmh@aybabtu.com>
18651
18652 * docs/grub.cfg: New file (example GRUB configuration).
18653
18654 2008-04-26 Robert Millan <rmh@aybabtu.com>
18655
18656 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18657 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18658 and `disk/ieee1275/nand.c'.
18659
18660 2008-04-25 Bean <bean123ch@gmail.com>
18661
18662 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18663 i386-linuxbios.
18664
18665 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18666 change the buffer size to 4096 for cdrom device.
18667
18668 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18669 and nand.mod.
18670 (_linux_mod_SOURCES): New variable.
18671 (_linux_mod_CFLAGS): Likewise.
18672 (_linux_mod_LDFLAGS): Likewise.
18673 (linux_mod_SOURCES): Likewise.
18674 (linux_mod_CFLAGS): Likewise.
18675 (linux_mod_LDFLAGS): Likewise.
18676 (nand_mod_SOURCES): Likewise.
18677 (nand_mod_CFLAGS): Likewise.
18678 (nand_mod_LDFLAGS): Likewise.
18679
18680 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18681 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18682 type property. (nand device in olpc don't have this property)
18683
18684 * include/grub/disk.h (grub_disk_dev_id): New macro
18685 GRUB_DISK_DEVICE_NAND_ID.
18686
18687 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18688 function prototype.
18689 (grub_rescue_cmd_initrd): Likewise.
18690
18691 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18692 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18693 ofw_cif_handler and ofw_idt, adjust padding number.
18694
18695 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18696 GRUB_MACHINE_IEEE1275 is defined.
18697
18698 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18699 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18700
18701 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18702 on nested function heap_init.
18703 (grub_upper_mem): New variable for i386-ieee1275.
18704 (grub_get_extended_memory): New function for i386-ieee1275.
18705 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18706
18707 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18708 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18709 property.
18710
18711 * loader/i386/ieee1275/linux.c: New file.
18712
18713 * loader/i386/ieee1275/linux_normal.c: New file.
18714
18715 * disk/ieee1275/nand.c: New file.
18716
18717 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18718
18719 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18720 value.
18721 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18722
18723 2008-04-18 Robert Millan <rmh@aybabtu.com>
18724
18725 Restructures early code path on ieee1275 to unify grub_main() as
18726 the first C function that is executed in every platform.
18727
18728 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18729 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18730 cmain().
18731 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18732 * kern/ieee1275/cmain.c (cmain): Rename to ...
18733 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18734 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18735 at the beginning.
18736
18737 2008-04-18 Robert Millan <rmh@aybabtu.com>
18738
18739 * util/update-grub.in: Fix syntax error when setting
18740 `GRUB_PRELOAD_MODULES'.
18741 Reported by Stephane Chazelas <stephane@artesyncp.com>
18742
18743 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18744
18745 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18746 section into account, newer toolchains generate unique build ids
18747 * configure.ac: remove the test for --build-id=none acceptance,
18748 we want build ids to be preserved
18749 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18750 far from other sections don't cause the raw binary images grow
18751 size
18752
18753 2008-04-15 Robert Millan <rmh@aybabtu.com>
18754
18755 * disk/lvm.c: Update copyright year.
18756 * kern/misc.c: Likewise.
18757
18758 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18759
18760 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18761 there is no memory left for physical volume name.
18762
18763 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18764
18765 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18766 volume name mapping to support bigger than 9 character names properly.
18767
18768 2008-04-13 Robert Millan <rmh@aybabtu.com>
18769
18770 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18771 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18772
18773 2008-04-13 Christian Franke <franke@computer.org>
18774
18775 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18776 to create a floppy emulation boot CD when non emulation mode
18777 does not work.
18778 Enable Joliet CD filesystem extension.
18779
18780 2008-04-13 Robert Millan <rmh@aybabtu.com>
18781
18782 * kern/misc.c (grub_strncat): Fix off-by-one error.
18783 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18784
18785 * kern/env.c (grub_env_context_close): Clear current context, not
18786 previous one.
18787 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18788
18789 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18790
18791 2008-04-13 Robert Millan <rmh@aybabtu.com>
18792
18793 Improve robustness when handling LVM.
18794
18795 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18796 (and leave `*p' unmodified).
18797 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18798 through it.
18799 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18800 iterating through it.
18801 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18802 through it.
18803 (grub_lvm_scan_device): Check the return value (and fail gracefully
18804 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18805 Don't assume `vg->pvs != NULL' when iterating through it.
18806
18807 2008-04-13 Robert Millan <rmh@aybabtu.com>
18808
18809 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18810 * genmk.rb (partmap): New variable.
18811 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18812 (#{partmap}): New target rule.
18813 * genpartmaplist.sh: New file.
18814 * Makefile.in (pkglib_DATA): Add partmap.lst.
18815 (partmap.lst): New target rule.
18816 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18817 modules (including all partition maps), instead of preloading them.
18818
18819 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18820
18821 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18822 `linux-boot-prober' (if installed) to detect other operating
18823 systems which are installed on the computer and add them to
18824 the boot menu.
18825 * conf/common.rmk: Build and install 30_os-prober.
18826
18827 2008-04-12 Robert Millan <rmh@aybabtu.com>
18828
18829 * kern/powerpc/ieee1275/init.c: Move from here ...
18830 * kern/ieee1275/init.c: ... to here. Update all users.
18831
18832 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18833 * kern/ieee1275/cmain.c: ... to here. Update all users.
18834
18835 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18836 * kern/ieee1275/openfw.c: ... to here. Update all users.
18837
18838 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18839 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18840
18841 2008-04-10 Pavel Roskin <proski@gnu.org>
18842
18843 * configure.ac: Always use "_cv_" in cache variables for
18844 compatibility with Autoconf 2.62.
18845
18846 2008-04-07 Robert Millan <rmh@aybabtu.com>
18847
18848 Revert grub/machine/init.h addition by Pavel (since it breaks on
18849 i386-ieee1275 and others):
18850 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18851 * util/powerpc/ieee1275/misc.c: Likewise.
18852
18853 2008-04-07 Robert Millan <rmh@aybabtu.com>
18854
18855 * util/grub-probe.c (probe): Improve error message.
18856
18857 2008-04-07 Robert Millan <rmh@aybabtu.com>
18858
18859 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18860 (this prevents the presence of a bogus entry from ruining the whole
18861 thing).
18862
18863 2008-04-06 Pavel Roskin <proski@gnu.org>
18864
18865 * util/biosdisk.c: Include grub/util/biosdisk.h.
18866 * util/grub-fstest.c (execute_command): Make static.
18867 * util/grub-mkdevicemap.c (check_device): Likewise.
18868 * util/i386/pc/misc.c: Include grub/machine/init.h.
18869 * util/powerpc/ieee1275/misc.c: Likewise.
18870 * util/lvm.c: Include grub/util/lvm.h.
18871 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18872 grub/cache.h.
18873 * util/raid.c: Include grub/util/raid.h.
18874 (grub_util_getdiskname): Make static.
18875
18876 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18877 grub_hostfs_fini(), as they are called from grub_init_all() and
18878 grub_fini_all() respectively. This fixes an infinite loop in
18879 grub-fstest due to double registration of hostfs.
18880 Reported by Christian Franke <Christian.Franke@t-online.de>
18881
18882 2008-04-05 Pavel Roskin <proski@gnu.org>
18883
18884 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18885 all 8 functions. Otherwise, probe function 0 only.
18886
18887 2008-04-04 Pavel Roskin <proski@gnu.org>
18888
18889 * commands/lspci.c (grub_lspci_iter): Print the bus number
18890 correctly.
18891
18892 * commands/lspci.c (grub_pci_classes): Fix typos.
18893 (grub_lspci_iter): Don't print func twice. Print vendor ID
18894 before device ID, as it's normally done.
18895
18896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18897 Fix signedness warnings.
18898 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18899 Likewise.
18900 * util/ieee1275/get_disk_name.c: Include config.h so that
18901 _GNU_SOURCE is defined and getline() is declared. Mark an
18902 unused argument as such. Fix a signedness warning.
18903
18904 2008-04-02 Pavel Roskin <proski@gnu.org>
18905
18906 * genkernsyms.sh.in: Use more robust assignments for CC and
18907 srcdir. Quote srcdir.
18908 * gensymlist.sh.in: Likewise. Assert at the compile time that
18909 the symbol table is not empty.
18910
18911 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18912 * fs/cpio.c (grub_cpio_read): Likewise.
18913
18914 2008-04-01 Pavel Roskin <proski@gnu.org>
18915
18916 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18917 * disk/host.c (grub_host_open): Likewise.
18918 * disk/loopback.c (grub_loopback_open): Likewise.
18919 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18920 disk->id as in disk/host.c, not a multi-character constant.
18921
18922 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18923 later is obsolete, potentially dangerous and sets a bad example.
18924 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18925 * util/misc.c (grub_util_get_image_size): Likewise.
18926
18927 * disk/loopback.c (options): Improve help for "--partitions".
18928
18929 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18930 options to align them with the short options, e.g. "echo -e".
18931
18932 2008-03-31 Bean <bean123ch@gmail.com>
18933
18934 * video/reader/png.c (grub_png_data): New member is_16bit and
18935 image_data.
18936 (grub_png_decode_image_header): Detect 16 bit png image.
18937 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18938 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18939 (grub_video_reader_png): Release memory occupied by image_data.
18940
18941 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18942 4096 bytes.
18943 (grub_nfs_mount): Skip the test for sector per cluster.
18944
18945 * include/grub/ntfs.h (MAX_SPC): Removed.
18946
18947 2008-03-31 Bean <bean123ch@gmail.com>
18948
18949 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18950 (grub_probe_SOURCES): Add fs/afs.c.
18951 (grub_fstest_SOURCES): Likewise.
18952 (afs_mod_SOURCES): New variable.
18953 (afs_mod_CFLAGS): Likewise.
18954 (afs_mod_LDFLAGS): Likewise.
18955
18956 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18957 (grub_emu_SOURCES): Likewise.
18958
18959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18960
18961 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18962
18963 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18964
18965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18966
18967 * fs/afs.c: New file.
18968
18969 2008-03-30 Pavel Roskin <proski@gnu.org>
18970
18971 * disk/host.c: Include grub/misc.h to fix a warning.
18972 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18973 warnings about implicit declarations.
18974
18975 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18976 variable.
18977 * include/grub/i386/loader.h: Change declaration of
18978 grub_linux_boot() to match what grub_loader_set() expects.
18979 * util/getroot.c (grub_guess_root_device): Return const char* to
18980 fix a warning.
18981 * util/grub-probe.c (probe): Fix a warning about uninitialized
18982 abstraction_name variable.
18983 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18984 second argument as unused to fix a warning.
18985
18986 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18987 missing grub_error() call.
18988
18989 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18990 2.60 and newer uses it to define datadir.
18991
18992 * commands/sleep.c: Fix warning about implicit declaration.
18993 * disk/memdisk.c: Likewise.
18994 * loader/aout.c: Likewise.
18995 * loader/i386/bsd_normal.c: Likewise.
18996 * util/grub-probe.c: Likewise.
18997
18998 * commands/i386/cpuid.c (has_longmode): Make static.
18999 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19000 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19001
19002 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19003 GDT. This is more robust, as %ds can change.
19004 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19005 calling real_to_prot().
19006 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19007
19008 2008-03-28 Pavel Roskin <proski@gnu.org>
19009
19010 * kern/i386/pc/startup.S: Assert that uncompressed functions
19011 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19012 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19013 code, as they push parts of the code (error handlers) beyond
19014 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19015 code as correctness and size.
19016
19017 2008-03-28 Pavel Roskin <proski@gnu.org>
19018
19019 * kern/i386/pc/startup.S
19020 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19021 data block address to the real mode, keep offset minimal. This
19022 works around a bug in AWARD BIOS on old Athlon systems, which
19023 makes CD detection hang.
19024
19025 2008-03-26 Pavel Roskin <proski@gnu.org>
19026
19027 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19028 const.
19029 * include/grub/normal.h: Add grub_parse_color_name_pair()
19030 declaration.
19031
19032 2008-03-24 Bean <bean123ch@gmail.com>
19033
19034 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19035 (cd_count): Removed.
19036 (cd_drive): New variable.
19037 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19038 (grub_biosdisk_call_hook): Likewise.
19039 (grub_biosdisk_iterate): Change cdrom detection method.
19040 (grub_biosdisk_open): Replace cd_start with cd_drive.
19041 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19042 detect cdrom device.
19043
19044 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19045 Removed.
19046 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19047 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19048 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19049 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19050 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19051 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19052 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19053 (grub_biosdisk_cdrp): New structure.
19054 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19055
19056 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19057
19058 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19059 device.
19060
19061 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19062 New function.
19063
19064 2008-03-20 Robert Millan <rmh@aybabtu.com>
19065
19066 Remove 2 TiB limit in ata.mod.
19067 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19068 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19069 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19070 grub_uint64_t instead of grub_uint32_t.
19071
19072 2008-03-05 Bean <bean123ch@gmail.com>
19073
19074 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19075 (grub_multiboot): Set boot device.
19076
19077 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19078
19079 2008-03-02 Bean <bean123ch@gmail.com>
19080
19081 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19082 symlink_buffer.
19083
19084 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19085
19086 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19087 texinfo.tex.
19088
19089 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19090 modified.
19091
19092 * docs/fdl.texi: New file.
19093
19094 * docs/mdate-sh: New file. Copied from gnulib.
19095 * docs/texinfo.tex: Likewise.
19096
19097 * config.guess: Updated from gnulib.
19098 * install-sh: Likewise.
19099
19100 2008-02-28 Robert Millan <rmh@aybabtu.com>
19101
19102 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19103 (aout_mod_SOURCES): New variable.
19104 (aout_mod_CFLAGS): Likewise.
19105 (aout_mod_LDFLAGS): Likewise.
19106
19107 * conf/i386-ieee1275.rmk: Likewise.
19108
19109 2008-02-28 Robert Millan <rmh@aybabtu.com>
19110
19111 * util/update-grub.in: Reorganise terminal validity check. Accept
19112 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19113 Based on suggestion by Franklin PIAT.
19114
19115 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19116
19117 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19118 function.
19119 * util/getroot.c (grub_util_check_block_device): New function that
19120 returns the given argument if it is a block device and returns NULL else.
19121 * util/grub-probe.c (argument_is_device): New variable.
19122 (probe): Promote device_name from a variable to an argument. Receive
19123 device_name from grub_util_check_block_device() if path is NULL and from
19124 grub_guess_root_device() else. Do not free() device_name anymore.
19125 (options): Introduce new parameter '-d, --device'.
19126 (main): Add description of the new parameter to the help screen.
19127 Rename path variable to argument. Set argument_is_device if the '-d'
19128 option is given. Pass argument to probe() depending on
19129 argument_is_device.
19130
19131 2008-02-24 Bean <bean123ch@gmail.com>
19132
19133 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19134 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19135 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19136 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19137 (GRUB_ISO9660_VOLDESC_END): Likewise.
19138 (grub_iso9660_primary_voldesc): New member escape.
19139 (grub_iso9660_data): New member joliet.
19140 (grub_iso9660_convert_string): New function.
19141 (grub_iso9660_mount): Detect joliet extension.
19142 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19143 (grub_iso9660_iso9660_label): Likewise.
19144
19145 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19146 (grub_setup_SOURCES): Add fs/udf.c.
19147 (grub_fstest_SOURCES): Likewise.
19148 (udf_mod_SOURCES): New variable.
19149 (udf_mod_CFLAGS): Likewise.
19150 (udf_mod_LDFLAGS): Likewise.
19151
19152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19153 (grub_emu_SOURCES): Likewise.
19154
19155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19156
19157 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19158
19159 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19160
19161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19162
19163 * fs/udf.c: New file.
19164
19165 2008-02-24 Robert Millan <rmh@aybabtu.com>
19166
19167 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19168 (normal/lexer.c_DEPENDENCIES): New variables.
19169 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19170 (normal/lexer.c_DEPENDENCIES): Likewise.
19171 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19172 (normal/lexer.c_DEPENDENCIES): Likewise.
19173 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19174 (normal/lexer.c_DEPENDENCIES): Likewise.
19175 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19176 (normal/lexer.c_DEPENDENCIES): Likewise.
19177 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19178 (normal/lexer.c_DEPENDENCIES): Likewise.
19179
19180 2008-02-23 Robert Millan <rmh@aybabtu.com>
19181
19182 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19183 since they were intended to be in hex. This didn't break previously
19184 because of a bug in gpt_partition_map_iterate() (see below).
19185
19186 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19187 when checking the validity of GPT header.
19188 Remove `partno', since it always provides the same information as `i'.
19189
19190 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19191
19192 * include/grub/efi/time.h: Fix a wrong comment.
19193
19194 2008-02-19 Pavel Roskin <proski@gnu.org>
19195
19196 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19197 message.
19198
19199 2008-02-19 Bean <bean123ch@gmail.com>
19200
19201 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19202 (aout_mod_SOURCES): New variable.
19203 (aout_mod_CFLAGS): Likewise.
19204 (aout_mod_LDFLAGS): Likewise.
19205 (_bsd_mod_SOURCES): New variable.
19206 (_bsd_mod_CFLAGS): Likewise.
19207 (_bsd_mod_LDFLAGS): Likewise.
19208 (bsd_mod_SOURCES): New variable.
19209 (bsd_mod_CFLAGS): Likewise.
19210 (bsd_mod_LDFLAGS): Likewise.
19211
19212 * include/grub/aout.h: New file.
19213
19214 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19215
19216 * include/grub/i386/bsd.h: New file.
19217
19218 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19219 to make it public.
19220
19221 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19222 function is called, so that it's possible to change it inside the hook.
19223 (grub_elf64_load): Likewise.
19224 (grub_elf_file): Don't close the file if elf header is not found.
19225 (grub_elf_close): Close the file if grub_elf_file fails (The new
19226 grub_elf_file won't close it).
19227 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19228 (grub_elf64_size): Likewise.
19229
19230 * kern/i386/loader.S (grub_unix_real_boot): New function.
19231
19232 * loader/aout.c: New file.
19233
19234 * loader/i386/bsd.c: New file.
19235
19236 * loader/i386/bsd_normal.c: New file.
19237
19238 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19239
19240 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19241 can test other formats.
19242
19243 2008-02-19 Robert Millan <rmh@aybabtu.com>
19244
19245 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19246 (grub_gpt_partition_type_empty): Redefine with macro from
19247 `<grub/gpt_partition.h>'.
19248 (gpt_partition_map_iterate): Adjust partition type comparison.
19249
19250 Export `entry' as partmap-specific `part.data' struct.
19251 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19252
19253 * include/grub/gpt_partition.h (grub_gpt_header)
19254 (grub_gpt_partentry): ... to here (new file).
19255
19256 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19257
19258 (grub_gpt_partition_type_bios_boot): New const variable, defined
19259 with macro from `<grub/gpt_partition.h>'.
19260
19261 (setup): Replace `first_start' with `embed_region', which keeps
19262 track of the embed region (and is partmap-agnostic).
19263
19264 Replace find_first_partition_start() with find_usable_region(),
19265 which finds a usable region for embedding using partmap-specific
19266 knowledge (supports PC/MSDOS and GPT).
19267
19268 Fix all assumptions that the embed region start at sector 1, using
19269 `embed_region.start' from now on. Similarly, use `embed_region.end'
19270 rather than `first_start' to calculate available size.
19271
19272 In grub_util_info() message, replace "into after the MBR" with an
19273 indication of the specific sector our embed region starts at.
19274
19275 2008-02-19 Robert Millan <rmh@aybabtu.com>
19276
19277 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19278 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19279 `commands/reboot.c'.
19280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19281 (halt_mod_SOURCES): Likewise.
19282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19283 (halt_mod_SOURCES): Likewise.
19284
19285 2008-02-17 Christian Franke <franke@computer.org>
19286
19287 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19288
19289 2008-02-17 Robert Millan <rmh@aybabtu.com>
19290
19291 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19292 set `first_start' to 0 for non-PC/MSDOS partition maps.
19293
19294 2008-02-16 Robert Millan <rmh@aybabtu.com>
19295
19296 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19297 do not assume partition map is PC/MSDOS before performing checks that
19298 are specific to that layout.
19299
19300 2008-02-13 Robert Millan <rmh@aybabtu.com>
19301
19302 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19303 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19304 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19305
19306 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19307
19308 * configure.ac: Only a cosmetic change on the handling of
19309 -fno-stack-protector.
19310
19311 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19312
19313 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19314 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19315 reboot.c.
19316 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19317 (halt_mod_SOURCES): New variable.
19318 (halt_mod_CFLAGS): Likewise.
19319 (halt_mod_LDFLAGS): Likewise.
19320 (reboot_mod_SOURCES): Likewise.
19321 (reboot_mod_CFLAGS): Likewise.
19322 (reboot_mod_LDFLAGS): Likewise.
19323
19324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19325 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19326 reboot.c.
19327 (halt_mod_SOURCES): Likewise.
19328 (reboot_mod_SOURCES): Likewise.
19329
19330 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19331 commands/i386/pc/reboot.c by commands/reboot.c.
19332 (reboot_mod_SOURCES): Likewise.
19333
19334 * commands/i386/pc/reboot.c: merge this file ...
19335
19336 * commands/ieee1275/reboot.c: ... and this file ...
19337
19338 * commands/reboot.c: ... to this file.
19339 Add some precompiler directive to include the correct header for
19340 each machine.
19341
19342 * commands/ieee1275/halt.c: move this file ...
19343
19344 * commands/halt.c: ... to here.
19345 Add some precompiler directive to include the correct header for
19346 each machine.
19347
19348 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19349 (grub_halt): Likewise.
19350
19351 * kern/efi/efi.c (grub_reboot): New function.
19352 (grub_halt): Likewise.
19353
19354 2008-02-12 Robert Millan <rmh@aybabtu.com>
19355
19356 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19357 /dev (like it is done for /dev/mapper). This doesn't provide support
19358 for EVMS, but at least it is now easy to identify the problem when it
19359 arises.
19360
19361 2008-02-11 Robert Millan <rmh@aybabtu.com>
19362
19363 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19364 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19365 comparing it with -1, not 0.
19366
19367 2008-02-10 Robert Millan <rmh@aybabtu.com>
19368
19369 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19370 `disk/lvm.c'.
19371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19372 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19373
19374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19375 `disk/lvm.c' to the end of the list.
19376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19377 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19378
19379 2008-02-10 Robert Millan <rmh@aybabtu.com>
19380
19381 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19382 grub_print_error() instead. This will let user know why we're entering
19383 rescue mode.
19384 Based on suggestions from Sam Morris.
19385
19386 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19387
19388 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19389 on remaining N args, instead of "--" arg N times.
19390
19391 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19392
19393 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19394 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19395 pattern for unknown glyphs.
19396
19397 2008-02-09 Robert Millan <rmh@aybabtu.com>
19398
19399 * configure.ac: Probe for `help2man'.
19400 * Makefile.in (builddir): New variable.
19401 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19402 or otherwise add a few flags/options to it.
19403 (install-local): For every executable utility or script that is
19404 installed, invoke $(HELP2MAN) to install a manpage based on --help
19405 output.
19406
19407 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19408 that it doesn't prevent --help from working in build tree.
19409
19410 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19411 with `bug-grub@gnu.org'.
19412 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19413 * util/update-grub.in (usage): New function.
19414 Implement proper argument check, with support for --help and --version
19415 (as well as existing -y).
19416
19417 2008-02-09 Christian Franke <franke@computer.org>
19418
19419 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19420 avoid overwriting previous output.
19421 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19422
19423 2008-02-09 Robert Millan <rmh@aybabtu.com>
19424
19425 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19426 drawing the menu.
19427
19428 2008-02-09 Robert Millan <rmh@aybabtu.com>
19429
19430 * commands/sleep.c: New file.
19431 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19432 (sleep_mod_SOURCES): New variable.
19433 (sleep_mod_CFLAGS): Likewise.
19434 (sleep_mod_LDFLAGS): Likewise.
19435
19436 2008-02-09 Robert Millan <rmh@aybabtu.com>
19437
19438 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19439 situations in which we can deduce the RAID size and the superblock
19440 doesn't match it.
19441
19442 2008-02-09 Robert Millan <rmh@aybabtu.com>
19443
19444 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19445 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19446 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19447
19448 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19449 and return a grub_diskmemberlist_t composed of physical array members.
19450 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19451
19452 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19453 prototype.
19454 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19455 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19456 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19457
19458 * util/grub-probe.c (probe): Move partmap probing code from here ...
19459 (probe_partmap): ... to here.
19460 (probe): Use probe_partmap() once for the disk we're probing, and
19461 additionally, when such disk contains a memberlist() struct member,
19462 once for each disk that is contained in the structure returned by
19463 memberlist().
19464
19465 2008-02-09 Robert Millan <rmh@aybabtu.com>
19466
19467 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19468 environment variable to 'all' in order to obtain debug output from
19469 non-util/ code.
19470 * util/i386/pc/grub-setup.c (main): Likewise.
19471
19472 2008-02-08 Robert Millan <rmh@aybabtu.com>
19473
19474 * disk/raid.c (grub_raid_scan_device): Check for
19475 `array->device[sb.this_disk.number]' rather than for
19476 `array->device[sb.this_disk.number]->name', since the latter is not
19477 guaranteed to be accessible.
19478
19479 2008-02-08 Robert Millan <rmh@aybabtu.com>
19480
19481 * disk/raid.c: Update copyright.
19482 * fs/cpio.c: Likewise.
19483 * include/grub/raid.h: Likewise.
19484 * loader/i386/pc/multiboot.c: Likewise.
19485 * util/hostfs.c: Likewise.
19486
19487 2008-02-08 Robert Millan <rmh@aybabtu.com>
19488
19489 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19490 to a grub_disk_t array.
19491 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19492 `device[x]'.
19493 (grub_raid_scan_device): Replace `device[x].name' accesses with
19494 `device[x]->name'. Simplify initialization of `array->device[x]'.
19495
19496 2008-02-08 Robert Millan <rmh@aybabtu.com>
19497
19498 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19499 grub_dprintf() calls.
19500 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19501 error message.
19502
19503 2008-02-07 Christian Franke <franke@computer.org>
19504
19505 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19506 instead of fseek and ftell to support large files.
19507 (grub_hostfs_read): Likewise.
19508
19509 2008-02-07 Robert Millan <rmh@aybabtu.com>
19510
19511 Patch from Jeroen Dekkers.
19512 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19513 failure, since successfully reading all array members might not be
19514 required.
19515
19516 2008-02-06 Robert Millan <rmh@aybabtu.com>
19517
19518 * util/grub-probe.c (probe): Simplify partmap probing (with the
19519 assumption that the first word up to the underscore equals to
19520 the module name).
19521
19522 2008-02-06 Christian Franke <franke@computer.org>
19523
19524 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19525 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19526 last block of a cpio or tar stream.
19527 Check for "TRAILER!!!" instead of any empty data
19528 block to detect last block of a cpio stream.
19529 (grub_cpio_dir): Fix constness of variable np.
19530 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19531 cpio or tar trailer is detected. This fixes a crash
19532 on open of a non existing file.
19533
19534 2008-02-05 Bean <bean123ch@gmail.com>
19535
19536 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19537 address of entry.
19538 (grub_multiboot_load_elf64): Likewise.
19539 (grub_multiboot): Initialize mbi structure.
19540
19541 * util/grub-fstest.c: Don't include unused header file script.h.
19542
19543 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19544 of file.
19545 (grub_fstest_SOURCES): Likewise.
19546
19547 2008-02-05 Robert Millan <rmh@aybabtu.com>
19548
19549 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19550 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19551 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19552 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19553
19554 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19555 (translation_table): Replace hardcoded values with macros
19556 provided by `<grub/term.h>'.
19557
19558 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19559 (keyboard_map): Correct/add a few values, with macros provided
19560 by `<grub/term.h>'.
19561 (keyboard_map_shift): Zero values that don't differ from their
19562 `keyboard_map' equivalents.
19563 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19564 Discard the second scan code that is always sent by Caps lock.
19565 Only use `keyboard_map_shift' when it provides a non-zero value,
19566 otherwise fallback to `keyboard_map'.
19567
19568 2008-02-04 Bean <bean123ch@gmail.com>
19569
19570 * Makefile.in (enable_grub_fstest): New variable.
19571
19572 * conf/common.rmk (grub_fstest_init.lst): New rule.
19573 (grub_fstest_init.h): Likewise.
19574 (grub_fstest_init.c): Likewise.
19575 (util/grub-fstest.c_DEPENDENCIES): New variable.
19576 (grub_fstest_SOURCES): Likewise.
19577
19578 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19579
19580 * util/grub-fstest.c: New file.
19581
19582 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19583
19584 Make grub-setup handle a separate root device.
19585
19586 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19587 so that the root device can be compared with the destination
19588 device.
19589 When embedding the core image, if the root and destination devices
19590 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19591 0xFF.
19592 When not embedding, set ROOT_DRIVE to 0xFF.
19593
19594 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19595
19596 Add support for having a grub directory in a different drive. This
19597 is still only the data handling part.
19598
19599 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19600 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19601 (grub_root_drive): New variable.
19602
19603 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19604 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19605 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19606 as it was.
19607
19608 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19609
19610 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19611 macro.
19612 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19613
19614 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19615 is bogus, because PXE booting does not specify any drive
19616 correctly.
19617
19618 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19619 am not sure if this is really correct.
19620
19621 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19622 is always identical to the boot drive when booting from a CD.
19623
19624 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19625 longer.
19626 (root_drive): New variable.
19627 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19628 (setup_sectors): Push %dx right after popping it, because %dh will
19629 be modified later.
19630 (copy_buffer): Restore %dx.
19631
19632 2008-02-03 Robert Millan <rmh@aybabtu.com>
19633
19634 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19635 use `cdboot.img' for cdrom images.
19636
19637 2008-02-03 Robert Millan <rmh@aybabtu.com>
19638
19639 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19640 only setup gfxterm when `font' command has succeeded.
19641
19642 2008-02-03 Robert Millan <rmh@aybabtu.com>
19643
19644 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19645 (grub_rescue_cmd_multiboot_loader)
19646 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19647
19648 2008-02-03 Pavel Roskin <proski@gnu.org>
19649
19650 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19651 %edx and %esi from stack only after grub_gate_a20() is called.
19652 grub_gate_a20() clobbers %edx.
19653
19654 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19655
19656 * configure.ac (AC_INIT): Bumped to 1.96.
19657
19658 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19659 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19660 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19661 video/readers/png.c.
19662
19663 2008-02-03 Bean <bean123ch@gmail.com>
19664
19665 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19666 (cdboot_img_SOURCES): New variable.
19667 (cdboot_img_ASFLAGS): New variable.
19668 (cdboot_img_LDFLAGS): New variable.
19669
19670 * boot/i386/pc/cdboot.S: New file.
19671
19672 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19673 (cd_count): Likewise.
19674 (grub_biosdisk_get_drive): Add support for cd device.
19675 (grub_biosdisk_call_hook): Likewise.
19676 (grub_biosdisk_iterate): Likewise.
19677 (grub_biosdisk_open): Likewise.
19678 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19679 (grub_biosdisk_rw): Support reading from cd device.
19680 (GRUB_MOD_INIT): Iterate cd devices.
19681
19682 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19683 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19684 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19685
19686 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19687
19688 2008-02-02 Robert Millan <rmh@aybabtu.com>
19689
19690 * commands/read.c: New file.
19691 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19692 (read_mod_SOURCES): New variable.
19693 (read_mod_CFLAGS): Likewise.
19694 (read_mod_LDFLAGS): Likewise.
19695
19696 2008-02-02 Robert Millan <rmh@aybabtu.com>
19697
19698 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19699 determining whether menu has to be displayed.
19700
19701 2008-02-02 Marco Gerards <marco@gnu.org>
19702
19703 * bus/pci.c: New file.
19704
19705 * include/grub/pci.h: Likewise.
19706
19707 * include/grub/i386/pc/pci.h: Likewise.
19708
19709 * commands/lspci.c: Likewise.
19710
19711 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19712 `lspci.mod'.
19713 (pci_mod_SOURCES): New variable.
19714 (pci_mod_CFLAGS): Likewise.
19715 (pci_mod_LDFLAGS): Likewise.
19716 (lspci_mod_SOURCES): Likewise.
19717 (lspci_mod_CFLAGS): Likewise.
19718 (lspci_mod_LDFLAGS): Likewise.
19719
19720 2008-02-02 Bean <bean123ch@gmail.com>
19721
19722 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19723 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19724
19725 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19726 (grub_xfs_btree_node): New structure.
19727 (grub_xfs_btree_root): New structure.
19728 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19729 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19730 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19731 (GRUB_XFS_EXTENT_SIZE): Likewise.
19732 (grub_xfs_read_block): Support btree format type.
19733 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19734 Use directory block as basic unit.
19735
19736 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19737
19738 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19739 __attribute__ ((__regparm__ (1))).
19740
19741 2008-02-01 Robert Millan <rmh@aybabtu.com>
19742
19743 Correct a mistake in previous commit.
19744
19745 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19746 top.
19747 (normal/command.c_DEPENDENCIES): New variable.
19748
19749 2008-02-01 Robert Millan <rmh@aybabtu.com>
19750
19751 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19752 top.
19753 (normal/command.c_DEPENDENCIES): New variable.
19754 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19755 * conf/i386-ieee1275.rmk: Likewise.
19756 * conf/i386-linuxbios.rmk: Likewise.
19757 * conf/i386-pc.rmk: Likewise.
19758 * conf/sparc64-ieee1275.rmk: Likewise.
19759 * conf/powerpc-ieee1275.rmk: Likewise.
19760 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19761
19762 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19763
19764 2008-02-01 Robert Millan <rmh@aybabtu.com>
19765
19766 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19767 call at beginning of function.
19768
19769 2008-01-31 Pavel Roskin <proski@gnu.org>
19770
19771 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19772 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19773 (grub_mkrescue_SOURCES): Likewise.
19774 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19775
19776 2008-01-30 Robert Millan <rmh@aybabtu.com>
19777
19778 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19779 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19780 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19781 (grub_probe_SOURCES): ... to here.
19782
19783 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19784 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19785 * conf/i386-ieee1275.rmk: Likewise.
19786 * conf/i386-linuxbios.rmk: Likewise.
19787 * conf/powerpc-ieee1275.rmk: Likewise.
19788
19789 2008-01-30 Tristan Gingold <gingold@free.fr>
19790
19791 * kern/rescue.c: Silently accept empty lines.
19792
19793 2008-01-29 Bean <bean123ch@gmail.com>
19794
19795 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19796 (real_code_2): Code cleanup and change comment style.
19797 (move_memory): Avoid using 32-bit address mode.
19798
19799 2008-01-29 Bean <bean123ch@gmail.com>
19800
19801 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19802 (png_mod_SOURCES): New variable.
19803 (png_mod_CFLAGS): Likewise.
19804 (png_mod_LDFLAGS): Likewise.
19805
19806 * video/readers/png.c: New file.
19807
19808 2008-01-28 Robert Millan <rmh@aybabtu.com>
19809
19810 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19811 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19812 `ifndef GRUB_MOD_GAP' hack.
19813 * util/elf/grub-mkimage.c (add_segments): Likewise.
19814
19815 2008-01-27 Robert Millan <rmh@aybabtu.com>
19816
19817 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19818 `GRUB_MOD_GAP' for platforms in which it's not defined.
19819 * util/elf/grub-mkimage.c (add_segments): Likewise.
19820
19821 2008-01-27 Robert Millan <rmh@aybabtu.com>
19822
19823 Get grub-emu to build again (including parallel builds).
19824
19825 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19826 Split into ...
19827 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19828 (normal/execute.c_DEPENDENCIES): ... this, ...
19829 (grub-emu_DEPENDENCIES): ... and this.
19830
19831 * conf/i386-efi.rmk: Likewise.
19832 * conf/i386-linuxbios.rmk: Likewise.
19833 * conf/i386-ieee1275.rmk: Likewise.
19834 * conf/powerpc-ieee1275.rmk: Likewise.
19835 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19836
19837 2008-01-27 Robert Millan <rmh@aybabtu.com>
19838
19839 * NEWS: Add a few items.
19840
19841 2008-01-27 Robert Millan <rmh@aybabtu.com>
19842
19843 Fix parallel builds with grub-emu. Based on earlier commit for
19844 grub-probe and grub-setup.
19845
19846 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19847 (util/grub-emu.c_DEPENDENCIES): ... this.
19848 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19849 (util/grub-emu.c_DEPENDENCIES): ... this.
19850 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19851 (util/grub-emu.c_DEPENDENCIES): ... this.
19852 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19853 (util/grub-emu.c_DEPENDENCIES): ... this.
19854 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19855 (util/grub-emu.c_DEPENDENCIES): ... this.
19856
19857 2008-01-27 Pavel Roskin <proski@gnu.org>
19858
19859 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19860 to create a gap between _end and the modules added to the image
19861 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19862 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19863 * util/elf/grub-mkimage.c (add_segments): Likewise.
19864
19865 2008-01-26 Pavel Roskin <proski@gnu.org>
19866
19867 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19868 just return an error.
19869
19870 2008-01-26 Bean <bean123ch@gmail.com>
19871
19872 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19873 (grub_reiserfs_get_item): Save offset of the next item.
19874 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19875
19876 2008-01-25 Robert Millan <rmh@aybabtu.com>
19877
19878 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19879 make all filesystem sources appear together (possibly fixing omissions
19880 while at it).
19881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19882 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19883 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19885
19886 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19887 add `kern/file.c'.
19888 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19889 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19890 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19891 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19892
19893 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19894 (probe): Add a sanity check to make sure of our ability to read
19895 requested files when probing for filesystem type.
19896
19897 * genmk.rb: Update copyright year (2007).
19898
19899 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19900 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19901 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19902 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19903 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19904 : Remove function prototypes.
19905
19906 2008-01-25 Robert Millan <rmh@aybabtu.com>
19907
19908 Revert my previous commits (based on wrong assumption of how grub_errno
19909 works).
19910
19911 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19912 * kern/file.c (grub_file_open): Likewise.
19913
19914 2008-01-24 Pavel Roskin <proski@gnu.org>
19915
19916 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19917 that hang if GRUB tries to setup colors.
19918 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19919 colors for firmwares that don't support it.
19920 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19921 Recognize Open Hack'Ware, set flags to work around its
19922 limitations.
19923
19924 2008-01-24 Robert Millan <rmh@aybabtu.com>
19925
19926 * kern/file.c (grub_file_open): Do not account previous failures of
19927 unrelated functions when grub_errno is checked for.
19928 Reported by Oleg Strikov.
19929
19930 2008-01-24 Bean <bean123ch@gmail.com>
19931
19932 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19933 (grub_ufs_sblock): New member volume name.
19934 (grub_ufs_find_file): Fix string copy bug.
19935 (grub_ufs_label): Implement this function properly.
19936
19937 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19938 (grub_hfs_iterate_records): Use the correct file number for extents
19939 and catalog file. Fix problem in next index calculation.
19940 (grub_hfs_find_node): Replace recursive function call with loop.
19941 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19942
19943 2008-01-23 Robert Millan <rmh@aybabtu.com>
19944
19945 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19946 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19947 (grub_multiboot2_real_boot): New function prototype.
19948
19949 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19950 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19951
19952 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19953 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19954
19955 2008-01-23 Robert Millan <rmh@aybabtu.com>
19956
19957 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19958 #ifdef'ed out grub_printf().
19959
19960 2008-01-23 Robert Millan <rmh@aybabtu.com>
19961
19962 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19963 grub_dprintf calls, since they make "debug=all" mode unusable.
19964 (grub_console_checkkey): Likewise.
19965
19966 2008-01-23 Robert Millan <rmh@aybabtu.com>
19967
19968 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19969 `term/i386/pc/at_keyboard.c'.
19970 (pkglib_MODULES): Add `serial.mod'.
19971 (serial_mod_SOURCES): New variable.
19972 (serial_mod_CFLAGS): Likewise.
19973 (serial_mod_LDFLAGS): Likewise.
19974
19975 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19976 `<grub/powerpc/ieee1275/console.h>'.
19977 (grub_keyboard_controller_init): New function prototype.
19978 (grub_console_checkkey): Likewise.
19979 (grub_console_getkey): Likewise.
19980
19981 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19982 keyboard on i386.
19983
19984 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19985 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19986
19987 2008-01-23 Robert Millan <rmh@aybabtu.com>
19988
19989 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19990 present, "(memdisk)/boot/grub" becomes the default prefix.
19991
19992 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19993 a memdisk tarball with all the modules. Add --overlay=DIR option that
19994 allows users to overlay additional files into the image.
19995
19996 2008-01-23 Robert Millan <rmh@aybabtu.com>
19997
19998 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19999 and `machine/memory.h'.
20000 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20001 (_multiboot_mod_SOURCES): New variable.
20002 (_multiboot_mod_CFLAGS): Likewise.
20003 (_multiboot_mod_LDFLAGS): Likewise.
20004 (multiboot_mod_SOURCES): Likewise.
20005 (multiboot_mod_CFLAGS): Likewise.
20006 (multiboot_mod_LDFLAGS): Likewise.
20007
20008 * include/grub/i386/ieee1275/loader.h: New file.
20009
20010 * include/grub/i386/ieee1275/machine.h: Likewise.
20011
20012 * include/grub/i386/ieee1275/memory.h: Likewise.
20013
20014 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20015 variable declaration.
20016 (grub_os_area_size): Likewise.
20017
20018 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20019 (grub_lower_mem, grub_upper_mem): New variables.
20020 (grub_stop_floppy): New function (just to make
20021 grub_multiboot2_real_boot() happy).
20022
20023 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20024 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20025 (grub_stop): New function.
20026 Include `"../realmode.S"' and `"../loader.S"'.
20027
20028 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20029 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20030
20031 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20032 rely on grub_multiboot2_real_boot() for final boot.
20033
20034 2008-01-22 Robert Millan <rmh@aybabtu.com>
20035
20036 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20037 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20038 device that doesn't look like an SD card.
20039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20040 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20042 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20043 found.
20044
20045 2008-01-22 Robert Millan <rmh@aybabtu.com>
20046
20047 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20048 avoid claiming over our own code.
20049
20050 2008-01-22 Bean <bean123ch@gmail.com>
20051
20052 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20053 (jpeg_mod_SOURCES): New variable.
20054 (jpeg_mod_CFLAGS): Likewise.
20055 (jpeg_mod_LDFLAGS): Likewise.
20056
20057 * video/readers/jpeg.c : New file.
20058
20059 2008-01-22 Bean <bean123ch@gmail.com>
20060
20061 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20062 there are no more items.
20063
20064 2008-01-21 Robert Millan <rmh@aybabtu.com>
20065
20066 * kern/mm.c (grub_mm_init_region): Improve debug message.
20067
20068 2008-01-21 Robert Millan <rmh@aybabtu.com>
20069
20070 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20071 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20072 address.
20073 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20074 a C macro.
20075 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20076 Indicates start of upper memory.
20077 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20078 (generate_image): Abort when image size is big enough to corrupt
20079 upper memory.
20080
20081 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20082 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20083 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20084 instead of hardcoding 0xA0000.
20085 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20086 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20087 instead of hardcoding 0xA0000.
20088
20089 2008-01-21 Robert Millan <rmh@aybabtu.com>
20090
20091 * disk/memdisk.c (memdisk_size): New variable.
20092 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20093 `memdisk_size'.
20094 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20095 image to dynamic memory.
20096 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20097 `memdisk_size'. Free memdisk block.
20098
20099 2008-01-21 Robert Millan <rmh@aybabtu.com>
20100
20101 Fix detection of very small filesystems (like tar).
20102
20103 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20104 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20105 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20106 a problem with this disk).
20107
20108 2008-01-21 Robert Millan <rmh@aybabtu.com>
20109
20110 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20111 on grub_biosdisk_rw_standard() error.
20112
20113 2008-01-21 Robert Millan <rmh@aybabtu.com>
20114
20115 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20116 recent changes.
20117 * kern/elf.c: Likewise.
20118 * kern/ieee1275/ieee1275.c: Likewise.
20119 * kern/powerpc/ieee1275/openfw.c: Likewise.
20120 * term/ieee1275/ofconsole.c: Likewise.
20121
20122 2008-01-21 Robert Millan <rmh@aybabtu.com>
20123
20124 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20125
20126 * include/grub/kernel.h (grub_arch_memdisk_addr)
20127 (grub_arch_memdisk_size): Moved from here ...
20128
20129 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20130 (grub_arch_memdisk_size): ... to here.
20131
20132 2008-01-21 Robert Millan <rmh@aybabtu.com>
20133
20134 Mostly based on bugfix from Bean.
20135
20136 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20137 attribute with hook() parameter.
20138 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20139 declaration.
20140 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20141 attribute with hook() parameter.
20142 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20143 declaration.
20144
20145 2008-01-21 Robert Millan <rmh@aybabtu.com>
20146
20147 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20148 (pkglib_MODULES): Add `memdisk.mod'.
20149 (memdisk_mod_SOURCES): New variable.
20150 (memdisk_mod_CFLAGS): Likewise.
20151 (memdisk_mod_LDFLAGS): Likewise.
20152
20153 * disk/memdisk.c: New file.
20154
20155 * include/grub/disk.h (grub_disk_dev_id): Add
20156 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20157
20158 * include/grub/i386/pc/kernel.h
20159 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20160 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20161 (grub_kernel_image_size): New variable declaration.
20162 (grub_total_module_size): Likewise.
20163 (grub_memdisk_image_size): Likewise.
20164
20165 * include/grub/i386/pc/memory.h
20166 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20167
20168 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20169 (grub_arch_memdisk_addr): New variable declaration.
20170 (grub_arch_memdisk_size): Likewise.
20171
20172 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20173 (grub_arch_memdisk_size): Likewise.
20174
20175 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20176 (codestart): Replace hardcoded `0x100000' with
20177 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20178
20179 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20180 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20181 not NULL, append the contents of the file it refers to, at the end of
20182 the compressed kernel image. Initialize `grub_memdisk_image_size'
20183 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20184 (options): Add "memdisk"|'m' option.
20185 (main): Parse --memdisk|-m option, and pass user-provided path as
20186 parameter to generate_image().
20187
20188 2008-01-20 Robert Millan <rmh@aybabtu.com>
20189
20190 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20191 grub_dprintf() calls from here ...
20192 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20193
20194 2008-01-20 Robert Millan <rmh@aybabtu.com>
20195
20196 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20197
20198 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20199 declaration.
20200 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20201 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20202 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20203 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20204 property).
20205 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20206 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20207
20208 2008-01-19 Robert Millan <rmh@aybabtu.com>
20209
20210 Get rid of confusing function (superseded by
20211 `grub_ieee1275_get_integer_property')
20212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20213 prototype.
20214 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20215 function.
20216 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20217 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20218 in native endianness from grub_ieee1275_get_integer_property().
20219
20220 2008-01-19 Robert Millan <rmh@aybabtu.com>
20221
20222 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20223 command after "shut-down", since implementations differ on which
20224 the command for halt is.
20225
20226 2008-01-19 Robert Millan <rmh@aybabtu.com>
20227
20228 * include/grub/i386/linuxbios/console.h: Add header protection.
20229 (grub_keyboard_controller_init): New function prototype.
20230 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20231 (KEYBOARD_COMMAND_READ): Likewise.
20232 (KEYBOARD_COMMAND_WRITE): Likewise.
20233 (KEYBOARD_SCANCODE_SET1): Likewise.
20234 (grub_keyboard_controller_write): New function.
20235 (grub_keyboard_controller_read): Likewise.
20236 (grub_keyboard_controller_init): Likewise.
20237
20238 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20239 (grub_console_init): On coreboot/LinuxBIOS, call
20240 grub_keyboard_controller_init().
20241
20242 2008-01-19 Robert Millan <rmh@aybabtu.com>
20243
20244 PowerPC changes provided by Pavel Roskin.
20245
20246 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20247 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20248 don't rely on cmain() doing it.
20249 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20250 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20251
20252 2008-01-16 Robert Millan <rmh@aybabtu.com>
20253
20254 * include/grub/i386/linuxbios/memory.h
20255 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20256 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20257 receive `table_header' as argument. Instead, probe for it in the
20258 known memory ranges where it can be present.
20259 (grub_available_iterate): Do not pass a fixed `table_header' address
20260 to grub_linuxbios_table_iterate().
20261
20262 2008-01-15 Robert Millan <rmh@aybabtu.com>
20263
20264 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20265 * conf/i386-ieee1275.rmk: New file.
20266 * include/grub/i386/ieee1275/console.h: Likewise.
20267 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20268 * include/grub/i386/ieee1275/kernel.h: Likewise.
20269 * include/grub/i386/ieee1275/time.h: Likewise.
20270 * kern/i386/ieee1275/init.c: Likewise.
20271 * kern/i386/ieee1275/startup.S: Likewise.
20272
20273 2008-01-15 Robert Millan <rmh@aybabtu.com>
20274
20275 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20276 when pointers are 32-bit (but still do set it to one when they are
20277 64-bit).
20278
20279 2008-01-15 Robert Millan <rmh@aybabtu.com>
20280
20281 * include/grub/ieee1275/ieee1275.h
20282 (grub_ieee1275_get_integer_property): New function prototype.
20283
20284 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20285 (grub_ieee1275_get_integer_property): New function. Wraps around
20286 grub_ieee1275_get_property() to handle endianness.
20287
20288 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20289 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20290 where appropriate.
20291 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20292 (grub_map): Likewise.
20293 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20294
20295 2008-01-15 Bean <bean123ch@gmail.com>
20296
20297 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20298 (grub_script_execute_cmdline): Reset grub_errno.
20299
20300 * normal/main.c (read_config_file): Reset grub_errno.
20301
20302 * normal/parse.y (script_init): New.
20303 (script): Move function and menuentry here.
20304 (delimiter): New.
20305 (command): Add delimiter at the end of command.
20306 (commands): Adjust to match the new command.
20307 (commandblock): Remove grub_script_lexer_record_start.
20308 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20309 (if): Use the new commands.
20310
20311 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20312
20313 2008-01-15 Robert Millan <rmh@aybabtu.com>
20314
20315 * normal/menu.c (run_menu): Move timeout message from here ...
20316 (print_timeout): ... to here.
20317 (run_menu): Use print_timeout() once during initial draw to print
20318 the whole message, and again in every clock tick to update only
20319 the number of seconds.
20320
20321 2008-01-15 Robert Millan <rmh@aybabtu.com>
20322
20323 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20324 actual size of `available' from grub_ieee1275_get_property(), and
20325 restrict parsing to that bound.
20326
20327 2008-01-15 Christian Franke <franke@computer.org>
20328
20329 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20330 (argp_program_version): Remove variable.
20331 (argp_program_bug_address): Likewise.
20332 (options): Convert from struct argp_option to struct option.
20333 (struct arguments): Remove.
20334 (parse_opt): Remove.
20335 (usage): New function.
20336 (main): Replace struct args members by simple variables.
20337 Replace argp_parse() by getopt_long().
20338 Add switch to evaluate options.
20339 Add missing "(...)" around root_dev in prefix string.
20340
20341 2008-01-14 Robert Millan <rmh@aybabtu.com>
20342
20343 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20344 for grub_ieee1275_exit(), in order to improve portability.
20345
20346 2008-01-14 Robert Millan <rmh@aybabtu.com>
20347
20348 * util/grub.d/10_linux.in (prefix): Define.
20349 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20350
20351 2008-01-13 Pavel Roskin <proski@gnu.org>
20352
20353 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20354 grub_errno if no errors have been detected.
20355
20356 2008-01-12 Robert Millan <rmh@aybabtu.com>
20357
20358 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20359 (grub_util_get_dev_abstraction): New function prototype.
20360
20361 * util/getroot.c: Include `<grub/util/getroot.h>'
20362 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20363 (grub_util_get_dev_abstraction): ... here (new function).
20364
20365 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20366 `PRINT_ABSTRACTION'.
20367 (probe): Probe for abstraction type when requested.
20368 (main): Understand `--target=abstraction'.
20369
20370 * util/i386/efi/grub-install.in: Add abstraction module to core
20371 image when it is found to be necessary.
20372 * util/i386/pc/grub-install.in: Likewise.
20373 * util/powerpc/ieee1275/grub-install.in: Likewise.
20374
20375 * util/update-grub_lib.in (font_path): Return system path without
20376 converting to GRUB path.
20377 * util/update-grub.in: Convert system path returned by font_path()
20378 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20379 abstraction module is needed for loading fonts (if any). Export
20380 that as `GRUB_PRELOAD_MODULES'.
20381 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20382 insmod commands).
20383
20384 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20385
20386 Remove some unused code from reiserfs.
20387
20388 * fs/reiserfs.c (struct grub_reiserfs_key)
20389 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20390 (struct grub_reiserfs_node_body): Removed.
20391 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20392 Likewise.
20393 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20394 Likewise.
20395 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20396 Likewise.
20397 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20398 Likewise.
20399 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20400 Likewise.
20401 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20402 Likewise.
20403 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20404 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20405 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20406
20407 2008-01-10 Robert Millan <rmh@aybabtu.com>
20408
20409 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20410 Determines if a file is garbage left by packaging systems, etc.
20411 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20412 for processing /etc/grub.d scripts.
20413 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20414 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20415 as a condition for processing Linux images.
20416
20417 2008-01-10 Pavel Roskin <proski@gnu.org>
20418
20419 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20420 to compile reiserfs.c on PowerPC.
20421
20422 2008-01-10 Robert Millan <rmh@aybabtu.com>
20423
20424 * kern/device.c (grub_device_iterate): Do not abort device iteration
20425 when one of the devices cannot be opened.
20426 * kern/disk.c (grub_disk_open): Do not account previous failures of
20427 unrelated functions when grub_errno is checked for.
20428
20429 2008-01-08 Robert Millan <rmh@aybabtu.com>
20430
20431 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20432 `! grub_linux_is_bzimage', change order of address comparison to make
20433 it more intuitive, and improve "too big zImage" error message.
20434
20435 2008-01-08 Robert Millan <rmh@aybabtu.com>
20436
20437 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20438 `$(update-grub_DATA)'.
20439 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20440 targets.
20441
20442 2008-01-07 Robert Millan <rmh@aybabtu.com>
20443
20444 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20445 which instruction is modified by grub-setup during installation
20446 (since it wasn't obvious by only looking at this file).
20447
20448 2008-01-07 Robert Millan <rmh@aybabtu.com>
20449
20450 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20451 listing actual TODO items.
20452
20453 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20454
20455 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20456 correctly.
20457 (grub_reiserfs_get_key_offset): Likewise.
20458 (grub_reiserfs_set_key_offset): Likewise.
20459 (grub_reiserfs_set_key_type): Likewise.
20460 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20461
20462 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20463 better to remove the bitfield version completely.
20464
20465 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20466
20467 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20468 allocated from the heap, due to the fshelp implementation.
20469 (grub_reiserfs_dir): Free NODE, due to the same reason.
20470
20471 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20472
20473 Mostly from Vincent Pelletier:
20474
20475 * fs/reiserfs.c: New file.
20476
20477 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20478 (reiserfs_mod_SOURCES): New variable.
20479 (reiserfs_mod_CFLAGS): Likewise.
20480 (reiserfs_mod_LDFLAGS): Likewise.
20481
20482 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20483 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20484 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20485 normal/color.c.
20486
20487 2008-01-06 Robert Millan <rmh@aybabtu.com>
20488
20489 * normal/color.c: Remove `<grub/env.h>'.
20490
20491 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20492
20493 * include/grub/normal.h: Include <grub/env.h>.
20494
20495 2008-01-05 Robert Millan <rmh@aybabtu.com>
20496
20497 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20498 usage example with `(hd0,1)'.
20499 Reported by Samuel Thibault.
20500
20501 2008-01-05 Robert Millan <rmh@aybabtu.com>
20502
20503 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20504 (grub_linux_boot_zimage): Rename to ...
20505 (grub_linux_boot): ... this.
20506 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20507 (grub_linux_boot_zimage): Conditionalize zImage copy.
20508
20509 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20510 (grub_linux_boot_bzimage): Remove prototype.
20511 (grub_linux_boot_zimage): Rename to ...
20512 (grub_linux_boot): ... this.
20513
20514 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20515 (grub_linux_boot): Remove function.
20516
20517 2008-01-05 Robert Millan <rmh@aybabtu.com>
20518
20519 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20520 (grub_env_write_color_highlight): Likewise.
20521 (grub_wait_after_message): Likewise.
20522
20523 * normal/color.c: New file.
20524
20525 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20526 (normal_mod_DEPENDENCIES): Likewise.
20527
20528 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20529 (normal_mod_DEPENDENCIES): Likewise.
20530
20531 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20532 (normal_mod_DEPENDENCIES): Likewise.
20533
20534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20535 (normal_mod_DEPENDENCIES): Likewise.
20536
20537 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20538 for waiting after a message is printed.
20539 * normal/main.c (read_config_file): Likewise.
20540 (grub_normal_init): Register grub_env_write_color_normal() and
20541 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20542 `color_highlight' variables as global.
20543
20544 * normal/menu.c (grub_wait_after_message): New function.
20545 (grub_color_menu_normal): New variable. Replaces ...
20546 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20547 (grub_color_menu_highlight): New variable. Replaces ...
20548 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20549 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20550 `GRUB_TERM_COLOR_STANDARD'.
20551 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20552 `normal_code' and `highlight_code' to `old_color_normal' and
20553 `old_color_highlight', respectively.
20554 (grub_menu_init_page): Update colors when drawing the menu, based on
20555 `menu_color_normal' and `menu_color_highlight' variables.
20556 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20557 a message is printed.
20558
20559 2008-01-05 Robert Millan <rmh@aybabtu.com>
20560
20561 * kern/env.c (grub_env_context_open): Propagate hooks for global
20562 variables to new context.
20563
20564 * kern/main.c (grub_set_root_dev): Export `root' variable.
20565
20566 2008-01-05 Robert Millan <rmh@aybabtu.com>
20567
20568 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20569 discs unconditionally, since udev and others have options to provide
20570 them.
20571
20572 2008-01-05 Robert Millan <rmh@aybabtu.com>
20573
20574 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20575
20576 2008-01-04 Christian Franke <franke@computer.org>
20577
20578 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20579 of eisa_mmap.
20580
20581 2008-01-03 Pavel Roskin <proski@gnu.org>
20582
20583 * kern/i386/linuxbios/init.c: Put "void" to all function
20584 declarations with no arguments.
20585 * kern/powerpc/ieee1275/init.c: Likewise.
20586 * term/i386/pc/at_keyboard.c: Likewise.
20587 * term/i386/pc/vga_text.c: Likewise.
20588 * util/grub-mkdevicemap.c: Likewise.
20589
20590 2008-01-02 Robert Millan <rmh@aybabtu.com>
20591
20592 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20593 message when loaded image is out of bounds.
20594 (grub_multiboot_load_elf64): Likewise.
20595
20596 2008-01-02 Pavel Roskin <proski@gnu.org>
20597
20598 * util/grub.d/10_linux.in: Try version without ".old" when
20599 looking for initrd. It's better to use initrd from the newer
20600 kernel of the same version than no initrd at all.
20601
20602 2008-01-01 Robert Millan <rmh@aybabtu.com>
20603
20604 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20605
20606 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20607
20608 * include/grub/video.h: Added grub_video_unmap_color and
20609 grub_video_get_active_render_target.
20610 (grub_video_adapter): Added unmap_color and get_active_render_target.
20611
20612 * video/video.c: Added grub_video_unmap_color and
20613 grub_video_get_active_render_target.
20614 (grub_video_get_info): Changed method to accept NULL pointer as an
20615 argument to allow detection of active video adapter.
20616
20617 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20618 grub_video_vbe_unmap_color_int.
20619 Added grub_video_vbe_unmap_color and
20620 grub_video_vbe_get_active_render_target.
20621 (grub_video_vbe_adapter): Added unmap_color and
20622 get_active_render_target.
20623
20624 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20625 with grub_video_vbe_unmap_color_int.
20626
20627 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20628 (DEFAULT_NORMAL_COLOR): Likewise.
20629 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20630 (DEFAULT_FG_COLOR): Removed.
20631 (DEFAULT_BG_COLOR): Likewise.
20632 (DEFAULT_CURSOR_COLOR): Changed value.
20633 (grub_virtual_screen): Added standard_color_setting,
20634 normal_color_setting, highlight_color_setting and term_color.
20635 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20636 (bitmap_width): Added.
20637 (bitmap_height): Likewise.
20638 (bitmap): Likewise.
20639 (set_term_color): Likewise.
20640 (grub_virtual_screen_setup): Changed to use new terminal coloring
20641 settings.
20642 (grub_gfxterm_init): Added init for bitmap.
20643 (grub_gfxterm_fini): Added destroy for bitmap.
20644 (redraw_screen_rect): Updated to use background bitmap and new
20645 terminal coloring.
20646 (scroll_up): Added optimization for case when there is no bitmap.
20647 (grub_gfxterm_cls): Fixed to use correct background color.
20648 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20649 coloring.
20650 (grub_virtual_screen_setcolor): Likewise.
20651 (grub_virtual_screen_getcolor): Added.
20652 (grub_gfxterm_background_image_cmd): Likewise.
20653 (grub_video_term): Added setcolor and getcolor.
20654 (MOD_INIT): Added registration of background_image command.
20655 (MOD_TERM): Added unregistration for background_image command.
20656
20657 2007-12-30 Pavel Roskin <proski@gnu.org>
20658
20659 * loader/multiboot_loader.c: Fix multiboot command
20660 unregistration. Fix all typos in the word "multiboot".
20661
20662 2007-12-29 Pavel Roskin <proski@gnu.org>
20663
20664 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20665 support for initrd names used in Fedora.
20666
20667 2007-12-26 Bean <bean123ch@gmail.com>
20668
20669 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20670 (cpio_mod_SOURCES): New variable.
20671 (cpio_mod_CFLAGS): Likewise.
20672 (cpio_mod_LDFLAGS): Likewise.
20673
20674 * fs/cpio.c: New file.
20675
20676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20677
20678 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20679
20680 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20681
20682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20683
20684 2007-12-25 Robert Millan <rmh@aybabtu.com>
20685
20686 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20687 (grub_getcolor): New function.
20688
20689 * kern/term.c (grub_getcolor): New function.
20690 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20691 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20692 (print_entry): Set normal and highlight colors to
20693 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20694 respectively, before printing and restore them to old
20695 values afterwards.
20696 (grub_menu_init_page): Likewise. Fill an additional colored space
20697 that would otherwise be left blank.
20698
20699 * term/efi/console.c (grub_console_getcolor): New function.
20700 (struct grub_console_term.getcolor): New variable.
20701 * term/i386/pc/console.c (grub_console_getcolor): New function.
20702 (struct grub_console_term.getcolor): New variable.
20703 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20704 (struct grub_console_term.getcolor): New variable.
20705
20706 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20707 (struct grub_console_term.setcolor): Remove variable.
20708 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20709 (struct grub_console_term.setcolor): Remove variable.
20710 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20711 (struct grub_console_term.setcolor): Remove variable.
20712 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20713 (struct grub_console_term.setcolor): Remove variable.
20714
20715 2007-12-25 Robert Millan <rmh@aybabtu.com>
20716
20717 * configure.ac: Search for possible unifont.hex locations, and
20718 define UNIFONT_HEX if found.
20719
20720 * Makefile.in (UNIFONT_HEX): Define variable.
20721 (DATA): Rename to ...
20722 (PKGLIB): ... this. Update all users.
20723 (PKGDATA): New variable.
20724 (pkgdata_IMAGES): Rename to ...
20725 (pkglib_IMAGES): ... this. Update all users.
20726 (pkgdata_MODULES): Rename to ...
20727 (pkglib_MODULES): ... this. Update all users.
20728 (pkgdata_PROGRAMS): Rename to ...
20729 (pkglib_PROGRAMS): ... this. Update all users.
20730 (pkgdata_DATA): Rename to ...
20731 (pkglib_DATA): ... this. Update all users.
20732 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20733 (unicode.pff, ascii.pff): New rules.
20734 (all-local): Add `$(PKGDATA)' dependency.
20735 (install-local): Process `$(PKGDATA)'.
20736
20737 * util/update-grub_lib.in (font_path): Search for *.pff files in
20738 a few more locations, including `${pkgdata}'.
20739
20740 2007-12-23 Robert Millan <rmh@aybabtu.com>
20741
20742 Patch from Bean <bean123ch@gmail.com>:
20743 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20744 `size'.
20745
20746 2007-12-21 Bean <bean123ch@gmail.com>
20747
20748 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20749 (ntfscomp_mod_SOURCES): New variable.
20750 (ntfscomp_mod_CFLAGS): Likewise.
20751 (ntfscomp_mod_LDFLAGS): Likewise.
20752
20753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20754 (grub_probe_SOURCES): Likewise.
20755 (grub_emu_SOURCES): Likewise.
20756
20757 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20758 (grub_emu_SOURCES): Likewise.
20759
20760 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20761 (grub_emu_SOURCES): Likewise.
20762
20763 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20764 (grub_emu_SOURCES): Likewise.
20765
20766 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20767 (read_run_list): Renamed to grub_ntfs_read_run_list.
20768 (decomp_nextvcn): Moved to ntfscomp.c.
20769 (decomp_getch): Likewise.
20770 (decomp_get16): Likewise.
20771 (decomp_block): Likewise.
20772 (read_block): Likewise.
20773 (read_data): Partially moved to ntfscomp.c.
20774 (fixup): Change unsigned to grub_uint16_t.
20775 (read_mft): Change unsigned long to grub_uint32_t.
20776 (read_attr): Likewise.
20777 (read_data): Likewise.
20778 (read_run_data): Likewise.
20779 (read_run_list): Likewise.
20780 (read_mft): Likewise.
20781
20782 * fs/ntfscomp.c: New file.
20783
20784 * include/grub/ntfs.h: New file.
20785
20786 2007-12-16 Robert Millan <rmh@aybabtu.com>
20787
20788 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20789 IDE disk check, since Linux is known to support 20 IDE disks.
20790 Reported by Colin Watson.
20791
20792 2007-12-15 Bean <bean123ch@gmail.com>
20793
20794 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20795 (lnxboot_img_SOURCES): New variable.
20796 (lnxboot_img_ASFLAGS): Likewise.
20797 (lnxboot_img_LDFLAGS): Likewise.
20798
20799 * boot/i386/pc/lnxboot.S: New file.
20800
20801 2007-11-24 Pavel Roskin <proski@gnu.org>
20802
20803 * configure.ac: Test if '--build-id=none' is supported by the
20804 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20805 objcopy to generate incorrect binary files (binutils
20806 2.17.50.0.18-1 as shipped by Fedora 8).
20807 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20808 linking, so that build ID doesn't break the test.
20809
20810 2007-11-24 Pavel Roskin <proski@gnu.org>
20811
20812 * include/grub/i386/time.h: use "void" in the argument list
20813 of grub_cpu_idle().
20814 * include/grub/powerpc/time.h: Likewise.
20815 * include/grub/sparc64/time.h: Likewise.
20816
20817 2007-11-18 Christian Franke <franke@computer.org>
20818
20819 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20820 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20821 This fixes the problem that function keys did not work in grub-emu.
20822
20823 2007-11-18 Christian Franke <franke@computer.org>
20824
20825 * disk/host.c (grub_host_open): Remove attribute unused from
20826 name parameter. Add check for "host". This fixes the problem
20827 that grub-emu does not find partitions.
20828
20829 2007-11-18 Christian Franke <franke@computer.org>
20830
20831 * util/hostfs.c (is_dir): New function.
20832 (grub_hostfs_dir): Handle missing dirent.d_type case.
20833 (grub_hostfs_read): Add missing fseek().
20834 (grub_hostfs_label): Clear label pointer. This fixes a crash
20835 of grub-emu on "ls (host)".
20836
20837 2007-11-18 Christian Franke <franke@computer.org>
20838
20839 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20840 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20841 to 64 bit boundary by default.
20842
20843 2007-11-18 Bean <bean123ch@gmail.com>
20844
20845 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20846 (hexdump_mod_SOURCES): New variable.
20847 (hexdump_mod_CFLAGS): Likewise.
20848 (hexdump_mod_LDFLAGS): Likewise.
20849
20850 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20851
20852 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20853
20854 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20855
20856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20857
20858 * include/grub/hexdump.h: New file.
20859
20860 * commands/hexdump.c: New file.
20861
20862 2007-11-10 Robert Millan <rmh@aybabtu.com>
20863
20864 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20865 in grub_outb() calls.
20866 (beep_on): Likewise.
20867
20868 2007-11-10 Christian Franke <franke@computer.org>
20869
20870 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20871 (grub_menu_run): Likewise.
20872
20873 2007-11-10 Robert Millan <rmh@aybabtu.com>
20874
20875 * include/grub/i386/efi/machine.h: New file.
20876 * include/grub/i386/linuxbios/machine.h: Likewise.
20877 * include/grub/i386/pc/machine.h: Likewise.
20878 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20879 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20880
20881 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20882 (serial_hw_io_addr): New variable.
20883 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20884 instead of `(unsigned short *) 0x400'.
20885
20886 2007-11-10 Bean <bean123ch@gmail.com>
20887
20888 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20889
20890 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20891
20892 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20893 (vga_mod_SOURCES): Added.
20894 (vga_mod_CFLAGS): Likewise.
20895 (vga_mod_LDFLAGS): Likewise.
20896
20897 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20898 grub_outb() calls.
20899 (set_map_mask): Likewise.
20900 (set_read_map): Likewise.
20901 (set_read_address): Likewise.
20902 (vga_font): Removed variable.
20903 (get_vga_glyph): Removed function.
20904 (invalidate_char): Likewise.
20905 (write_char): Changed to use grub_font_get_glyph() for font
20906 information.
20907 (grub_vga_putchar): Likewise.
20908 (grub_vga_getcharwidth): Likewise.
20909
20910 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20911
20912 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20913 flags.
20914 (pxeboot_img_LDFLAGS): Likewise.
20915 (diskboot_img_LDFLAGS): Likewise.
20916 (kernel_img_LDFLAGS): Likewise.
20917
20918 2007-11-06 Robert Millan <rmh@aybabtu.com>
20919
20920 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20921 in grub_outb() calls.
20922 (serial_hw_init): Likewise.
20923
20924 2007-11-05 Robert Millan <rmh@aybabtu.com>
20925
20926 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20927 spaces. Skip non-regular files.
20928
20929 2007-11-05 Robert Millan <rmh@aybabtu.com>
20930
20931 * kern/disk.c (grub_disk_firmware_fini)
20932 (grub_disk_firmware_is_tainted): New variables.
20933
20934 * include/grub/disk.h (grub_disk_firmware_fini)
20935 (grub_disk_firmware_is_tainted): Likewise.
20936
20937 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20938 (grub_disk_biosdisk_fini): ... to here.
20939 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20940 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20941 is set. Register grub_disk_biosdisk_fini() in
20942 `grub_disk_firmware_fini'.
20943
20944 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20945 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20946 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20947 to finish existing firmware disk interface.
20948
20949 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20950 (ata_mod_SOURCES): New variable.
20951 (ata_mod_CFLAGS): Likewise.
20952 (ata_mod_LDFLAGS): Likewise.
20953
20954 2007-11-05 Robert Millan <rmh@aybabtu.com>
20955
20956 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20957 (grub_ata_wait): Reimplement using grub_millisleep().
20958
20959 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20960 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20961
20962 2007-11-03 Marco Gerards <marco@gnu.org>
20963
20964 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20965 (CRTC_ADDR_PORT): New macro.
20966 (CRTC_DATA_PORT): Likewise.
20967 (CRTC_CURSOR): Likewise.
20968 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20969 (CRTC_CURSOR_ADDR_LOW): Likewise.
20970 (update_cursor): New function.
20971 (grub_console_real_putchar): Call `update_cursor'.
20972 (grub_console_gotoxy): Likewise.
20973 (grub_console_cls): Set the default color when clearing the
20974 screen.
20975 (grub_console_setcursor): Implemented.
20976
20977 2007-11-03 Marco Gerards <marco@gnu.org>
20978
20979 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20980 become activate.
20981 (grub_ata_pio_write): Likewise.
20982
20983 (grub_atapi_identify): Wait after issuing an ATA command.
20984 (grub_atapi_packet): Likewise.
20985 (grub_ata_identify): Likewise.
20986 (grub_ata_readwrite): Likewise.
20987
20988 2007-11-03 Marco Gerards <marco@gnu.org>
20989
20990 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20991 (grub_ata_pio_write): Likewise.
20992 (grub_ata_readwrite): Use `grub_error', instead of
20993 returning `grub_errno'.
20994
20995 2007-11-03 Marco Gerards <marco@gnu.org>
20996
20997 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20998 grub_ata_pio_write once for every single sector, instead of for
20999 multiple sectors.
21000
21001 2007-10-31 Robert Millan <rmh@aybabtu.com>
21002
21003 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21004
21005 * conf/i386-linuxbios.rmk: New file.
21006
21007 * kern/i386/pc/hardware.c: Likewise.
21008 * term/i386/pc/at_keyboard.c: Likewise.
21009 * term/i386/pc/vga_text.c: Likewise.
21010
21011 * include/grub/i386/linuxbios/boot.h: Likewise.
21012 * include/grub/i386/linuxbios/console.h: Likewise.
21013 * include/grub/i386/linuxbios/init.h: Likewise.
21014 * include/grub/i386/linuxbios/kernel.h: Likewise.
21015 * include/grub/i386/linuxbios/loader.h: Likewise.
21016 * include/grub/i386/linuxbios/memory.h: Likewise.
21017 * include/grub/i386/linuxbios/serial.h: Likewise.
21018 * include/grub/i386/linuxbios/time.h: Likewise.
21019
21020 * kern/i386/linuxbios/init.c: Likewise.
21021 * kern/i386/linuxbios/startup.S: Likewise.
21022 * kern/i386/linuxbios/table.c: Likewise.
21023
21024 2007-10-31 Marco Gerards <marco@gnu.org>
21025
21026 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21027 (ata_mod_SOURCES): New variable.
21028 (ata_mod_CFLAGS): Likewise.
21029 (ata_mod_LDFLAGS): Likewise.
21030
21031 * disk/ata.c: New file.
21032
21033 * include/grub/disk.h (grub_disk_dev_id): Add
21034 `GRUB_DISK_DEV_ATA_ID'.
21035
21036 2007-10-31 Robert Millan <rmh@aybabtu.com>
21037
21038 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21039 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21040
21041 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21042 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21043
21044 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21045 `<grub/types.h>'.
21046
21047 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21048
21049 2007-10-27 Robert Millan <rmh@aybabtu.com>
21050
21051 * include/grub/types.h (ULONG_MAX): Define macro.
21052
21053 2007-10-22 Robert Millan <rmh@aybabtu.com>
21054
21055 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21056 `"../realmode.S"'.
21057 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21058
21059 2007-10-22 Robert Millan <rmh@aybabtu.com>
21060
21061 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21062 (pkgdata_MODULES): Add `biosdisk.mod'.
21063 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21064 variables.
21065
21066 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21067 (grub_biosdisk_init): Replace with ...
21068 (GRUB_MOD_INIT(biosdisk)): ... this.
21069 (grub_biosdisk_fini): Replace with ...
21070 (GRUB_MOD_FINI(biosdisk)): ... this.
21071
21072 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21073 (grub_machine_init): Remove call to grub_biosdisk_init().
21074 (grub_machine_fini): Remove call to grub_machine_fini().
21075
21076 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21077
21078 2007-10-22 Robert Millan <rmh@aybabtu.com>
21079
21080 * include/grub/time.h: New file.
21081 * include/grub/i386/time.h: Likewise.
21082 * include/grub/powerpc/time.h: Likewise.
21083 * include/grub/sparc64/time.h: Likewise.
21084
21085 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21086 instances to ...
21087 (KERNEL_MACHINE_TIME_HEADER): ... this.
21088 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21089 instances to ...
21090 (KERNEL_MACHINE_TIME_HEADER): ... this.
21091 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21092 instances to ...
21093 (KERNEL_MACHINE_TIME_HEADER): ... this.
21094
21095 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21096 (grub_millisleep): New function.
21097 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21098 (grub_millisleep): New function.
21099 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21100 Remove `grub/machine/time.h' include.
21101 (grub_millisleep): New function.
21102 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21103 Remove `grub/machine/time.h' include.
21104 (grub_millisleep): New function.
21105
21106 * include/grub/misc.h (grub_div_roundup): New function.
21107
21108 * kern/misc.c: Include `<grub/time.h>'.
21109 (grub_millisleep_generic): New function.
21110
21111 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21112 Add `time.h'.
21113 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21114 Add `time.h'.
21115 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21116 `machine/time.h'. Add `time.h'.
21117 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21118
21119 2007-10-21 Robert Millan <rmh@aybabtu.com>
21120
21121 * include/grub/misc.h (grub_max): New function.
21122
21123 2007-10-21 Robert Millan <rmh@aybabtu.com>
21124
21125 * util/misc.c (grub_util_info): Call fflush() before returning.
21126
21127 2007-10-20 Robert Millan <rmh@aybabtu.com>
21128
21129 * genmk.rb (Image): Copy `extra_flags' from here ...
21130 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21131
21132 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21133 to `argc' and `args' arguments.
21134
21135 2007-10-17 Robert Millan <rmh@aybabtu.com>
21136
21137 * kern/i386/loader.S: New file.
21138
21139 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21140 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21141 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21142 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21143 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21144 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21145 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21146 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21147 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21148 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21149 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21150 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21151 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21152 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21153
21154 * kern/i386/realmode.S: New file.
21155
21156 * kern/i386/pc/startup.S (protstack): Moved from here ...
21157 * kern/i386/realmode.S (protstack)... to here.
21158 * kern/i386/pc/startup.S (gdt): Moved from here ...
21159 * kern/i386/realmode.S (gdt)... to here.
21160 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21161 * kern/i386/realmode.S (prot_to_real)... to here.
21162
21163 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21164 `kern/i386/realmode.S'.
21165
21166 2007-10-17 Robert Millan <rmh@aybabtu.com>
21167
21168 * include/grub/i386/loader.h: New file.
21169
21170 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21171 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21172 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21173 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21174 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21175 * include/grub/i386/loader.h (grub_linux_prot_size)
21176 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21177 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21178 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21179 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21180
21181 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21182
21183 2007-10-15 Robert Millan <rmh@aybabtu.com>
21184
21185 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21186 filesystem when dev->disk is unset.
21187 Do probe for filesystem even when dev->disk->has_partitions is set.
21188 In case a filesystem is found, always report it.
21189 In case it isn't, if dev->disk->has_partitions is set, report that
21190 a partition table was found instead of reporting that no filesystem
21191 could be identified.
21192
21193 2007-10-12 Robert Millan <rmh@aybabtu.com>
21194
21195 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21196 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21197
21198 * include/grub/types.h (grub_host_to_target16): New macro.
21199 (grub_host_to_target32): Likewise.
21200 (grub_host_to_target64): Likewise.
21201 (grub_target_to_host16): Likewise.
21202 (grub_target_to_host32): Likewise.
21203 (grub_target_to_host64): Likewise.
21204
21205 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21206 Renamed from to ...
21207 (GRUB_MOD_ALIGN): ...this. Update all users.
21208
21209 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21210 grub_host_to_target32.
21211 Replace grub_be_to_cpu32 with grub_target_to_host32.
21212 (load_modules): Likewise.
21213 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21214 Replace grub_be_to_cpu32 with grub_target_to_host32.
21215 Replace grub_cpu_to_be16 with grub_host_to_target16.
21216 Replace grub_cpu_to_be32 grub_host_to_target32.
21217
21218 2007-10-12 Robert Millan <rmh@aybabtu.com>
21219
21220 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21221 * util/elf/grub-mkimage.c: ... here.
21222
21223 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21224 `util/powerpc/ieee1275/grub-mkimage.c'.
21225
21226 2007-10-07 Robert Millan <rmh@aybabtu.com>
21227
21228 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21229 and make it easier to figure out.
21230 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21231 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21232 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21233 leave us with less than HEAP_MIN_SIZE total heap.
21234 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21235
21236 2007-10-03 Robert Millan <rmh@aybabtu.com>
21237
21238 * include/grub/i386/io.h: New file.
21239 * commands/i386/pc/play.c (inb): Removed.
21240 (outb): Removed.
21241 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21242 with grub_outb().
21243 * term/i386/pc/serial.c (inb): Removed.
21244 (outb): Removed.
21245 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21246 with grub_outb().
21247 * term/i386/pc/vga.c (inb): Removed.
21248 (outb): Removed.
21249 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21250 with grub_outb().
21251
21252 2007-10-02 Robert Millan <rmh@aybabtu.com>
21253
21254 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21256 Reported by Marcin Kurek.
21257
21258 2007-09-07 Robert Millan <rmh@aybabtu.com>
21259
21260 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21261 SmartFirmware version updates (as released by Sven Luther), and avoid
21262 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21263 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21264 known broken.
21265
21266 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21267
21268 From Hitoshi Ozeki:
21269 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21270 when merging two regions.
21271
21272 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21273
21274 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21275 * normal/completion.c (grub_normal_do_completion): Likewise.
21276 Reported by Hitoshi Ozeki.
21277
21278 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21279
21280 Do not use devices at boot in chainloading.
21281
21282 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21283 (boot_part_addr): Likewise.
21284 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21285 with BOOT_DRIVE and BOOT_PART_ADDR.
21286 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21287 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21288
21289 2007-08-29 Robert Millan <rmh@aybabtu.com>
21290
21291 Patch from Simon Peter <dn.tlp@gmx.net>:
21292 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21293 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21294 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21295 util/i386/pc/grub-setup.c_DEPENDENCIES.
21296 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21297 util/grub-probe.c_DEPENDENCIES.
21298 * conf/powerpc-ieee1275.rmk: Likewise.
21299
21300 2007-08-28 Robert Millan <rmh@aybabtu.com>
21301
21302 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21303 to tell grub-mkdevicemap how to name devices.
21304 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21305 feature).
21306
21307 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21308 util/i386/get_disk_name.c.
21309 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21310 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21311 util/ieee1275/get_disk_name.c.
21312
21313 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21314
21315 * DISTLIST: Add util/i386/get_disk_name.c and
21316 util/ieee1275/get_disk_name.c.
21317
21318 * util/grub-mkdevicemap.c: Replace device naming logic with
21319 grub_util_get_disk_name() calls.
21320
21321 2007-08-20 Robert Millan <rmh@aybabtu.com>
21322
21323 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21324 (so that it works for both plural and singular quantities).
21325
21326 2007-08-05 Robert Millan <rmh@aybabtu.com>
21327
21328 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21329 so that [xz] isn't taken into account when determining order.
21330
21331 2007-08-02 Marco Gerards <marco@gnu.org>
21332
21333 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21334 `include/multiboot2.h', `include/grub/elfload.h',
21335 `include/multiboot.h', `include/grub/multiboot.h',
21336 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21337 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21338 `kern/elf.c', `loader/multiboot_loader.c',
21339 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21340 `loader/i386/pc/multiboot2.c',
21341 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21342 `util/i386/pc/grub-mkrescue.in'. Remove
21343 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21344 `include/grub/i386/pc/util/biosdisk.h' and
21345 `include/grub/powerpc/ieee1275/multiboot.h'.
21346
21347 2007-08-02 Bean <bean123ch@gmail.com>
21348
21349 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21350 (ntfs_mod_SOURCES): New variable.
21351 (ntfs_mod_CFLAGS): Likewise.
21352 (ntfs_mod_LDFLAGS): Likewise.
21353
21354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21355 (grub_probe_SOURCES): Likewise.
21356 (grub_emu_SOURCES): Likewise.
21357
21358 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21359 (grub_emu_SOURCES): Likewise.
21360
21361 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21362 (grub_emu_SOURCES): Likewise.
21363
21364 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21365
21366 * fs/ntfs.c: New file.
21367
21368 2007-08-02 Bean <bean123ch@gmail.com>
21369
21370 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21371
21372 * file.h (grub_file): Likewise.
21373
21374 * fshelp.h (grub_fshelp_read_file): Likewise.
21375
21376 * util/i386/pc/grub-setup.c (setup): Likewise.
21377 (save_first_sector): Likewise.
21378 (save_blocklists): Likewise.
21379
21380 * fs/affs.c (grub_affs_read_file): Likewise.
21381
21382 * fs/ext2.c (grub_ext2_read_file): Likewise.
21383
21384 * fs/fat.c (grub_fat_read_data): Likewise.
21385
21386 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21387
21388 * fs/hfs.c (grub_hfs_read_file): Likewise.
21389
21390 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21391
21392 * fs/jfs.c (grub_jfs_read_file): Likewise.
21393
21394 * fs/minix.c (grub_minix_read_file): Likewise.
21395
21396 * fs/sfs.c (grub_sfs_read_file): Likewise.
21397
21398 * fs/ufs.c (grub_ufs_read_file): Likewise.
21399
21400 * fs/xfs.c (grub_xfs_read_file): Likewise.
21401
21402 * command/blocklist.c (read_blocklist): Likewise.
21403 (print_blocklist): Likewise.
21404
21405 2007-08-02 Marco Gerards <marco@gnu.org>
21406
21407 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21408 `util/hostfs.c'.
21409
21410 * disk/host.c: New file.
21411
21412 * util/hostfs.c: Likewise.
21413
21414 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21415 return `GRUB_ERR_BAD_FS'.
21416 * fs/sfs.c (grub_sfs_mount): Likewise.
21417 * fs/xfs.c (grub_xfs_mount): Likewise.
21418
21419 * include/grub/disk.h (enum grub_disk_dev_id): Add
21420 `GRUB_DISK_DEVICE_HOST_ID'.
21421
21422 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21423
21424 2007-07-24 Jerone Young <jerone@gmail.com>
21425
21426 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21427 modules for compilation.
21428 * conf/powerpc-ieee1275.rmk: Likewise.
21429
21430 * include/multiboot.h: Move multiboot definitions to one file. Rename
21431 many definitions to not get grub specific.
21432 * include/multiboot2.h: Create header with multiboot 2 definitions.
21433 * include/grub/multiboot.h: Header for grub specific function
21434 prototypes and definitions.
21435 * include/grub/multiboot2.h: Likewise.
21436 * include/grub/multiboot_loader.h: Likewise.
21437 * include/grub/i386/pc/multiboot.h: Removed.
21438 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21439
21440 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21441 and 2 to allow for one multiboot and module commands.
21442 * loader/multiboot2.c: Add multiboot2 functionality.
21443 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21444 and definition names.
21445 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21446 2 functions.
21447 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21448 ieee1275 specific multiboot2 code.
21449
21450 * kern/i386/pc/startup.S: Change headers and definition names for
21451 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21452
21453 2007-07-22 Robert Millan <rmh@aybabtu.com>
21454
21455 * geninitheader.sh: Process file specified in first parameter rather
21456 than hardcoding grub_modules_init.lst.
21457 * geninit.sh: Likewise. Also, construct header name dynamically rather
21458 than hardcoding grub_modules_init.h.
21459
21460 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21461 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21462 grub_probe_init.[ch] and grub_setup_init.[ch].
21463
21464 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21465 grub_modules_init.h with grub_emu_init.h.
21466 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21467 grub_probe_init.[ch] files.
21468 * conf/i386-efi.rmk: Likewise.
21469 * conf/i386-pc.rmk: Likewise.
21470 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21471 grub_setup_init.[ch] files.
21472
21473 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21474 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21475 to initialize modules rather than a list of hardcoded functions.
21476 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21477 grub_init_all() to initialize modules rather than a list of hardcoded
21478 functions.
21479
21480 2007-07-22 Robert Millan <rmh@aybabtu.com>
21481
21482 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21483 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21484
21485 2007-07-22 Robert Millan <rmh@aybabtu.com>
21486
21487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21488 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21490 flag when running on SmartFirmware.
21491 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21492 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21493 was set.
21494
21495 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21496 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21497 rather than decreasing it.
21498
21499 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21500 there's not enough space to do it, fail in the same way as when it
21501 can't be done because there are no partitions.
21502
21503 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21504 when nvsetenv failed.
21505
21506 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21507
21508 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21509 because this rule is automatically generated.
21510 (grub-mkrescue): Removed for the same reason as above.
21511
21512 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21513
21514 Migrate to GNU General Public License Version 3.
21515
21516 * COPYING: Replaced with the plain text version of GPLv3.
21517
21518 * config.guess: Updated from gnulib.
21519 * config.sub: Likewise.
21520
21521 * geninit.sh: Output a GPLv3 copyright notice.
21522 * geninitheader.sh: Likewise.
21523 * genmodsrc.sh: Likewise.
21524 * gensymlist.sh.in: Likewise.
21525
21526 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21527 * boot/i386/pc/diskboot.S: Likewise.
21528 * boot/i386/pc/pxeboot.S: Likewise.
21529 * commands/blocklist.c: Likewise.
21530 * commands/boot.c: Likewise.
21531 * commands/cat.c: Likewise.
21532 * commands/cmp.c: Likewise.
21533 * commands/configfile.c: Likewise.
21534 * commands/echo.c: Likewise.
21535 * commands/help.c: Likewise.
21536 * commands/ls.c: Likewise.
21537 * commands/search.c: Likewise.
21538 * commands/terminal.c: Likewise.
21539 * commands/test.c: Likewise.
21540 * commands/videotest.c: Likewise.
21541 * commands/i386/cpuid.c: Likewise.
21542 * commands/i386/pc/halt.c: Likewise.
21543 * commands/i386/pc/play.c: Likewise.
21544 * commands/i386/pc/reboot.c: Likewise.
21545 * commands/i386/pc/vbeinfo.c: Likewise.
21546 * commands/i386/pc/vbetest.c: Likewise.
21547 * commands/ieee1275/halt.c: Likewise.
21548 * commands/ieee1275/reboot.c: Likewise.
21549 * commands/ieee1275/suspend.c: Likewise.
21550 * disk/loopback.c: Likewise.
21551 * disk/lvm.c: Likewise.
21552 * disk/raid.c: Likewise.
21553 * disk/efi/efidisk.c: Likewise.
21554 * disk/i386/pc/biosdisk.c: Likewise.
21555 * disk/ieee1275/ofdisk.c: Likewise.
21556 * font/manager.c: Likewise.
21557 * fs/affs.c: Likewise.
21558 * fs/ext2.c: Likewise.
21559 * fs/fat.c: Likewise.
21560 * fs/fshelp.c: Likewise.
21561 * fs/hfs.c: Likewise.
21562 * fs/hfsplus.c: Likewise.
21563 * fs/iso9660.c: Likewise.
21564 * fs/jfs.c: Likewise.
21565 * fs/minix.c: Likewise.
21566 * fs/sfs.c: Likewise.
21567 * fs/ufs.c: Likewise.
21568 * fs/xfs.c: Likewise.
21569 * hello/hello.c: Likewise.
21570 * include/grub/acorn_filecore.h: Likewise.
21571 * include/grub/arg.h: Likewise.
21572 * include/grub/bitmap.h: Likewise.
21573 * include/grub/boot.h: Likewise.
21574 * include/grub/cache.h: Likewise.
21575 * include/grub/device.h: Likewise.
21576 * include/grub/disk.h: Likewise.
21577 * include/grub/dl.h: Likewise.
21578 * include/grub/elfload.h: Likewise.
21579 * include/grub/env.h: Likewise.
21580 * include/grub/err.h: Likewise.
21581 * include/grub/file.h: Likewise.
21582 * include/grub/font.h: Likewise.
21583 * include/grub/fs.h: Likewise.
21584 * include/grub/fshelp.h: Likewise.
21585 * include/grub/gzio.h: Likewise.
21586 * include/grub/hfs.h: Likewise.
21587 * include/grub/kernel.h: Likewise.
21588 * include/grub/loader.h: Likewise.
21589 * include/grub/lvm.h: Likewise.
21590 * include/grub/misc.h: Likewise.
21591 * include/grub/mm.h: Likewise.
21592 * include/grub/net.h: Likewise.
21593 * include/grub/normal.h: Likewise.
21594 * include/grub/parser.h: Likewise.
21595 * include/grub/partition.h: Likewise.
21596 * include/grub/pc_partition.h: Likewise.
21597 * include/grub/raid.h: Likewise.
21598 * include/grub/rescue.h: Likewise.
21599 * include/grub/script.h: Likewise.
21600 * include/grub/setjmp.h: Likewise.
21601 * include/grub/symbol.h: Likewise.
21602 * include/grub/term.h: Likewise.
21603 * include/grub/terminfo.h: Likewise.
21604 * include/grub/tparm.h: Likewise.
21605 * include/grub/types.h: Likewise.
21606 * include/grub/video.h: Likewise.
21607 * include/grub/efi/api.h: Likewise.
21608 * include/grub/efi/chainloader.h: Likewise.
21609 * include/grub/efi/console.h: Likewise.
21610 * include/grub/efi/console_control.h: Likewise.
21611 * include/grub/efi/disk.h: Likewise.
21612 * include/grub/efi/efi.h: Likewise.
21613 * include/grub/efi/pe32.h: Likewise.
21614 * include/grub/efi/time.h: Likewise.
21615 * include/grub/i386/linux.h: Likewise.
21616 * include/grub/i386/setjmp.h: Likewise.
21617 * include/grub/i386/types.h: Likewise.
21618 * include/grub/i386/efi/kernel.h: Likewise.
21619 * include/grub/i386/efi/loader.h: Likewise.
21620 * include/grub/i386/efi/time.h: Likewise.
21621 * include/grub/i386/pc/biosdisk.h: Likewise.
21622 * include/grub/i386/pc/boot.h: Likewise.
21623 * include/grub/i386/pc/chainloader.h: Likewise.
21624 * include/grub/i386/pc/console.h: Likewise.
21625 * include/grub/i386/pc/init.h: Likewise.
21626 * include/grub/i386/pc/kernel.h: Likewise.
21627 * include/grub/i386/pc/loader.h: Likewise.
21628 * include/grub/i386/pc/memory.h: Likewise.
21629 * include/grub/i386/pc/multiboot.h: Likewise.
21630 * include/grub/i386/pc/serial.h: Likewise.
21631 * include/grub/i386/pc/time.h: Likewise.
21632 * include/grub/i386/pc/vbe.h: Likewise.
21633 * include/grub/i386/pc/vbeblit.h: Likewise.
21634 * include/grub/i386/pc/vbefill.h: Likewise.
21635 * include/grub/i386/pc/vbeutil.h: Likewise.
21636 * include/grub/i386/pc/vga.h: Likewise.
21637 * include/grub/ieee1275/ieee1275.h: Likewise.
21638 * include/grub/ieee1275/ofdisk.h: Likewise.
21639 * include/grub/powerpc/libgcc.h: Likewise.
21640 * include/grub/powerpc/setjmp.h: Likewise.
21641 * include/grub/powerpc/types.h: Likewise.
21642 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21643 * include/grub/powerpc/ieee1275/console.h: Likewise.
21644 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21645 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21646 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21647 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21648 * include/grub/powerpc/ieee1275/time.h: Likewise.
21649 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21650 * include/grub/sparc64/libgcc.h: Likewise.
21651 * include/grub/sparc64/setjmp.h: Likewise.
21652 * include/grub/sparc64/types.h: Likewise.
21653 * include/grub/sparc64/ieee1275/console.h: Likewise.
21654 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21655 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21656 * include/grub/sparc64/ieee1275/time.h: Likewise.
21657 * include/grub/util/biosdisk.h: Likewise.
21658 * include/grub/util/getroot.h: Likewise.
21659 * include/grub/util/lvm.h: Likewise.
21660 * include/grub/util/misc.h: Likewise.
21661 * include/grub/util/raid.h: Likewise.
21662 * include/grub/util/resolve.h: Likewise.
21663 * io/gzio.c: Likewise.
21664 * kern/device.c: Likewise.
21665 * kern/disk.c: Likewise.
21666 * kern/dl.c: Likewise.
21667 * kern/elf.c: Likewise.
21668 * kern/env.c: Likewise.
21669 * kern/err.c: Likewise.
21670 * kern/file.c: Likewise.
21671 * kern/fs.c: Likewise.
21672 * kern/loader.c: Likewise.
21673 * kern/main.c: Likewise.
21674 * kern/misc.c: Likewise.
21675 * kern/mm.c: Likewise.
21676 * kern/parser.c: Likewise.
21677 * kern/partition.c: Likewise.
21678 * kern/rescue.c: Likewise.
21679 * kern/term.c: Likewise.
21680 * kern/efi/efi.c: Likewise.
21681 * kern/efi/init.c: Likewise.
21682 * kern/efi/mm.c: Likewise.
21683 * kern/i386/dl.c: Likewise.
21684 * kern/i386/efi/init.c: Likewise.
21685 * kern/i386/efi/startup.S: Likewise.
21686 * kern/i386/pc/init.c: Likewise.
21687 * kern/i386/pc/lzo1x.S: Likewise.
21688 * kern/i386/pc/startup.S: Likewise.
21689 * kern/ieee1275/ieee1275.c: Likewise.
21690 * kern/powerpc/cache.S: Likewise.
21691 * kern/powerpc/dl.c: Likewise.
21692 * kern/powerpc/ieee1275/cmain.c: Likewise.
21693 * kern/powerpc/ieee1275/crt0.S: Likewise.
21694 * kern/powerpc/ieee1275/init.c: Likewise.
21695 * kern/powerpc/ieee1275/openfw.c: Likewise.
21696 * kern/sparc64/cache.S: Likewise.
21697 * kern/sparc64/dl.c: Likewise.
21698 * kern/sparc64/ieee1275/init.c: Likewise.
21699 * kern/sparc64/ieee1275/openfw.c: Likewise.
21700 * loader/efi/chainloader.c: Likewise.
21701 * loader/efi/chainloader_normal.c: Likewise.
21702 * loader/i386/efi/linux.c: Likewise.
21703 * loader/i386/efi/linux_normal.c: Likewise.
21704 * loader/i386/pc/chainloader.c: Likewise.
21705 * loader/i386/pc/chainloader_normal.c: Likewise.
21706 * loader/i386/pc/linux.c: Likewise.
21707 * loader/i386/pc/linux_normal.c: Likewise.
21708 * loader/i386/pc/multiboot.c: Likewise.
21709 * loader/i386/pc/multiboot_normal.c: Likewise.
21710 * loader/powerpc/ieee1275/linux.c: Likewise.
21711 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21712 * normal/arg.c: Likewise.
21713 * normal/cmdline.c: Likewise.
21714 * normal/command.c: Likewise.
21715 * normal/completion.c: Likewise.
21716 * normal/execute.c: Likewise.
21717 * normal/function.c: Likewise.
21718 * normal/lexer.c: Likewise.
21719 * normal/main.c: Likewise.
21720 * normal/menu.c: Likewise.
21721 * normal/menu_entry.c: Likewise.
21722 * normal/misc.c: Likewise.
21723 * normal/parser.y: Likewise.
21724 * normal/script.c: Likewise.
21725 * normal/i386/setjmp.S: Likewise.
21726 * normal/powerpc/setjmp.S: Likewise.
21727 * normal/sparc64/setjmp.S: Likewise.
21728 * partmap/acorn.c: Likewise.
21729 * partmap/amiga.c: Likewise.
21730 * partmap/apple.c: Likewise.
21731 * partmap/gpt.c: Likewise.
21732 * partmap/pc.c: Likewise.
21733 * partmap/sun.c: Likewise.
21734 * term/gfxterm.c: Likewise.
21735 * term/terminfo.c: Likewise.
21736 * term/efi/console.c: Likewise.
21737 * term/i386/pc/console.c: Likewise.
21738 * term/i386/pc/serial.c: Likewise.
21739 * term/i386/pc/vesafb.c: Likewise.
21740 * term/i386/pc/vga.c: Likewise.
21741 * term/ieee1275/ofconsole.c: Likewise.
21742 * util/biosdisk.c: Likewise.
21743 * util/console.c: Likewise.
21744 * util/genmoddep.c: Likewise.
21745 * util/getroot.c: Likewise.
21746 * util/grub-emu.c: Likewise.
21747 * util/grub-mkdevicemap.c: Likewise.
21748 * util/grub-probe.c: Likewise.
21749 * util/lvm.c: Likewise.
21750 * util/misc.c: Likewise.
21751 * util/raid.c: Likewise.
21752 * util/resolve.c: Likewise.
21753 * util/update-grub.in: Likewise.
21754 * util/update-grub_lib.in: Likewise.
21755 * util/grub.d/00_header.in: Likewise.
21756 * util/grub.d/10_hurd.in: Likewise.
21757 * util/grub.d/10_linux.in: Likewise.
21758 * util/i386/efi/grub-install.in: Likewise.
21759 * util/i386/efi/grub-mkimage.c: Likewise.
21760 * util/i386/pc/grub-install.in: Likewise.
21761 * util/i386/pc/grub-mkimage.c: Likewise.
21762 * util/i386/pc/grub-mkrescue.in: Likewise.
21763 * util/i386/pc/grub-setup.c: Likewise.
21764 * util/i386/pc/misc.c: Likewise.
21765 * util/powerpc/ieee1275/grub-install.in: Likewise.
21766 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21767 * util/powerpc/ieee1275/misc.c: Likewise.
21768 * video/bitmap.c: Likewise.
21769 * video/video.c: Likewise.
21770 * video/i386/pc/vbe.c: Likewise.
21771 * video/i386/pc/vbeblit.c: Likewise.
21772 * video/i386/pc/vbefill.c: Likewise.
21773 * video/i386/pc/vbeutil.c: Likewise.
21774 * video/readers/tga.c: Likewise.
21775
21776 2007-07-02 Robert Millan <rmh@aybabtu.com>
21777
21778 * conf/i386-efi.rmk: Replace obsolete reference to
21779 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21780 with util/getroot.c.
21781 * conf/powerpc-ieee1275.rmk: Likewise.
21782 * conf/sparc64-ieee1275.rmk: Likewise.
21783
21784 * util/grub-emu.c (main): Fix unchecked pointer handling.
21785
21786 2007-07-02 Robert Millan <rmh@aybabtu.com>
21787
21788 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21789 invocation to fail, in order to support partition-less media.
21790
21791 * util/i386/pc/grub-install.in: Likewise.
21792
21793 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21794 which fs or partmap modules are needed (akin to its sister scripts).
21795
21796 Also use grub-probe to get rid of unportable /proc/mounts check.
21797
21798 Print the same informational message that the other scripts do, before
21799 exiting.
21800
21801 2007-06-23 Robert Millan <rmh@aybabtu.com>
21802
21803 * util/update-grub_lib.in (font_path): New function. Determine whether
21804 a font file can be found and, if so, echo the GRUB path to it.
21805
21806 * util/update-grub.in: Handle multiple terminals depending on user
21807 input, platform availability and font file presence. Propagate
21808 variables of our findings to /etc/grub.d/ children.
21809
21810 * util/grub.d/00_header.in: Handle multiple terminals, based on
21811 environment setup by update-grub.
21812
21813 2007-06-23 Robert Millan <rmh@aybabtu.com>
21814
21815 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21816
21817 2007-06-21 Robert Millan <rmh@aybabtu.com>
21818
21819 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21820 indicate end of data section in kernel image.
21821 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21822 GRUB_KERNEL_MACHINE_DATA_END.
21823
21824 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21825 space for it.
21826 * kern/i386/efi/startup.S: Likewise.
21827
21828 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21829 during image generation. Implement --prefix option to override this
21830 patch.
21831 * util/i386/efi/grub-mkimage.c: Likewise.
21832
21833 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21834 code to make path relative to its root into a separate function.
21835
21836 * util/i386/pc/grub-install.in: Use newly provided
21837 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21838 pass the result to grub-install --prefix.
21839
21840 2007-06-13 Robert Millan <rmh@aybabtu.com>
21841
21842 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21843 DEFAULT_DEVICE_MAP.
21844 * util/grub-emu.c: Use above definitions from misc.h instead of
21845 defining them.
21846 * util/grub-mkdevicemap.c: Likewise.
21847 * util/i386/pc/grub-setup.c: Likewise.
21848 * util/grub-probe.c: Likewise.
21849 (probe): Abort with grub_util_error() when either
21850 grub_guess_root_device or grub_util_get_grub_dev fails.
21851
21852 2007-06-12 Robert Millan <rmh@aybabtu.com>
21853
21854 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21855 "pager" assignment.
21856 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21857 "pcdata".
21858 * util/grub-probe.c (probe): Likewise for "drive_name".
21859
21860 2007-06-11 Robert Millan <rmh@aybabtu.com>
21861
21862 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21863 not just the cdrom one.
21864
21865 2007-06-11 Robert Millan <rmh@aybabtu.com>
21866
21867 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21868 Add --pkglibdir=DIR option to override pkglibdir.
21869 Mention --image-type=TYPE in help output.
21870 Fix --grub-mkimage (it was a no-op).
21871 Abort gracefully when no parameter is given.
21872
21873 2007-06-11 Robert Millan <rmh@aybabtu.com>
21874
21875 * util/i386/pc/grub-mkrescue.in: New file.
21876 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21877 * Makefile.in: Handle bin_SCRIPTS.
21878
21879 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21880
21881 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21882 list of video modes.
21883
21884 2007-06-06 Robert Millan <rmh@aybabtu.com>
21885
21886 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21887 file doesn't exist, or if it is in a filesystem grub can't read.
21888
21889 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21890 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21891 header comment to fit in 80 columns when the variables are resolved.
21892
21893 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21894 could be identified by update-grub. Remove redundant check for
21895 unifont.pff existence (since convert_system_path_to_grub_path now
21896 handles that).
21897
21898 2007-06-04 Robert Millan <rmh@aybabtu.com>
21899
21900 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21901
21902 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21903
21904 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21905
21906 2007-06-04 Robert Millan <rmh@aybabtu.com>
21907
21908 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21909
21910 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21911 grub_apple_partition_map_fini.
21912
21913 * util/biosdisk.c
21914 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21915 to access >2 TiB disks).
21916
21917 Print disk->total_sectors with %llu instead of %lu, since this
21918 variable is always 64-bit (prevents wrong disk size from being displayed
21919 on either >2 TiB disk or big-endian CPU).
21920
21921 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21922 into a generic case that supports all (sane) partition maps.
21923
21924 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21925 breaks big-endian.
21926
21927 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21928 and grub_apple_partition_map_fini() after that.
21929
21930 2007-06-01 Robert Millan <rmh@aybabtu.com>
21931
21932 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21933
21934 * util/grub.d/00_header.in: Only enable gfxterm when
21935 convert_system_path_to_grub_path() succeeds.
21936
21937 2007-05-20 Robert Millan <rmh@aybabtu.com>
21938
21939 * util/update-grub_lib.in: New file.
21940 * DISTLIST: Add update-grub_lib.in.
21941 * conf/common.rmk: Generate update-grub_lib and install it in
21942 $(lib_DATA).
21943 * Makefile.in: Add install routine for $(lib_DATA).
21944
21945 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21946 function provided by update-grub_lib to support arbitrary paths of
21947 unifont.pff.
21948 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21949 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21950
21951 2007-05-19 Robert Millan <rmh@aybabtu.com>
21952
21953 * commands/i386/cpuid.c: New module.
21954 * DISTLIST: Add it.
21955 * conf/i386-efi.rmk: Enable cpuid.mod.
21956 * conf/i386-pc.rmk: Likewise.
21957
21958 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21959
21960 * kern/disk.c (grub_disk_read): Check return value of
21961 grub_realloc().
21962
21963 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21964
21965 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21966 arrays.
21967 * disk/raid.c (grub_raid_open): Likewise.
21968
21969 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21970
21971 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21972 stack instead of on the heap.
21973
21974 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21975 before doing a read on it.
21976
21977 * configure.ac: Only use -fno-stack-protector for the target
21978 environment.
21979
21980 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21981
21982 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21983 __attribute_ ((unused)) to mode_type argument.
21984
21985 * util/getroot.c (grub_guess_root_device): Fix #endif.
21986
21987 * kern/misc.c (memcmp): Fix prototype.
21988
21989 * include/grub/partition.h [GRUB_UTIL]
21990 (grub_gpt_partition_map_init): Add prototype.
21991 (grub_gpt_partition_map_fini): Likewise.
21992
21993 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21994 at the right place.
21995
21996 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21997 (grub_fat_read_data): Likewise.
21998 (grub_fat_find_dir): Likewise.
21999
22000 * font/manager.c (find_glyph): Make table a const.
22001 (grub_font_get_glyph): Remove bitmap from if statement.
22002
22003 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22004
22005 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22006 code, first search for device in /dev/mapper, then in /dev.
22007 (grub_util_get_grub_dev): New function.
22008 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22009 prototype.
22010 * util/grub-probe.c (probe): Remove check for RAID, call
22011 grub_util_get_grub_dev() instead of
22012 grub_util_biosdisk_get_grub_dev().
22013 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22014 grub_util_biosdisk_get_grub_dev().
22015 * util/i386/pc/grub-setup.c (main): Likewise.
22016
22017 2007-05-16 Robert Millan <rmh@aybabtu.com>
22018
22019 * DISTLIST: Update for the latest changes.
22020 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22021 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22022 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22023 grub/util/biosdisk.h.
22024 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22025 grub/util/biosdisk.h.
22026
22027 2007-05-16 Robert Millan <rmh@aybabtu.com>
22028
22029 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22030
22031 2007-05-16 Robert Millan <rmh@aybabtu.com>
22032
22033 * util/i386/efi/grub-install.in: New.
22034 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22035 newly added grub-install.
22036 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22037 include.
22038 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22039 grub/util/biosdisk.h.
22040 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22041 grub/util/biosdisk.h.
22042
22043 2007-05-16 Robert Millan <rmh@aybabtu.com>
22044
22045 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22046 * include/grub/util/biosdisk.h: ... here.
22047 * util/i386/pc/biosdisk.c: Moved to ...
22048 * util/biosdisk.c: ... here.
22049 * util/i386/pc/getroot.c: Moved to ...
22050 * util/getroot.c: ... here.
22051 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22052 * util/grub-mkdevicemap.c: ... here.
22053 * util/i386/pc/grub-probe.c: Moved to ...
22054 * util/grub-probe.c: ... here.
22055
22056 2007-05-15 Robert Millan <rmh@aybabtu.com>
22057
22058 * util/update-grub.in: Remove duplicated line in grub.cfg header
22059 message.
22060
22061 2007-05-13 Robert Millan <rmh@aybabtu.com>
22062
22063 * util/update-grub.in: Fix a few assumptions about the devices holding
22064 /, /boot and /boot/grub being the same.
22065 * util/grub.d/00_header.in: Likewise.
22066 * util/grub.d/10_hurd.in: Likewise.
22067 * util/grub.d/10_linux.in: Likewise.
22068
22069 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22070 patterns. Use that to define the `.old' suffix as older than `'.
22071
22072 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22073
22074 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22075 the grub.cfg header message.
22076
22077 2007-05-11 Robert Millan <rmh@aybabtu.com>
22078
22079 * util/update-grub.in: Create device.map if it doesn't already exist,
22080 before attempting to run grub-probe.
22081 Check for grub-probe and grub-mkdevicemap with the same code
22082 grub-install is using.
22083 Remove test mode.
22084
22085 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22086
22087 * Makefile.in: Add the datarootdir autoconf variable.
22088
22089 2007-05-09 Robert Millan <rmh@aybabtu.com>
22090
22091 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22092 fail gracefully if dev->disk->partition == NULL.
22093
22094 2007-05-07 Robert Millan <rmh@aybabtu.com>
22095
22096 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22097 determine partition map module.
22098 * util/i386/pc/grub-install.in: Use this feature to decide which
22099 partition module to load, instead of hardcoding pc and gpt.
22100
22101 2007-05-07 Robert Millan <rmh@aybabtu.com>
22102
22103 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22104 source directory differs from build directory.
22105
22106 2007-05-05 Robert Millan <rmh@aybabtu.com>
22107
22108 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22109 initialisation.
22110
22111 2007-05-05 Robert Millan <rmh@aybabtu.com>
22112
22113 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22114
22115 2007-05-05 Robert Millan <rmh@aybabtu.com>
22116
22117 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22118 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22119
22120 2007-05-05 Robert Millan <rmh@aybabtu.com>
22121
22122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22123 (grub_probe_SOURCES): Likewise.
22124 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22125 GPT and initialize dos_part and bsd_part accordingly.
22126 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22127 install_bsd_part.
22128 (main): Activate gpt module for use during partition identification,
22129 and deactivate it afterwards.
22130 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22131 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22132 partition identification, and deactivate it afterwards.
22133
22134 2007-05-05 Robert Millan <rmh@aybabtu.com>
22135
22136 * term/i386/pc/console.c (grub_console_fini): Call
22137 grub_term_set_current() before grub_term_unregister().
22138
22139 2007-05-04 Robert Millan <rmh@aybabtu.com>
22140
22141 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22142 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22143 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22144 and update-grub_DATA.
22145 * conf/common.rmk: Build and install update-grub components.
22146 * conf/common.mk: Regenerate.
22147 * util/update-grub.in: New. Core of update-grub.
22148 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22149 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22150 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22151 * util/grub.d/README: New. Document grub.d directory layout.
22152
22153 2007-05-01 Robert Millan <rmh@aybabtu.com>
22154
22155 * util/grub-emu.c: Move initialization functions
22156 grub_util_biosdisk_init() and grub_init_all() before
22157 grub_util_biosdisk_get_grub_dev(), which relies on them.
22158
22159 2007-04-19 Robert Millan <rmh@aybabtu.com>
22160
22161 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22162 it is used later.
22163
22164 2007-04-18 Jerone Young <jerone@gmail.com>
22165
22166 * kernel/elf.c: Add missing parenthesis for conditional statement
22167 stanza.
22168
22169 2007-04-10 Jerone Young <jerone@gmail.com>
22170
22171 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22172 continue on and look for device node with real device name.
22173
22174 2007-04-10 Jerone Young <jerone@gmail.com>
22175
22176 * configure.ac: Add argument for autoconf to use transformation
22177 ability.
22178 * Makefile.in: Add autoconf package transformation code.
22179 * util/i386/pc/grub-install.in: Likewise.
22180 * util/powerpc/ieee1275/grub-install.in: Likewise.
22181
22182 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22183
22184 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22185 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22186 (EXT2_REVISION): Likewise.
22187 (EXT2_INODE_SIZE): Likewise.
22188 (struct grub_ext2_block_group): Added a missing member
22189 "used_dirs".
22190 (grub_ext2_read_inode): Divide by the inode size in a superblock
22191 instead of 128 to obtain INODES_PER_BLOCK.
22192 Use the macro EXT2_INODE_SIZE instead of directly using
22193 SBLOCK->INODE_SIZE.
22194
22195 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22196
22197 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22198 superblock instead of the structure size to compute an
22199 offset. This fixes the problem that GRUB could not read a
22200 filesystem when inode size is different from 128-byte.
22201
22202 2007-03-05 Marco Gerards <marco@gnu.org>
22203
22204 * normal/main.c (read_config_file): When "menu" is not set, create
22205 an initial context.
22206
22207 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22208
22209 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22210 (HEAP_LIMIT): New macro.
22211 (grub_claim_heap): Claim memory up to `heaplimit'.
22212
22213 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22214
22215 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22216 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22217 (_start): Likewise.
22218 (grub_arch_modules_addr): Return address after `_end'.
22219 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22220 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22221 (add_segments): Calculate `_end' from phdr size and location.
22222 (ALIGN_UP): Moved to ...
22223 * include/grub/misc.h: here.
22224 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22225 New macro.
22226 (GRUB_IEEE1275_MODULE_BASE): Removed.
22227
22228 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22229
22230 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22231 loop boundary.
22232
22233 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22234
22235 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22236 All users updated.
22237 (grub_elf64_load_hook_t): Likewise.
22238 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22239 debug output.
22240
22241 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22242
22243 * kern/mm.c: Update copyright.
22244 (grub_mm_debug): Correct syntax error.
22245 (grub_mm_dump_free): New function.
22246 (grub_debug_free): Call `grub_free'.
22247 * include/grub/mm.h: Update copyright.
22248 (grub_mm_dump_free): Add declaration.
22249
22250 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22251
22252 * include/grub/ieee1275/ieee1275.h: Update copyright.
22253 * kern/powerpc/ieee1275/init.c: Likewise.
22254 * kern/powerpc/ieee1275/openfw.c: Likewise.
22255
22256 * loader/powerpc/ieee1275/linux.c: Likewise.
22257 * include/grub/elfload.h: Likewise.
22258 * kern/elf.c: Likewise.
22259 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22260 callers.
22261 (grub_elf64_load): Likewise.
22262 (grub_elf32_load_segment): Move to a nested function.
22263 (grub_elf64_load_segment): Likewise.
22264
22265 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22266
22267 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22268 prototype.
22269 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22270 (grub_heap_len): Likewise.
22271 (HEAP_SIZE): New macro.
22272 (grub_claim_heap): New function.
22273 (grub_machine_init): Don't claim heap directly. Call
22274 `grub_claim_heap'.
22275 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22276 (grub_available_iterate): New function.
22277
22278 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22279
22280 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22281 * configure.ac: Use it for testing the HOST and TARGET compilers.
22282
22283 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22284
22285 * Makefile.in (enable_grub_emu): New variable.
22286 * configure.ac (--enable-grub-emu): New option.
22287 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22288 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22289 * conf/i386-pc.rmk: Likewise.
22290 * conf/powerpc-ieee1275.rmk: Likewise.
22291 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22292
22293 2006-12-12 Marco Gerards <marco@gnu.org>
22294
22295 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22296
22297 * kern/env.c (grub_env_unset): Don't free the member `value' when
22298 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22299 pointer.
22300
22301 * normal/main.c (current_menu): Removed.
22302 (free_menu): Unset the `menu' environment variable.
22303 (grub_normal_menu_addentry): Make use of the environment variable
22304 `menu', instead of using the global `current_menu'. Allocate
22305 memory for the sourcecode of this entry.
22306 (read_config_file): New argument `nested', changed all callers.
22307 Only in the case of a new context, initialize a new menu. Set the
22308 `menu' environment variable.
22309 (grub_normal_execute): Don't set and unset the environment
22310 variable `menu' here anymore. Only free the menu when leaving the
22311 context.
22312
22313 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22314 leak.
22315
22316 2006-12-11 Marco Gerards <marco@gnu.org>
22317
22318 * normal/menu_entry.c (run): Fix off by one bug so the last line
22319 is executed. Move the loader check to outside the loop.
22320
22321 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22322
22323 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22324
22325 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22326
22327 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22328 the number of sectors. Reported by Andrey Shuvikov
22329 <mr_hyro@yahoo.com>.
22330
22331 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22332
22333 * kern/disk.c (grub_disk_read): When there is a read error, always
22334 try to read only the necessary data.
22335
22336 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22337 disk/raid.c.
22338 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22339 prototype.
22340 [GRUB_UTIL] (grub_raid_fini): Likewise.
22341 [GRUB_UTIL] (grub_lvm_init): Likewise.
22342 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22343 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22344 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22345 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22346 and grub_raid_fini().
22347
22348 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22349
22350 * include/grub/types.h (__unused): Rename to UNUSED.
22351 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22352 (grub_elf64_size): Likewise.
22353
22354 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22355
22356 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22357 grub_error_push and grub_error_pop in the error-handling path.
22358 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22359 length.
22360
22361 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22362
22363 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22364 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22366 (kernel_elf_SOURCES): Likewise.
22367 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22368 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22369 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22370 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22371 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22372 (elf_mod_SOURCES): New variable.
22373 (elf_mod_CFLAGS): Likewise.
22374 (elf_mod_LDFLAGS): Likewise.
22375 * include/grub/types.h (__unused): New macro.
22376 * include/grub/elfload.h: New file.
22377 * kern/elf.c: Likewise.
22378 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22379 (ELF32_LOADMASK): New macro.
22380 (ELF64_LOADMASK): Likewise.
22381 (vmlinux): Removed.
22382 (grub_linux_load32): New function.
22383 (grub_linux_load64): Likewise.
22384 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22385 Use grub_elf_t instead of grub_file_t.
22386
22387 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22388
22389 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22390 `catch_result' to struct set_color_args.
22391
22392 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22393
22394 * normal/menu.c: Include grub/script.h.
22395 * normal/menu_entry.c: Likewise.
22396 * include/grub/normal.h: Do not include grub/script.h.
22397
22398 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22399
22400 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22401
22402 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22403
22404 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22405 disk.
22406 (grub_disk_close): Print debug messages when closing a disk.
22407 (grub_disk_read): Print debug messages when disk read fails.
22408 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22409 filesystem type.
22410 * kern/partition.c: Include misc.h.
22411 (grub_partition_iterate): Print debug messages when detecting
22412 partition type.
22413
22414 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22415
22416 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22417 is negative.
22418 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22419
22420 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22421
22422 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22423 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22424
22425 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22426
22427 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22428 instead of sizeof(lv). Patch by Michael Guntsche.
22429
22430 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22431
22432 * disk/lvm.c: Rename VGS to VG_LIST.
22433 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22434 (grub_lvm_open): Likewise.
22435 Thanks to Michael Guntsche for finding this bug.
22436
22437 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22438
22439 * configure.ac (AC_INIT): Bumped to 1.95.
22440
22441 2006-10-14 Robert Millan <rmh@aybabtu.com>
22442
22443 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22444 with "/dev/.static/dev/md".
22445
22446 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22447
22448 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22449 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22450 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22451 DRIVE_NAME are always freed.
22452
22453 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22454 DOS_PART, as a DOS partition is counted from one instead of zero
22455 now. Reported by Robert Millan.
22456
22457 2006-10-14 Robert Millan <rmh@aybabtu.com>
22458
22459 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22460 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22461 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22462 string returned by grub_guess_root_device.
22463 * util/i386/pc/grub-setup.c: Likewise.
22464 * util/i386/pc/grub-probefs.c: Likewise.
22465
22466 * util/i386/pc/grub-probefs.c: Rename to ...
22467 * util/i386/pc/grub-probe.c: ... this.
22468 * DISTLIST: Remove grub-probefs, add grub-probe.
22469 * conf/i386-efi.rmk: Likewise.
22470 * conf/i386-pc.rmk: Likewise.
22471 * util/i386/pc/grub-install.in: Likewise.
22472
22473 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22474 choose which information we want to print.
22475
22476 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22477
22478 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22479 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22480 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22481 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22482 video/readers/tga.c and video/i386/pc/vbeutil.c.
22483
22484 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22485
22486 Added support for RAID and LVM.
22487
22488 * disk/lvm.c: New file.
22489 * disk/raid.c: Likewise.
22490 * include/grub/lvm.h: Likewise.
22491 * include/grub/raid.h: Likewise.
22492 * include/grub/util/lvm.h: Likewise.
22493 * include/grub/util/raid.h: Likewise.
22494 * util/lvm.c: Likewise.
22495 * util/raid.c: Likewise.
22496
22497 * include/grub/disk.h (grub_disk_dev_id): Add
22498 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22499 (grub_disk_get_size): New prototype.
22500 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22501 returns a partition.
22502 (grub_disk_get_size): New function.
22503
22504 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22505 verbatim if grub_install_dos_part is -2.
22506
22507 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22508 and LVM devices.
22509
22510 * util/i386/pc/grub-setup.c (setup): New argument
22511 MUST_EMBED. Force embedding of GRUB when the argument is
22512 true. Close FILE before returning.
22513 (main): Add support for RAID and LVM.
22514
22515 * conf/common.rmk: Add RAID and LVM modules.
22516 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22517 util/lvm.c.
22518 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22519
22520 * kern/misc.c (grub_strstr): New function.
22521 * include/grub/misc.h (grub_strstr): New prototype.
22522
22523 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22524
22525 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22526
22527 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22528
22529 * kern/misc.c (grub_strtoull): Guess the base only if not
22530 specified.
22531
22532 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22533
22534 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22535 PowerMac support.
22536
22537 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22538
22539 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22540
22541 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22542 Remove `flags' argument. All callers changed.
22543 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22544 (IEEE1275_IHANDLE_INVALID): New variable.
22545 (IEEE1275_CELL_INVALID): New variable.
22546 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22547 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22548 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22549 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22550 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22551 codes from Open Firmware. All callers updated.
22552 (grub_ieee1275_next_property): Directly return Open Firmware return
22553 code.
22554 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22555 Standardize error checking from `grub_ieee1275_get_property'.
22556 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22557 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22558
22559 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22560
22561 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22562 `instance_to_package_args' to `instance_to_path_args'.
22563
22564 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22565 `grub_ieee1275_chosen'.
22566
22567 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22568 `grub_ieee1275_interpret'.
22569
22570 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22571
22572 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22573
22574 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22575
22576 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22577 (__cmpdi): Likewise.
22578
22579 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22580 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22581 `grub_ssize_t'.
22582
22583 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22584
22585 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22586 to type `grub_ssize_t'.
22587 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22588
22589 2006-09-22 Marco Gerards <marco@gnu.org>
22590
22591 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22592 newlines.
22593
22594 2006-09-22 Marco Gerards <marco@gnu.org>
22595
22596 * commands/echo.c: New file.
22597
22598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22599
22600 * conf/common.rmk (echo_mod_SOURCES): New variable.
22601 (echo_mod_CFLAGS): Likewise.
22602 (echo_mod_LDFLAGS): Likewise.
22603
22604 2006-09-22 Marco Gerards <marco@gnu.org>
22605
22606 * normal/main.c (get_line): Malloc memory instead of using
22607 preallocated memory. Removed the arguments `cmdline' and
22608 `max_len'. Updated all callers.
22609
22610 2006-09-22 Marco Gerards <marco@gnu.org>
22611
22612 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22613 (normal_mod_DEPENDENCIES): Likewise.
22614
22615 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22616 (normal_mod_DEPENDENCIES): Likewise.
22617
22618 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22619
22620 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22621
22622 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22623 programs.
22624 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22625 (normal_mod_DEPENDENCIES): Likewise.
22626 * conf/i386-pc.mk: Regenerate.
22627 * conf/i386-efi.mk: Likewise
22628 * conf/common.mk: Likewise.
22629 * conf/powerpc-ieee1275.mk: Likewise.
22630 * conf/sparc64-ieee1275.mk: Likewise.
22631
22632 2006-09-22 Robert Millan <rmh@aybabtu.com>
22633
22634 Sync with i386 version.
22635 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22636 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22637
22638 2006-09-21 Robert Millan <rmh@aybabtu.com>
22639
22640 Import from GRUB Legacy (lib/device.c):
22641 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22642 (init_device_map) [__linux__]: Add support for I2O devices.
22643
22644 2006-09-14 Marco Gerards <marco@gnu.org>
22645
22646 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22647 `-melf_i386'.
22648
22649 2006-09-14 Robert Millan <rmh@aybabtu.com>
22650
22651 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22652 /boot/grub/*.lst.
22653
22654 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22655
22656 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22657 before adding it to device.map.
22658
22659 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22660
22661 * genmk.rb: Let GCC generate dependencies the first time it
22662 compiles a file; using the -MD option.
22663 * conf/common.mk: Regenerate.
22664 * conf/i386-pc.mk: Likewise.
22665 * conf/i386-efi.mk: Likewise.
22666 * conf/powerpc-ieee1275.mk: Likewise.
22667 * conf/sparc64-ieee1275.mk: Likewise.
22668
22669 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22670
22671 Move the prototypes of grub_setjmp and grub_longjmp to
22672 cpu/setjmp.h, so that each architecture may specify different
22673 attributes.
22674
22675 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22676 (grub_longjmp): Likewise.
22677 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22678 (grub_longjmp): Likewise.
22679 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22680 (grub_longjmp): Likewise.
22681
22682 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22683 [!GRUB_UTIL] (grub_longjmp): Removed.
22684
22685 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22686
22687 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22688 "color!" method does not return any value.
22689
22690 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22691
22692 * include/grub/bitmap.h: New file.
22693
22694 * include/grub/i386/pc/vbeutil.h: Likewise.
22695
22696 * video/bitmap.c: Likewise.
22697
22698 * video/readers/tga.c: Likewise.
22699
22700 * video/i386/pc/vbeutil.c: Likewise.
22701
22702 * commands/videotest.c: Code cleanup and updated to reflect to new
22703 video API.
22704
22705 * term/gfxterm.c: Likewise.
22706
22707 * video/video.c: Likewise.
22708
22709 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22710 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22711 (bitmap_mod_SOURCES): New entry.
22712 (bitmap_mod_CFLAGS): Likewise.
22713 (bitmap_mod_LDFLAGS): Likewise.
22714 (tga_mod_SOURCES): Likewise.
22715 (tga_mod_CFLAGS): Likewise.
22716 (tga_mod_LDFLAGS): Likewise.
22717
22718 * include/grub/video.h (grub_video_blit_operators): New enum type.
22719 (grub_video_render_target): Changed as forward declaration and moved
22720 actual definition to be video driver specific.
22721 (grub_video_adapter.blit_bitmap): Added blitting operator.
22722 (grub_video_adapter.blit_render_target): Likewise.
22723 (grub_video_blit_bitmap): Likewise.
22724 (grub_video_blit_render_target): Likewise.
22725
22726 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22727 driver specific render target definition.
22728 (grub_video_vbe_map_rgba): Added driver internal helper.
22729 (grub_video_vbe_unmap_color): Updated to use
22730 grub_video_i386_vbeblit_info.
22731 (grub_video_vbe_get_video_ptr): Likewise.
22732
22733 * include/grub/i386/pc/vbeblit.h
22734 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22735 grub_video_i386_vbeblit_info.
22736 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22737 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22738 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22739 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22740 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22741 (grub_video_i386_vbeblit_index_index): Likewise.
22742 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22743 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22744 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22745 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22746 operator.
22747 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22748 operator.
22749
22750 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22751 include/grub/i386/pc/vbeblit.h.
22752
22753 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22754 Updated to use grub_video_i386_vbeblit_info.
22755 (grub_video_i386_vbefill_R8G8B8): Likewise.
22756 (grub_video_i386_vbefill_index): Likewise.
22757 (grub_video_i386_vbefill): Added generic filler.
22758
22759 * video/i386/pc/vbefill.c: Updated to reflect changes on
22760 include/grub/i386/pc/vbefill.h.
22761
22762 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22763 grub_video_i386_vbeblit_info.
22764 (grub_video_vbe_unmap_color): Likewise.
22765 (grub_video_vbe_blit_glyph): Likewise.
22766 (grub_video_vbe_scroll): Likewise.
22767 (grub_video_vbe_draw_pixel): Removed function.
22768 (grub_video_vbe_get_pixel): Likewise.
22769 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22770 updated code to use it.
22771 (common_blitter): Added common blitter for render target and bitmap.
22772 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22773 (grub_video_vbe_blit_render_target): Likewise.
22774
22775 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22776
22777 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22778 is in text mode if there is no console control protocol instance
22779 available.
22780
22781 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22782
22783 * include/grub/video.h: Code cleanup.
22784
22785 * include/grub/i386/pc/vbe.h: Likewise.
22786
22787 * video/i386/pc/vbe.c: Likewise.
22788
22789 * video/i386/pc/vbeblit.c: Likewise.
22790
22791 * video/i386/pc/vbefill.c: Likewise.
22792
22793 * video/video.c: Likewise. Also added more comments.
22794
22795 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22796
22797 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22798 (struct grub_biosdisk_dap): Likewise.
22799
22800 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22801 linkage settings for all functions.
22802
22803 2006-07-12 Marco Gerards <marco@gnu.org>
22804
22805 * configure.ac (--enable-mm-debug): Fix typo.
22806
22807 * genkernsyms.sh.in: Use proper quoting for `CC'.
22808
22809 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22810
22811 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22812 (normal_mod_ASFLAGS): Remove "-m32".
22813
22814 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22815
22816 * util/misc.c: Include config.h.
22817 [!HAVE_MEMALIGN]: Do not include malloc.h.
22818 (grub_memalign): Use posix_memalign, if present. Then, use
22819 memalign, if present. Otherwise, emit an error.
22820
22821 * util/grub-emu.c: Do not include malloc.h.
22822
22823 * include/grub/util/misc.h: Include unistd.h. This is required for
22824 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22825 D. Eades III <hde@foobar-qux.org>.
22826
22827 * configure.ac (AC_GNU_SOURCE): Added.
22828 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22829 type.
22830
22831 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22832
22833 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22834 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22835
22836 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22837
22838 * include/grub/types.h (grub_host_addr_t): Rename to
22839 grub_target_addr_t.
22840 (grub_host_off_t): Rename to grub_target_off_t.
22841 (grub_host_size_t): Rename to grub_target_size_t.
22842 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22843 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22844
22845 * include/grub/kernel.h (struct grub_module_header): Change type
22846 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22847 (grub_module_info): Likewise.
22848
22849 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22850
22851 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22852 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22853 Velazquez <jesus.velazquez@gmail.com>.
22854
22855 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22856
22857 Count partitions from 1 instead of 0 in the string representation
22858 of partitions. Still use 0-based internally.
22859
22860 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22861 (sun_partition_map_iterate): Use grub_partition_t instead of
22862 struct grub_partition *. Cast DESC->START_CYLINDER to
22863 grub_uint64_t after converting the endian.
22864 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22865 (sun_partition_map_get_name): Add 1 to P->INDEX.
22866
22867 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22868 PCDATA->DOS_PART.
22869 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22870
22871 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22872 zero instead of one.
22873 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22874 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22875
22876 * partmap/apple.c (apple_partition_map_iterate): Change the type
22877 of POS to unsigned.
22878 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22879 (apple_partition_map_get_name): Add 1 into P->INDEX.
22880
22881 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22882 of POS to unsigned.
22883 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22884 calculate the offset of a partition.
22885 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22886 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22887
22888 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22889 SECTOR to grub_disk_addr_t.
22890 (acorn_partition_map_iterate): Likewise.
22891 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22892 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22893 top.
22894 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22895
22896 * kern/i386/pc/init.c (make_install_device): Add 1 into
22897 GRUB_INSTALL_DOS_PART.
22898
22899 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22900 conditional.
22901
22902 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22903
22904 Clean up the code to support 64-bit addressing in disks and
22905 files. This change is not enough for filesystems yet.
22906
22907 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22908 type of "start" to grub_uint64_t.
22909 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22910 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22911 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22912 convert addresses.
22913
22914 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22915 to grub_disk_addr_t.
22916
22917 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22918 string.
22919
22920 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22921
22922 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22923 to char *.
22924
22925 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22926
22927 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22928
22929 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22930
22931 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22932 to grub_off_t, to detect an error from grub_file_seek.
22933 (grub_multiboot_load_elf32): Likewise.
22934
22935 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22936 maximum unsigned long value when an overflow is detected.
22937 (grub_strtoull): New function.
22938 (grub_divmod64): Likewise.
22939 (grub_lltoa): use grub_divmod64.
22940
22941 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22942 grub_disk_addr_t.
22943 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22944 the pointer to next character. Use grub_strtoull instead of
22945 grub_strtoul.
22946 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22947 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22948 respectively.
22949
22950 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22951 return value is signed.
22952 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22953 test if OFFSET is less than zero, as OFFSET is unsigned now.
22954
22955 * kern/disk.c (struct grub_disk_cache): Change the type of
22956 "sector" to grub_disk_addr_t.
22957 (grub_disk_cache_get_index): Change the type of SECTOR to
22958 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22959 unsigned after shifting.
22960 (grub_disk_cache_invalidate): Change the type of SECTOR to
22961 grub_disk_addr_t.
22962 (grub_disk_cache_unlock): Likewise.
22963 (grub_disk_cache_store): Likewise.
22964 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22965 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22966 grub_disk_addr_t and grub_uint64_t, respectively.
22967 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22968 body, as the value of OFFSET is tweaked by
22969 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22970 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22971 respectively.
22972 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22973 body, as the value of OFFSET is tweaked by
22974 grub_disk_check_range. Change the types of LEN and N to
22975 grub_size_t.
22976
22977 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22978 and "saved_offset" to grub_off_t.
22979 (test_header): Cast BUF to char *.
22980 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22981 to char *.
22982 (grub_gzio_read): Change the types of OFFSET and SIZE to
22983 grub_off_t and grub_size_t, respectively.
22984
22985 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22986 Removed.
22987 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22988 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22989 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22990 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22991 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22992
22993 * include/grub/types.h (grub_off_t): Unconditionally set to
22994 grub_uint64_t.
22995 (grub_disk_addr_t): Changed to grub_uint64_t.
22996
22997 * include/grub/partition.h (struct grub_partition): Change the
22998 types of "start", "len" and "offset" to grub_disk_addr_t,
22999 grub_uint64_t and grub_disk_addr_t, respectively.
23000 (grub_partition_get_start): Return grub_disk_addr_t.
23001 (grub_partition_get_len): Return grub_uint64_t.
23002
23003 * include/grub/misc.h (grub_strtoull): New prototype.
23004 (grub_divmod64): Likewise.
23005
23006 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23007 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23008 grub_off_t, respectively.
23009 All callers and references changed.
23010
23011 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23012 grub_size_t in "read".
23013 All callers and references changed.
23014
23015 * include/grub/file.h (struct grub_file): Change the types of
23016 "offset" and "size" to grub_off_t and grub_off_t,
23017 respectively. Change the type of SECTOR to grub_disk_addr_t in
23018 "read_hook".
23019 (grub_file_read): Change the type of LEN to grub_size_t.
23020 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23021 grub_off_t.
23022 (grub_file_size): Return grub_off_t.
23023 (grub_file_tell): Likewise.
23024 All callers and references changed.
23025
23026 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23027 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23028 "write".
23029 (struct grub_disk): Change the type of "total_sectors" to
23030 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
23031 "read_hook".
23032 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23033 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23034 (grub_disk_write): Likewise.
23035 All callers and references changed.
23036
23037 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23038 char * for grub_strncmp to silence gcc.
23039 (grub_iso9660_mount): Likewise.
23040 (grub_iso9660_mount): Likewise.
23041 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23042 return statement.
23043 (grub_iso9660_iterate_dir): Likewise.
23044 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23045
23046 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23047 LEN to grub_disk_addr_t and grub_size_t, respectively.
23048
23049 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23050
23051 * fs/jfs.c (grub_jfs_read_file): Likewise.
23052
23053 * fs/minix.c (grub_jfs_read_file): Likewise.
23054
23055 * fs/sfs.c (grub_jfs_read_file): Likewise.
23056
23057 * fs/ufs.c (grub_jfs_read_file): Likewise.
23058
23059 * fs/xfs.c (grub_jfs_read_file): Likewise.
23060
23061 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23062 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23063 respectively.
23064
23065 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23066 BLKNR to -1 instead of returning GRUB_ERRNO.
23067 (grub_ext2_read_file): Change the types of SECTOR and
23068 LEN to grub_disk_addr_t and grub_size_t, respectively.
23069
23070 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23071 LEN to grub_disk_addr_t and grub_size_t, respectively.
23072
23073 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23074 grub_file_read.
23075
23076 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23077 string. Do not cast SECTOR explicitly.
23078
23079 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23080 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23081 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23082 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23083 over 2TB and LBA mode is not supported, raise an error.
23084 (get_safe_sectors): New function.
23085 (grub_biosdisk_read): Use get_safe_sectors.
23086 (grub_biosdisk_write): Likewise.
23087
23088 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23089 (grub_efidisk_write): Likewise.
23090
23091 * disk/loopback.c (delete_loopback): Cosmetic changes.
23092 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23093 correctly.
23094 (grub_loopback_open): Likewise.
23095 (grub_loopback_read): Likewise. Also, change the type of POS to
23096 grub_off_t, and fix the usage of grub_memset.
23097
23098 * commands/i386/pc/play.c: Include grub/machine/time.h.
23099
23100 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23101 print FILE->SIZE.
23102
23103 * commands/configfile.c: Include grub/env.h.
23104
23105 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23106 GRUB_ERRNO directly instead. Change the type of POS to
23107 grub_off_t. Follow the coding standard.
23108
23109 * commands/blocklist.c: Include grub/partition.h.
23110 (grub_cmd_blocklist): Return an error if the underlying device is
23111 not a disk. Take the starting sector of a partition into account,
23112 if a partition is used.
23113
23114 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23115 a length field.
23116 (lba_mode): Support 64-bit addresses.
23117 (chs_mode): Likewise.
23118 (copy_buffer): Adapted to the new offsets of a length field and a
23119 segment field.
23120 (blocklist_default_start): Allocate 64-bit space.
23121
23122 * boot/i386/pc/boot.S (force_lba): Removed.
23123 (boot_drive): Moved to under KERNEL_SECTOR.
23124 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23125 space.
23126 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23127 is useless.
23128 (lba_mode): Refactored to support a 64-bit address. More size
23129 optimization.
23130 (setup_sectors): Likewise.
23131
23132 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23133
23134 * DISTLIST: Added include/grub/i386/linux.h. Removed
23135 include/grub/i386/pc/linux.h
23136
23137 * configure.ac (AC_INIT): Bumped to 1.94.
23138
23139 * config.guess: Updated from gnulib.
23140 * config.sub: Likewise.
23141 * install-sh: Likewise.
23142 * mkinstalldirs: Likewise.
23143
23144 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23145
23146 * conf/common.rmk (grub_modules_init.lst): Depended on
23147 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23148 MODSRCFILES.
23149
23150 * genmk.rb (PModule::rule): Reverted the previous change.
23151
23152 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23153
23154 * conf/common.rmk (grub_modules_init.lst): Depends on
23155 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23156 that the target does not exist before producing.
23157 (grub_modules_init.h): Remove the target before generating.
23158 (grub_emu_init.c): Likewise.
23159
23160 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23161
23162 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23163
23164 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23165 for the target-specific tests. Make sure that we also have the
23166 up-to-date target variables for those tests.
23167
23168 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23169
23170 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23171 (PModule::rule): Likewise.
23172
23173 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23174
23175 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23176 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23177 target-specific flags should be prefixed.
23178 (PModule::rule): Likewise.
23179
23180 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23181
23182 * configure.ac (CMP): Check if cmp is available explicitly.
23183
23184 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23185
23186 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23187 (target_cpu): New variable.
23188 (pkglibdir): Use target_cpu instead of host_cpu.
23189
23190 * util/i386/pc/grub-install.in (host_cpu): Removed.
23191 (target_cpu): New variable.
23192 (pkglibdir): Use target_cpu instead of host_cpu.
23193
23194 * util/genmoddep.c: Removed.
23195
23196 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23197 instead of GRUB_HOST_SIZEOF_VOID_P.
23198 * kern/dl.c: Likewise.
23199
23200 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23201 ...
23202 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23203 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23204 (GRUB_TARGET_SIZEOF_LONG): ... this.
23205 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23206 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23207 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23208 to ...
23209 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23210 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23211 (GRUB_TARGET_SIZEOF_LONG): ... this.
23212 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23213 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23214 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23215 to ...
23216 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23217 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23218 (GRUB_TARGET_SIZEOF_LONG): ... this.
23219 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23220 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23221
23222 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23223 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23224 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23225 instead of GRUB_HOST_SIZEOF_LONG.
23226 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23227 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23228 GRUB_CPU_WORDS_BIGENDIAN.
23229 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23230 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23231 grub_host_ssize_t.
23232
23233 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23234 (genmoddep_SOURCES): Likewise.
23235 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23236 (genmoddep_SOURCES): Likewise.
23237 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23238 (genmoddep_SOURCES): Likewise.
23239 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23240 Likewise.
23241 (genmoddep_SOURCES): Likewise.
23242
23243 * genmoddep.awk: New file.
23244
23245 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23246 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23247 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23248 (PModule::rule): Likewise.
23249 (Program::rule): Likewise.
23250 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23251 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23252 respectively.
23253
23254 * configure.ac: Rewritten intensively to use host and target
23255 instead of build and host, respectively.
23256
23257 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23258 (host_cpu): Removed.
23259 (target_cpu): New variable.
23260 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23261 (BUILD_CC): Removed.
23262 (BUILD_CFLAGS): Likewise.
23263 (BUILD_CPPFLAGS): Likewise.
23264 (TARGET_CC): New variable.
23265 (TARGET_CFLAGS): Likewise.
23266 (TARGET_CPPFLAGS): Likewise.
23267 (TARGET_LDFLAGS): Likewise.
23268 (AWK): Likewise.
23269 (include): Use target_cpu instead of host_cpu.
23270 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23271
23272 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23273
23274 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23275
23276 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23277 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23278 field 'false' to 'exec_on_false'.
23279 (grub_script_create_cmdif): Renamed argument names to reflect above
23280 changes.
23281
23282 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23283
23284 * normal/script.c (grub_script_create_cmdif): Likewise.
23285
23286 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23287
23288 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23289 top.
23290 (grub_hfsplus_btree_recptr): Likewise.
23291 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23292 FILEBLOCK both to pass a block number and store next block
23293 number.
23294 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23295 overflow file correctly. Specify errors appropriately, because
23296 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23297 grub_hfsplus_btree_recptr to get the pointer to a found key.
23298 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23299 is found.
23300
23301 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23302 linux.mod.
23303 (_linux_mod_SOURCES): New variable.
23304 (_linux_mod_CFLAGS): Likewise.
23305 (_linux_mod_LDFLAGS): Likewise.
23306 (linux_mod_SOURCES): Likewise.
23307 (linux_mod_CFLAGS): Likewise.
23308 (linux_mod_LDFLAGS): Likewise.
23309
23310 * DISTLIST: Added loader/i386/efi/linux.c,
23311 loader/i386/efi/linux_normal.c and
23312 include/grub/i386/efi/loader.h.
23313
23314 * loader/i386/efi/linux.c: New file.
23315 * loader/i386/efi/linux_normal.c: Likewise.
23316 * include/grub/i386/efi/loader.h: Likewise.
23317
23318 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23319
23320 * commands/blocklist.c: New file.
23321
23322 * DISTLIST: Added commands/blocklist.c.
23323
23324 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23325 color for the background, and a darker color for the foreground.
23326 (grub_console_checkkey): Return READ_KEY.
23327 (grub_console_cls): Set the background to
23328 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23329
23330 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23331
23332 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23333 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23334
23335 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23336 prototype.
23337
23338 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23339 BG. The spec is wrong again.
23340
23341 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23342 prototype.
23343 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23344
23345 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23346 commands/blocklist.c.
23347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23348
23349 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23350 (blocklist_mod_SOURCES): New variable.
23351 (blocklist_mod_CFLAGS): Likewise.
23352 (blocklist_mod_LDFLAGS): Likewise.
23353
23354 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23355
23356 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23357 duplication.
23358 (lba_mode): Use %eax more intensively to reduce the code size.
23359
23360 2006-05-20 Marco Gerards <marco@gnu.org>
23361
23362 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23363
23364 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23365 for `menuentry'.
23366 (script): Accept leading newlines.
23367 (newlines): New rule to describe 0 or more newlines.
23368 (commands): Accept `command' with trailing newline. Fixed the
23369 order in which arguments were passed to `grub_script_add_cmd'.
23370 Accept commands separated by newlines.
23371 (function): Changed to accept newlines.
23372 (menuentry) Rewritten.
23373
23374 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23375 front of the list, instead of to the end.
23376
23377 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23378
23379 * util/i386/pc/grub-install.in (bindir): New variable.
23380 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23381 Shaver <lbgwjl@gmail.com>.
23382
23383 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23384
23385 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23386 grub/machine/linux.h
23387 * loader/i386/pc/linux.c: Likewise.
23388
23389 * include/grub/i386/pc/linux.h: Moved to ...
23390 * include/grub/i386/linux.h: ... here.
23391
23392 * include/grub/i386/linux.h (struct linux_kernel_params): New
23393 struct.
23394
23395 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23396
23397 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23398 checking.
23399 (grub_video_vbe_blit_glyph): Likewise.
23400 (grub_video_vbe_blit_bitmap): Likewise.
23401 (grub_video_vbe_blit_render_target): Likewise.
23402
23403 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23404
23405 * configure.ac (--with-platform): Properly quote the square
23406 brackets.
23407
23408 2006-05-08 Marco Gerards <marco@gnu.org>
23409
23410 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23411 this...
23412 (kernel_elf_HEADERS): ...to this. Updated all users.
23413 (grubof_symlist.c): Renamed from this...
23414 (kernel_elf_symlist.c): ...to this. Updated all users.
23415 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23416 (grubof_SOURCES): Renamed from this...
23417 (kernel_elf_SOURCES): ...to this.
23418 (grubof_HEADERS): Renamed from this...
23419 (kernel_elf_HEADERS): ...to this.
23420 (grubof_CFLAGS): Renamed from this...
23421 (kernel_elf_CFLAGS): ...to this.
23422 (grubof_ASFLAGS): Renamed from this...
23423 (kernel_elf_ASFLAGS): ...to this.
23424 (grubof_LDFLAGS): Renamed from this...
23425 (kernel_elf_LDFLAGS): ...to this.
23426
23427 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23428 this...
23429 (kernel_elf_HEADERS): ...to this. Updated all users.
23430 (grubof_symlist.c): Renamed from this...
23431 (kernel_elf_symlist.c): ...to this. Updated all users.
23432 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23433 (grubof_SOURCES): Renamed from this...
23434 (kernel_elf_SOURCES): ...to this.
23435 (grubof_HEADERS): Renamed from this...
23436 (kernel_elf_HEADERS): ...to this.
23437 (grubof_CFLAGS): Renamed from this...
23438 (kernel_elf_CFLAGS): ...to this.
23439 (grubof_ASFLAGS): Renamed from this...
23440 (kernel_elf_ASFLAGS): ...to this.
23441 (grubof_LDFLAGS): Renamed from this...
23442 (kernel_elf_LDFLAGS): ...to this.
23443
23444 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23445 `kernel.elf' instead of `grubof'.
23446
23447 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23448
23449 Add --with-platform to configure. Use pkglibdir instead of
23450 pkgdatadir. This is reported by Roger Leigh.
23451
23452 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23453 (host_vendor): Likewise.
23454 (host_os): Likewise.
23455 (pkgdatadir): Likewise.
23456 (platform): New variable.
23457 (pkglibdir): Likewise.
23458 Use PKGLIBDIR instead of PKGDATADIR.
23459
23460 * util/i386/pc/grub-install.in (datadir): Removed.
23461 (host_vendor): Likewise.
23462 (host_os): Likewise.
23463 (pkgdatadir): Likewise.
23464 (platform): New variable.
23465 (pkglibdir): Likewise.
23466 Use PKGLIBDIR instead of PKGDATADIR.
23467
23468 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23469 instead of GRUB_DATADIR.
23470 (main): Likewise.
23471 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23472 (main): Likewise.
23473 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23474 (main): Likewise.
23475
23476 * configure.ac (--with-platform): New option.
23477 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23478
23479 * Makefile.in: Include a makefile based on PLATFORM instead of
23480 HOST_VENDOR.
23481 (pkgdatadir): Not appended by the machine type.
23482 (pkglibdir): Appended by the machine type.
23483 (host_vendor): Removed.
23484 (platform): New variable.
23485 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23486 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23487 (uninstall): Likewise.
23488
23489 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23490
23491 Use the environment context in the menu. Remove the commands
23492 "default" and "timeout", and use variables instead.
23493
23494 * normal/menu.c: Include grub/env.h.
23495 (print_entry): Cast TITLE to silence gcc.
23496 (get_timeout): New function.
23497 (set_timeout): Likewise.
23498 (get_entry_number): Likewise.
23499 (run_menu): Use a default entry, a fallback entry and a timeout
23500 in the environment variables "default", "fallback" and
23501 "timeout". Also, tweak the default entry if it is not within the
23502 current menu entries.
23503 (grub_menu_run): Use a fallback entry in the environment variable
23504 "fallback".
23505
23506 * normal/main.c (read_config_file): Do not initialize
23507 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23508 NEWMENU->TIMEOUT.
23509 (grub_normal_execute): Use a data slot to store the menu.
23510
23511 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23512 fallback_entry and timeout.
23513 (struct grub_menu_list): Removed.
23514 (grub_menu_list_t): Likewise.
23515 (struct grub_context): Likewise.
23516 (grub_context_t): Likewise.
23517 (grub_context_get): Likewise.
23518 (grub_context_get_current_menu): Likewise.
23519 (grub_context_push_menu): Likewise.
23520 (grub_context_pop_menu): Likewise.
23521 (grub_default_init): Likewise.
23522 (grub_default_fini): Likewise.
23523 (grub_timeout_init): Likewise.
23524 (grub_timeout_fini): Likewise.
23525
23526 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23527 and timeout.mod.
23528 (normal_mod_SOURCES): Removed normal/context.c.
23529
23530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23531 commands/default.c, commands/timeout.c and normal/context.c.
23532 (normal_mod_SOURCES): Removed normal/context.c.
23533
23534 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23535 commands/timeout.c and normal/context.c.
23536 (normal_mod_SOURCES): Removed normal/context.c.
23537
23538 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23539 commands/default.c, commands/timeout.c and normal/context.c.
23540 (normal_mod_SOURCES): Removed normal/context.c.
23541
23542 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23543 timeout.mod.
23544 (default_mod_SOURCES): Removed.
23545 (default_mod_CFLAGS): Likewise.
23546 (default_mod_LDFLAGS): Likewise.
23547 (timeout_mod_SOURCES): Removed.
23548 (timeout_mod_CFLAGS): Likewise.
23549 (timeout_mod_LDFLAGS): Likewise.
23550
23551 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23552 normal/context.c.
23553
23554 * commands/default.c: Removed.
23555 * commands/timeout.c: Likewise.
23556 * normal/context.c: Likewise.
23557
23558 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23559
23560 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23561
23562 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23563
23564 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23565 "next" to "prev" for readability.
23566 (struct grub_env_sorted_var): New struct.
23567 (grub_env_context): Renamed to ...
23568 (initial_context): ... this.
23569 (grub_env_var_context): Renamed to ...
23570 (current_context): ... this.
23571 (grub_env_find): Look only at CURRENT_CONTEXT.
23572 (grub_env_context_open): Rewritten to copy exported variables from
23573 previous context.
23574 (grub_env_context_close): Rewritten according to the new
23575 scheme. Also, add an assertion to prevent the initial context from
23576 removed.
23577 (grub_env_insert): Removed the code for the sorted list.
23578 (grub_env_remove): Likewise.
23579 (grub_env_export): Simply mark the variable with
23580 GRUB_ENV_VAR_GLOBAL.
23581 (grub_env_set): A cosmetic change for naming consistency.
23582 (grub_env_get): Likewise.
23583 (grub_env_unset): Likewise.
23584 (grub_env_iterate): Rewritten to sort variables within this
23585 function.
23586 (grub_register_variable_hook): Fixed for naming consistency. Call
23587 grub_env_find again, only if NAME is not found at the first time.
23588 (mangle_data_slot_name): New function.
23589 (grub_env_set_data_slot): Likewise.
23590 (grub_env_get_data_slot): Likewise.
23591 (grub_env_unset_data_slot): Likewise.
23592
23593 * include/grub/env.h (grub_env_var_type): New enum.
23594 (GRUB_ENV_VAR_LOCAL): New constant.
23595 (GRUB_ENV_VAR_GLOBAL): Likewise.
23596 (GRUB_ENV_VAR_DATA): Likewise.
23597 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23598 "type".
23599 (grub_env_set): Replace VAR with NAME for consistency.
23600 (grub_register_variable_hook): Likewise.
23601 (grub_env_export): Specify the name of the argument.
23602 (grub_env_set_data_slot): New prototype.
23603 (grub_env_get_data_slot): Likewise.
23604 (grub_env_unset_data_slot): Likewise.
23605
23606 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23607
23608 Extend the loader so that GRUB can accept a loader which comes
23609 back to GRUB when a loaded image exits. Also, this change adds
23610 support for a chainloader on EFI.
23611
23612 * term/efi/console.c: Include grub/misc.h.
23613 (grub_console_checkkey): Display a scan code on the top for
23614 debugging. This will be removed once the EFI port gets stable.
23615 Correct the scan code mapping.
23616
23617 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23618 allocate memory from larger regions, in order to reduce the number
23619 of allocated regions. Otherwise, the MacOSX loader panics.
23620 (filter_memory_map): Avoid less than 1MB for compatibility with
23621 other loaders.
23622 (add_memory_regions): Allocate from the tail of a region, if
23623 possible, to avoid allocating a region near to 1MB, for the MacOSX
23624 loader.
23625
23626 * kern/efi/init.c (grub_efi_set_prefix): Specify
23627 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23628
23629 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23630 argument IMAGE_HANDLE and specify it to get a loaded image.
23631 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23632 grub_efi_get_loaded_image.
23633 (grub_efi_get_filename): Divide the length by the size of
23634 grub_efi_char16_t.
23635 (grub_efi_get_device_path): New function.
23636 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23637 the length by the size of grub_efi_char16_t for a file path device
23638 path node.
23639
23640 * kern/loader.c (grub_loader_noreturn): New variable.
23641 (grub_loader_set): Accept a new argument NORETURN. Set
23642 GRUB_LOADER_NORETURN to NORETURN.
23643 All callers changed.
23644 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23645 grub_machine_fini.
23646
23647 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23648 prototype.
23649 (grub_efi_get_loaded_image): Take an argument to specify an image
23650 handle.
23651
23652 * include/grub/loader.h (grub_loader_set): Added one more argument
23653 NORETURN.
23654
23655 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23656 instead of grub_efi_open_protocol.
23657 (grub_efidisk_get_device_name): Likewise.
23658 (grub_efidisk_close): Print a newline.
23659 (grub_efidisk_get_device_handle): Fixed to use
23660 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23661 GRUB_EFI_DEVICE_PATH_TYPE.
23662
23663 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23664 * kern/efi/efi.c (device_path_guid): ... here.
23665
23666 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23667 chain.mod.
23668 (kernel_mod_HEADERS): Added efi/disk.h.
23669 (_chain_mod_SOURCES): New variable.
23670 (_chain_mod_CFLAGS): Likewise.
23671 (_chain_mod_LDFLAGS): Likewise.
23672 (chain_mod_SOURCES): Likewise.
23673 (chain_mod_CFLAGS): Likewise.
23674 (chain_mod_LDFLAGS): Likewise.
23675
23676 * DISTLIST: Added include/grub/efi/chainloader.h,
23677 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23678
23679 * include/grub/efi/chainloader.h: New file.
23680 * loader/efi/chainloader.c: Likewise.
23681 * loader/efi/chainloader_normal.c: Likewise.
23682
23683 2006-04-30 Marco Gerards <marco@gnu.org>
23684
23685 * commands/configfile.c (grub_cmd_source): New function.
23686 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23687 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23688
23689 2006-04-30 Marco Gerards <marco@gnu.org>
23690
23691 * normal/execute.c (grub_script_execute_cmd): Change the return
23692 type to `grub_err_t'. Correctly return the error.
23693 (grub_script_execute_cmdline): In case a command line is not a
23694 command or a function, try to interpret it as an assignment.
23695
23696 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23697
23698 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23699 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23700 skip a node whose name is obviously invalid as UTF-16,
23701 i.e. contains a NUL character. Stop the iteration when the last
23702 directory entry is found. Instead of using the return value of
23703 grub_hfsplus_btree_iterate_node, store the value in RET and use
23704 it, because the iterator can be stopped by the last directory
23705 entry.
23706
23707 2006-04-30 Marco Gerards <marco@gnu.org>
23708
23709 * include/grub/env.h (grub_env_export): New prototype. Reported
23710 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23711
23712 2006-04-30 Marco Gerards <marco@gnu.org>
23713
23714 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23715 size of the extents in a catalog file record.
23716
23717 2006-04-29 Marco Gerards <marco@gnu.org>
23718
23719 * commands/configfile.c (grub_cmd_configfile): Execute the
23720 configfile within its own context.
23721
23722 * include/grub/env.h (grub_env_context_open): New prototype.
23723 (grub_env_context_close): Likewise.
23724
23725 * kern/env.c (grub_env): Removed.
23726 (grub_env_sorted): Likewise.
23727 (grub_env_context): New variable.
23728 (grub_env_var_context): Likewise.
23729 (grub_env_find): Search both the active context and the global
23730 context.
23731 (grub_env_context_open): New function.
23732 (grub_env_context_close): Likewise.
23733 (grub_env_insert): Likewise.
23734 (grub_env_remove): Likewise.
23735 (grub_env_export): Likewise.
23736 (grub_env_set): Changed to use helper functions to avoid code
23737 duplication.
23738 (grub_env_iterate): Rewritten so both the current context and the
23739 global context are being used.
23740
23741 * normal/command.c (export_command): New function.
23742 (grub_command_init): Register the `export' function.
23743
23744 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23745
23746 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23747 explicitly to suppress gcc's warnings.
23748 * fs/fat.c (grub_fat_find_dir): Likewise.
23749 (grub_fat_label): Likewise.
23750 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23751 (grub_xfs_mount): Likewise.
23752 (grub_xfs_label): Likewise.
23753 * fs/affs.c (grub_affs_mount): Likewise.
23754 (grub_affs_label): Likewise.
23755 (grub_affs_iterate_dir): Likewise.
23756 * fs/sfs.c (grub_sfs_mount): Likewise.
23757 (grub_sfs_iterate_dir): Likewise.
23758 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23759 * fs/hfs.c (grub_hfs_mount): Likewise.
23760 (grub_hfs_cmp_catkeys): Likewise.
23761 (grub_hfs_find_dir): Likewise.
23762 (grub_hfs_dir): Likewise.
23763 (grub_hfs_label): Likewise.
23764 * fs/jfs.c (grub_jfs_mount): Likewise.
23765 (grub_jfs_opendir): Likewise.
23766 (grub_jfs_getent): Likewise.
23767 (grub_jfs_lookup_symlink): Likewise.
23768 (grub_jfs_label): Likewise.
23769 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23770 (grub_hfsplus_iterate_dir): Likewise.
23771 (grub_hfsplus_btree_iterate_node): Made static.
23772
23773 * util/grub-emu.c (prefix): New variable.
23774 (grub_machine_set_prefix): New function.
23775 (main): Do not set the environment variable "prefix" here. Only
23776 set PREFIX, which is used later by grub_machine_set_prefix.
23777
23778 * include/grub/video.h: Do not include grub/symbol.h.
23779 (grub_video_register): Not exported. This symbol is not defined in
23780 the kernel.
23781 (grub_video_unregister): Likewise.
23782 (grub_video_iterate): Likewise.
23783 (grub_video_setup): Likewise.
23784 (grub_video_restore): Likewise.
23785 (grub_video_get_info): Likewise.
23786 (grub_video_get_blit_format): Likewise.
23787 (grub_video_set_palette): Likewise.
23788 (grub_video_get_palette): Likewise.
23789 (grub_video_set_viewport): Likewise.
23790 (grub_video_get_viewport): Likewise.
23791 (grub_video_map_color): Likewise.
23792 (grub_video_map_rgb): Likewise.
23793 (grub_video_map_rgba): Likewise.
23794 (grub_video_fill_rect): Likewise.
23795 (grub_video_blit_glyph): Likewise.
23796 (grub_video_blit_bitmap): Likewise.
23797 (grub_video_blit_render_target): Likewise.
23798 (grub_video_scroll): Likewise.
23799 (grub_video_swap_buffers): Likewise.
23800 (grub_video_create_render_target): Likewise.
23801 (grub_video_delete_render_target): Likewise.
23802 (grub_video_set_active_render_target): Likewise.
23803
23804 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23805 Undefined.
23806 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23807
23808 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23809 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23810 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23811 instead of $(srcdir)/genkernsyms.sh.
23812
23813 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23814 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23815 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23816 instead of $(srcdir)/genkernsyms.sh.
23817
23818 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23819 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23820 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23821 instead of $(srcdir)/genkernsyms.sh.
23822
23823 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23824 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23825 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23826 instead of $(srcdir)/genkernsyms.sh.
23827
23828 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23829 genkernsyms.sh.
23830
23831 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23832 genkernsyms.sh.
23833 (gensymlist.sh): New target.
23834 (genkernsyms.sh): Likewise.
23835
23836 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23837 genkernsyms.sh.in and gensymlist.sh.in.
23838
23839 * genkernsyms.sh: Removed.
23840 * gensymlist.sh: Likewise.
23841
23842 * genkernsyms.sh.in: New file.
23843 * gensymlist.sh.in: Likewise.
23844
23845 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23846
23847 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23848 clobber "prefix", since we may have already set it manually.
23849
23850 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23851
23852 * kern/misc.c (abort): New alias for grub_abort.
23853
23854 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23855
23856 A new machine-specific function "grub_machine_set_prefix" is
23857 defined. This is called after loading modules, so that a prefix
23858 initialization can use modules. Also, this change adds an
23859 intensive debugging feature for the memory manager via the
23860 configure option "--enable-mm-debug".
23861
23862 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23863 PART.LEN.
23864
23865 * kern/sparc64/ieee1275/init.c (abort): Removed.
23866 (grub_stop): Likewise.
23867 (grub_exit): New function.
23868 (grub_set_prefix): Renamed to ...
23869 (grub_machine_set_prefix): ... this.
23870 (grub_machine_init): Do not call grub_set_prefix.
23871
23872 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23873 (grub_machine_set_prefix): ... this.
23874 (grub_machine_init): Do not call grub_set_prefix.
23875
23876 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23877 (grub_machine_init): Do not set the prefix here.
23878
23879 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23880
23881 * kern/efi/init.c: Include grub/mm.h.
23882 (grub_efi_set_prefix): New function.
23883
23884 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23885 (grub_efi_get_filename): New function.
23886 (grub_print_device_path): Renamed to ...
23887 (grub_efi_print_device_path): ... this.
23888
23889 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23890 [MM_DEBUG] (grub_realloc): Likewise.
23891 [MM_DEBUG] (grub_free): Likewise.
23892 [MM_DEBUG] (grub_memalign): Likewise.
23893 [MM_DEBUG] (grub_mm_debug): New variable.
23894 [MM_DEBUG] (grub_debug_malloc): New function.
23895 [MM_DEBUG] (grub_debug_free): New function.
23896 [MM_DEBUG] (grub_debug_realloc): New function.
23897 [MM_DEBUG] (grub_debug_memalign): New function.
23898
23899 * kern/misc.c (grub_abort): Print a newline to distinguish
23900 the message.
23901
23902 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23903 grub_set_root_dev after loading modules. This is necessary when
23904 setting a prefix depends on modules.
23905
23906 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23907 (grub_efi_print_device_path): ... this.
23908 (grub_efi_get_filename): New prototype.
23909 (grub_efi_set_prefix): Likewise.
23910
23911 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23912 and grub/disk.h.
23913 (grub_efidisk_get_device_handle): New prototype.
23914 (grub_efidisk_get_device_name): Likewise.
23915
23916 * include/grub/mm.h: Include config.h.
23917 (MM_DEBUG): Removed.
23918 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23919 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23920 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23921 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23922 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23923 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23924 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23925 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23926 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23927
23928 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23929
23930 * disk/efi/efidisk.c: Include grub/partition.h.
23931 (iterate_child_devices): New function.
23932 (add_device): First, compare only last device path nodes, so that
23933 devices are sorted by the types.
23934 (grub_efidisk_get_device_handle): New function.
23935 (grub_efidisk_get_device_name): Likewise.
23936
23937 * configure.ac (--enable-mm-debug): New option to enable the
23938 memory manager debugging feature. This makes the binary much
23939 bigger, so is disabled by default.
23940
23941 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23942
23943 Use grub_abort instead of grub_stop, and grub_exit must be
23944 define in each architecture now. Also, this change adds support
23945 for EFI disks.
23946
23947 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23948 (grub_getkey): New function.
23949 (grub_term_get_current): Likewise.
23950
23951 * util/i386/pc/grub-setup.c: Include grub/term.h.
23952 (grub_getkey): New function.
23953 (grub_term_get_current): Likewise.
23954
23955 * util/misc.c (grub_stop): Renamed to ...
23956 (grub_exit): ... this.
23957
23958 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23959 (grub_exit): ... this.
23960 (grub_machine_init): Use grub_abort instead of abort.
23961 (grub_stop): Removed.
23962
23963 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23964 abort.
23965
23966 * kern/i386/pc/startup.S (grub_exit): New function.
23967 (cold_reboot): New label.
23968
23969 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23970 (grub_efi_init): Call grub_efidisk_init.
23971 (grub_efi_fini): Call grub_efidisk_fini.
23972
23973 * kern/efi/efi.c: Include grub/mm.h.
23974 (grub_efi_console_control_guid): Renamed to ...
23975 (console_control_guid): ... this.
23976 (grub_efi_loaded_image_guid): Renamed to ...
23977 (loaded_image_guid): ... this.
23978 (grub_efi_locate_handle): New function.
23979 (grub_efi_open_protocol): Likewise.
23980 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23981 GRUB_EFI_CONSOLE_CONTROL_GUID.
23982 (grub_efi_exit): Removed.
23983 (grub_stop): Likewise.
23984 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23985 (grub_exit): New function.
23986 (grub_print_device_path): Likewise.
23987
23988 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23989 (grub_enter_rescue_mode): Register "exit".
23990
23991 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23992 (grub_abort): New function.
23993
23994 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23995
23996 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23997
23998 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23999
24000 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24001 (grub_print_device_path): New prototype.
24002 (grub_efi_locate_handle): Likewise.
24003 (grub_efi_open_protocol): Likewise.
24004
24005 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24006 * disk/efi/efidisk.c: Likewise.
24007
24008 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24009
24010 * include/grub/efi/console_control.h
24011 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24012
24013 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24014 last 8 bytes as an array.
24015 (GRUB_EFI_DISK_IO_GUID): New macro.
24016 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24017 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24018 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24019 grub_uint8_t.
24020 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24021 (struct grub_efi_device_path): Rename the member "sub_type" to
24022 "subtype".
24023 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24024 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24025 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24026 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24027 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24028 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24029 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24030 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24031 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24032 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24033 (struct grub_efi_pci_device_path): New structure.
24034 (grub_efi_pci_device_path_t): New type.
24035 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24036 (struct grub_efi_pccard_device_path): New structure.
24037 (grub_efi_pccard_device_path_t): New type.
24038 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24039 (struct grub_efi_memory_mapped_device_path): New structure.
24040 (grub_efi_memory_mapped_device_path_t): New type.
24041 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24042 (struct grub_efi_vendor_device_path): New structure.
24043 (grub_efi_vendor_device_path_t): New type.
24044 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24045 (struct grub_efi_controller_device_path): New structure.
24046 (grub_efi_controller_device_path_t): New type.
24047 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24048 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24049 (struct grub_efi_acpi_device_path): New structure.
24050 (grub_efi_acpi_device_path_t): New type.
24051 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24052 (struct grub_efi_expanded_acpi_device_path): New structure.
24053 (grub_efi_expanded_acpi_device_path_t): New type.
24054 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24055 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24056 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24057 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24058 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24059 (struct grub_efi_atapi_device_path): New structure.
24060 (grub_efi_atapi_device_path_t): New type.
24061 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24062 (struct grub_efi_fibre_channel_device_path): New structure.
24063 (grub_efi_fibre_channel_device_path_t): New type.
24064 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24065 (struct grub_efi_1394_device_path): New structure.
24066 (grub_efi_1394_device_path_t): New type.
24067 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24068 (struct grub_efi_usb_device_path): New structure.
24069 (grub_efi_usb_device_path_t): New type.
24070 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24071 (struct grub_efi_usb_class_device_path): New structure.
24072 (grub_efi_usb_class_device_path_t): New type.
24073 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24074 (struct grub_efi_i2o_device_path): New structure.
24075 (grub_efi_i2o_device_path_t): New type.
24076 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24077 (struct grub_efi_mac_address_device_path): New structure.
24078 (grub_efi_mac_address_device_path_t): New type.
24079 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24080 (struct grub_efi_ipv4_device_path): New structure.
24081 (grub_efi_ipv4_device_path_t): New type.
24082 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24083 (struct grub_efi_ipv6_device_path): New structure.
24084 (grub_efi_ipv6_device_path_t): New type.
24085 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24086 (struct grub_efi_infiniband_device_path): New structure.
24087 (grub_efi_infiniband_device_path_t): New type.
24088 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24089 (struct grub_efi_uart_device_path): New structure.
24090 (grub_efi_uart_device_path_t): New type.
24091 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24092 (struct grub_efi_vendor_messaging_device_path): New structure.
24093 (grub_efi_vendor_messaging_device_path_t): New type.
24094 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24095 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24096 (struct grub_efi_hard_drive_device_path): New structure.
24097 (grub_efi_hard_drive_device_path_t): New type.
24098 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24099 (struct grub_efi_cdrom_device_path): New structure.
24100 (grub_efi_cdrom_device_path_t): New type.
24101 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24102 (struct grub_efi_vendor_media_device_path): New structure.
24103 (grub_efi_vendor_media_device_path_t): New type.
24104 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24105 (struct grub_efi_file_path_device_path): New structure.
24106 (grub_efi_file_path_device_path_t): New type.
24107 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24108 (struct grub_efi_protocol_device_path): New structure.
24109 (grub_efi_protocol_device_path_t): New type.
24110 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24111 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24112 (struct grub_efi_bios_device_path): New structure.
24113 (grub_efi_bios_device_path_t): New type.
24114 (struct grub_efi_disk_io): New structure.
24115 (grub_efi_disk_io_t): New type.
24116 (struct grub_efi_block_io_media): New structure.
24117 (grub_efi_block_io_media_t): New type.
24118 (struct grub_efi_block_io): New structure.
24119 (grub_efi_block_io_t): New type.
24120
24121 * include/grub/misc.h (grub_stop): Removed.
24122 (grub_exit): New prototype.
24123 (grub_abort): Likewise.
24124
24125 * include/grub/disk.h (enum grub_disk_dev_id): Added
24126 GRUB_DISK_DEVICE_EFIDISK_ID.
24127
24128 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24129 disk/efi/efidisk.c.
24130 (kernel_syms.lst): Remove the target if an error occurs.
24131
24132 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24133
24134 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24135 as it was simply too buggy.
24136
24137 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24138
24139 * kern/misc.c (grub_lltoa): New function.
24140 (grub_vsprintf): Added support for the long long suffix,
24141 i.e. "ll".
24142
24143 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24144
24145 * Makefile.in (LDFLAGS): Add variable.
24146 (LD): Remove variable.
24147 * configure.ac: Add -m32 to LDFLAGS.
24148 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24149 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24150 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24151 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24152 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24153 variables.
24154 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24155 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24156 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24157
24158 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24159
24160 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24161 length for unknown glyph.
24162
24163 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24164
24165 Add support for pre-loaded modules into the EFI port.
24166
24167 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24168 completely. Accept one more argument DIR. The caller has changed.
24169
24170 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24171
24172 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24173 (grub_efi_loaded_image_guid): New variable.
24174 (grub_efi_get_loaded_image): New function.
24175 (grub_arch_modules_addr): Likewise.
24176
24177 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24178 prototype.
24179
24180 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24181 (struct grub_efi_loaded_image): New structure.
24182 (grub_efi_loaded_image_t): New type.
24183
24184 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24185
24186 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24187 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24188 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24189
24190 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24191
24192 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24193
24194 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24195
24196 * DISTLIST: Added include/grub/efi/console.h,
24197 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24198 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24199
24200 * include/grub/efi/console.h: New file.
24201 * include/grub/efi/time.h: Likewise.
24202 * include/grub/i386/efi/kernel.h: Likewise.
24203 * kern/efi/init.c: Likewise.
24204 * kern/efi/mm.c: Likewise.
24205 * term/efi/console.c: Likewise.
24206
24207 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24208 (grub_stop): Removed.
24209 (grub_get_rtc): Likewise.
24210 (grub_machine_init): Simply call grub_efi_init.
24211 (grub_machine_fini): Call grub_efi_fini.
24212
24213 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24214 (grub_efi_output_string): Removed.
24215 (grub_efi_stall): New function.
24216 (grub_stop): Likewise.
24217 (grub_get_rtc): Likewise.
24218
24219 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24220 (grub_efi_stall): New prototype.
24221 (grub_efi_allocate_pages): Likewise.
24222 (grub_efi_free_pages): Likewise.
24223 (grub_efi_get_memory_map): Likewise.
24224 (grub_efi_mm_init): Likewise.
24225 (grub_efi_mm_fini): Likewise.
24226 (grub_efi_init): Likewise.
24227 (grub_efi_fini): Likewise.
24228
24229 * include/grub/i386/efi/time.h: Do not include
24230 grub/symbol.h. Include grub/efi/time.h.
24231 (GRUB_TICKS_PER_SECOND): Removed.
24232 (grub_get_rtc): Likewise.
24233
24234 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24235 Added padding. The EFI spec is buggy.
24236 (GRUB_EFI_BLACK): New macro.
24237 (GRUB_EFI_BLUE): Likewise.
24238 (GRUB_EFI_GREEN): Likewise.
24239 (GRUB_EFI_CYAN): Likewise.
24240 (GRUB_EFI_RED): Likewise.
24241 (GRUB_EFI_MAGENTA): Likewise.
24242 (GRUB_EFI_BROWN): Likewise.
24243 (GRUB_EFI_LIGHTGRAY): Likewise.
24244 (GRUB_EFI_BRIGHT): Likewise.
24245 (GRUB_EFI_DARKGRAY): Likewise.
24246 (GRUB_EFI_LIGHTBLUE): Likewise.
24247 (GRUB_EFI_LIGHTGREEN): Likewise.
24248 (GRUB_EFI_LIGHTCYAN): Likewise.
24249 (GRUB_EFI_LIGHTRED): Likewise.
24250 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24251 (GRUB_EFI_YELLOW): Likewise.
24252 (GRUB_EFI_WHITE): Likewise.
24253 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24254 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24255 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24256 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24257 (GRUB_EFI_BACKGROUND_RED): Likewise.
24258 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24259 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24260 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24261 (GRUB_EFI_TEXT_ATTR): Likewise.
24262
24263 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24264 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24265 (kernel_mod_HEADERS): Added efi/time.h.
24266
24267 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24268
24269 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24270 include/grub/efi/api.h, include/grub/efi/console_control.h,
24271 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24272 include/grub/i386/efi/time.h, kern/efi/efi.c,
24273 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24274 and util/i386/efi/grub-mkimage.c.
24275
24276 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24277
24278 * genmk.rb (PModule#rule): Do not export symbols if
24279 #{prefix}_EXPORTS is set to "no".
24280
24281 * conf/i386-efi.mk: New file.
24282 * conf/i386-efi.rmk: Likewise.
24283 * include/grub/efi/api.h: Likewise.
24284 * include/grub/efi/console_control.h: Likewise.
24285 * include/grub/efi/efi.h: Likewise.
24286 * include/grub/efi/pe32.h: Likewise.
24287 * include/grub/i386/efi/time.h: Likewise.
24288 * kern/efi/efi.c: Likewise.
24289 * kern/i386/efi/init.c: Likewise.
24290 * kern/i386/efi/startup.S: Likewise.
24291 * util/i386/efi/grub-mkimage.c: Likewise.
24292
24293 2006-04-17 Marco Gerards <marco@gnu.org>
24294
24295 * include/grub/script.h: Include <grub/parser.h> and
24296 "grub_script.tab.h".
24297 (struct grub_lexer_param): New struct.
24298 (struct grub_parser_param): Likewise.
24299 (grub_script_create_arglist): Pass the state in an argument.
24300 (grub_script_add_arglist): Likewise.
24301 (grub_script_create_cmdline): Likewise.
24302 (grub_script_create_cmdblock): Likewise.
24303 (grub_script_create_cmdif): Likewise.
24304 (grub_script_create_cmdmenu): Likewise.
24305 (grub_script_add_cmd): Likewise.
24306 (grub_script_arg_add): Likewise.
24307 (grub_script_lexer_ref): Likewise.
24308 (grub_script_lexer_deref): Likewise.
24309 (grub_script_lexer_record_start): Likewise.
24310 (grub_script_lexer_record_stop): Likewise.
24311 (grub_script_mem_record): Likewise.
24312 (grub_script_mem_record_stop): Likewise.
24313 (grub_script_malloc): Likewise.
24314 (grub_script_yylex): Likewise.
24315 (grub_script_yyparse): Likewise.
24316 (grub_script_yyerror): Likewise.
24317 (grub_script_yylex): Likewise.
24318 (grub_script_lexer_init): Return the state.
24319
24320 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24321 (grub_script_lexer_done): Likewise.
24322 (grub_script_lexer_getline): Likewise.
24323 (grub_script_lexer_refs): Likewise.
24324 (script): Likewise.
24325 (newscript): Likewise.
24326 (record): Likewise.
24327 (recording): Likewise.
24328 (recordpos): Likewise.
24329 (recordlen): Likewise.
24330 (grub_script_lexer_init): Return the state instead of setting
24331 global variables.
24332 (grub_script_lexer_ref): Use the newly added argument for state
24333 instead of globals.
24334 (grub_script_lexer_deref): Likewise.
24335 (grub_script_lexer_record_start): Likewise.
24336 (grub_script_lexer_record_stop): Likewise.
24337 (recordchar): Likewise.
24338 (nextchar): Likewise.
24339 (grub_script_yylex2): Likewise.
24340 (grub_script_yylex): Likewise.
24341 (grub_script_yyerror): Likewise.
24342
24343 * normal/parser.y (func_mem): Removed variable.
24344 (menu_entry): Likewise.
24345 (err): Likewise.
24346 (%lex-param): New parser option.
24347 (%parse-param): Likewise.
24348 (script): Always return the AST.
24349 (argument): Pass the state around.
24350 (arguments): Likewise.
24351 (grubcmd): Likewise.
24352 (commands): Likewise.
24353 (function): Likewise.
24354 (menuentry): Likewise.
24355 (if_statement): Likewise.
24356 (if): Likewise.
24357
24358 * normal/script.c (grub_script_memused): Removed variable.
24359 (grub_script_parsed): Likewise.
24360 (grub_script_malloc): Added a state argument. Use that instead of
24361 global variables.
24362 (grub_script_mem_record): Likewise.
24363 (grub_script_mem_record_stop): Likewise.
24364 (grub_script_arg_add): Likewise.
24365 (grub_script_add_arglist): Likewise.
24366 (grub_script_create_cmdline): Likewise.
24367 (grub_script_create_cmdif): Likewise.
24368 (grub_script_create_cmdmenu): Likewise.
24369 (grub_script_add_cmd): Likewise.
24370 (grub_script_parse): Setup the state before calling the parser.
24371
24372 2006-04-16 Marco Gerards <marco@gnu.org>
24373
24374 * normal/command.c (grub_command_init): Remove the title command.
24375
24376 * normal/lexer.c (grub_script_yylex): Renamed from this...
24377 (grub_script_yylex2): ... to this.
24378 (grub_script_yylex): New function. Temporary
24379 introduced to filter some tokens.
24380 (grub_script_yyerror): Print a newline.
24381
24382 * normal/main.c (read_config_file): Output information about the
24383 lines that contain errors. Wait for a key after all lines have
24384 been processed. Don't return an empty menu.
24385
24386 * normal/parser.y (func_mem): Don't initialize.
24387 (menu_entry): Likewise.
24388 (err): New variable.
24389 (script): Don't return anything when an error was encountered.
24390 (ws, returns): Removed rules.
24391 (argument): Disabled concatenated variable support.
24392 (arguments): Remove explicit separators.
24393 (grubcmd): Likewise.
24394 (function): Likewise.
24395 (menuentry): Likewise.
24396 (if): Likewise.
24397 (commands): Likewise. Add error handling.
24398
24399 * normal/script.c (grub_script_create_cmdline): If
24400 `grub_script_parsed' is 0, assume the parser encountered an error.
24401
24402 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24403
24404 * configure.ac: Add support for EFI. Fix the typo
24405 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24406
24407 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24408
24409 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24410 foreign multibyte characters should be shown correctly.
24411
24412 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24413
24414 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24415 calculation.
24416 (read_config_file): Made it to close file before returning.
24417
24418 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24419
24420 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24421 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24422 video/i386/pc/vbefill.c.
24423
24424 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24425 video/i386/pc/vbefill.c.
24426
24427 * include/grub/video.h (grub_video_blit_format): New enum.
24428 (grub_video_mode_info): Added new member blit_format.
24429 (grub_video_get_blit_format): New function prototype.
24430
24431 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24432 function prototype.
24433 (grub_video_vbe_map_rgb): Likewise.
24434 (grub_video_vbe_unmap_color): Likewise.
24435
24436 * include/grub/i386/pc/vbeblit.h: New file.
24437
24438 * include/grub/i386/pc/vbefill.h: New file.
24439
24440 * video/video.c (grub_video_get_blit_format): New function.
24441 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24442 (grub_video_vbe_map_rgb): Likewise.
24443 (grub_video_vbe_unmap_color): Likewise.
24444
24445 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24446 optimized fills.
24447 (grub_video_vbe_blit_render_target): Changed to use more optimized
24448 blits.
24449 (grub_video_vbe_setup): Added detection for optimized settings.
24450 (grub_video_vbe_create_render_target): Likewise.
24451
24452 * video/i386/pc/vbeblit.c: New file.
24453
24454 * video/i386/pc/vbefill.c: New file.
24455
24456 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24457
24458 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24459 here...
24460
24461 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24462 parsing to support both hex and dec ranges. If filename was missing
24463 show usage information.
24464
24465 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24466
24467 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24468 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24469
24470 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24471 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24472 (video_mod_SOURCES): Added.
24473 (video_mod_CFLAGS): Likewise.
24474 (video_mod_LDFLAGS): Likewise.
24475 (gfxterm_mod_SOURCES): Likewise.
24476 (gfxterm_mod_CFLAGS): Likewise.
24477 (gfxterm_mod_LDFLAGS): Likewise.
24478 (videotest_mod_SOURCES): Likewise.
24479 (videotest_mod_CFLAGS): Likewise.
24480 (videotest_mod_LDFLAGS): Likewise.
24481 (vesafb_mod_SOURCES): Removed.
24482 (vesafb_mod_CFLAGS): Likewise.
24483 (vesafb_mod_LDFLAGS): Likewise.
24484 (vga_mod_SOURCES): Likewise.
24485 (vga_mod_CFLAGS): Likewise.
24486 (vga_mod_LDFLAGS): Likewise.
24487
24488 * commands/videotest.c: New file.
24489
24490 * font/manager.c (fill_with_default_glyph): Modified to use
24491 grub_font_glyph.
24492 (grub_font_get_glyph): Likewise.
24493 (fontmanager): Renamed from this...
24494 (font_manager): ... to this.
24495
24496 * include/grub/font.h (grub_font_glyph): Added new structure.
24497 (grub_font_get_glyph): Modified to use grub_font_glyph.
24498
24499 * include/grub/misc.h (grub_abs): Added as inline function.
24500
24501 * include/grub/video.h: New file.
24502
24503 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24504 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24505 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24506 (grub_vbe_get_controller_info): Renamed from this...
24507 (grub_vbe_bios_get_controller_info): ... to this.
24508 (grub_vbe_get_mode_info): Renamed from this...
24509 (grub_vbe_bios_get_mode_info): ... to this.
24510 (grub_vbe_set_mode): Renamed from this...
24511 (grub_vbe_bios_set_mode): ... to this.
24512 (grub_vbe_get_mode): Renamed from this...
24513 (grub_vbe_bios_get_mode): ... to this.
24514 (grub_vbe_set_memory_window): Renamed from this...
24515 (grub_vbe_bios_set_memory_window): ... to this.
24516 (grub_vbe_get_memory_window): Renamed from this...
24517 (grub_vbe_bios_get_memory_window): ... to this.
24518 (grub_vbe_set_scanline_length): Renamed from this...
24519 (grub_vbe_set_scanline_length): ... to this.
24520 (grub_vbe_get_scanline_length): Renamed from this...
24521 (grub_vbe_bios_get_scanline_length): ... to this.
24522 (grub_vbe_set_display_start): Renamed from this...
24523 (grub_vbe_bios_set_display_start): ... to this.
24524 (grub_vbe_get_display_start): Renamed from this...
24525 (grub_vbe_bios_get_display_start): ... to this.
24526 (grub_vbe_set_palette_data): Renamed from this...
24527 (grub_vbe_bios_set_palette_data): ... to this.
24528 (grub_vbe_set_pixel_rgb): Removed.
24529 (grub_vbe_set_pixel_index): Likewise.
24530
24531 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24532 from this...
24533 (grub_vbe_bios_get_controller_info): ... to this.
24534 (grub_vbe_get_mode_info): Renamed from this...
24535 (grub_vbe_bios_get_mode_info): ... to this.
24536 (grub_vbe_set_mode): Renamed from this...
24537 (grub_vbe_bios_set_mode): ... to this.
24538 (grub_vbe_get_mode): Renamed from this...
24539 (grub_vbe_bios_get_mode): ... to this.
24540 (grub_vbe_set_memory_window): Renamed from this...
24541 (grub_vbe_bios_set_memory_window): ... to this.
24542 (grub_vbe_get_memory_window): Renamed from this...
24543 (grub_vbe_bios_get_memory_window): ... to this.
24544 (grub_vbe_set_scanline_length): Renamed from this...
24545 (grub_vbe_set_scanline_length): ... to this.
24546 (grub_vbe_get_scanline_length): Renamed from this...
24547 (grub_vbe_bios_get_scanline_length): ... to this.
24548 (grub_vbe_set_display_start): Renamed from this...
24549 (grub_vbe_bios_set_display_start): ... to this.
24550 (grub_vbe_get_display_start): Renamed from this...
24551 (grub_vbe_bios_get_display_start): ... to this.
24552 (grub_vbe_set_palette_data): Renamed from this...
24553 (grub_vbe_bios_set_palette_data): ... to this.
24554 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24555 getting corrupted after calling it. Added more pushes and pops.
24556 (grub_vbe_bios_set_mode): Likewise.
24557 (grub_vbe_bios_get_mode): Likewise.
24558 (grub_vbe_bios_get_memory_window): Likewise.
24559 (grub_vbe_bios_set_scanline_length): Likewise.
24560 (grub_vbe_bios_get_scanline_length): Likewise.
24561 (grub_vbe_bios_get_display_start): Likewise.
24562 (grub_vbe_bios_set_palette_data): Likewise.
24563
24564 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24565 (cl_insert): Likewise.
24566 (cl_delete): Likewise.
24567
24568 * term/gfxterm.c: New file.
24569
24570 * term/i386/pc/vesafb.c: Removed file.
24571
24572 * video/video.c: New file.
24573
24574 * video/i386/pc/vbe.c (real2pm): Added new function.
24575 (grub_video_vbe_draw_pixel): Likewise.
24576 (grub_video_vbe_get_video_ptr): Likewise.
24577 (grub_video_vbe_get_pixel): Likewise
24578 (grub_video_vbe_init): Likewise.
24579 (grub_video_vbe_fini): Likewise.
24580 (grub_video_vbe_setup): Likewise.
24581 (grub_video_vbe_get_info): Likewise.
24582 (grub_video_vbe_set_palette): Likewise.
24583 (grub_video_vbe_get_palette): Likewise.
24584 (grub_video_vbe_set_viewport): Likewise.
24585 (grub_video_vbe_get_viewport): Likewise.
24586 (grub_video_vbe_map_color): Likewise.
24587 (grub_video_vbe_map_rgb): Likewise.
24588 (grub_video_vbe_map_rgba): Likewise.
24589 (grub_video_vbe_unmap_color): Likewise.
24590 (grub_video_vbe_fill_rect): Likewise.
24591 (grub_video_vbe_blit_glyph): Likewise.
24592 (grub_video_vbe_blit_bitmap): Likewise.
24593 (grub_video_vbe_blit_render_target): Likewise.
24594 (grub_video_vbe_scroll): Likewise.
24595 (grub_video_vbe_swap_buffers): Likewise.
24596 (grub_video_vbe_create_render_target): Likewise.
24597 (grub_video_vbe_delete_render_target): Likewise.
24598 (grub_video_vbe_set_active_render_target): Likewise.
24599 (grub_vbe_set_pixel_rgb): Remove function.
24600 (grub_vbe_set_pixel_index): Likewise.
24601 (index_color_mode): Remove static variable.
24602 (active_mode): Likewise.
24603 (framebuffer): Likewise.
24604 (bytes_per_scan_line): Likewise.
24605 (grub_video_vbe_adapter): Added new static variable.
24606 (framebuffer): Likewise.
24607 (render_target): Likewise.
24608 (initial_mode): Likewise.
24609 (mode_in_use): Likewise.
24610 (mode_list): Likewise.
24611
24612 2006-03-10 Marco Gerards <marco@gnu.org>
24613
24614 * configure.ac (AC_INIT): Bumped to 1.93.
24615
24616 * DISTLIST: Added `include/grub/hfs.h'.
24617
24618 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24619
24620 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24621 18H, which might help the BIOS falling back to next boot media.
24622
24623 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24624
24625 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24626 Poe Chen <poe.poechen@gmail.com>.
24627
24628 2006-01-17 Marco Gerards <marco@gnu.org>
24629
24630 * include/grub/normal.h: Include <grub/script.h>.
24631 (grub_command_list): Removed struct.
24632 (grub_command_list_t): Removed type.
24633 (grub_menu_entry): Remove members `num' and `command_list'. Add
24634 members `commands' and `sourcecode'.
24635 * include/grub/script.h: Add inclusion guards.
24636 (grub_script_cmd_menuentry): New struct.
24637 (grub_script_execute_menuentry): New prototype.
24638 (grub_script_lexer_record_start): Likewise.
24639 (grub_script_lexer_record_stop): Likewise.
24640 * normal/execute.c (grub_script_execute_menuentry): New function.
24641 * normal/lexer.c (record, recording, recordpos, recordlen): New
24642 variables.
24643 (grub_script_lexer_record_start): New function.
24644 (grub_script_lexer_record_stop): Likewise.
24645 (recordchar): Likewise.
24646 (nextchar): Likewise.
24647 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24648 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24649 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24650 (current_menu): New variable.
24651 (free_menu): Mainly rewritten.
24652 (grub_normal_menu_addentry): New function.
24653 (read_config_file): Rewritten.
24654 * normal/menu.c (run_menu_entry): Mainly rewritten.
24655 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24656 the menu entry.
24657 (run): Mainly rewritten.
24658 * normal/parser.y (menu_entry): New variable.
24659 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24660 (menuentry): New rule.
24661 (command): Add `menuentry'.
24662 (if_statement): Allow additional returns before `fi'.
24663 * normal/script.c (grub_script_create_cmdmenu): New function.
24664
24665 2006-01-03 Marco Gerards <marco@gnu.org>
24666
24667 * INSTALL: GNU Bison is required.
24668 * configure.ac: Rewritten the test to detect Bison.
24669 * Makefile.in (YACC): New variable. Reported by Xun Sun
24670 <xun.sun.cn@gmail.com>.
24671
24672 2006-01-03 Marco Gerards <marco@gnu.org>
24673
24674 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24675 the HFS+ filesystem to filesystem blocks.
24676 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24677 GCC warning is silenced.
24678
24679 2006-01-03 Marco Gerards <marco@gnu.org>
24680
24681 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24682 read from disk from big endian to host byte order.
24683
24684 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24685
24686 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24687 documentation.
24688 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24689 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24690 embedded HFS+ filesystem.
24691 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24692 (grub_hfs_sblock): Move from here...
24693 * include/grub/hfs.h: To here... New file.
24694 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24695 documentation.
24696 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24697 New macros.
24698 (grub_hfsplus_volheader): Change type of member `magic' to
24699 `grub_uint16_t'.
24700 (grub_hfsplus_data): Add new member `embedded_offset'.
24701 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24702 returned block.
24703 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24704 Calculate the offset.
24705
24706 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24707
24708 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24709 Removed.
24710 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24711
24712 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24713
24714 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24715 ENV->NAME is NULL after allocating ENV->VALUE.
24716
24717 2005-12-25 Marco Gerards <marco@gnu.org>
24718
24719 * kern/env.c (grub_env_set): Rewritten the error handling code.
24720
24721 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24722
24723 * geninit.sh: Made more robust, and more portable.
24724
24725 2005-12-25 Marco Gerards <marco@gnu.org>
24726
24727 Add support for Apple HFS+ filesystems.
24728
24729 * fs/hfsplus.c: New file.
24730
24731 * DISTLIST: Added `fs/hfsplus.c'.
24732
24733 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24734 (hfsplus_mod_SOURCES): New variable.
24735 (hfsplus_mod_CFLAGS): Likewise.
24736 (hfsplus_mod_LDFLAGS): Likewise.
24737 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24738 (grub_setup_SOURCES): Likewise.
24739 (grub_mkdevicemap_SOURCES): Likewise.
24740 (grub_emu_SOURCES): Likewise.
24741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24742
24743 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24744
24745 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24746
24747 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24748
24749 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24750 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24751 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24752 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24753 normal/lexer.c, normal/parser.y, normal/script.c, and
24754 partmap/gpt.c.
24755 Removed kern/sparc64/cache.c.
24756
24757 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24758 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24759 grub_emu_init.c.
24760
24761 * configure.ac (AC_INIT): Bumped to 1.92.
24762
24763 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24764
24765 * kern/err.c (grub_error_push): Added new function to support error
24766 stacks.
24767 (grub_error_pop): Likewise.
24768 (grub_error_stack_items): New local variable to support error stacks.
24769 (grub_error_stack_pos): Likewise.
24770 (grub_error_stack_assert): Likewise.
24771 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24772 stack depth.
24773 (grub_print_error): Added support to print errors from error stack.
24774
24775 * include/grub/err.h (grub_error_push): Added function prototype.
24776 (grub_error_pop): Likewise.
24777
24778 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24779
24780 * configure.ac: Accept `powerpc64' as host_cpu.
24781 (amd64): Rename to `biarch32'.
24782
24783 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24784 non-cacheline-aligned addresses.
24785
24786 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24787 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24788 if `size' is non-zero.
24789
24790 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24791
24792 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24793 and `cd' to make sure the filename is not prefixed with a
24794 directory name.
24795 (pkgdata_MODULES): Add `gpt.mod'.
24796 (gpt_mod_SOURCES): New variable.
24797 (gpt_mod_CFLAGS): Likewise.
24798 (gpt_mod_LDFLAGS): Likewise.
24799
24800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24801
24802 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24803 New macro.
24804
24805 * partmap/gpt.c: New file.
24806
24807 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24808 GPT partition map is detected.
24809
24810 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24811
24812 * commands/i386/pc/play.c: New file.
24813 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24814 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24815 macros.
24816
24817 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24818
24819 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24820 ((unused))' to silence gcc warning.
24821
24822 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24823
24824 * configure.ac: Correct `AC_PROG_YACC' test.
24825
24826 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24827
24828 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24829 check before installing files.
24830
24831 2005-11-22 Mike Small <smallm@panix.com>
24832
24833 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24834 number regex so multidigit numbers are recognized correctly.
24835
24836 2005-11-22 Mike Small <smallm@panix.com>
24837
24838 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24839 debugging message before attempting to claim memory.
24840 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24841 multiple addresses in case of failure.
24842
24843 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24844
24845 * term/tparm.c (get_space): Remove empty `if' statement.
24846
24847 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24848
24849 * kern/parser.c (check_varstate): Rename `state' to 's'.
24850
24851 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24852
24853 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24854 variable definitions to the beginning of each function. Sort stack
24855 variables by size.
24856 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24857 `buf' argument to `char *'.
24858
24859 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24860
24861 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24862 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24863 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24864 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24865 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24866 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24867 configfile.mod, search.mod, gzio.mod and test.mod.
24868 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24869 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24870 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24871 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24872 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24873 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24874 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24875 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24876 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24877 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24878 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24879 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24880 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24881 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24882 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24883 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24884 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24885 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24886 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24887 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24888 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24889 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24890 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24891
24892 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24893 `grep --include'.
24894 (pkgdata_MODULES): Add test.mod.
24895
24896 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24897
24898 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24899 appending to variables with "+=".
24900 (PModule): Use full pathname to generate *.lst filenames.
24901
24902 * Makefile.in: Fixed list rules moved from genmk.rb.
24903 (.DELETE_ON_ERROR): New special target.
24904 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24905
24906 * conf/i386-pc.rmk: Include conf/common.mk.
24907 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24908 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24909 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24910 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24911 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24912 configfile.mod, search.mod, gzio.mod and test.mod.
24913 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24914 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24915 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24916 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24917 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24918 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24919 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24920 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24921 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24922 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24923 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24924 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24925 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24926 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24927 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24928 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24929 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24930 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24931 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24932 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24933 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24934 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24935 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24936 here...
24937 * conf/common.rmk: ... to here. New file.
24938
24939 * conf/common.mk: New file.
24940
24941 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24942
24943 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24944 (grub_script.tab.c): ... here.
24945
24946 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24947 (grub_script.tab.c): ... here.
24948
24949 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24950 (grub_script.tab.c): ... here.
24951
24952 * normal/command.c (grub_command_find): Fixed a memory leak of
24953 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24954
24955 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24956
24957 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24958 "@" which marks the start of a comment on ARM.
24959 (VARIABLE): Likewise.
24960
24961 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24962
24963 Add support for Linux/ADFS partition tables.
24964
24965 * partmap/acorn.c: New file.
24966
24967 * include/grub/acorn_filecore.h: Likewise.
24968
24969 * DISTLIST: Added `partmap/acorn.c' and
24970 `include/grub/acorn_filecore.h'.
24971
24972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24973 `partmap/acorn.c'.
24974 (pkgdata_MODULES): Add `acorn.mod'.
24975 (acorn_mod_SOURCES): New variable.
24976 (acorn_mod_CFLAGS): Likewise.
24977
24978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24979 `partmap/acorn.c'.
24980 (pkgdata_MODULES): Add `acorn.mod'.
24981 (acorn_mod_SOURCES): New variable.
24982 (acorn_mod_CFLAGS): Likewise.
24983
24984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24985 (pkgdata_MODULES): Add `acorn.mod'.
24986 (acorn_mod_SOURCES): New variable.
24987 (acorn_mod_CFLAGS): Likewise.
24988 (acorn_mod_LDFLAGS): Likewise.
24989
24990 * include/types.h (grub_disk_addr_t): New typedef.
24991
24992 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
24993
24994 * geninit.sh: New file.
24995
24996 * geninitheader.sh: Likewise.
24997
24998 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24999 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25000 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25001 * commands/configfile.c (grub_configfile_init)
25002 (grub_configfile_fini): Likewise.
25003 * commands/default.c (grub_default_init, grub_default_fini):
25004 Likewise.
25005 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25006 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25007 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25008 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25009 Likewise.
25010 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25011 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25012 Likewise.
25013 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
25014 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
25015 Likewise.
25016 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25017 Likewise.
25018 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
25019 Likewise.
25020 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25021 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25022 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25023 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25024 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25025 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25026 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25027 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25028 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25029 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25030 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25031 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25032 * partmap/amiga.c (grub_amiga_partition_map_init)
25033 (grub_amiga_partition_map_fini): Likewise.
25034 * partmap/apple.c (grub_apple_partition_map_init)
25035 (grub_apple_partition_map_fini): Likewise.
25036 * partmap/pc.c (grub_pc_partition_map_init)
25037 (grub_pc_partition_map_fini): Likewise.
25038 * partmap/sun.c (grub_sun_partition_map_init,
25039 grub_sun_partition_map_fini): Likewise.
25040 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25041 Likewise.
25042
25043 * util/grub-emu.c: Include <grub_modules_init.h>.
25044 (main): Don't initialize and de-initialize any modules directly,
25045 use `grub_init_all' and `grub_fini_all' instead.
25046
25047 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25048 `grub_vesafb_mod_init'.
25049 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25050 all users.
25051 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25052 `grub_vga_mod_init'. Updated all users.
25053 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25054
25055 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25056 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25057 rules.
25058
25059 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25060 Generate a function to initialize the module in utilities.
25061 Updated all callers.
25062 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25063 initialize the module in utilities. Updated all callers.
25064
25065 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25066
25067 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25068 escape sequence and a literal ^L to clear the screen.
25069
25070 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25071 when returning from Open Firmware.
25072
25073 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25074
25075 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25076 (grub_ofconsole_height): Likewise.
25077 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25078 manually insert a '\n'.
25079 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25080 `grub_ofconsole_height'. Return early if these are already set.
25081
25082 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25083
25084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25085 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25086 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25087 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25088 and `normal/script.c'.
25089 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25090 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25091 (test_mod_SOURCES): New variable.
25092 (test_mod_CFLAGS): Likewise.
25093 (test_mod_LDFLAGS): Likewise.
25094 (pkgdata_MODULES): Add `test.mod'.
25095 (grub_script.tab.c): New rule.
25096 (grub_script.tab.h): Likewise.
25097
25098 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25099
25100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25101 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25102 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25103 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25104 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25105 (test_mod_SOURCES): New variable.
25106 (test_mod_CFLAGS): Likewise.
25107 (pkgdata_MODULES): Add `test.mod'.
25108 (grub_script.tab.c): New rule.
25109 (grub_script.tab.h): Likewise.
25110
25111 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25112
25113 Add initial scripting support.
25114
25115 * commands/test.c: New file.
25116 * include/grub/script.h: Likewise.
25117 * normal/execute.c: Likewise.
25118 * normal/function.c: Likewise.
25119 * normal/lexer.c: Likewise.
25120 * normal/parser.y: Likewise.
25121 * normal/script.c: Likewise.
25122
25123 * configure.ac: Add `AC_PROG_YACC' test.
25124
25125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25126 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25127 `normal/function.c' and `normal/script.c'.
25128 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25129 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25130 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25131 variables.
25132 (pkgdata_MODULES): Add `test.mod'.
25133 (grub_script.tab.c): New rule.
25134 (grub_script.tab.h): Likewise.
25135
25136 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25137
25138 * include/grub/normal.h (grub_test_init): New prototype.
25139 (grub_test_fini): Likewise.
25140
25141 * normal/command.c: Include <grub/script.h>.
25142 (grub_command_execute): Rewritten.
25143
25144 * util/grub-emu.c (main): Call `grub_test_init' and
25145 `grub_test_fini'.
25146
25147 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25148
25149 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25150 to 0.
25151 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25152 there are no pending characters.
25153
25154 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25155
25156 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25157 `grub_strndup' to drop device arguments. Replace unnecessary
25158 `grub_strndup' with `grub_strdup'.
25159
25160 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25161
25162 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25163 `debug' environment variable has been set.
25164
25165 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25166
25167 * Makefile.in (install-local): Use $(DATA).
25168 (uninstall): Likewise.
25169 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25170 (sbin_UTILITIES): ... to here.
25171 (sbin_SCRIPTS): New variable.
25172 (grub_install_SOURCES): New variable.
25173 * util/powerpc/ieee1275/grub-install.in: New file.
25174 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25175 variable.
25176 (add_segments): Call `grub_util_get_path'.
25177
25178 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25179
25180 From Timothy Baldwin:
25181 * commands/ls.c (grub_ls_list_files): Close FILE with
25182 grub_file_close.
25183 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25184
25185 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25186
25187 * include/grub/parser.h: New file.
25188
25189 * kern/parser.c: Likewise.
25190
25191 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25192 (grub_setup_SOURCES): Likewise.
25193 (grub_probefs_SOURCES): Likewise.
25194 (grub_emu_SOURCES): Likewise.
25195 (kernel_img_HEADERS): Add `parser.h'.
25196
25197 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25198 (grub_emu_SOURCES): Add `kern/parser.c'.
25199 (grubof_SOURCES): Likewise.
25200
25201 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25202 (grubof_SOURCES): Add `kern/parser.c'.
25203
25204 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25205
25206 * kern/misc.c (grub_split_cmdline): Removed function.
25207
25208 * kern/rescue.c: Include <grub/parser.h>.
25209 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25210 of `grub_split_cmdline'.
25211
25212 * normal/command.c: Include <grub/parser.h>.
25213 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25214 of `grub_split_cmdline'.
25215
25216 * normal/completion.c: Include <grub/parser.h>.
25217 (cmdline_state): New variable.
25218 (iterate_dir): End the filename with a quote depending on the
25219 command line state.
25220 (get_state): new function.
25221 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25222 split the arguments and determine the current argument. When the
25223 argument string is not quoted, escape all spaces.
25224
25225 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25226
25227 * normal/sparc64/setjmp.S: New file.
25228
25229 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25230
25231 * include/grub/sparc64/libgcc.h: New file.
25232 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25233 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25234 normal/sparc64/setjmp.c.
25235
25236 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25237
25238 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25239 * kern/sparc64/cache.S: New file.
25240 * kern/sparc64/cache.c: Removed.
25241 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25242 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25243 -mtune=ultrasparc.
25244 (COMMON_LDFLAGS): Add -melf64_sparc.
25245 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25246 (grubof_SOURCES): Use cache.S instead of cache.c.
25247 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25248 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25249 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25250 commented though.
25251 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25252 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25253 (linux_mod_CFLAGS): Commented out.
25254 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25255 out because module isn't built.
25256 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25257 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25258 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25259 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25260 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25261 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25262 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25263 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25264 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25265 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25266 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25267 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25268 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25269 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25270
25271 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25272
25273 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25274 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25275 longer, because HFS should not be used on PC.
25276
25277 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25278
25279 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25280 consistently within the loop.
25281
25282 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25283
25284 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25285 directory can not be read.
25286
25287 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25288
25289 * configure.ac (AC_INIT): Increase the version number to 1.91.
25290
25291 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25292 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25293 term/i386/pc/serial.c.
25294
25295 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25296
25297 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25298 file size must be permitted.
25299
25300 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25301 between %ah and %al.
25302
25303 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25304
25305 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25306 grub_uint64_t.
25307 Call the hook with a NUL-terminated filename.
25308 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25309 grub_cpu_to_be32.
25310
25311 * kern/term.c (cursor_state): New variable.
25312 (grub_term_set_current): Reset the cursor state on a new
25313 terminal.
25314 (grub_setcursor): Rewritten to use CURSOR_STATE.
25315 (grub_getcursor): New function.
25316
25317 * include/grub/term.h (grub_getcursor): New prototype.
25318
25319 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25320 integers on ARM. Reported by Timothy Baldwin
25321 <T.E.Baldwin99@members.leeds.ac.uk>.
25322
25323 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25324
25325 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25326 allocated.
25327 (grub_sfs_dir): Likewise.
25328
25329 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25330
25331 Add support for the SFS filesystem.
25332
25333 * fs/sfs.c: New file.
25334
25335 * DISTLIST: Added `fs/sfs.c'.
25336
25337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25338 (grub_probefs_SOURCES): Likewise.
25339 (grub_emu_SOURCES): Likewise.
25340 (pkgdata_MODULES): Add `sfs.mod'.
25341 (sfs_mod_SOURCES): New variable.
25342 (sfs_mod_CFLAGS): Likewise.
25343 (sfs_mod_LDFLAGS): Likewise.
25344
25345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25346 (pkgdata_MODULES): Add `sfs.mod'.
25347 (sfs_mod_SOURCES): New variable.
25348 (sfs_mod_CFLAGS): Likewise.
25349
25350 * util/grub-emu.c (main): Call `grub_sfs_init' and
25351 `grub_sfs_fini'.
25352
25353 * include/grub/fs.h (grub_sfs_init): New prototype.
25354 (grub_sfs_fini): Likewise.
25355
25356 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25357
25358 Add support for the AFFS filesystem.
25359
25360 * fs/affs.c: New file.
25361
25362 * DISTLIST: Added `fs/affs.c'.
25363
25364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25365 (grub_probefs_SOURCES): Likewise.
25366 (grub_emu_SOURCES): Likewise.
25367 (pkgdata_MODULES): Add `affs.mod'.
25368 (affs_mod_SOURCES): New variable.
25369 (affs_mod_CFLAGS): Likewise.
25370 (affs_mod_LDFLAGS): Likewise.
25371
25372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25373 (pkgdata_MODULES): Add `affs.mod'.
25374 (affs_mod_SOURCES): New variable.
25375 (affs_mod_CFLAGS): Likewise.
25376
25377 * util/grub-emu.c (main): Call `grub_affs_init' and
25378 `grub_affs_fini'.
25379
25380 * include/grub/fs.h (grub_affs_init): New prototype.
25381 (grub_affs_fini): Likewise.
25382
25383 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25384
25385 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25386
25387 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25388
25389 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25390 `-m32' to CFLAGS.
25391
25392 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25393 linking.
25394
25395 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25396 (COMMON_LDFLAGS): New variable.
25397 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25398 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25399 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25400 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25401 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25402 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25403 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25404 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25405 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25406 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25407 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25408 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25409 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25410 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25411 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25412 variables.
25413 (normal_mod_ASFLAGS): Add `-m32'.
25414
25415 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25416 (grub_host_size_t, grub_host_ssize_t): New types.
25417 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25418 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25419 `GRUB_HOST_SIZEOF_VOID_P'.
25420
25421 * include/grub/kernel.h (struct grub_module_header): Type of
25422 member offset changed to `grub_host_off_t'. Type of member size
25423 changed to `grub_host_size_t'.
25424 (struct grub_module_info): Type of member offset changed to
25425 `grub_host_off_t'. Type of member size changed to
25426 `grub_host_size_t'.
25427
25428 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25429
25430 Make GRUB's kernel compliant to Multiboot Specification.
25431
25432 * kern/i386/pc/startup.S (multiboot_header): New label.
25433 (multiboot_entry): Likewise.
25434 (multiboot_trampoline): Likewise.
25435
25436 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25437 Increased to 0x4A0.
25438
25439 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25440 put parentheses after a question mark.
25441 [!GRUB_UTIL] (my_mod): New variable.
25442
25443 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25444
25445 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25446
25447 Adds support for the XFS filesystem. Btrees are not supported
25448 yet.
25449
25450 * fs/xfs.c: New file.
25451
25452 * DISTLIST: Added `fs/xfs.c'.
25453
25454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25455 (grub_probefs_SOURCES): Likewise.
25456 (grub_emu_SOURCES): Likewise.
25457 (pkgdata_MODULES): Add `xfs.mod'.
25458 (xfs_mod_SOURCES): New variable.
25459 (xfs_mod_CFLAGS): Likewise.
25460
25461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25462 (pkgdata_MODULES): Add `xfs.mod'.
25463 (xfs_mod_SOURCES): New variable.
25464 (xfs_mod_CFLAGS): Likewise.
25465
25466 * util/grub-emu.c (main): Call `grub_xfs_init' and
25467 `grub_xfs_fini'.
25468
25469 * include/grub/fs.h (grub_xfs_init): New prototype.
25470 (grub_xfs_fini): Likewise.
25471
25472
25473 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25474
25475 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25476 color modes, allow greater than 16 colors to be configured as
25477 a default palette.
25478
25479 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25480
25481 * normal/completion.c (complete_arguments): Add the qualifier
25482 const into OPTIONS.
25483
25484 From Omniflux <omniflux+lists@omniflux.com>:
25485 * include/grub/terminfo.h: New file.
25486 * include/grub/tparm.h: Likewise.
25487 * include/grub/i386/pc/serial.h: Likewise.
25488 * term/terminfo.c: Likewise.
25489 * term/tparm.c: Likewise.
25490 * term/i386/pc/serial.c: Likewise.
25491 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25492 serial.mod.
25493 (terminfo_mod_SOURCES): New variable.
25494 (terminfo_mod_CFLAGS): Likewise.
25495 (serial_mod_SOURCES): Likewise.
25496 (serial_mod_CFLAGS): Likewise.
25497
25498 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25499
25500 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25501 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25502 and kern/powerpc/ieee1275/cmain.c, respectively.
25503
25504 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25505 * kern/powerpc/ieee1275/crt0.S: ... here.
25506
25507 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25508 * kern/powerpc/ieee1275/cmain.c: ... here.
25509
25510 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25511 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25512 instead of boot/powerpc/ieee1275/crt0.S and
25513 boot/powerpc/ieee1275/cmain.c, respectively.
25514
25515 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25516 sectors. It was not used anyway.
25517
25518 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25519
25520 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25521 `unused parameter' warning.
25522
25523 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25524
25525 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25526 function.
25527 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25528 getcharwidth.
25529
25530 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25531
25532 * include/grub/normal.h (enum grub_completion_type): Added
25533 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25534
25535 * normal/cmdline.c (print_completion): Handle
25536 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25537 * normal/menu_entry.c (store_completion): Likewise.
25538
25539 * normal/completion.c (complete_arguments): New function.
25540 (grub_normal_do_completion): Call `complete_arguments' when the
25541 current words start with a dash.
25542
25543 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25544
25545 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25546 `gzio.mod' instead of `io.mod').
25547
25548 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25549
25550 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25551 (DISTDIRS): Added io and video.
25552 Rewrite the search routine to make an output consistently.
25553
25554 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25555 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25556 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25557 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25558 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25559 util/powerpc/ieee1275/misc.c.
25560
25561 * include/grub/gzio.h: New file.
25562 * io/gzio.c: Likewise.
25563
25564 * kern/file.c (grub_file_close): Call grub_device_close only if
25565 FILE->DEVICE is not NULL.
25566
25567 * include/grub/mm.h [!NULL] (NULL): New macro.
25568
25569 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25570
25571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25572 (pkgdata_MODULES): Added gzio.mod.
25573 (gzio_mod_SOURCES): New variable.
25574 (gzio_mod_CFLAGS): Likewise.
25575
25576 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25577 (pkgdata_MODULES): Added gzio.mod.
25578 (gzio_mod_SOURCES): New variable.
25579 (gzio_mod_CFLAGS): Likewise.
25580
25581 * commands/cat.c: Include grub/gzio.h.
25582 (grub_cmd_cat): Use grub_gzfile_open instead of
25583 grub_file_open.
25584
25585 * commands/cmp.c: Include grub/gzio.h.
25586 (grub_cmd_cmp): Use grub_gzfile_open instead of
25587 grub_file_open.
25588
25589 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25590 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25591 grub_file_open.
25592 (grub_rescue_cmd_module): Likewise.
25593
25594 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25595
25596 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25597 kern/sparc64/ieee1275/init.c because it contains _start.
25598 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25599
25600 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25601
25602 * configure.ac: Add support for sparc64 host with ieee1275
25603 firmware.
25604 * configure: Generated from configure.ac.
25605 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25606 instead of int.
25607 (grub_ofdisk_read): Likewise.
25608 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25609 pointers as (void *) to remove a warning.
25610 (grub_ofdisk_close): Likewise.
25611 (grub_ofdisk_read): Likewise.
25612 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25613 returns, so make it return void to remove a warning.
25614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25615 Corresponding prototype change.
25616 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25617 values, and cast the pointers as (void *) to remove a warning.
25618 (grub_mm_dump): Likewise.
25619 * conf/sparc64-ieee1275.mk: New file.
25620 * conf/sparc64-ieee1275.rmk: Likewise.
25621 * include/grub/sparc64/setjmp.h: Likewise.
25622 * include/grub/sparc64/types.h: Likewise.
25623 * include/grub/sparc64/ieee1275/console.h: Likewise.
25624 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25625 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25626 * include/grub/sparc64/ieee1275/time.h: Likewise.
25627 * kern/sparc64/cache.c: Likewise.
25628 * kern/sparc64/dl.c: Likewise.
25629 * kern/sparc64/ieee1275/init.c: Likewise.
25630 * kern/sparc64/ieee1275/openfw.c: Likewise.
25631
25632 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25633
25634 * util/console.c (grub_ncurses_putchar): If C is greater than
25635 0x7f, set C to a question mark.
25636 (grub_ncurses_getcharwidth): New function.
25637 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25638 getcharwidth.
25639
25640 * normal/menu.c (print_entry): Made aware of Unicode. First,
25641 convert TITLE to UCS-4, and predict the cursor position by
25642 grub_getcharwidth.
25643
25644 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25645 const to SRC.
25646 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25647
25648 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25649
25650 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25651 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25652 grub_strcat.
25653
25654 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25655 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25656 grub_strcpy and grub_strlen. Take it into account that a space
25657 character is inserted as a delimiter.
25658
25659 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25660
25661 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25662 invalid magic in the error.
25663
25664 * commands/search.c: New file.
25665
25666 * util/grub-emu.c (main): Call grub_search_init and
25667 grub_search_fini.
25668
25669 * kern/rescue.c (grub_rescue_print_disks): Removed.
25670 (grub_rescue_print_devices): New function.
25671 (grub_rescue_cmd_ls): Use grub_device_iterate with
25672 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25673 grub_rescue_print_disks.
25674
25675 * kern/partition.c (grub_partition_iterate): Return the result of
25676 PARTMAP->ITERATE instead of GRUB_ERRNO.
25677
25678 * kern/device.c: Include grub/partition.h.
25679 (grub_device_iterate): New function.
25680
25681 * include/grub/partition.h (grub_partition_iterate): Return int
25682 instead of grub_err_t.
25683
25684 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25685 prototype.
25686 [GRUB_UTIL] (grub_search_fini): Likewise.
25687
25688 * include/grub/device.h (grub_device_iterate): New prototype.
25689
25690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25691 commands/search.c.
25692 (pkgdata_MODULES): Added search.mod.
25693 (search_mod_SOURCES): New variable.
25694 (search_mod_CFLAGS): Likewise.
25695
25696 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25697 (pkgdata_MODULES): Added search.mod.
25698 (search_mod_SOURCES): New variable.
25699 (search_mod_CFLAGS): Likewise.
25700
25701 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25702 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25703 All callers changed.
25704
25705 * DISTLIST: Added commands/search.c.
25706
25707 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25708
25709 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25710 conversion.
25711 (grub_getcharwidth): New function.
25712
25713 * kern/misc.c (grub_utf8_to_ucs4): New function.
25714
25715 * include/grub/term.h (struct grub_term): Added a new member
25716 "getcharwidth".
25717 (grub_getcharwidth): New prototype.
25718
25719 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25720
25721 * term/i386/pc/console.c (map_char): New function. Segregated from
25722 grub_console_putchar.
25723 (grub_console_putchar): Use map_char.
25724 (grub_console_getcharwidth): New function.
25725 (grub_console_term): Specified grub_console_getcharwidth as
25726 getcharwidth.
25727
25728 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25729 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25730
25731 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25732 GRUB_ERRNO.
25733 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25734 on grub_strtoul completely.
25735 (write_char): Declare local variables in the beginning of the
25736 function.
25737 (grub_vesafb_getcharwidth): New function.
25738 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25739 getcharwidth.
25740
25741 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25742
25743 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25744 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25745 commands/i386/pc/vbetest.c.
25746
25747 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25748 call grub_vbe_get_controller_info again, because the returned
25749 information is volatile.
25750 (grub_vbe_set_video_mode): Mostly rewritten.
25751 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25752 grub_vbe_status_t correctly.
25753 (grub_vbe_get_video_mode_info): Likewise.
25754 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25755 several if statements.
25756
25757 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25758 * commands/i386/pc/vbeinfo.c: ... this.
25759
25760 * commands/i386/pc/vbe_test.c: Renamed to ...
25761 * commands/i386/pc/vbetest.c: ... this.
25762
25763 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25764 ...
25765 (grub_cmd_vbeinfo): ... this. Save video modes before
25766 iterating. Skip a video mode, if it is not available, not enough
25767 information is given or it is monochrome. Show the memory
25768 model. Leave the interpretation of MODEVAR to grub_strtoul
25769 completely.
25770 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25771 (GRUB_MOD_FINI): Likewise.
25772
25773 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25774 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25775 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25776 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25777 grub_strtoul completely.
25778 (real2pm): Removed.
25779 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25780 (GRUB_MOD_FINI): Likewise.
25781
25782 * normal/misc.c: Include grub/mm.h.
25783
25784 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25785 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25786 (vbe_list_modes_mod_SOURCES): Removed.
25787 (vbe_list_modes_mod_CFLAGS): Likewise.
25788 (vbe_test_mod_SOURCES): Likewise.
25789 (vbe_test_mod_CFLAGS): Likewise.
25790 (vbeinfo_mod_SOURCES): New variable.
25791 (vbeinfo_mod_CFLAGS): Likewise.
25792 (vbetest_mod_SOURCES): Likewise.
25793 (vbetest_mod_CFLAGS): Likewise.
25794
25795 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25796
25797 * normal/misc.c: New file.
25798
25799 * DISTLIST: Added normal/misc.c.
25800
25801 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25802 DISK to HOOK. Call HOOK with DISK.
25803 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25804 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25805 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25806
25807 * normal/menu_entry.c (struct screen): Added a new member
25808 "completion_shown".
25809 (completion_buffer): New global variable.
25810 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25811 (store_completion): New function.
25812 (complete): Likewise.
25813 (clear_completions): Likewise.
25814 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25815 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25816 a tab, call complete.
25817
25818 * normal/completion.c (disk_dev): Removed.
25819 (print_simple_completion): Likewise.
25820 (print_partition_completion): Likewise.
25821 (print_func): New global variable.
25822 (add_completion): Do not take the arguments WHAT or PRINT any
25823 longer. Added a new argument TYPE. Instead of printing directly,
25824 call PRINT_FUNC if not NULL.
25825 All callers changed.
25826 (complete_device): Use a local variable DEV instead of
25827 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25828 (grub_normal_do_completion): Take a new argument HOOK. Do not
25829 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25830 empty string, return NULL instead.
25831 All callers changed.
25832
25833 * normal/cmdline.c (print_completion): New function.
25834
25835 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25836 to HOOK.
25837 All callers changed.
25838
25839 * kern/disk.c (grub_print_partinfo): Removed.
25840
25841 * include/grub/partition.h (struct grub_partition_map): Add a new
25842 argument DISK into HOOK of ITERATE.
25843 (grub_partition_iterate): Add a new argument DISK to HOOK.
25844
25845 * include/grub/normal.h (enum grub_completion_type): New enum.
25846 (grub_completion_type_t): New type.
25847 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25848 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25849 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25850 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25851 (grub_normal_do_completion): Added a new argument HOOK.
25852 (grub_normal_print_device_info): New prototype.
25853
25854 * include/grub/disk.h (grub_print_partinfo): Removed.
25855
25856 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25857 (normal_mod_SOURCES): Likewise.
25858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25859 (normal_mod_SOURCES): Likewise.
25860
25861 * commands/ls.c (grub_ls_list_disks): Use
25862 grub_normal_print_device_info instead of grub_print_partinfo. Free
25863 PNAME.
25864 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25865 duplicating the code.
25866
25867 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25868
25869 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25870 follow GCS more precisely.
25871 * commands/i386/pc/vbe_test.c: Likewise.
25872 * include/grub/i386/pc/vbe.h: Likewise.
25873 * term/i386/pc/vesafb.c: Likewise.
25874 * video/i386/pc/vbe.c: Likewise.
25875
25876 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25877
25878 * DISTLIST: Added term/i386/pc/vesafb.c
25879 DISTLIST: Added video/i386/pc/vbe.c
25880 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25881 DISTLIST: Added commands/i386/pc/vbe_test.c.
25882 * commands/i386/pc/vbe_list_modes.c: New file.
25883 * commands/i386/pc/vbe_test.c: Likewise.
25884 * term/i386/pc/vesafb.c: Likewise.
25885 * video/i386/pc/vbe.c: Likewise.
25886 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25887 (grub_vbe_probe) Added prototype.
25888 (grub_vbe_set_video_mode) Likewise.
25889 (grub_vbe_get_video_mode) Likewise.
25890 (grub_vbe_get_video_mode_info) Likewise.
25891 (grub_vbe_set_pixel_rgb) Likewise.
25892 (grub_vbe_set_pixel_index) Likewise.
25893 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25894 (pkgdata_MODULES): Added vesafb.mod.
25895 (pkgdata_MODULES): Added vbe_list_modes.mod.
25896 (pkgdata_MODULES): Added vbe_test.mod.
25897 (vbe_mod_SOURCES): Added.
25898 (vbe_mod_CFLAGS): Likewise.
25899 (vesafb_mod_SOURCES): Likewise.
25900 (vesafb_mod_CFLAGS): Likewise.
25901 (vbe_list_modes_mod_SOURCES): Likewise.
25902 (vbe_list_modes_mod_CFLAGS): Likewise.
25903 (vbe_test_mod_SOURCES): Likewise.
25904 (vbe_test_mod_CFLAGS): Likewise.
25905
25906 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25907
25908 * normal/command.c (grub_command_execute): If INTERACTIVE is
25909 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25910 CMDLINE. Disable the pager if INTERACTIVE is true.
25911 All callers are changed.
25912
25913 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25914 before reading a config file.
25915 * normal/main.c (read_config_file): Even if a command is not
25916 found, register it if it is within an entry.
25917
25918 * util/grub-emu.c: Include sys/types.h and unistd.h.
25919 (options): Added --hold.
25920 (struct arguments): Added a new member "hold".
25921 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25922 missing.
25923 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25924 cleared by a debugger, if it is not zero.
25925
25926 * include/grub/normal.h (grub_command_execute): Add an argument
25927 INTERACTIVE.
25928
25929 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25930
25931 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25932
25933 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25934
25935 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25936 program with another one, because the old one didn't detect a bug
25937 in gcc-3.4. Always use regparm 2, because the new test is still
25938 not enough for gcc-4.0. Someone must investigate a simple test
25939 case which detects a bug in gcc-4.0.
25940
25941 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25942
25943 * DISTLIST: Added normal/completion.c.
25944
25945 * normal/completion.c: New file.
25946
25947 * term/i386/pc/console.c (grub_console_getwh): New function.
25948 (grub_console_term): Assign grub_console_getwh to getwh.
25949
25950 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25951 function is defined in normal/completion.c as
25952 grub_normal_do_completion.
25953 (grub_cmdline_get): Use grub_normal_do_completion instead of
25954 grub_tab_complete.
25955
25956 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25957 returns non-zero, otherwise return 0.
25958 (grub_partition_iterate): First, probe the partition map. Then,
25959 call ITERATE only for this partition map.
25960
25961 * kern/misc.c (grub_strncmp): Rewritten.
25962
25963 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25964 returns non-zero. Otherwise return 0.
25965
25966 * include/grub/partition.h (grub_partition_map_iterate): Return
25967 int instead of void.
25968
25969 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25970
25971 * include/grub/misc.h (grub_strncmp): Change the type of N to
25972 grub_size_t.
25973
25974 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25975 of void.
25976
25977 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
25978 unsigned explicitly before comparing it with I.
25979
25980 * kern/main.c (grub_env_write_root): Add the attribute unused into
25981 VAR.
25982
25983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25984 normal/completion.c.
25985 (normal_mod_SOURCES): Likewise.
25986 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25987 (normal_mod_SOURCES): Likewise.
25988
25989 * normal/command.c (grub_iterate_commands): If ITERATE returns
25990 non-zero, return one immediately.
25991
25992 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25993
25994 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25995 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25996 descriptions.
25997 (grub_vbe_get_controller_info): New function.
25998 (grub_vbe_get_mode_info): Likewise.
25999 (grub_vbe_set_mode): Likewise.
26000 (grub_vbe_get_mode): Likewise.
26001 (grub_vbe_set_memory_window): Likewise.
26002 (grub_vbe_get_memory_window): Likewise.
26003 (grub_vbe_set_scanline_length): Likewise.
26004 (grub_vbe_get_scanline_length): Likewise.
26005 (grub_vbe_set_display_start): Likewise.
26006 (grub_vbe_get_display_start): Likewise.
26007 (grub_vbe_set_palette_data): Likewise.
26008 * include/grub/i386/pc/vbe.h: New file.
26009
26010 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26011
26012 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26013 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26014 * DISTLIST: Likewise.
26015 * kern/ieee1275/of.c: Moved to ...
26016 * kern/ieee1275/ieee1275.c: ... here.
26017
26018 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26019
26020 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26021 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26022 Pass 0 as `end' parameter to grub_strtoul().
26023
26024 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26025
26026 * include/grub/powerpc/ieee1275/console.h: Do not include
26027 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26028 ifdef.
26029 (grub_console_cur_color): Remove i386-specific prototype.
26030 (grub_console_real_putchar): Likewise.
26031 (grub_console_checkkey): Likewise.
26032 (grub_console_getkey): Likewise.
26033 (grub_console_getxy): Likewise.
26034 (grub_console_gotoxy): Likewise.
26035 (grub_console_cls): Likewise.
26036 (grub_console_setcursor): Likewise.
26037 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26038 Include <grub/machine/console.h>.
26039 * term/ieee1275/ofconsole.c: Likewise.
26040
26041 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26042
26043 * Makefile.in (LIBLZO): New variable.
26044
26045 * configure.ac: Check for LZO version 2.
26046
26047 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26048 lzo/lzo1x.h instead of lzo1x.h.
26049
26050 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26051 of -llzo.
26052
26053 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26054 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26055
26056 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26057 copying the data from PARTITION to P.
26058
26059 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26060
26061 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26062 negative, unload the module.
26063
26064 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26065 map is "pc_partition_map" but not "pc".
26066 (usage): Fix the description. The options are --boot-image and
26067 --core-image but not --boot-file or --core-file.
26068 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26069 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26070 DEFAULT_DIRECTORY.
26071
26072 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26073 --core-file. Specify INSTALL_DEVICE as an argument.
26074
26075 * util/console.c: Include config.h.
26076 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26077 [HAVE_NCURSES_H]: Include ncurses.h.
26078 [HAVE_CURSES_H]: Include curses.h.
26079 [!A_NORMAL] (A_NORMAL): Defined as zero.
26080 [!A_STANDOUT] (A_STANDOUT): Likewise.
26081
26082 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26083 -lncurses.
26084 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26085
26086 * configure.ac: Check for curses libraries and headers.
26087
26088 * Makefile.in (LIBCURSES): New variable.
26089
26090 * genmk.rb (Script::rule): Set the executable bits.
26091
26092 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26093 name of the PC partition map is "pc_partition_map" but not "pc".
26094
26095 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26096
26097 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26098 (modules): Likewise.
26099 (usage): Added descriptions for --modules and --grub-probefs.
26100 Handle --modules and --grub-probefs. Save the arguments in MODULES
26101 and GRUB_PROBEFS, respectively.
26102 Auto-detect a filesystem module against GRUBDIR. If the result is
26103 empty and modules are not specified explicitly, abort the
26104 installation. Add the result to MODULES.
26105
26106 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26107 disk/powerpc/ieee1275/ofdisk.c,
26108 include/grub/powerpc/ieee1275/init.h and
26109 term/powerpc/ieee1275/ofconsole.c.
26110 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26111 term/ieee1275/ofconsole.c.
26112
26113 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26114
26115 * COPYING: Upgraded to the latest version. Only the address of the
26116 FSF office has changed.
26117
26118 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26119
26120 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26121 kern/ieee1275.c with kern/ieee1275/of.c.
26122
26123 * kern/ieee1275.c: Moved to ...
26124 * kern/ieee1275/of.c: ... here.
26125
26126 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26127
26128 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26129 readability.
26130
26131 * config.guess: Updated to the latest version from gnulib.
26132 * config.sub: Likewise.
26133 * install.sh: Likewise.
26134 * mkinstalldirs: Likewise.
26135
26136 * include/grub/console.h: Removed. This file is arch-specific. Do
26137 not put this in include/grub.
26138
26139 * include/grub/i386/pc/console.h: Resurrected.
26140
26141 * util/console.c: Include grub/machine/console.h instead of
26142 grub/console.h.
26143 * util/grub-emu.c: Likewise.
26144
26145 2005-08-04 Marco Gerards <metgerards@student.han.nl>
26146
26147 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26148 hardcoded value.
26149
26150 From Vincent Pelletier <subdino2004@yahoo.fr>
26151 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26152 Redefined to use grub_getwh.
26153 (grub_term): New member named getwh.
26154 (grub_getwh): New prototype.
26155 * kern/term.c (grub_getwh): New function.
26156 * term/i386/pc/console.c (grub_console_getwh): New function.
26157 (grub_console_term): New member `getwh'.
26158 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26159 (grub_vga_term): New member `getwh'.
26160 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
26161 grub_ssize_t.
26162 (grub_ofconsole_getw): New function.
26163 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26164 (grub_ofconsole_term): New field named getwh and new initial
26165 value.
26166
26167 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26168
26169 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26170 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26171 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26172 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26173 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26174 of <grub/machine/ieee1275.h>.
26175 * commands/ieee1275/reboot.c: Likewise.
26176 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26177 * kern/ieee1275.c: ... to here. All users updated. Change all
26178 parameter structs to use new type `grub_ieee1275_cell_t'.
26179 * term/powerpc/ieee1275/ofconsole.c: Move ...
26180 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26181 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26182 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26183 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26184 to return int.
26185 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26186 Remove unused prototypes. All users updated.
26187 * include/grub/powerpc/ieee1275/console.h: Removed.
26188 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26189 `grub_ieee1275_cell_t'.
26190 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26191 Cast comparisons with -1 to the correct type.
26192 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26193 type to match `grub_ieee1275_entry_fn'.
26194
26195 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26196
26197 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26198
26199 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26200 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26201 partmap/sun.c.
26202 (grub_probefs_SOURCES): New variable.
26203
26204 * util/i386/pc/grub-probefs.c: New file.
26205
26206 * util/i386/pc/grub-setup.c (main): Call
26207 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26208 grub_hfs_init and grub_jfs_init to initialize the system. Call
26209 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26210 grub_pc_partition_map_fini to finish the system.
26211
26212 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26213
26214 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26215 function.
26216 (grub_multiboot_load_elf32): Likewise.
26217 (grub_multiboot_is_elf64): Likewise.
26218 (grub_multiboot_load_elf64): Likewise.
26219 (grub_multiboot_load_elf): Likewise.
26220 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26221 an ELF32 or ELF64 file.
26222 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26223
26224 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26225 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26226 NULL before calling FS->LABEL.
26227 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26228 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26229 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26230 before calling FS->LABEL.
26231
26232 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26233
26234 * util/i386/pc/grub-install.in (datadir): New variable.
26235 (libdir): Removed.
26236 (pkgdatadir): New variable.
26237 (pkglibdir): Removed.
26238
26239 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26240
26241 * DISTLIST: Added util/i386/pc/grub-install.in.
26242
26243 * util/i386/pc/grub-install.in: New file.
26244
26245 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26246 (grub_install_SOURCES): Likewise.
26247
26248 * genmk.rb: Added support for scripts.
26249 (Script): New class.
26250 (scripts): New variable.
26251
26252 * Makefile.in (install-local): Install sbin_SCRIPTS by
26253 INSTALL_SCRIPT.
26254 (uninstall): Remove sbin_SCRIPTS.
26255
26256 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26257 device, try to get a GRUB device by
26258 grub_util_biosdisk_get_grub_dev.
26259 Free DEST_DEV.
26260
26261 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26262 description for --device-map.
26263
26264 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26265
26266 Change the semantics of variable hooks. They now return strings
26267 instead of error values.
26268
26269 * util/i386/pc/grub-setup.c: Include grub/env.h.
26270 (setup): Use grub_device_set_root instead of grub_env_set.
26271
26272 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26273 grub_env_get instead of grub_device_set_root and
26274 grub_device_get_root, respectively.
26275
26276 * kern/main.c (grub_env_write_root): New function.
26277 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26278 grub_env_set instead of grub_device_set_root.
26279
26280 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26281 many variables.
26282 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26283 rather than calling ENV->WRITE_HOOK afterwards.
26284 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26285 passing a pointer of a pointer.
26286 (grub_register_variable_hook): Change the types of "read_hook" and
26287 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26288 respectively.
26289 Allocate the default empty string on the heap, because this string
26290 may be freed later.
26291
26292 * kern/device.c: Include grub/env.h.
26293 (grub_device_set_root): Removed.
26294 (grub_device_get_root): Likewise.
26295 (grub_device_open): Use grub_env_get instead of
26296 grub_device_get_root.
26297
26298 * include/grub/env.h (grub_env_read_hook_t): New type.
26299 (grub_env_write_hook_t): Likewise.
26300 (grub_env_var): Change the types of "read_hook" and "write_hook"
26301 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26302 (grub_register_variable_hook): Likewise.
26303
26304 * include/grub/device.h (grub_device_set_root): Removed.
26305 (grub_device_set_root): Likewise.
26306
26307 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26308 make sure that DIRNAME terminates with '/', so that
26309 grub_fat_find_dir will fail if PATH is not a directory.
26310
26311 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26312 from DIRNAME.
26313 Use the qualifier auto for print_files and print_files_long.
26314 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26315 as a regular file.
26316 Put a newline only if there is no error.
26317 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26318 used.
26319
26320 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26321
26322 * kern/partition.c (grub_partition_probe): Initialize PART to
26323 NULL. Otherwise, when no partition map is registered, this returns
26324 a garbage.
26325
26326 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26327
26328 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26329 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26330 valid.
26331
26332 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26333
26334 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26335 information on each device, if it does not have partitions. Print
26336 "Device" instead of "Disk", because this function is not specific
26337 to disk devices.
26338
26339 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26340 static to ensure that it is put on the memory rather than a
26341 register.
26342
26343 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26344
26345 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26346 (grub_cat_init): Likewise.
26347 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26348 (options): Likewise.
26349 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26350 (grub_configfile_init): Likewise.
26351 * font/manager.c (GRUB_MOD_INIT): Likewise.
26352 * commands/help.c (GRUB_MOD_INIT): Likewise.
26353 (grub_help_init): Likewise.
26354 * normal/command.c (grub_command_init): Likewise.
26355 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26356 * disk/loopback.c (grub_loop_init): Likewise.
26357 (GRUB_MOD_INIT): Likewise.
26358 * commands/ls.c (grub_ls_init): Likewise.
26359 (GRUB_MOD_INIT): Likewise.
26360 (options): Likewise.
26361 * commands/boot.c (grub_boot_init): Likewise.
26362 (GRUB_MOD_INIT): Likewise.
26363 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26364 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26365 (GRUB_MOD_INIT): Likewise.
26366 * commands/cmp.c (grub_cmp_init): Likewise.
26367 (GRUB_MOD_INIT): Likewise.
26368
26369 * normal/arg.c: Use <> instead of "" to include header files.
26370 (SHORT_ARG_HELP): New macro.
26371 (SHORT_ARG_USAGE): Likewise.
26372 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26373 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26374 descriptions.
26375 (find_short): Check if C is 'h' or 'u' explicitly.
26376 (grub_arg_show_help): Use space characters instead of tabs. Treat
26377 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26378 are shown with --help and --usage only if they are not used for
26379 the command itself.
26380 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26381 'h' and 'u'.
26382
26383 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26384 const into "longarg". Change the type of "shortarg" to int.
26385
26386 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26387
26388 * boot/i386/pc/boot.S (boot_drive_check): New label.
26389
26390 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26391 macro.
26392
26393 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26394 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26395
26396 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26397
26398 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26399 When turning off Gate A20, skip the check and return immediately,
26400 because this is not fatal usually.
26401
26402 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26403
26404 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26405 be 0x7C00 instead of 0x8000.
26406
26407 * boot/i386/pc/pxeboot.S: Rewritten.
26408
26409 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26410 EXT_C.
26411 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26412 result.
26413
26414 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26415
26416 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26417 robustness. This routine now supports a BIOS call and System
26418 Control Port A to modify the gate A20.
26419
26420 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26421 Increased to 0x440.
26422
26423 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26424
26425 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26426 device path and resulting ihandle.
26427 (grub_ofdisk_close): dprintf the ihandle being closed.
26428 (grub_ofdisk_read): dprintf function parameters.
26429 * kern/mm.c (grub_mm_init_region): Likewise.
26430 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26431 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26432 size, and boot arguments.
26433 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26434 before loading into memory.
26435 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26436 before loading into memory.
26437
26438 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26439
26440 * kern/mm.c: Added much documentation.
26441 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26442 8, set to 5 instead of 8.
26443
26444 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26445
26446 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26447
26448 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26449 (grub_mkdevicemap_SOURCES): New variable.
26450
26451 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26452 lib/device.c of GRUB Legacy.
26453
26454 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26455
26456 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26457 instead of PATH is NULL.
26458
26459 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26460
26461 * commands/cmp.c (BUFFER_SIZE): New macro.
26462 (grub_cmd_cmp): Close the right file at the right time. Compare
26463 only data just read. Don't report files of different size as
26464 identical. Dynamically allocate buffers. Move variable
26465 declarations at the beginning of function.
26466
26467 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26468
26469 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26470 reverse.
26471
26472 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26473
26474 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26475 when backspace is pressed at beginning of line.
26476
26477 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26478
26479 * DISTLIST: Added genfslist.sh.
26480
26481 * normal/main.c (fs_module_list): New variable.
26482 (autoload_fs_module): New function.
26483 (read_fs_list): Likewise.
26484 (grub_normal_execute): Call read_fs_list.
26485
26486 * kern/fs.c (grub_fs_autoload_hook): New variable.
26487 (grub_fs_probe): Added support for auto-loading.
26488
26489 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26490 (grub_fs_module_list_t): New type.
26491
26492 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26493 (grub_fs_autoload_hook): New prototype.
26494
26495 * genfslist.sh: New file.
26496
26497 * genmk.rb: Added a rule to generate a filesystem list.
26498
26499 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26500
26501 * configure.ac: Fix the test for cross-compiling.
26502
26503 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26504 define GRUB_UTIL anymore.
26505
26506 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26507 so this function works on other systems than just big endian.
26508 (load_modules): Likewise.
26509 (add_segments): Likewise.
26510
26511 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26512
26513 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26514 contains `l' modifier, get a long from va_arg().
26515
26516 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26517
26518 * kern/mm.c (grub_free): If the next free block which is being
26519 merged is the first free block, set the first block to the block
26520 being freed.
26521 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26522
26523 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26524
26525 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26526 `grub_ieee1275_chosen'.
26527
26528 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26529
26530 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26531 (grub_ieee1275_chosen): New variable.
26532 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26533 `chosen'.
26534 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26535 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26536 Rename first argument to `phandle' for consistency.
26537 (grub_ieee1275_get_property_length): Likewise.
26538 (grub_ieee1275_next_property): Likewise. Change type of first argument
26539 to grub_ieee1275_phandle_t.
26540 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26541 Move export next to declaration.
26542 (grub_ieee1275_chosen): New variable.
26543 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26544 Correct cosmetic typo.
26545 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26546 `grub_ieee1275_chosen'.
26547 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26548 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26549 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26550 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26551 `grub_ieee1275_chosen'.
26552
26553 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26554
26555 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26556 /chosen/bootargs.
26557 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26558 /chosen/bootargs as "variable=value" pairs.
26559
26560 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26561
26562 * include/grub/misc.h (grub_dprintf): New macro.
26563 (grub_real_dprintf): New prototype.
26564 (grub_strword): Likewise.
26565 (grub_iswordseparator): Likewise.
26566 * kern/misc.c (grub_real_dprintf): New function.
26567 (grub_strword): Likewise.
26568 (grub_iswordseparator): Likewise.
26569
26570 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26571
26572 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26573 (roundup): Remove macro.
26574 (grub_ieee1275_flags): Make static.
26575 (grub_ieee1275_realmode): Remove.
26576 (grub_ieee1275_test_flag): New function.
26577 (grub_ieee1275_set_flag): Likewise.
26578 (find_options): Rename to `grub_ieee1275_find_options'; update
26579 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26580 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26581 (cmain): New prototype.
26582 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26583 `grub_ieee1275_flags' directly.
26584 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26585 machine/biosdisk.h.
26586 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26587 Don't include grub/machine/init.h.
26588 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26589 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26590 Remove prototype.
26591 (grub_ieee1275_realmode): Likewise.
26592 (grub_ieee1275_flag): New enum.
26593 (grub_ieee1275_test_flag): New prototype.
26594 (grub_ieee1275_set_flag): New prototype.
26595 * include/grub/powerpc/ieee1275/init.h: Remove file.
26596 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26597 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26598 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26599 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26600 comment.
26601 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26602 `grub_ieee1275_test_flag'.
26603 (grub_ieee1275_encode_devname): Likewise.
26604
26605 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26606
26607 * include/grub/powerpc/ieee1275/ieee1275.h
26608 (grub_ieee1275_encode_devname): New prototype.
26609 (grub_ieee1275_get_filename): Likewise.
26610 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26611 function.
26612 (grub_set_prefix): Likewise.
26613 (grub_machine_init): Call grub_set_prefix.
26614 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26615 (grub_parse_type): New enum.
26616 (grub_ieee1275_get_devargs): New function.
26617 (grub_ieee1275_get_devname): Likewise.
26618 (grub_ieee1275_parse_args): Likewise.
26619 (grub_ieee1275_get_filename): Likewise.
26620 (grub_ieee1275_encode_devname): Likewise.
26621
26622 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26623
26624 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26625 `grub_loader_unset'.
26626
26627 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26628
26629 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26630 instead of grub_ieee1275_interpret.
26631 (grub_halt_init): New function.
26632 (grub_halt_fini): Likewise.
26633 (GRUB_MOD_INIT): Correct message grammar.
26634 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26635 instead of grub_ieee1275_interpret.
26636 (grub_reboot_init): New function.
26637 (grub_reboot_fini): Likewise.
26638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26639 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26640 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26641 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26642 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26643 function.
26644 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26645 Add prototype.
26646 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26647 prototype.
26648 (grub_halt): Likewise.
26649 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26650 (cmain): Remove __attribute__((unused)).
26651 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26652 (grub_heap_len): Likewise.
26653 (grub_machine_fini): New function.
26654 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26655 (grub_halt): Likewise.
26656 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26657 function.
26658 * util/powerpc/ieee1275/misc.c: New file.
26659
26660 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26661
26662 * DISTLIST: New file.
26663 * gendistlist.sh: Likewise.
26664
26665 * Makefile.in (COMMON_DISTFILES): Removed.
26666 (BOOT_DISTFILES): Likewise.
26667 (CONF_DISTFILES): Likewise.
26668 (DISK_DISTFILES): Likewise.
26669 (FS_DISTFILES): Likewise.
26670 (INCLUDE_DISTFILES): Likewise.
26671 (KERN_DISTFILES): Likewise.
26672 (LOADER_DISTFILES): Likewise.
26673 (TERM_DISTFILES): Likewise.
26674 (UTIL_DISTFILES): Likewise.
26675 (DISTFILES): Likewise.
26676 (uninstall): Uninstall files in $(pkgdata_DATA).
26677 (DISTLIST): New target.
26678 (distdir): Use the contents of the file DISTLIST to get a list of
26679 distributed files.
26680
26681 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26682
26683 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26684 descriptor. This is ported from GRUB Legacy.
26685
26686 * gencmdlist.sh: Added an extra semicolon to make it work with
26687 old sed versions. Reported by Robert Bihlmeyer
26688 <robbe@orcus.priv.at>.
26689
26690 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26691
26692 Automatic loading of commands is supported.
26693
26694 * normal/main.c (read_command_list): New function.
26695 (grub_normal_execute): Call read_command_list.
26696
26697 * normal/command.c (grub_register_command): Return zero or CMD.
26698 Allocate CMD->NAME from the heap.
26699 Initialize CMD->MODULE_NAME to zero.
26700 Find the same name as well. If the same command is found and it is
26701 a dummy command, overwrite members. If it is not a dummy command,
26702 return zero.
26703 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26704 (grub_command_find): If a dummy command is found, load a module
26705 and retry to find a command only once.
26706
26707 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26708 make sure that each command is loaded.
26709
26710 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26711 macro.
26712 (struct grub_command): Remove const from the member `name'.
26713 Add a new member `module_name'.
26714 (grub_register_command): Return grub_command_t.
26715
26716 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26717 sure that each command is loaded.
26718
26719 * genmk.rb (PModule::rule): Specify a module name without the
26720 suffix ".mod" to gencmdlist.sh.
26721
26722 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26723
26724 * gencmdlist.sh: New file.
26725
26726 * genmk.rb (PModule::rule): Generate a rule for a command list.
26727 Clean command.lst.
26728 Generate command.lst from $(COMMANDFILES).
26729
26730 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26731 (DATA): Added $(pkgdata_DATA).
26732 (install-local): Install files in $(pkgdata_DATA).
26733
26734 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26735
26736 * term/i386/pc/vga.c (debug_command): Removed.
26737 (GRUB_MOD_INIT): Do not register the command "debug".
26738
26739 From Hollis Blanchard:
26740 * commands/configfile.c: New file.
26741 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26742 commands/configfile.c.
26743 (pkgdata_MODULES): Added configfile.mod.
26744 (configfile_mod_SOURCES): New variable.
26745 (configfile_mod_CFLAGS): Likewise.
26746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26747 commands/configfile.c.
26748 (pkgdata_MODULES): Added configfile.mod.
26749 (configfile_mod_SOURCES): New variable.
26750 (configfile_mod_CFLAGS): Likewise.
26751 * util/grub-emu.c (main): Call grub_configfile_init and
26752 grub_configfile_fini.
26753 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26754 prototype.
26755 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26756
26757 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26758
26759 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26760 address.
26761
26762 * commands/help.c (grub_cmd_help): Do not print newlines after
26763 the last command in print_command_help.
26764
26765 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26766
26767 * commands/default.h: New file.
26768 * commands/timeout.h: Likewise.
26769 * normal/context.c: Likewise.
26770
26771 * util/misc.c: Do not include sys/times.h.
26772 Include sys/time.h and grub/machine/time.h.
26773 (grub_get_rtc): Rewritten with gettimeofday.
26774
26775 * util/grub-emu.c (main): Call grub_default_init and
26776 grub_timeout_init before grub_normal_init, and call
26777 grub_timeout_fini and grub_default_fini after grub_main.
26778
26779 * util/console.c (grub_ncurses_checkkey): Return the read
26780 character or -1.
26781
26782 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26783 timeouts.
26784
26785 * normal/main.c (read_config_file): Push MENU. If this fails,
26786 print an error and wait for a user input.
26787 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26788 If a menu is empty or an error occurs, pop MENU.
26789 (grub_normal_execute): Pop and free MENU after grub_menu_run
26790 returns.
26791
26792 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26793
26794 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26795 include time.h.
26796 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26797 without GRUB_UTIL.
26798 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26799 time.h.
26800 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26801 without GRUB_UTIL.
26802
26803 * include/grub/normal.h (struct grub_menu_list): New struct.
26804 (grub_menu_list_t): New type.
26805 (struct grub_context): New struct.
26806 (grub_context_t): New type.
26807 (grub_register_command): Got rid of EXPORT_FUNC.
26808 (grub_unregister_command): Likewise.
26809 (grub_context_get): New prototype.
26810 (grub_context_get_current_menu): Likewise.
26811 (grub_context_push_menu): Likewise.
26812 (grub_context_pop_menu): Likewise.
26813 [GRUB_UTIL] (grub_default_init): Likewise.
26814 [GRUB_UTIL] (grub_default_fini): Likewise.
26815 [GRUB_UTIL] (grub_timeout_init): Likewise.
26816 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26817
26818 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26819 commands/timeout.c and normal/context.c.
26820 (pkgdata_MODULES): Added default.mod and timeout.mod.
26821 (normal_mod_SOURCES): Added normal/context.c.
26822 (default_mod_SOURCES): New variable.
26823 (default_mod_CFLAGS): Likewise.
26824 (timeout_mod_SOURCES): Likewise.
26825 (timeout_mod_CFLAGS): Likewise.
26826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26827 conf/i386-pc.rmk.
26828 (pkgdata_MODULES): Added default.mod and timeout.mod.
26829 (normal_mod_SOURCES): Added normal/context.c.
26830 (default_mod_SOURCES): New variable.
26831 (default_mod_CFLAGS): Likewise.
26832 (timeout_mod_SOURCES): Likewise.
26833 (timeout_mod_CFLAGS): Likewise.
26834
26835 * Makefile.in (all-local): Added $(MKFILES).
26836
26837 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26838
26839 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26840 (grub_emu_SOURCES): Likewise.
26841 (pkgdata_MODULES): Add `sun.mod'.
26842 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26844 `partmap/sun.c'.
26845 (pkgdata_MODULES): Add `sun.mod'.
26846 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26847 * include/grub/partition.h (grub_sun_partition_map_init): New
26848 prototype.
26849 (grub_sun_partition_map_fini): Likewise.
26850 * partmap/sun.c: New file.
26851 * util/grub-emu.c (main): Initialize and de-initialize the sun
26852 partitionmap support.
26853
26854 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26855
26856 This implements an Emacs-like menu entry editor.
26857
26858 * normal/menu_entry.c: New file.
26859
26860 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26861 characters to ASCII.
26862 (saved_char): New variable.
26863 (grub_ncurses_checkkey): Rewritten completely.
26864 (grub_ncurses_getkey): Likewise.
26865 (grub_ncurses_init): Call raw instead of cbreak.
26866
26867 * normal/menu.c (print_entry): Do not put a space.
26868 (init_page): Renamed to ...
26869 (grub_menu_init_page): ... this. All callers changed.
26870 (edit_menu_entry): Removed.
26871 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26872
26873 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26874
26875 * kern/misc.c (grub_vprintf): Call grub_refresh.
26876
26877 * normal/menu.c (DISP_LEFT): Renamed to ...
26878 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26879 * normal/menu.c (DISP_UP): Renamed to ...
26880 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26881 * normal/menu.c (DISP_RIGHT): Renamed to ...
26882 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26883 * normal/menu.c (DISP_DOWN): Renamed to ...
26884 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26885 * normal/menu.c (DISP_HLINE): Renamed to ...
26886 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26887 * normal/menu.c (DISP_VLINE): Renamed to ...
26888 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26889 * normal/menu.c (DISP_UL): Renamed to ...
26890 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26891 * normal/menu.c (DISP_UR): Renamed to ...
26892 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26893 * normal/menu.c (DISP_LL): Renamed to ...
26894 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26895 * normal/menu.c (DISP_LR): Renamed to ...
26896 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26897 * normal/menu.c (TERM_WIDTH): Renamed to ...
26898 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26899 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26900 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26901 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26902 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26903 * normal/menu.c (TERM_MARGIN): Renamed to ...
26904 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26905 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26906 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26907 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26908 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26909 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26910 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26911 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26912 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26913 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26914 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26915 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26916 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26917 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26918 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26919 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26920 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26921 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26922 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26923 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26924 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26925 All callers changed.
26926
26927 * include/grub/normal.h: New prototype.
26928
26929 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26930 normal/menu_entry.c.
26931 (normal_mod_SOURCES): Likewise.
26932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26933 (normal_mod_SOURCES): Likewise.
26934
26935 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26936
26937 * include/grub/normal.h (grub_halt_init): New prototype.
26938 (grub_halt_fini): Likewise.
26939 (grub_reboot_init): Likewise.
26940 (grub_reboot_fini): Likewise.
26941
26942 * util/grub-emu.c: Include signal.h.
26943 (main_env): New global variable.
26944 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26945 catch C-c.
26946 (grub_machine_fini): New function.
26947 (main): Call grub_halt_init and grub_reboot_init before
26948 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26949 Call setjmp with MAIN_ENV to go back afterwards.
26950 Call grub_machine_fini right before return.
26951
26952 * include/grub/util/misc.h: Include setjmp.h.
26953 (main_env): New prototype.
26954
26955 * include/grub/kernel.h (grub_machine_fini): New prototype.
26956 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26957 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26958
26959 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26960 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26961 * term/i386/pc/console.c (grub_console_fini): Likewise.
26962
26963 * util/i386/pc/misc.c: New file.
26964
26965 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26966 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26967 commands/i386/pc/reboot.c.
26968
26969 2005-02-14 Guillem Jover <guillem@hadrons.org>
26970
26971 * include/grub/dl.h (grub_dl_check_header): New prototype.
26972 (grub_arch_dl_check_header): Change return type to grub_err_t,
26973 remove size parameter and export function. Update all callers.
26974 * kern/dl.c (grub_dl_check_header): New function.
26975 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26976 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26977 are inside the core.
26978 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26979 independent ELF header checks.
26980 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26981 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26982 `grub_dl_check_header' instead of explicit checks. Check for the
26983 ELF type.
26984 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26985 `grub_dl_check_header' instead of explicit checks. Remove arch
26986 specific ELF header checks.
26987
26988 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26989 argument SIZE.
26990
26991 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26992
26993 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26994 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26995
26996 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26997
26998 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
26999 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
27000 (part_map_iterate): Clear `grub_errno' and return 0 if
27001 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
27002 * partmap/amiga.c (amiga_partition_map_iterate): Return
27003 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27004 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27005
27006 2005-02-01 Guillem Jover <guillem@hadrons.org>
27007
27008 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27009 help info.
27010
27011 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27012
27013 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27014 Removed prototype.
27015 (grub_rescue_cmd_linux): New prototype.
27016 (grub_rescue_cmd_initrd): Likewise.
27017 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27018 `bi_rec'.
27019 (grub_linux_release_mem): Release the memory for the initrd.
27020 (grub_load_linux): Renamed from this...
27021 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27022 Changed `entry' not to be static. Loop over memory regions to
27023 find another one when the default fails.
27024 (grub_rescue_cmd_initrd): New function.
27025 (grub_linux_init): Remove function.
27026 (grub_linux_fini): Likewise.
27027 (GRUB_MOD_INIT): Register `initrd'.
27028 (GRUB_MOD_FINI): Unregister `initrd'.
27029 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27030 Function removed.
27031 (grub_linux_normal_fini): Likewise.
27032 (GRUB_MOD_INIT): Register `initrd'.
27033 (GRUB_MOD_FINI): Unregister `initrd'.
27034
27035 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27036
27037 * commands/help.c: New file.
27038 * normal/arg.c (show_help): Renamed to...
27039 (grub_arg_show_help): ... this.
27040 * commands/i386/pc/halt.c: New file.
27041 * commands/i386/pc/reboot.c: Likewise.
27042 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27043 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27044 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27045 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27046 variables.
27047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27048 `commands/help.c'.
27049 (pkgdata_MODULES): Add `help.mod'.
27050 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27051 * grub/i386/pc/init.h (grub_reboot): New prototype.
27052 (grub_halt): Likewise.
27053 * include/grub/normal.h (grub_arg_show_help): New prototype.
27054 (grub_help_init): Likewise.
27055 (grub_help_fini): Likewise.
27056 * util/grub-emu.c (main): Initialize and deinitialize the help
27057 command.
27058
27059 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27060
27061 * normal/command.c (grub_command_init): Fixed the description of
27062 the `set' and `unset' commands.
27063
27064 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27065
27066 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27067 function.
27068 * commands/ieee1275/halt.c: New file.
27069 * commands/ieee1275/reboot.c: Likewise.
27070 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27071 `__attribute__ ((unused))'. Some GCS related fixed.
27072 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27073 (grub_suspend_fini): Likewise.
27074 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27075 and `halt.mod'.
27076 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27077 (halt_mod_CFLAGS): New variables.
27078 * include/grub/powerpc/ieee1275/ieee1275.h
27079 (grub_ieee1275_interpret): New prototype.
27080
27081 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27082
27083 * include/grub/misc.h (memmove): New prototype.
27084 (memcpy): Likewise.
27085
27086 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27087
27088 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27089 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27090
27091 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27092
27093 * kern/misc.c (grub_strndup): Function rewritten.
27094
27095 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27096
27097 * normal/menu.c (TERM_WIDTH): Macro redefined.
27098 (TERM_TOP_BORDER_Y): Likewise.
27099 (draw_border): Replaced while-loop by a for-loop. Make the number
27100 of lines consistent with the number of lines displayed in
27101 print_entries. Added a margin below the rectangle.
27102 (print_entry): Make the entry fit in the rectangle.
27103 (print_entries): Display the scroll arrows next to the right
27104 border.
27105
27106 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27107
27108 * fs/minix.c (grub_minix_find_file): Reserve more space for
27109 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27110 `grub_strncpy' to copy `path' into it.
27111
27112 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27113
27114 Add the loopback device, a device via which files can be accessed
27115 as devices.
27116
27117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27118 (pkgdata_MODULES): Add loopback.mod.
27119 (loopback_mod_SOURCES): New variable.
27120 (loopback_mod_CFLAGS): Likewise.
27121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27122 `disk/loopback.c'.
27123 (pkgdata_MODULES): Add loopback.mod.
27124 (loopback_mod_SOURCES): New variable.
27125 (loopback_mod_CFLAGS): Likewise.
27126 * disk/loopback.c: new file.
27127 * include/grub/normal.h (grub_loop_init): New prototype.
27128 (grub_loop_fini): New prototype.
27129 * util/grub-emu.c (main): Initialize and de-initialize loopback
27130 support.
27131 * include/grub/disk.h (grub_disk_dev_id): Add
27132 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27133
27134 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27135
27136 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27137 function.
27138 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27139 (suspend_mod_SOURCES): New variable.
27140 (suspend_mod_CFLAGS): Likewise.
27141 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27142 New prototype.
27143 * commands/ieee1275/suspend.c: New file.
27144
27145 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27146
27147 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
27148 ((unused))' to `__attribute__ ((used))'.
27149 (GRUB_MOD_FINI): Likewise.
27150 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27151 * genmk.rb (PModule): Assign space to common symbols when linking
27152 modules.
27153
27154 2005-01-20 Marco Gerards <metgerards@student.han.nl>
27155
27156 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27157 `unsigned' arguments to `grub_size_t'.
27158 (grub_malloc): Likewise.
27159 (grub_realloc): Likewise.
27160 (grub_memalign): Likewise.
27161 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27162 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27163 * util/misc.c (grub_malloc): Likewise.
27164 (grub_realloc): Likewise.
27165 * kern/mm.c (get_header_from_pointer): Change the casts to
27166 `unsigned' into a cast to `grub_size_t'.
27167
27168 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27169 point to `currnode' when `currnode' is changed.
27170
27171 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27172 Schottelius <nico-linux@schottelius.org>.
27173
27174 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27175
27176 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27177 (note_path): Remove variable.
27178 (GRUB_IEEE1275_NOTE_NAME): New macro.
27179 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27180 (grub_ieee1275_note_hdr): New structure.
27181 (grub_ieee1275_note_desc): Likewise.
27182 (grub_ieee1275_note): Likewise.
27183 (load_note): Remove `dir' argument. All callers updated. Remove
27184 `note_img' and `path'. Do not load a file from `note_path'.
27185 Initialize a struct grub_ieee1275_note and write that to `out'.
27186 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27187
27188 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27189
27190 * util/misc.c (grub_util_read_image): Revert last change. It
27191 called `grub_util_read_at', which seeks from the beginning of the
27192 file.
27193
27194 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27195
27196 * TODO: Add note about endianness in grub-mkimage.
27197 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27198 section.
27199 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27200 (grub_mkimage_SOURCES): New target.
27201 * include/grub/kernel.h (grub_start_addr): Remove variable.
27202 (grub_end_addr): Likewise.
27203 (grub_total_module_size): Likewise.
27204 (grub_kernel_image_size): Likewise.
27205 (GRUB_MODULE_MAGIC): New constant.
27206 (grub_module_info): New structure.
27207 (grub_arch_modules_addr): New prototype.
27208 (grub_get_end_addr): Remove prototype.
27209 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27210 * include/grub/powerpc/ieee1275/kernel.h: New file.
27211 * include/grub/util/misc.h (grub_util_get_fp_size): New
27212 prototype.
27213 (grub_util_read_at): Likewise.
27214 (grub_util_write_image_at): Likewise.
27215 * kern/main.c (grub_get_end_addr): Remove function.
27216 (grub_load_modules): Call grub_arch_modules_addr instead of using
27217 grub_end_addr. Look for a grub_module_info struct in memory. Use
27218 the grub_module_info fields instead of calling grub_get_end_addr
27219 as loop conditions. Move grub_add_unused_region code here.
27220 (grub_add_unused_region): Remove function.
27221 * kern/i386/pc/init.c: Include grub/cache.h.
27222 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27223 one call to add_mem_region.
27224 (grub_arch_modules_addr): New function.
27225 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27226 (grub_total_module_size): Likewise.
27227 Include grub/machine/kernel.h.
27228 (grub_arch_modules_addr): New function.
27229 * util/grub-emu.c (grub_end_addr): Remove variable.
27230 (grub_total_module_size): Likewise.
27231 (grub_arch_modules_addr): New function.
27232 * util/misc.c: Include unistd.h.
27233 (grub_util_get_fp_size): New function.
27234 (grub_util_read_at): Likewise.
27235 (grub_util_write_image_at): Likewise.
27236 (grub_util_read_image): Call grub_util_read_at.
27237 (grub_util_write_image): Call grub_util_write_image_at.
27238 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27239 additional memory in kernel_img for a struct grub_module_info.
27240 Fill in that grub_module_info.
27241 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27242
27243 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27244
27245 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27246 New function.
27247 * include/grub/powerpc/ieee1275/ieee1275.h
27248 (grub_ieee1275_milliseconds): New prototype.
27249 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27250 Change to 1000.
27251 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27252 grub_ieee1275_milliseconds.
27253
27254 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27255
27256 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27257 variable.
27258 (find_options): New function.
27259 (cmain): Call find_options.
27260 * include/grub/powerpc/ieee1275/ieee1275.h
27261 (grub_ieee1275_realmode): New extern variable.
27262 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27263 grub_map if grub_ieee1275_realmode is false.
27264
27265 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27266
27267 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27268 lines are inserted and make it work like readline. Reported by
27269 Vincent Pelletier <subdino2004@yahoo.fr>.
27270
27271 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27272
27273 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27274
27275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27276 `kern/powerpc/cache.S'.
27277
27278 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27279
27280 * genmk.rb: Handle the `Program' class in the main loop. Written
27281 by Johan Rydberg <jrydberg@gnu.org>.
27282 (Program): New class.
27283 (programs): New variable.
27284 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27285 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27286 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27287 (help_arch): Function removed.
27288 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27289 `powerpc/libgcc.h' and `loader.h'.
27290 (pkgdata_PROGRAMS): New variable.
27291 (sbin_UTILITIES): Variable removed.
27292 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27293 (grubof_SOURCES): Variable re-defined so it only includes the
27294 core functionality.
27295 (grubof_CFLAGS): Remove `-DGRUBOF'.
27296 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27297 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27298 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27299 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27300 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27301 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27302 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27303 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27304 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27305 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27306 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27307 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27308 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27309 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27310 (pc_mod_CFLAGS): New variables.
27311 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27312 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27313 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27314 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27315 Moved from here...
27316 * include/grub/i386/pc/init.h (grub_os_area_addr)
27317 (rub_os_area_size): ... to here.
27318 * include/grub/powerpc/ieee1275/ieee1275.h
27319 (grub_ieee1275_entry_fn): Export symbol.
27320 * include/grub/powerpc/ieee1275/init.h: New file.
27321 * include/grub/powerpc/libgcc.h: Likewise.
27322 * include/grub/cache.h: Likewise.
27323 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27324 <hollis@penguinppc.org>.
27325 * kern/dl.c: Include <grub/cache.h>.
27326 (grub_dl_flush_cache): New function.
27327 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27328 for this module.
27329 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27330 (grub_console_init): Removed prototypes.
27331 (grub_machine_init): Don't initialize the modules anymore.
27332 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27333 static.
27334 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27335 Macro undef removed.
27336 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27337 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27338 relocation `R_PPC_REL32'. Return an error when the relocation is
27339 unknown.
27340 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27341 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27342 * util/misc.c (grub_arch_sync_caches): Likewise.
27343
27344 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27345
27346 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27347 `symlist.c', add `grubof_symlist.c'.
27348 (symlist.c): Variable removed.
27349 (grubof_HEADERS): Variable added.
27350 (grubof_symlist.c): New target.
27351 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27352 `kernel_img_HEADERS'.
27353 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27354 * kern/powerpc/dl.c: New file.
27355 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27356 Function removed.
27357 (grub_arch_dl_relocate_symbols): Likewise.
27358 (grub_register_exported_symbols): Likewise.
27359
27360 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27361
27362 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27363 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27364 to fail instead. Reported by Vincent Pelletier
27365 <subdino2004@yahoo.fr>.
27366
27367 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27368 it is not allocated. Reported by Vincent Pelletier
27369 <subdino2004@yahoo.fr>.
27370
27371 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27372 output so the output looks better.
27373
27374 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27375
27376 Modulize the partition map support and add support for the amiga
27377 partition map.
27378
27379 * commands/ls.c: Include <grub/partition.h> instead of
27380 <grub/machine/partition.h>.
27381 * kern/disk.c: Likewise.
27382 * kern/rescue.c: Likewise.
27383 * loader/i386/pc/chainloader.c: Likewise.
27384 * normal/cmdline.c: Likewise.
27385 * kern/powerpc/ieee1275/init.c: Likewise.
27386 (grub_machine_init): Call `grub_pc_partition_map_init',
27387 `grub_amiga_partition_map_init' and
27388 `grub_apple_partition_map_init'.
27389 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27390 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27391 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27392 `partition.h' and `pc_partition.h'.
27393 (grub_setup_SOURCES): Remove
27394 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27395 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27396 (grub_emu_SOURCES): Likewise.
27397 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27398 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27399 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27401 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27402 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27403 (grubof_SOURCES): Likewise.
27404 * disk/i386/pc/partition.c: File removed.
27405 * disk/powerpc/ieee1275/partition.c: Likewise.
27406 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27407 * include/grub/i386/pc/partition.h: Likewise.
27408 * kern/partition.c: New file.
27409 * partmap/amiga.c: Likewise.
27410 * partmap/apple.c: Likewise.
27411 * partmap/pc.c: Likewise.
27412 * include/grub/partition.h: Likewise..
27413 * include/grub/pc_partition.h: Likewise.
27414 * util/grub-emu.c: Include <grub/partition.h> instead of
27415 <grub/machine/partition.h>.
27416 (main): Call `grub_pc_partition_map_init',
27417 `grub_amiga_partition_map_init' and
27418 `grub_apple_partition_map_init' and deinitialize afterwards.
27419 * util/i386/pc/biosdisk.c: Include `#include
27420 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27421 `<grub/machine/partition.h>'.
27422 * util/i386/pc/grub-setup.c: Likewise.
27423 * util/i386/pc/biosdisk.c: Likewise.
27424 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27425 partition information in case of a PC partition.
27426 * util/i386/pc/grub-setup.c: Include `#include
27427 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27428 `<grub/machine/partition.h>'.
27429 (setup): Only access the PC specific partition information in case
27430 of a PC partition.
27431
27432 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27433
27434 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27435 (grub_longjmp): Likewise.
27436 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27437 20.
27438 * normal/powerpc/setjmp.S: New file.
27439 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27440 `normal/powerpc/setjmp.S'.
27441 (grubof_CFLAGS): Add `-DGRUBOF'.
27442 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27443 [GRUB_UTIL && !GRUBOF].
27444
27445 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27446
27447 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27448 property named `name'. Correctly handle the error returned by
27449 `grub_ieee1275_finddevice' if a device can not be opened.
27450
27451 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27452
27453 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27454 `actual' for negativity.
27455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27456 kern/fshelp.c.
27457
27458 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27459
27460 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27461 (PAGE_OFFSET): New macro.
27462 (CRTC_ADDR_PORT): Likewise.
27463 (CRTC_DATA_PORT): Likewise.
27464 (START_ADDR_HIGH_REGISTER): Likewise.
27465 (START_ADDR_LOW_REGISTER): Likewise.
27466 (GRAPHICS_ADDR_PORT): Likewise.
27467 (GRAPHICS_DATA_PORT): Likewise.
27468 (READ_MAP_REGISTER): Likewise.
27469 (INPUT_STATUS1_REGISTER): Likewise.
27470 (INPUT_STATUS1_VERTR_BIT): Likewise.
27471 (page): New variable.
27472 (wait_vretrace): New function.
27473 (set_read_map): Likewise.
27474 (set_start_address): Likewise.
27475 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27476 the right page.
27477 (check_vga_mem): Take the page into account.
27478 (write_char): Likewise.
27479 (write_cursor): Likewise.
27480 (scroll_up): Likewise. Copy the page to the page that is not
27481 shown and switch between both pages.
27482 (grub_vga_putchar): Fix off by one error.
27483 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27484 account.
27485
27486 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27487
27488 Add support for iso9660 (including rockridge).
27489
27490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27491 (iso9660_mod_SOURCES): New variable.
27492 (iso9660_mod_CFLAGS): Likewise.
27493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27494 * include/grub/fs.h (grub_iso9660_init): New prototype.
27495 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27496 * fs/iso9660.c: New file.
27497
27498 * include/grub/misc.h (grub_strncat): New prototype.
27499 * kern/misc.c (grub_strncat): New function.
27500
27501 * fs/hfs.c (grub_hfs_mount): Translate the error
27502 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27503 * fs/jfs.c (grub_jfs_mount): Likewise.
27504 * fs/ufs.c (grub_ufs_mount): Likewise.
27505
27506 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27507
27508 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27509 which initialized BAT registers.
27510 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27511 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27512 Move from here...
27513 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27514 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27515 ... to here.
27516 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27517 (grub_mapclaim): Likewise.
27518 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27519 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27520 hand.
27521
27522 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27523
27524 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27525 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27526 -ffreestanding and -msoft-float.
27527
27528 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27529
27530 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27531 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27532 set in grub_ieee1275_flags.
27533
27534 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27535
27536 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27537 prototype.
27538 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27539 grub_console_init first.
27540 Change the memory range used for grub_ieee1275_claim and
27541 grub_mm_init_region.
27542 Print an error message if the claim fails.
27543 Include <grub/misc.h>.
27544
27545 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27546
27547 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27548 Call grub_children_iterate for device nodes of type `scsi',
27549 `ide', or `ata'.
27550 (grub_ofdisk_open): Remove manual device alias resolution.
27551 Fix memory leak when device cannot be opened.
27552 * include/grub/powerpc/ieee1275/ieee1275.h
27553 (grub_children_iterate): New prototype.
27554 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27555 New function.
27556 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27557 Return -1 if args.size was -1.
27558
27559 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27560
27561 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27562 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27563 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27564 Open Firmware's memory for it; claim memory from _start to _end.
27565 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27566 (_end): New extern.
27567 (_start): Zero BSS from __bss_start to _end.
27568 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27569 New extern.
27570 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27571
27572 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27573
27574 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27575 -1 if args.base was -1.
27576
27577 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27578
27579 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27580 escape sequence instead of a literal ^L. Also call
27581 grub_ofconsole_gotoxy.
27582
27583 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27584
27585 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27586 void * arguments to grub_addr_t. All callers updated. Also make
27587 the `result' argument optional.
27588 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27589 All callers updated.
27590
27591 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27592
27593 * commands/ls.c (grub_ls_list_files): Use the string following the
27594 initial ')', if present, as the filesystem path.
27595 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27596
27597 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27598
27599 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27600
27601 Make the source code of the menu interface more readable.
27602
27603 * normal/menu.c: Include grub/mm.h.
27604 (TERM_WIDTH): New macro.
27605 (TERM_HEIGHT): Likewise.
27606 (TERM_INFO_HEIGHT): Likewise.
27607 (TERM_MARGIN): Likewise.
27608 (TERM_SCROLL_WIDTH): Likewise.
27609 (TERM_TOP_BORDER_Y): Likewise.
27610 (TERM_LEFT_BORDER_X): Likewise.
27611 (TERM_BORDER_WIDTH): Likewise.
27612 (TERM_MESSAGE_HEIGHT): Likewise.
27613 (TERM_BORDER_HEIGHT): Likewise.
27614 (TERM_NUM_ENTRIES): Likewise.
27615 (TERM_FIRST_ENTRY_Y): Likewise.
27616 (TERM_ENTRY_WIDTH): Likewise.
27617 (TERM_CURSOR_X): Likewise.
27618 (draw_border): Use macros instead of magic numbers.
27619 (print_entry): Likewise.
27620 (print_entries): Likewise.
27621 (run_menu): Likewise. Also, handle the key 'e'.
27622 (run_menu_entry): Ignore empty command lines.
27623 (print_message): Added a new argument EDIT. If EDIT is true,
27624 print a different message.
27625 (init_page): Likewise.
27626 (edit_menu_entry): New function. Not implemented yet.
27627
27628 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27629
27630 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27631 can be loaded from normal mode.
27632
27633 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27634 `multiboot.mod'.
27635 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27636 (multiboot_mod_CFLAGS): New variables.
27637 * loader/i386/pc/linux_normal.c: New file.
27638 * loader/i386/pc/multiboot_normal.c: Likewise.
27639
27640 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27641 attribute `unused'.
27642
27643 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27644 `fdiro' to read the mode information from instead of `diro'.
27645
27646 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27647 looking up a symlink.
27648
27649 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27650 macro.
27651 * normal/command.c (grub_command_execute): Don't parse the
27652 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27653 flags of the command.
27654
27655 * normal/menu.c (grub_menu_run): Fix typo.
27656
27657 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27658
27659 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27660
27661 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27662 `y + 1' instead of `y - 1'.
27663
27664 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27665
27666 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27667
27668 From Hollis Blanchard <hollis@penguinppc.org>:
27669 * kern/misc.c (memmove): New alias for grub_memmove.
27670 (memcmp): New alias for grub_memcmp.
27671 (memset): New alias for grub_memset.
27672 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27673 Change "int handle" to "grub_ieee1275_phandle_t handle".
27674 * include/grub/powerpc/ieee1275/ieee1275.h
27675 (grub_ieee1275_get_property): Likewise.
27676
27677 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27678
27679 Added normal mode command `chainloader' as module chain.mod, which
27680 depends on normal.mod and _chain.mod.
27681
27682 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27683 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27684 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27685 Deleted prototype.
27686 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27687 but arguments parsing moved to ...
27688 (grub_chainloader_cmd): ... here. New function.
27689 * include/grub/i386/pc/chainloader.h: New file.
27690 * loader/i386/pc/chainloader_normal.c: Likewise.
27691
27692 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27693
27694 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27695 (grub_mkimage_LDFLAGS): Likewise.
27696 (grub_emu_SOURCES): Likewise.
27697 (kernel_img_HEADERS): Added fshelp.h.
27698 * fs/ext2.c: Include <grub/fshelp.h>.
27699 (FILETYPE_REG): New macro.
27700 (FILETYPE_INO_REG): Likewise.
27701 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27702 Changed all users.
27703 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27704 all users.
27705 (grub_fshelp_node): New struct.
27706 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27707 to a pointer.
27708 (grub_ext2_get_file_block): Removed function.
27709 (grub_ext2_read_block): New function.
27710 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27711 This function was written.
27712 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27713 (grub_ext2_find_file): Removed function.
27714 (grub_ext2_read_symlink): New function.
27715 (grub_ext2_iterate_dir): Likewise.
27716 (grub_ext2_open): Rewritten.
27717 (grub_ext2_dir): Rewritten.
27718 * include/grub/fshelp.h: New file.
27719 * fs/fshelp.c: Likewise.
27720
27721 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27722
27723 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27724 (print_message): Add a missing newline.
27725 (run_menu): Added timeout support.
27726 (run_menu_entry): New local function.
27727 (grub_menu_run): Added support for booting.
27728
27729 * kern/loader.c (grub_loader_is_loaded): New function.
27730
27731 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27732 (grub_get_rtc): Exported.
27733
27734 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27735 (grub_get_rtc): Exported.
27736
27737 * include/grub/normal.h (struct grub_command_list): Remove
27738 constant from the member `command'.
27739
27740 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27741
27742 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27743
27744 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27745
27746 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27747
27748 Add support for the JFS filesystem.
27749
27750 * fs/jfs.c: New file.
27751 * include/grub/fs.h (grub_jfs_init): New prototype.
27752 (grub_jfs_fini): New prototype.
27753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27754 (grub_emu_SOURCES): Likewise.
27755 (pkgdata_MODULES): Add jfs.mod.
27756 (jfs_mod_SOURCES): New variable.
27757 (jfs_mod_CFLAGS): Likewise.
27758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27759 (grubof_SOURCES): Likewise.
27760 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27761
27762 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27763 endian to the host endian.
27764 (grub_fat_utf16_to_utf8): Move function from there...
27765 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27766 the endianness of the source string anymore.
27767 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27768
27769 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27770
27771 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27772 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27773 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27774 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27775
27776 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27777 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27778 for `node_found' and `it_dir'.
27779 (grub_hfs_dir): Add prototype for `dir_hook'.
27780
27781 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27782 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27783 and `indir32' to silence a gcc warning.
27784
27785 * include/grub/fs.h (grub_hfs_init): New prototype.
27786 (grub_hfs_fini): Likewise.
27787
27788
27789 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27790
27791 Each disk device has its own id now. This is useful to make use
27792 of multiple disk devices.
27793
27794 * include/grub/disk.h (grub_disk_dev_id): New enum.
27795 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27796 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27797
27798 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27799 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27800
27801 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27802 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27803
27804 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27805 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27806
27807 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27808 "id" which is used by the cache manager.
27809
27810 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27811 of just "GRUB".
27812
27813 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27814
27815 * fs/hfs.c: New file.
27816 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27817 (grub_emu_SOURCES): Likewise.
27818 (pkgdata_MODULES): Add hfs.mod.
27819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27820 (grubof_SOURCES): Likewise.
27821 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27822
27823 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27824 * kern/misc.c (grub_strncasecmp): Add function.
27825
27826 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27827
27828 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27829 with parentheses.
27830
27831 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27832 (grub_ext2_dir): In case the directory entry type is unknown, read
27833 it from the inode.
27834
27835 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27836
27837 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27838 grub_load_linux instead of grub_rescue_cmd_linux as second
27839 argument of grub_rescue_register_command.
27840
27841 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27842
27843 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27844
27845 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27846 function.
27847 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27848 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27849 `loader/powerpc/ieee1275/linux.c',
27850 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27851 * include/grub/powerpc/ieee1275/ieee1275.h
27852 (grub_ieee1275_release): New prototype.
27853 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27854 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27855 normal, boot, linux and linux_normal.
27856 * loader/powerpc/ieee1275/linux.c: New file.
27857 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27858
27859 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27860
27861 * normal/arg.c (grub_arg_parse): Correct error handling after
27862 reallocating the argumentlist (check if `argl' is not null instead
27863 of checking if `args' is not null).
27864 * kern/mm.c (grub_realloc): Return the same pointer when using the
27865 same region, instead of returning the header address.
27866
27867 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27868
27869 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27870 one block instead of two when looking for the initial partition.
27871 (grub_partition_probe): Initialize the local variable `p' with 0.
27872 Use base 10 for the grub_strtoul call.
27873 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27874 need for one local variable.
27875 (grub_strtoul): Don't add the new value to `num', instead of that
27876 just assign it.
27877
27878 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27879
27880 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27881 (pxeboot_img_SOURCES): New variable.
27882 (pxeboot_img_ASFLAGS): Likewise.
27883 (pxeboot_img_LDFLAGS): Likewise.
27884 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27885 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27886 <lode_leroy@hotmail.com>.
27887
27888 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27889
27890 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27891 there was no input.
27892
27893 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27894
27895 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27896 the history buffer logic.
27897
27898 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27899
27900 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27901 (FILETYPE_INO_SYMLINK): New macros.
27902 (grub_ext2_find_file): Check if the node is a directory using the
27903 inode stat information instead of using the filetype in the
27904 dirent. Exclude the first character of an absolute symlink.
27905 (grub_ext2_dir): Mask out the filetype part of the mode member of
27906 the inode.
27907
27908 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27909
27910 Add support for UFS version 1 and 2. Add support for the minix
27911 filesystem version 1 and 2, both the variants with 14 and 30 long
27912 filenames.
27913
27914 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27915 fs/minix.c.
27916 (grub_emu_SOURCES): Likewise.
27917 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27918 (ufs_mod_SOURCES): New variable.
27919 (ufs_mod_CFLAGS): Likewise.
27920 (minix_mod_SOURCES): Likewise.
27921 (minix_mod_CFLAGS): Likewise.
27922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27923 fs/minix.c.
27924 (grubof_SOURCES): Likewise.
27925 * fs/ufs.c: New file.
27926 * fs/minix.c: New file.
27927 * include/grub/fs.h (grub_ufs_init): New prototype.
27928 (grub_ufs_fini): Likewise.
27929 (grub_minix_init): Likewise.
27930 (grub_minix_fini): Likewise.
27931 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27932 minix fs.
27933
27934 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27935
27936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27937 commands/ls.c, commands/terminal.c, commands/boot.c,
27938 commands/cmp.c and commands/cat.c.
27939 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27940
27941 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27942 "env.h"
27943
27944 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27945
27946 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27947 and grub_, respectively. Because the conversion is trivial and
27948 mechanical, I omit the details here. Please refer to the CVS
27949 if you need more information.
27950
27951 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27952
27953 * include/pupa: Renamed to ...
27954 * include/grub: ... this.
27955 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27956 * util/i386/pc/grub-mkimage.c: ... this.
27957 * util/i386/pc/pupa-setup.c: Renamed to ...
27958 * util/i386/pc/grub-setup.c: ... this.
27959 * util/pupa-emu.c: Renamed to ...
27960 * util/grub-emu.c: ... this.
27961
27962 2004-03-29 Marco Gerards <metgerards@student.han.nl>
27963
27964 Add support for the newworld apple macintosh (PPC). This has been
27965 tested on the powerbook 2000 only. It only adds support for
27966 generic ieee1275 functions, console and disk support. This should
27967 be easy to port to other architectures with support for Open
27968 Firmware.
27969
27970 * configure.ac: Accept the powerpc as host_cpu. In the case of
27971 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27972 specific tests are only executed while building for the i386.
27973 Inverse test for crosscompile.
27974 * genmk.rb (Utility): Allow assembler files.
27975 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27976 * conf/powerpc-ieee1275.rmk: New file.
27977 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27978 * disk/powerpc/ieee1275/partition.c: Likewise.
27979 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27980 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27981 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27982 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27983 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27984 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27985 * include/pupa/powerpc/ieee1275/loader.h
27986 * include/pupa/powerpc/setjmp.h: Likewise.
27987 * include/pupa/powerpc/types.h: Likewise.
27988 * kern/powerpc/ieee1275/init.c: Likewise.
27989 * kern/powerpc/ieee1275/openfw.c: Likewise.
27990 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27991
27992 These files were written by Johan Rydberg
27993 (jrydberg@night.trouble.net) and I only modified them slightly.
27994
27995 * boot/powerpc/ieee1275/cmain.c: New file.
27996 * boot/powerpc/ieee1275/crt0.S: Likewise.
27997 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27998 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27999
28000 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28001
28002 * Makefile.in: Update copyright.
28003 * genmodsrc.sh: Likewise.
28004 * gensymlist.sh: Likewise.
28005 * term/i386/pc/vga.c: Indent correctly.
28006
28007 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28008 bugreporting address.
28009 * util/i386/pc/pupa-setup.c (usage): Likewise,
28010 (main): Call pupa_ext2_init and pupa_ext2_fini.
28011
28012 * fs/fat.c (log2): Renamed to ...
28013 (fat_log2): ... this.
28014 All callers changed.
28015 * kern/misc.c (memcpy): Alias to pupa_memmove.
28016 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28017 lvalue cast.
28018 * util/console.c (pupa_ncurses_fini): Return 0.
28019
28020 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28021 Move fail label here.
28022 [__GNU__]: Don't warn when using stat.
28023 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28024 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28025 long int. Use strtol instead of strtoul.
28026
28027 2004-03-14 Marco Gerards <metgerards@student.han.nl>
28028
28029 * commands/boot.c: New file.
28030 * commands/cat.c: Likewise.
28031 * commands/cmp.c: Likewise.
28032 * commands/ls.c: Likewise.
28033 * commands/terminal.c: Likewise.
28034 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28035 (pupa_register_command): Changed interface to match the new
28036 argument parser.
28037 (pupa_command_execute): Changed (almost rewritten) so it uses
28038 pupa_split_command. Added support for setting variables using the
28039 syntax `foo=bar'.
28040 (rescue_command): Changed to work with the new argument parser.
28041 (terminal_command): Moved from here to commands/terminal.c.
28042 (set_command): New function.
28043 (unset_command): New function.
28044 (insmod_command): New function.
28045 (rmmod_command): New function.
28046 (lsmod_command): New function.
28047 (pupa_command_init): Don't initialize the command terminal
28048 anymore. Initialize the commands set, unset, insmod, rmmod and
28049 lsmod.
28050 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28051 (kernel_img_HEADERS): Add arg.h and env.h.
28052 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28053 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28054 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28055 normal/arg.c.
28056 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28057 terminal.mod.
28058 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28059 (boot_mod_SOURCES): New variable.
28060 (terminal_mod_SOURCES): Likewise.
28061 (ls_mod_SOURCES): Likewise.
28062 (cmp_mod_SOURCES): Likewise.
28063 (cat_mod_SOURCES): Likewise.
28064
28065 * normal/arg.c: New file.
28066 * kern/env.c: Likewise.
28067 * include/pupa/arg.h: Likewise.
28068 * include/pupa/env.h: Likewise.
28069 * font/manager.c (font_command): Changed to match argument parsing
28070 interface changes.
28071 (PUPA_MOD_INIT): Likewise.
28072 * hello/hello.c (pupa_cmd_hello): Likewise.
28073 (PUPA_MOD_INIT): Likewise.
28074 * include/pupa/disk.h: Include <pupa/device.h>.
28075 (pupa_print_partinfo): New prototype.
28076 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28077 (pupa_dl_get_prefix): Likewise.
28078 * include/pupa/misc.h: Include <pupa/err.h>.
28079 (pupa_isgraph): New prototype.
28080 (pupa_isdigit): Likewise.
28081 (pupa_split_cmdline): Likewise.
28082 * include/pupa/normal.h: Include <pupa/arg.h>.
28083 (pupa_command): Changed the prototype of the member `func' to
28084 match the argument parsing interface. Added member `options'.
28085 (pupa_register_command): Updated to match function.
28086 (pupa_arg_parse): New prototype.
28087 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28088 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28089 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28090 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28091 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28092 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28093 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28094 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28095 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28096 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28097 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28098 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28099 * kern/disk.c: Include <pupa/file.h>.
28100 (pupa_print_partinfo): New function.
28101 * kern/dl.c: Include <pupa/env.h>.
28102 (pupa_dl_dir): Variable removed.
28103 (pupa_dl_load): Use the environment variable `prefix' instead of
28104 the variable pupa_dl_dir.
28105 (pupa_dl_set_prefix): Function removed.
28106 (pupa_dl_get_prefix): Likewise.
28107 * kern/i386/pc/init.c: Include <pupa/env.h>.
28108 (pupa_machine_init): Use the environment variable `prefix' instead of
28109 using pupa_dl_set_prefix to set the prefix.
28110 * kern/main.c: Include <pupa/env.h>.
28111 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28112 using pupa_dl_get_prefix to get the prefix.
28113 * kern/misc.c: Include <pupa/env.h>.
28114 (pupa_isdigit): New function.
28115 (pupa_isgraph): Likewise.
28116 (pupa_ftoa): Likewise.
28117 (pupa_vsprintf): Added support for printing values of the type
28118 `double'. Make it possible to format variable output when using
28119 formatting like `%1.2%f'.
28120 (pupa_split_cmdline): New function.
28121 * kern/rescue.c: Include <pupa/env.h>.
28122 (next_word): Removed function.
28123 (pupa_rescue_cmd_prefix): Likewise.
28124 (pupa_rescue_cmd_set): New function.
28125 (pupa_rescue_cmd_unset): New function.
28126 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28127 split the command line instead of splitting it here. Added
28128 support for setting variables using the syntax `foo=bar'. Don't
28129 initialize the prefix command anymore. Initialized the set and
28130 unset commands.
28131 * normal/cmdline.c: Include <pupa/env.h>.
28132 (pupa_tab_complete): Added prototypes for print_simple_completion,
28133 print_partition_completion, add_completion, iterate_commands,
28134 iterate_dev, iterate_part and iterate_dir. Moved code to print
28135 partition information from here to kern/disk.c.
28136 (pupa_cmdline_run): Don't check if the function exists anymore.
28137 * normal/main.c: Include <pupa/env.h>.
28138 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28139 instead of using pupa_dl_get_prefix to get the prefix.
28140 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28141 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28142 warning.
28143 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28144 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28145 ((unused))' to silence a gcc warning.
28146 (pupa_vga_setcolor): Likewise.
28147 (debug_command): Changed to match argument parsing
28148 interface changes.
28149 * util/pupa-emu.c: Include <pupa/env.h>.
28150 (options): Added 0's for unused fields to silence a gcc warning.
28151 (argp): Likewise.
28152 (main): Use the environment variable `prefix' instead of using
28153 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28154 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28155 and terminal.
28156
28157 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28158 * util/misc.c: Include <malloc.h>.
28159 (pupa_malloc): Rewritten so errors are correctly reported.
28160 (pupa_realloc): Likewise.
28161 (pupa_memalign): Likewise.
28162 (pupa_mm_init_region): Declare unused variables with
28163 `__attribute__ ((unused))' to silence a gcc warning.
28164 * normal/i386/setjmp.S: Remove tab at the end of the file to
28165 silence a gcc warning.
28166 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28167 variables with `__attribute__ ((unused))' to silence a gcc
28168 warning.
28169 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28170 local variable i unsigned to silence a gcc warning.
28171
28172 * kern/term.c: Include <pupa/misc.h>.
28173 (pupa_more_lines): New variable.
28174 (pupa_more): Likewise.
28175 (pupa_putcode): When the pager is active pause at the end of every
28176 screen.
28177 (pupa_set_more): New function.
28178 * include/pupa/term.h (pupa_set_more): New prototype.
28179
28180
28181 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28182
28183 Now this project is GRUB 2 rather than PUPA. The location of
28184 the CVS repository was moved to GRUB's.
28185
28186 * configure.ac: Use bug-grub as the reporting address.
28187 Use GRUB instead of PUPA.
28188 Change the version number to 1.90.
28189
28190 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28191
28192 * genkernsyms.sh: Updated copyright information.
28193 * genmk.rb: Likewise.
28194 * genmodsrc.sh: Likewise.
28195 * gensymlist.sh: Likewise.
28196 * boot/i386/pc/boot.S: Likewise.
28197 * boot/i386/pc/diskboot.S: Likewise.
28198 * disk/i386/pc/biosdisk.c: Likewise.
28199 * disk/i386/pc/partition.c: Likewise.
28200 * font/manager.c: Likewise.
28201 * fs/ext2.c: Likewise.
28202 * fs/fat.c: Likewise.
28203 * include/pupa/boot.h: Likewise.
28204 * include/pupa/device.h: Likewise.
28205 * include/pupa/disk.h: Likewise.
28206 * include/pupa/dl.h: Likewise.
28207 * include/pupa/elf.h: Likewise.
28208 * include/pupa/err.h: Likewise.
28209 * include/pupa/file.h: Likewise.
28210 * include/pupa/font.h: Likewise.
28211 * include/pupa/fs.h: Likewise.
28212 * include/pupa/kernel.h: Likewise.
28213 * include/pupa/loader.h: Likewise.
28214 * include/pupa/misc.h: Likewise.
28215 * include/pupa/mm.h: Likewise.
28216 * include/pupa/net.h: Likewise.
28217 * include/pupa/normal.h: Likewise.
28218 * include/pupa/rescue.h: Likewise.
28219 * include/pupa/setjmp.h: Likewise.
28220 * include/pupa/symbol.h: Likewise.
28221 * include/pupa/term.h: Likewise.
28222 * include/pupa/types.h: Likewise.
28223 * include/pupa/i386/setjmp.h: Likewise.
28224 * include/pupa/i386/types.h: Likewise.
28225 * include/pupa/i386/pc/biosdisk.h: Likewise.
28226 * include/pupa/i386/pc/boot.h: Likewise.
28227 * include/pupa/i386/pc/console.h: Likewise.
28228 * include/pupa/i386/pc/init.h: Likewise.
28229 * include/pupa/i386/pc/kernel.h: Likewise.
28230 * include/pupa/i386/pc/linux.h: Likewise.
28231 * include/pupa/i386/pc/loader.h: Likewise.
28232 * include/pupa/i386/pc/memory.h: Likewise.
28233 * include/pupa/i386/pc/multiboot.h: Likewise.
28234 * include/pupa/i386/pc/partition.h: Likewise.
28235 * include/pupa/i386/pc/time.h: Likewise.
28236 * include/pupa/i386/pc/vga.h: Likewise.
28237 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28238 * include/pupa/util/getroot.h: Likewise.
28239 * include/pupa/util/misc.h: Likewise.
28240 * include/pupa/util/resolve.h: Likewise.
28241 * kern/device.c: Likewise.
28242 * kern/disk.c: Likewise.
28243 * kern/dl.c: Likewise.
28244 * kern/err.c: Likewise.
28245 * kern/file.c: Likewise.
28246 * kern/fs.c: Likewise.
28247 * kern/loader.c: Likewise.
28248 * kern/main.c: Likewise.
28249 * kern/misc.c: Likewise.
28250 * kern/mm.c: Likewise.
28251 * kern/rescue.c: Likewise.
28252 * kern/term.c: Likewise.
28253 * kern/i386/dl.c: Likewise.
28254 * kern/i386/pc/init.c: Likewise.
28255 * kern/i386/pc/lzo1x.S: Likewise.
28256 * kern/i386/pc/startup.S: Likewise.
28257 * loader/i386/pc/chainloader.c: Likewise.
28258 * loader/i386/pc/linux.c: Likewise.
28259 * loader/i386/pc/multiboot.c: Likewise.
28260 * normal/cmdline.c: Likewise.
28261 * normal/command.c: Likewise.
28262 * normal/main.c: Likewise.
28263 * normal/menu.c: Likewise.
28264 * normal/i386/setjmp.S: Likewise.
28265 * term/i386/pc/console.c: Likewise.
28266 * term/i386/pc/vga.c: Likewise.
28267 * util/console.c: Likewise.
28268 * util/genmoddep.c: Likewise.
28269 * util/misc.c: Likewise.
28270 * util/pupa-emu.c: Likewise.
28271 * util/resolve.c: Likewise.
28272 * util/unifont2pff.rb: Likewise.
28273 * util/i386/pc/biosdisk.c: Likewise.
28274 * util/i386/pc/getroot.c: Likewise.
28275 * util/i386/pc/pupa-mkimage.c: Likewise.
28276 * util/i386/pc/pupa-setup.c: Likewise.
28277
28278 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28279
28280 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28281 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28282 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28283 reading and reset it after reading.
28284 (pupa_ext2_close): Return PUPA_ERR_NONE.
28285
28286 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28287 Correct value.
28288 (struct linux_kernel_header): Add kernel_version and
28289 initrd_addr_max.
28290 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28291 pupa_file_read succeeds.
28292 (pupa_rescue_cmd_initrd): Implement.
28293
28294 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28295
28296 * fs/ext2.c (pupa_ext2_label): New function.
28297 (pupa_ext2_fs): Added label.
28298 * fs/fat.c (pupa_fat_label): New function.
28299 (pupa_fat_fs): Added label.
28300 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28301
28302 * kern/misc.c (pupa_strndup): New function.
28303 * include/pupa/misc.h (pupa_strndup): New prototype.
28304
28305 * include/pupa/normal.h: Include <pupa/err.h>.
28306 (pupa_set_history): New prototype.
28307 (pupa_iterate_commands): New prototype.
28308 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28309 <pupa/disk.h>, <pupa/file.h>.
28310 (hist_size): New variable.
28311 (hist_lines): Likewise.
28312 (hist_end): Likewise.
28313 (hist_used): Likewise.
28314 (pupa_set_history): New function.
28315 (pupa_history_get): Likewise.
28316 (pupa_history_add): Likewise.
28317 (pupa_history_replace): Likewise.
28318 (pupa_tab_complete): Likewise.
28319 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28320 completion shows partitionnames while completing partitions, this
28321 feature was suggested by Jeff Bailey.
28322 * normal/command.c (pupa_iterate_commands): New function.
28323 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28324 (pupa_normal_init): Initialize history buffer.
28325 (PUPA_MOD_INIT): Likewise.
28326 (pupa_normal_fini): Free the history buffer.
28327 (PUPA_MOD_FINI): Likewise.
28328
28329 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28330 key.
28331
28332 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28333 * configure.ac [i386]: Check for regparam bug.
28334 (NESTED_FUNC_ATTR) [! i386]: Defined.
28335
28336 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28337
28338 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28339 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28340 (pupa_emu_SOURCES): New variable.
28341 (pupa_emu_LDFLAGS): Likewise.
28342 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28343 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28344 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28345 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28346 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28347 (pupa_jmp_buf): New typedef.
28348 (pupa_setjmp) [PUPA_UTIL]: New macro.
28349 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28350 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28351 (pupa_refresh): New prototype.
28352 * include/pupa/util/getroot.h: New file.
28353 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28354 it.
28355 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28356 (pupa_rescue_cmd_cat): Likewise.
28357 (pupa_rescue_cmd_ls): Likewise.
28358 (pupa_rescue_cmd_testload): Likewise.
28359 (pupa_rescue_cmd_lsmod): Likewise.
28360 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28361 * normal/menu.c (run_menu): Likewise.
28362 * kern/term.c (pupa_cls): Likewise.
28363 (pupa_refresh): New function.
28364 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28365 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28366 * util/console.c: New file.
28367
28368 * util/i386/pc/getroot.c: New file.
28369 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28370 (pupa_putchar): New function.
28371 (pupa_refresh): Likewise.
28372 (xgetcwd): Function moved to ...
28373 (strip_extra_slashes): Likewise.
28374 (get_prefix): Likewise.
28375 * util/i386/pc/getroot.c: ... here.
28376 (find_root_device): Function moved and renamed to...
28377 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28378 Changed all callers.
28379 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28380 and renamed to...
28381 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28382 Changed all callers.
28383 * util/misc.c (pupa_memalign): New function.
28384 (pupa_mm_init_region): Likewise.
28385 (pupa_register_exported_symbols): Likewise.
28386 (pupa_putchar): Function removed.
28387 * util/pupa-emu.c: New file.
28388
28389 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28390
28391 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28392 (_multiboot_mod_SOURCES): New variable.
28393 (_multiboot_mod_CFLAGS): Likewise.
28394 * loader/i386/pc/multiboot.c: New file.
28395 * include/pupa/i386/pc/multiboot.h: Likewise.
28396 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28397 (pupa_multiboot_real_boot): New function.
28398 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28399 (pupa_multiboot_real_boot): New prototype.
28400 (pupa_rescue_cmd_multiboot): Likewise
28401 (pupa_rescue_cmd_module): Likewise.
28402
28403 * kern/loader.c (pupa_loader_set): Continue when
28404 pupa_loader_unload_func() fails.
28405 (pupa_loader_unset): New function.
28406 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28407
28408 * kern/misc.c (pupa_stpcpy): New function.
28409 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28410
28411 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28412
28413 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28414 for available extensions.
28415
28416 * include/pupa/i386/pc/time.h: New file.
28417 * kern/disk.c: Include <pupa/machine/time.h>.
28418 (PUPA_CACHE_TIMEOUT): New macro.
28419 (pupa_last_time): New variable.
28420 (pupa_disk_open): Flush the cache when there was a timeout.
28421 (pupa_disk_close): Reset the timer.
28422 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28423 pupa_currticks.
28424 * util/misc.c: Include <sys/times.h>
28425 (pupa_get_rtc): New function.
28426
28427 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28428
28429 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28430 as blocks.
28431 (pupa_ext2_get_file_block): Use blocks member.
28432
28433 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28434 first block. Return -1 instead of pupa_errno on error.
28435
28436 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28437
28438 * README: In the pupa-mkimage example use _chain instead of chain
28439 and ext2 instead of fat.
28440 * TODO: Replace ext2fs with jfs as an example. Add an item for
28441 adding journal playback for ext2fs.
28442 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28443 (pkgdata_MODULES): Added ext2.mod.
28444 (ext2_mod_SOURCES): New variable.
28445 (ext2_mod_CFLAGS): Likewise.
28446 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28447 * include/pupa/misc.h (pupa_strncpy): New prototype.
28448 (pupa_strcat): Likewise.
28449 (pupa_strncmp): Likewise.
28450 * kern/misc.c (pupa_strcat): Enable function.
28451 (pupa_strncpy): New function.
28452 (pupa_strncmp): Likewise.
28453 * fs/ext2.c: New file.
28454
28455 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28456 when the read failed before retrying.
28457 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28458 (_FILE_OFFSET_BITS): Likewise.
28459 * configure.ac: Added AC_SYS_LARGEFILE.
28460
28461 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28462
28463 * genmk.rb (PModule#rule): Make sure to get only symbol names
28464 from the output of nm.
28465 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28466
28467 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28468
28469 I forgot to check in these changes for a long time. This adds
28470 incomplete support for VGA console, and this is still very
28471 buggy. Also, a lot of consideration is required for I18N,
28472 UNICODE, and VGA font issues. Therefore, assume that this is
28473 such that "better than nothing".
28474
28475 * font/manager.c: New file.
28476 * include/pupa/font.h: Likewise.
28477 * include/pupa/i386/pc/vga.h: Likewise.
28478 * term/i386/pc/vga.c: Likewise.
28479 * util/unifont2pff.rb: Likewise.
28480
28481 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28482 (pkgdata_MODULES): Added vga.mod and font.mod.
28483 (vga_mod_SOURCES): New variables.
28484 (vga_mod_CFLAGS): Likewise.
28485 (font_mod_SOURCES): Likewise.
28486 (font_mod_CFLAGS): Likewise.
28487
28488 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28489
28490 * include/pupa/term.h: Include pupa/err.h.
28491 (struct pupa_term): Added init and fini.
28492 Changed the argument of putchar to pupa_uint32_t.
28493
28494 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28495 (pupa_console_real_putchar): New prototype.
28496 (pupa_console_putchar): Removed.
28497 (pupa_console_checkkey): Exported.
28498 (pupa_console_getkey): Likewise.
28499
28500 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28501 characters.
28502
28503 * kern/term.c (pupa_term_set_current): Rewritten.
28504 (pupa_putchar): Likewise.
28505 (pupa_putcode): New function.
28506
28507 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28508 (pupa_console_real_putchar): ... this.
28509 (pupa_vga_set_mode): New function.
28510 (pupa_vga_get_font): Likewise.
28511
28512 * normal/command.c: Include pupa/term.h.
28513 (terminal_command): New function.
28514 (pupa_command_init): Register the command "terminal".
28515
28516 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28517 (DISP_UP): Likewise.
28518 (DISP_RIGHT): Likewise.
28519 (DISP_DOWN): Likewise.
28520 (DISP_HLINE): Likewise.
28521 (DISP_VLINE): Likewise.
28522 (DISP_UL): Likewise.
28523 (DISP_UR): Likewise.
28524 (DISP_LL): Likewise.
28525 (DISP_LR): Likewise.
28526
28527 * term/i386/pc/console.c (pupa_console_putchar): New function.
28528
28529 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28530
28531 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28532 FIX. Reverse the path_list.
28533
28534 * include/pupa/normal.h: Export pupa_register_command and
28535 pupa_unregister_command.
28536
28537 * hello/hello.c (pupa_cmd_hello): New module.
28538 * conf/i386-pc.rmk: Added hello.mod.
28539
28540 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28541
28542 * kern/i386/pc/lzo1x.S: New file.
28543
28544 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28545 (compress_kernel): New variable.
28546 (generate_image): Heavily modified to support compressing a
28547 large part of the core image.
28548
28549 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28550 leak.
28551 (pupa_util_load_image): New function.
28552
28553 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28554 (pupa_compressed_size): New variable.
28555 (codestart): Enable Gate A20 here.
28556 Decompress the compressed part of the core image.
28557 Rearrange the code to put functions and variables which are
28558 required for initialization in the non-compressed part.
28559 Include lzo1x.S.
28560
28561 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28562 here.
28563
28564 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28565
28566 * include/pupa/i386/pc/kernel.h
28567 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28568 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28569 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28570 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28571 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28572
28573 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28574
28575 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28576 (Utility#rule): Likewise.
28577
28578 * configure.ac: Check if LZO is available.
28579
28580 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28581
28582 * include/pupa/normal.h: New file.
28583 * include/pupa/setjmp.h: Likewise.
28584 * include/pupa/i386/setjmp.h: Likewise.
28585 * normal/cmdline.c: Likewise.
28586 * normal/command.c: Likewise.
28587 * normal/main.c: Likewise.
28588 * normal/menu.c: Likewise.
28589 * normal/i386/setjmp.S: Likewise.
28590
28591 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28592 (pupa_rescue_cmd_initrd): Likewise.
28593
28594 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28595 Likewise.
28596
28597 * kern/i386/pc/startup.S (translation_table): New variable.
28598 (translate_keycode): New function.
28599 (pupa_console_getkey): Call translate_keycode.
28600
28601 * kern/rescue.c (attempt_normal_mode): New function.
28602 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28603 it failed, print a message.
28604
28605 * kern/mm.c (pupa_real_malloc): Print more information when a
28606 free magic is broken.
28607 (pupa_free): If the first free header is not free actually, set
28608 it to P.
28609
28610 * kern/main.c (pupa_load_normal_mode): Just load the module
28611 "normal".
28612 (pupa_main): Don't print the message
28613 "Entering into rescue mode..." here.
28614
28615 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28616 Declared.
28617 (pupa_rescue_cmd_initrd): Likewise.
28618 (pupa_rescue_cmd_initrd): Likewise.
28619
28620 * include/pupa/symbol.h (FUNCTION): Specify the type.
28621 (VARIABLE): Likewise.
28622
28623 * include/pupa/err.h (pupa_err_t): Added
28624 PUPA_ERR_UNKNOWN_COMMAND.
28625
28626 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28627 (pupa_dl_get_prefix): Likewise.
28628
28629 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28630 Added _chain.mod and _linux.mod instead of chain.mod and
28631 linux.mod.
28632 (chain_mod_SOURCES): Renamed to ...
28633 (_chain_mod_SOURCES): ... this.
28634 (chain_mod_CFLAGS): Renamed to ...
28635 (_chain_mod_CFLAGS): ... this.
28636 (linux_mod_SOURCES): Renamed to ...
28637 (_linux_mod_SOURCES): ... this.
28638 (linux_mod_CFLAGS): Renamed to ...
28639 (_linux_mod_CFLAGS): ... this.
28640 (normal_mod_SOURCES): New variable.
28641 (normal_mod_CFLAGS): Likewise.
28642 (normal_mod_ASFLAGS): Likewise.
28643
28644 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28645
28646 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28647 possible.
28648
28649 * kern/dl.c (pupa_dl_ref): Refer depending modules
28650 recursively.
28651 (pupa_dl_unref): Unrefer depending modules recursively.
28652 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28653 a module is unloaded before one depending on that module is
28654 unloaded.
28655 (pupa_dl_unload): Unload depending modules explicitly,
28656 if possible.
28657
28658 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28659
28660 * include/pupa/i386/pc/linux.h: New file.
28661 * loader/i386/pc/linux.c: Likewise.
28662
28663 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28664 Removed.
28665 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28666 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28667 of PUPA_CHAINLOADER_BOOT_SECTOR.
28668
28669 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28670 (pupa_linux_prot_size): New variable.
28671 (pupa_linux_tmp_addr): Likewise.
28672 (pupa_linux_real_addr): Likewise.
28673 (pupa_linux_boot_zimage): New function.
28674 (pupa_linux_boot_bzimage): Likewise.
28675
28676 * kern/i386/pc/init.c (struct mem_region): New structure.
28677 (MAX_REGIONS): New macro.
28678 (mem_regions): New variable.
28679 (num_regions): Likewise.
28680 (pupa_os_area_addr): Likewise.
28681 (pupa_os_area_size): Likewise.
28682 (pupa_lower_mem): Likewise.
28683 (pupa_upper_mem): Likewise.
28684 (add_mem_region): New function.
28685 (compact_mem_regions): Likewise.
28686 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28687 the size of the conventional memory and that of so-called upper
28688 memory (before the first memory hole).
28689 Instead of adding each found region to free memory, use
28690 add_mem_region and add them after removing overlaps.
28691 Also, add only 1/4 of the upper memory to free memory. The rest
28692 is used for loading OS images. Maybe this is ad hoc, but this
28693 makes it much easier to relocate OS images when booting.
28694
28695 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28696 (pupa_enter_rescue_mode): Don't register initrd and module.
28697
28698 * kern/mm.c: Include pupa/dl.h.
28699
28700 * kern/main.c: Include pupa/file.h and pupa/device.h.
28701
28702 * kern/loader.c (pupa_loader_load_module_func): Removed.
28703 (pupa_loader_load_module): Likewise.
28704
28705 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28706 ``.o''.
28707
28708 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28709 (pupa_linux_tmp_addr): Likewise.
28710 (pupa_linux_real_addr): Likewise.
28711 (pupa_linux_boot_zimage): Likewise.
28712 (pupa_linux_boot_bzimage): Likewise.
28713
28714 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28715 (pupa_upper_mem): Likewise.
28716 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28717 module is too dangerous.
28718
28719 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28720 (pupa_os_area_size): Likewise.
28721 (pupa_loader_set): Remove the first argument. Loader doesn't
28722 manage modules or initrd any longer.
28723 (pupa_loader_load_module): Removed.
28724
28725 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28726 (linux_mod_SOURCES): New variable.
28727 (linux_mod_CFLAGS): Likewise.
28728
28729 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28730
28731 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28732 the length of a blocklist correctly.
28733
28734 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28735 Use ioctl only if the OS file is a block device.
28736 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28737 not very useful for normal files.
28738
28739 * kern/main.c (pupa_set_root_dev): New function.
28740 (pupa_load_normal_mode): Likewise.
28741 (pupa_main): Call those above.
28742
28743 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28744 pupa_uint16_t.
28745
28746 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28747
28748 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28749
28750 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28751 (setup): Configure the installed partition information and the
28752 dl prefix.
28753
28754 * loader/i386/pc/chainloader.c (my_mod): New variable.
28755 (pupa_chainloader_unload): New function.
28756 (pupa_rescue_cmd_chainloader): Refer itself.
28757 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28758
28759 * kern/i386/pc/startup.S (install_partition): Removed.
28760 (version_string): Likewise.
28761 (config_file): Likewise.
28762 (pupa_install_dos_part): New variable.
28763 (pupa_install_bsd_part): Likewise.
28764 (pupa_prefix): Likewise.
28765 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28766
28767 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28768 and pupa/misc.h.
28769 (make_install_device): New function.
28770 (pupa_machine_init): Set the dl prefix.
28771
28772 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28773 (buf): Renamed to ...
28774 (linebuf): ... this.
28775 (pupa_rescue_cmd_prefix): New function.
28776 (pupa_rescue_cmd_insmod): Likewise.
28777 (pupa_rescue_cmd_rmmod): Likewise.
28778 (pupa_rescue_cmd_lsmod): Likewise.
28779 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28780 rmmod and lsmod.
28781
28782 * kern/mm.c (pupa_memalign): If failed even after invalidating
28783 disk caches, unload unneeded modules and retry.
28784
28785 * kern/misc.c (pupa_memmove): New function.
28786 (pupa_memcpy): Removed.
28787 (pupa_strcpy): New function.
28788 (pupa_itoa): Made static.
28789
28790 * kern/dl.c (pupa_dl_iterate): New function.
28791 (pupa_dl_ref): Likewise.
28792 (pupa_dl_unref): Likewise.
28793 (pupa_dl_unload): Return if succeeded or not.
28794 (pupa_dl_unload_unneeded): New function.
28795 (pupa_dl_unload_all): Likewise.
28796 (pupa_dl_init): Renamed to ...
28797 (pupa_dl_set_prefix): ... this.
28798 (pupa_dl_get_prefix): New function.
28799
28800 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28801 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28802 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28803 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28804 (pupa_install_dos_part): Declared.
28805 (pupa_install_bsd_part): Likewise.
28806 (pupa_prefix): Likewise.
28807 (pupa_boot_drive): Likewise.
28808
28809 * include/pupa/types.h: Fix a typo.
28810
28811 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28812 pupa_memmove.
28813 (pupa_memmove): Declared.
28814 (pupa_strcpy): Likewise.
28815
28816 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28817 pupa_mod_init takes one argument, its own module.
28818 (pupa_dl_unload_unneeded): Declared.
28819 (pupa_dl_unload_all): Likewise.
28820 (pupa_dl_ref): Likewise.
28821 (pupa_dl_unref): Likewise.
28822 (pupa_dl_iterate): Likewise.
28823 (pupa_dl_init): Renamed to ...
28824 (pupa_dl_set_prefix): ... this.
28825 (pupa_dl_get_prefix): Declared.
28826
28827 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28828 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28829 unloaded.
28830 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28831 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28832
28833 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28834 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28835
28836 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28837
28838 * util/i386/pc/pupa-setup.c (setup): Define the internal
28839 function find_first_partition_start at the top level, because GCC
28840 3.0.x cannot compile internal functions in deeper scopes
28841 correctly.
28842 (find_root_device): Use lstat instead of stat.
28843 Don't follow symbolic links.
28844 Fix the path-constructing code.
28845
28846 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28847 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28848 by a BLKGETSIZE ioctl first, because block devices don't fill
28849 the member st_mode of the structure stat on Linux.
28850 [__linux__] (linux_find_partition): Use a temporary buffer
28851 REAL_DEV for the working space. Copy it to DEV before returning.
28852 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28853 buffer cache consistent.
28854 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28855 strncmp. The previous value was merely wrong.
28856 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28857
28858 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28859 FAT size is 12. The previous value was merely wrong.
28860
28861 * kern/main.c (pupa_main): Don't split the starting message from
28862 newlines.
28863
28864 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28865 LF, because BIOS goes crazy about character attributes in this
28866 case.
28867
28868 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28869
28870 * include/i386/pc/util/biosdisk.h: New file.
28871 * util/i386/pc/biosdisk.c: Likewise.
28872 * util/i386/pc/pupa-setup.c: Likewise.
28873
28874 * Makefile.in (INCLUDE_DISTFILES): Added
28875 include/pupa/i386/pc/util/biosdisk.h.
28876 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28877 directory util/i386/pc.
28878 (install-local): Added a rule for sbin_UTILITIES.
28879 (uninstall): Likewise.
28880
28881 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28882
28883 * util/misc.c (xrealloc): New function.
28884 (pupa_malloc): Likewise.
28885 (pupa_free): Likewise.
28886 (pupa_realloc): Likewise.
28887 (pupa_stop): Likewise.
28888 (pupa_putchar): Likewise.
28889
28890 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28891
28892 * include/pupa/util/misc.h (xrealloc): Declared.
28893
28894 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28895 macro.
28896 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28897 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28898
28899 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28900 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28901
28902 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28903 way should be implemented.
28904 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28905
28906 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28907 the size of NAME for safety.
28908 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28909 0x88.
28910
28911 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28912 (pupa_setup_SOURCES): Likewise.
28913
28914 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28915
28916 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28917
28918 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28919 bunch of pushl's from pusha, because this destroys the return
28920 value.
28921
28922 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28923
28924 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28925 This means that any missing prototypes could be fatal. Also, you
28926 must take care when writing assembly code. See the comments at
28927 the beginning of startup.S, for more details.
28928
28929 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28930 compilation mechanism.
28931 (pupa_chainloader_real_boot): Likewise.
28932 (pupa_biosdisk_rw_int13_extensions): Likewise.
28933 (pupa_biosdisk_rw_standard): Likewise.
28934 (pupa_biosdisk_check_int13_extensions): Likewise.
28935 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28936 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28937 (pupa_get_memsize): Likewise.
28938 (pupa_get_mmap_entry): Likewise.
28939 (pupa_console_putchar): Likewise.
28940 (pupa_console_setcursor): Likewise.
28941 (pupa_getrtsecs): Use pushl instead of push.
28942
28943 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28944 memory instead of the stack for a mmap entry, because some
28945 BIOSes may ignore the maximum size and overflow.
28946
28947 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28948
28949 * genmk.rb (PModule#rule): Compile automatically generated
28950 sources with module-specific CFLAGS as well as other sources.
28951
28952 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28953
28954 * configure.ac: Check ld.
28955 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28956 respectively, before checking endianness and sizes.
28957
28958 * Makefile.in (LD): New variable.
28959
28960 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28961
28962 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28963
28964 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28965
28966 * Changelog: New file.
28967