]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub.d/10_linux.in: Correctly handle the Linux in root.
[grub2.git] / ChangeLog
1 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
4
5 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8 file_path to 0 for surety.
9 (grub_chainloader_boot): Set exit_data to NULL.
10 Unset the loader once done.
11 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12
13 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16 unknown key into a dprintf.
17
18 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
21 on first non-existant partition.
22
23 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
26 openning fails.
27 Reported by: Mark Korenberg.
28
29 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
32 overflow.
33
34 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * util/grub-mkimage.c (main): Explicitely flush and sync the output
37 before closing to ensure that it will be readable by grub-setup.
38
39 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
42 (devpath_1): Use MAKE_PIWG_PATH.
43 (devpath_2): Likewise.
44 (devpath_3): Likewise.
45 (devpath_4): Likewise.
46 (devpath_5): Likewise.
47 (devpath_6): Likewise.
48
49 The appleldr.mod was checked that to be binary identical to previous
50 version.
51
52 2011-05-05 Zach <mikezackles>
53
54 Support 2010 Macbooks.
55
56 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
57 (devs): Add devpath_6.
58
59 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
62 /dev/random. /dev/urandom is good enough for our purposes (salting).
63
64 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
67
68 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
71 hexadecimal.
72
73 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
76 and not 0 on failure.
77
78 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
79
80 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
81 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
82 disk; otherwise grub_fs_probe will not fall back to the next
83 filesystem.
84 (grub_pxefs_open): Likewise, for consistency.
85 Reported and tested by: Ezekiel Grave.
86
87 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
88
89 * tests/partmap_test.in: Don't hardcode path to parted.
90 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
91
92 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
93
94 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
95 of `ls' to find out which devices are available.
96
97 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
100 than source address for efi mmap buffer.
101
102 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
105 wrong action on non-detecting the magic.
106
107 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
110 already supplied by another part of the module (fixes compilation on
111 FreeBSD).
112
113 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
116 match the one used by mdadm.
117
118 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
119
120 * po/README: Add instructions for creating po/LINGUAS.
121
122 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
123
124 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
125 #551428.
126
127 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
128 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
129 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
130 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
131 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
132 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
133 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
134 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
135 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
136 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
137 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
138 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
139 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
140 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
141 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
142 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
143 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
144 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
145 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
146 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
147 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
148 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
149
150 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
151
152 * grub-core/kern/emu/getroot.c
153 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
154 test that was incorrectly reintroduced in r3214.
155 Reported by: Ian Dall. Fixes Savannah bug #33133.
156
157 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
158
159 Fix stack pointer handling in 16-bit relocator.
160
161 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
162 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
163 Fixes Ubuntu bug #683904.
164
165 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * configure.ac: Bump version to 1.99~rc2.
168
169 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
172 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
173 * grub-core/lib/x86_64/setjmp.S: Likewise.
174 * grub-core/lib/mips/setjmp.S: Likewise.
175 * grub-core/lib/powerpc/setjmp.S: Likewise.
176 * grub-core/lib/sparc64/setjmp.S: Likewise.
177
178 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
181 * grub-core/lib/efi/datetime.c: Likewise.
182
183 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
186 New function.
187 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
188 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
189 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
190
191 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
194 bitmap.
195 (grub_gfxterm_term_init): Likewise.
196
197 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Take into account the decorations the computing menu entry width.
200
201 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
202 (grub_gfxmenu_create_box): Register get_border_width.
203 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
204 if available.
205 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
206 get_border_width.
207
208 2011-04-18 Endres Puschner <code@e7p.de>
209
210 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
211 Don't skip first class.
212
213 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
216 chunks.
217 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
218
219 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
220
221 Complete 64-bit division support.
222
223 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
224 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
225 * include/grub/misc.h (grub_divmod64): Rename to ...
226 (grub_divmod64_full): ... this.
227 (grub_divmod64): New inline function.
228
229 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * util/grub-mkimage.c (generate_image): Add forgotten comma.
232
233 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
236 performing the necessary test.
237
238 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
241 (kfreebsd.elf): Likewise.
242 (pc-chainloader.elf): Likewise.
243 (ntldr.elf): Likewise.
244
245 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
246
247 Identify RAID by its UUID rather than (guessed) name.
248
249 * grub-core/disk/raid.c (ascii2hex): New function.
250 (grub_raid_open): Accept mduuid/%s specification.
251 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
252 (get_mdadm_uuid): ... this.
253 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
254
255 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
258 to negative size.
259
260 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
261
262 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
263 btrfs subvolume.
264 * util/grub.d/20_linux_xen.in: Likewise.
265
266 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
267
268 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
269 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
270
271 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
272 Build a list of relevant visible mounts using the mnt_id and
273 parent_mnt_id fields, and then scan that list at the end.
274
275 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
276
277 * docs/grub.texi (normal): New section.
278 (normal_exit): New section.
279 (Embedded configuration): Add reference to normal.
280 (GRUB only offers a rescue shell): Likewise.
281 * docs/grub-dev.texi (Error Handling): Fix typo.
282
283 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
284
285 * NEWS: Drop obsolete entry about probe-only btrfs support.
286
287 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
288
289 * util/import_gcry.py: Fix typo.
290
291 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * NEWS: Add btrfs support.
294
295 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
296 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
297
298 BtrFS support. Written by me (Vladimir) with important bugfixes and
299 even more important testing by Colin.
300
301 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
302 * grub-core/Makefile.core.def (btrfs): Add crc.c.
303 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
304 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
305 mem_input_off and mem_input. All users updated to accept in-RAM input.
306 (gzio_seek): New function.
307 (test_zlib_header): Likewise.
308 (grub_gzio_read): Likewise.
309 (grub_zlib_decompress): Likewise.
310 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
311 Accept partial and non-virtual mounts.
312 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
313 avoid receiving /dev/dm-X as device.
314 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
315 Handle bind and partial mounts.
316 * grub-core/lib/crc.c: New file.
317 * include/grub/deflate.h: Likewise.
318 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
319 proto.
320 * include/grub/lib/crc.h: New file.
321
322 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Implement automatic module license checking according to new GNU
325 guidelines.
326
327 * grub-core/kern/dl.c (grub_dl_check_license): New function.
328 (grub_dl_load_core): Use grub_dl_check_license.
329 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
330 (GRUB_MOD_LICENSE): Likewise.
331 (GRUB_MOD_DUAL_LICENSE): Likewise.
332 All modules updated.
333
334 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
335
336 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
337 reserved_first_sector to 1. btrfs reserves plenty of space for boot
338 loaders.
339 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
340
341 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
344
345 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub-fstest.c (read_file): Report GRUB error if file opening
348 failed.
349
350 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/kern/file.c (grub_file_open): Don't take into account the
353 parenthesis in the middle of the filename.
354
355 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
358 rather than trying to put initrd way too high.
359 Reported by: Ryan Lortie <desrt@desrt.ca>
360
361 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
364 improperly removed string.
365
366 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
369 is_disk.
370 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
371 (open_device) Likewise.
372 (grub_util_biosdisk_close): Likewise.
373 Reported by: Mark Korenberg.
374
375 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
376
377 * util/grub-mkconfig_lib.in: Add missing quotes.
378
379 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
380
381 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
382 is NULL.
383
384 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Dynamically count the number of lines for the lower banner.
387
388 * grub-core/normal/menu_entry.c (per_term_screen): New member
389 num_entries.
390 (print_down): Use num_entries.
391 (update_screen): Likewise.
392 (grub_menu_entry_run): Set num_entries.
393 * grub-core/normal/menu_text.c (menu_viewer_data): New member
394 num_entries.
395 (grub_print_message_indented): Move real part to ...
396 (grub_print_message_indented_real): ... here. Additional argument
397 dry_run.
398 (draw_border): Additional argument num_entries.
399 (print_message): Additional argument dry_run.
400 (print_entries): Receive menu viewer data.
401 (grub_menu_init_page): New argment num_entries.
402 (menu_text_set_chosen_entry): Use num_entries.
403 (grub_menu_try_text): Likewise.
404 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
405 All users updated.
406 (grub_ucs4_count_lines): New function.
407 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
408 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
409 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
410 (grub_term_border_height): Likewise.
411 (grub_term_num_entries): Likewise.
412
413 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
416 Remove now unused string.
417
418 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
419
420 * docs/grub-dev.texi (Finding your way around): Update for 1.99
421 build system.
422 (Getting started): GRUB is developed in Bazaar now, not Subversion.
423
424 (Comment): Fix typo.
425 (Getting started): General copy-editing.
426 (Typical Development Experience): Likewise.
427 (Error Handling): Likewise.
428 (Video API): Likewise.
429
430 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
431
432 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
433 throughout.
434
435 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * util/grub-mkimage.c (main): Handle special naming of yeeloong
438 directory.
439
440 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
441
442 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
443 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
444 "development".
445
446 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
449 grub_strcpy since the lines aren't necessarily 0-terminated.
450
451 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
454 root on legacy.
455
456 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/commands/probe.c (options): Argument to set isn't optional.
459 (GRUB_MOD_INIT): DEVICE isn't optional.
460
461 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
464 word on new line if it's too long anyway. Fixes a hang.
465
466 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
469 const.
470 * util/grub-setup.c (main): Reuse md device name if available.
471 * util/raid.c (grub_util_raid_getmembers): Receive device name and
472 not GRUB name as argument.
473 Based on patch by: Florian Wagner <fwagner>.
474
475 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
478 Place mbi on low memory for better compatibility.
479
480 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
483
484 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
485 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
486
487 * autogen.sh: Ensure that collate and ctype locale is C.
488 * conf/Makefile.common: Likewise.
489
490 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/normal/menu.c: Add missing include.
493
494 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
497
498 2011-04-08 Martin Zuther <mzuther@mzuther.de>
499
500 * util/grub-mkconfig.in: Ignore emacsen backup.
501
502 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
505 on open.
506 (grub_util_biosdisk_close): Likewise.
507
508 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
511 const attribute and use grub_isdigit.
512
513 2011-04-06 Andrey <dev_null@ukr.net>
514
515 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
516 gcc warning.
517
518 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
521 useful grub_dprintf's.
522
523 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
526
527 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
530
531 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Output errors if theme loading failed.
534
535 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
536 grub_gfxterm_fullscreen on error paths to ...
537 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
538 theme loading error.
539
540 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
543 space for older compilers.
544 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
545
546 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
549 and report them as not RAID members since they are useless for GRUB.
550 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
551
552 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
553
554 Increase LVM implementation robustness in order not to crash on
555 configurations like pvmove. Previously code assumed that in some places
556 only lvs or only pvs are used whereas it seems that they are used
557 interchangeably.
558
559 * grub-core/disk/lvm.c (read_node): New function.
560 (read_lv): Use read_node.
561 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
562 Match volumes only at the end when all lvs are found. Take both
563 pvs (first) and lvs (second) into account.
564 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
565 mirror_* into node_*. All users updated.
566 (grub_lvm_stripe): Merge this ...
567 (grub_lvm_mirror): ... and this ...
568 (grub_lvm_node): ... into this. All users updated.
569
570 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
573 of function to allow further scanning for LVMs.
574
575 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
578 on failed seek as it breaks open fd reusage.
579
580 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/grub-install.in: Add a recommendation to use --recheck before
583 reporting bugs.
584
585 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
588 are obtained.
589
590 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
591
592 GRUB developper manual based on existing Internals section and
593 contributions by the various authors with active copyright assignment.
594
595 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
596 * docs/font_char_metrics.png: New file.
597 * docs/font_char_metrics.txt: Likewise.
598 * docs/grub-dev.texi: Likewise.
599 * docs/grub.texi (Internals): Move from here ...
600 * docs/grub-dev.texi: ... here.
601
602 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
603
604 Store the loopback device as data on loopback grub_disk structures,
605 rather than the file it points to. This fixes use of freed memory
606 if an existing loopback device is replaced.
607
608 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
609 disk->data, not dev->file.
610 (grub_loopback_read): Adjust file assignment to match.
611 Fixes Ubuntu bug #742967.
612
613 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
614
615 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
616 when replacing an existing device.
617
618 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
619
620 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
621 memory corruptions.
622
623 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
624 unsigned.
625 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
626 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
627 (grub_jfs_read_inode): Likewise.
628 (grub_jfs_opendir): Likewise. Remove now useless casts.
629 (grub_jfs_getent): Likewise.
630 Make ino a grub_uint32_t rather than int.
631 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
632 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
633 division and module with bit operations.
634 (grub_jfs_find_file): Make ino a grub_uint32_t.
635 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
636
637 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
638
639 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
640 warning. (This was in fact always initialised before use, but GCC
641 wasn't smart enough to prove that.)
642 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
643
644 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
647 stack alignment.
648 (efi_wrap_1): Likewise.
649 (efi_wrap_2): Likewise.
650 (efi_wrap_3): Likewise.
651 (efi_wrap_4): Likewise.
652 (efi_wrap_5): Likewise.
653 (efi_wrap_6): Likewise.
654 (efi_wrap_10): Likewise.
655 Based on information by: Red Hat/Peter Jones.
656
657 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
658
659 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
660 set-but-not-used variable.
661
662 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
663
664 * docs/grub.texi (Simple configuration): Be more explicit about
665 GRUB_DEFAULT, and add an example.
666 Reported by: Leslie Rhorer.
667
668 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
669
670 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
671 shell".
672
673 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
674
675 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
676 * util/grub.d/20_linux_xen.in: Likewise.
677
678 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub.d/10_linux.in: Try alternative config filenames where
681 we parse config file.
682 * util/grub.d/20_linux_xen.in: Likewise.
683
684 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
685
686 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
687 * util/grub.d/20_linux_xen.in: Likewise.
688
689 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/disk/raid.c (insert_array): Add few potentially
692 useful grub_util_info.
693 (grub_raid_register): Likewise.
694
695 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
698 Preserve partition number in mdadm code path.
699
700 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
703 few potentially useful grub_util_info.
704
705 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
708
709 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
710
711 * docs/grub.texi (default): Use @example rather than nested
712 itemized lists to avoid breaking gendocs.
713
714 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
715
716 * docs/grub.texi (Future): Update.
717
718 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
719
720 * docs/grub.texi (Environment): New chapter.
721 (Changes from GRUB Legacy): Link to "Environment block" section for
722 details of limitations.
723 (Simple configuration): Likewise. Link to documentation of gfxmode
724 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
725 respectively.
726 (Shell-like scripting): Note that normal variables are stored in the
727 environment.
728 (gettext): Link to documentation of lang and locale_dir.
729 (list_env): New section.
730 (load_env): New section.
731 (save_env): New section.
732
733 (Reporting bugs): Fix typo.
734
735 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
738 the example.
739
740 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/term/at_keyboard.c (set_scancodes)
743 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
744
745 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
746
747 * docs/grub.texi (Menu-specific commands): Remove some semantics
748 that were true in GRUB Legacy but not in GRUB 2.
749 (submenu): New section.
750 (false): New section.
751 (read): New section.
752 (true): New section.
753
754 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
755
756 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
757
758 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
759
760 * docs/grub.texi (Simple configuration): Explain some of the
761 current limitations of grub-mkconfig.
762 Reported by: Leslie Rhorer.
763
764 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
765
766 Old macs search for boot.efi rather than for bootia32.efi.
767
768 * util/grub-install.in: Copy bootia32.efi to boot.efi.
769 * util/grub-mkrescue.in: Likewise.
770 Suggested by: Peter Jones.
771
772 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
775
776 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
779 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
780 (grub_lvm_mirror): New struct.
781 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
782 (grub_lvm_iterate): Iterate only visible volumes.
783 (grub_lvm_read): Factor out to ..
784 (read_lv): ... this. Support mirrors.
785 (grub_lvm_read): New wrapper function.
786 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
787 stripped or mirrored.
788
789 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
792
793 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
794
795 * docs/grub.texi (loopback): New section.
796
797 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
798
799 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
800 removed -p option.
801
802 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
803
804 * docs/grub.texi (BIOS installation): New section, partly based on
805 previous text in other sections.
806 (Installing GRUB using grub-install): Replace BIOS discussion with a
807 cross-reference.
808 (Images): Likewise.
809
810 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/kern/emu/hostdisk.c (find_partition_start)
813 [HAVE_DIOCGDINFO]: Add safety checks.
814
815 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
818 per default compiled in kernel and prior to 8.0 isn't shipped at all.
819
820 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
821
822 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
823 real_sb->size is zero (e.g. RAID-0), get the disk size from
824 real_sb->data_size instead.
825 Fixes Ubuntu bug #743136.
826
827 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
830 printf clauses for printing size and start.
831
832 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
835 Reported and tested by: Timothy Nikkel.
836
837 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
840 (dirty_region_add_real): ... this.
841 (dirty_region_add): Don't discard margin refresh when performing
842 scheduled repaint.
843
844 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/lib/relocator.c (allocate_regstart)
847 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
848 terminals are capabple of malloc-free operation.
849 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
850 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
851
852 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
853
854 * util/grub-setup.c: Copy the partition table zone if floppy support
855 is disabled, even if no partition table is found.
856
857 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
858 during POST if an invalid partition table is contained in the PBR
859 of the active partition when GRUB is installed to a partition.
860
861 2011-03-28 Colin Watson <cjwatson@debian.org>
862
863 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
864 comment.
865
866 2011-03-28 Colin Watson <cjwatson@debian.org>
867
868 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
869 to be specific about what kind of RAID device we're scanning for.
870
871 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
872
873 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
874 return freed string.
875
876 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
879
880 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Use libgeom on FreeBSD to detect partitions.
883
884 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
885 (grub-mkrelpath): Likewise.
886 (grub-script-check): Likewise.
887 (grub-editenv): Likewise.
888 (grub-mkpasswd-pbkdf2): Likewise.
889 (grub-fstest): Likewise.
890 (grub-mkfont): Likewise.
891 (grub-mkdevicemap): Likewise.
892 (grub-probe): Likewise.
893 (grub-setup): Likewise.
894 (grub-ofpathname): Likewise.
895 (grub-mklayout): Likewise.
896 (example_unit_test): Likewise.
897 (grub-menulst2cfg): Likewise.
898 * grub-core/Makefile.core.def (grub-emu): Likewise.
899 (grub-emu-lite): Likewise.
900 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
901 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
902 define HAVE_DIOCGDINFO.
903 (follow_geom_up) [FreeBSD]: New function.
904 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
905 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
906 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
907 unconditionally of HAVE_DIOCGDINFO.
908
909 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
910
911 Fix FreeBSD compilation problem.
912
913 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
914 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
915
916 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
917
918 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
919 Switch back to page zero before loading a kernel, since some kernel
920 drivers expect that.
921 Thanks to: Felix Kuehling.
922
923 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
926 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
927 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
928
929 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
932 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
933
934 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
937 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
938 malloc is disabled.
939
940 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
943 for modules headers when counting the needed allocation size.
944
945 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
948 if no ASCII character is found to prevent crash.
949
950 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
951
952 * grub-core/video/bitmap.c (match_extension): Ignore case.
953
954 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
957
958 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/script/parser.y: Declare "time" as valid argument.
961
962 2011-03-23 Peter Jones <pjones@redhat.com>
963
964 Fix incorrect assert failure reporting.
965
966 * grub-core/tests/example_functional_test.c (example_test): Add
967 a failure comment.
968 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
969 (failure_start): ...this. Check that malloc succeeded.
970 Don't call xvasprintf. Return failure struct.
971 (failure_append_vtext): New function.
972 (failure_append_text): Likewise.
973 (add_failure): Likewise.
974 (grub_test_assert_helper): Likewise.
975 * include/grub/test.h (grub_test_assert_helper): New declaration.
976 (grub_test_assert): Macro rewritten.
977
978 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
981
982 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
985
986 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
989 into GRUB-style one.
990
991 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
994 error and not grub_errno.
995 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
996
997 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1000 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1001
1002 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/efiemu/i386/pc/cfgtables.c
1005 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1006 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1007 (grub_xnu_unlock): Likewise.
1008 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1009
1010 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1013 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1014 * grub-core/commands/hashsum.c (aliases): Likewise.
1015 * grub-core/commands/setpci.c (pci_registers): Likewise.
1016 * grub-core/disk/usbms.c (attach_hook): Likewise.
1017 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1018 (zio_checksum_table): Likewise.
1019 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1020 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1021 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1022 * grub-core/lib/relocator.c (leftovers): Likewise.
1023 (extra_blocks): Likewise.
1024 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1025 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1026 (modules_last): Likewise.
1027 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1028 (devices): Likewise.
1029 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1030 (modules_last): Likewise.
1031 * grub-core/normal/auth.c (users): Likewise.
1032 * grub-core/normal/context.c (initial_menu): Likewise.
1033 (current_menu): Likewise.
1034 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1035 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1036 (grub_serial_terminfo_input_template): Likewise.
1037 (grub_serial_terminfo_output_template): Likewise.
1038 (grub_serial_terminfo_input): Likewise.
1039 (grub_serial_terminfo_output): Likewise.
1040 (registered): Likewise.
1041 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1042
1043 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1046 grub_video_mode_type_t.
1047 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1048 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1049 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1050
1051 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * util/grub-install.in: Correct the x86-64 name as x86_64.
1054
1055 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
1056
1057 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1058 initial chunk read from the kernel always includes GRUB's multiboot
1059 header, which is now outside the first sector.
1060
1061 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1062
1063 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1064 cached mmap_size, so that this works correctly when called multiple
1065 times.
1066 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1067
1068 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1069
1070 * docs/grub.texi (Simple configuration): Tidy up formatting.
1071
1072 2011-03-07 Szymon Janc <szymon@janc.net.pl>
1073
1074 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1075 Set-but-not-used variable removed.
1076
1077 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 Workaround yet another IEEE1275 bug.
1080
1081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1082 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1083 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1084 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1085 is set.
1086 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1087 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1088
1089 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1092 error.
1093
1094 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
1095
1096 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1097 empty, since in that case we can only generate either nothing or a
1098 syntactically invalid configuration file.
1099 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1100
1101 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1102
1103 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1104 (Making a GRUB bootable CD-ROM): Likewise.
1105 (Invoking grub-mkrescue): New section.
1106 Reported by: Yann Dirson. Fixes Debian bug #612585.
1107
1108 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1109
1110 * util/grub-install.in: Remove unnecessary brackets from tr
1111 arguments.
1112 * util/grub.d/10_hurd.in: Likewise.
1113 * util/grub.d/10_kfreebsd.in: Likewise.
1114 * util/grub.d/10_linux.in: Likewise.
1115 * util/grub.d/20_linux_xen.in: Likewise.
1116 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1117
1118 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
1119
1120 * include/grub/file.h (not_easly_seekable): Rename to ...
1121 (not_easily_seekable): ... this. Update all users.
1122
1123 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
1124
1125 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1126 grub-mkrescue.
1127
1128 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * util/grub-mkimage.c (generate_image): Refuse to create the images
1131 bigger than the actual flash (512K) in Loongson machines. 512K is also
1132 the biggest chip supported by them.
1133
1134 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1137
1138 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
1139
1140 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1141 super_offset field.
1142
1143 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/grub-install.in: Ignore install device on platforms
1146 where it doesn't make sense. Always use UUIDs except on pc, efi and
1147 sparc64.
1148 Reported by: Daniel Kahn Gillmor.
1149
1150 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1153
1154 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1157 (iterate_real): Don't rely on partition being non-NULL.
1158
1159 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1162 supported platforms. Put a compile time assert for this rather than
1163 generate a warning with 32-bit shift.
1164
1165 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1168 logical expression more readable.
1169
1170 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1173 even if some elements have a name.
1174 Reported by: Alexander GQ Gerasiov.
1175
1176 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1177
1178 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1179 path unreadable if `grub-probe -t abstraction' fails, for example if
1180 memberlist fails on an LVM volume group.
1181 Reported by: Darius Jahandarie.
1182
1183 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1184
1185 * docs/grub.texi (Simple configuration): Document
1186 GRUB_PRELOAD_MODULES.
1187
1188 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1189
1190 * .bzrignore: Remove nonexistent grub-pbkdf2.
1191
1192 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * configure.ac: Bump version to 1.99~rc1.
1195
1196 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1199 for safety.
1200
1201 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1204 module.
1205
1206 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1209
1210 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1213 diskdevid.
1214
1215 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Fix compilation on cygwin.
1218
1219 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1220 -R .drectve on cygwin.
1221 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1222 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1223 (COND_CYGWIN): New condition.
1224 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1225 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1226 not @TARGET_OBJ2ELF@.
1227 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1228 type to determine whether aux is to be used.
1229
1230 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1233 realpath'ed device string.
1234 Handle floppy (somewhat).
1235 Issue error in unknown case rather than garbage.
1236 Reported by: Axel Beckert.
1237
1238 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/grub.d/00_header.in (load_video): Handle the case when no video
1241 drivers available.
1242 Thanks to: Axel Beckert.
1243
1244 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1247 variable. Fixes problem on big endian platforms.
1248
1249 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1252 It doesn't work well there.
1253
1254 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1257 warning.
1258 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1259 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1260 counter.
1261
1262 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Use alias->path rather than buggy "canon".
1265
1266 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1267 (ofdisk_hash_add): New argument curcan. All users updated.
1268
1269 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1270
1271 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1272
1273 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1276 loadmask before doing any calculations. Use correct type for offset.
1277 (grub_linux_load64): Likewise.
1278
1279 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1280
1281 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1282 with NULL.
1283 (console_grub_equivalences_unshift): Likewise.
1284 Reported by: Daniel Dehennin.
1285
1286 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1289 (set_env_limn_ro): Likewise.
1290 (GRUB_MOD_INIT): Likewise.
1291 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1292 ARRAY_SIZE while on it.
1293 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1294 * grub-core/normal/context.c (grub_env_export): Move from here ...
1295 * grub-core/kern/env.c (grub_env_export): ... here.
1296 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1297 prefix.
1298 * grub-core/kern/main.c (grub_main): Export root and prefix.
1299 * include/grub/env.h (grub_env_export): Export.
1300 Reported by: Seth Goldberg.
1301
1302 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1305 Take into account space used by ELF sections and multiboot palette.
1306 Reported by: Grégoire Sutre.
1307
1308 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * BUGS: New file.
1311
1312 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 Pass more appropriate video id to Linux.
1315
1316 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1317 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1318 fill have_vga.
1319 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1320 shift params->lfb_size.
1321 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1322
1323 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1326
1327 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1330 separator and pass bootpath/devid even if only one of them is available.
1331 Reported by: Seth Goldberg.
1332
1333 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1336 implementations bug on them.
1337
1338 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1339 memory.
1340 (filter_memory_map): Likewise.
1341
1342 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1345 Reported by: nebuchadnezzar.
1346
1347 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1350 Reported by: nebuchadnezzar.
1351
1352 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Submenu default support.
1355
1356 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1357 auto_boot. All users updated.
1358 Declared static.
1359 Handle chosen and default with submenus.
1360 (grub_menu_execute_with_fallback): Declared static.
1361 Don't notify failure if autobooted. Upper level does it.
1362 (menuentry_eq): New function.
1363 (get_entry_number): Use menuentry_eq.
1364 (show_menu): New parameter "autobooted". All users updated.
1365 (grub_show_menu): Likewise.
1366 * include/grub/normal.h (grub_show_menu): Likewise.
1367 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1368 (grub_menu_execute_with_fallback): Likewise.
1369
1370 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * util/grub-mklayout.c (usage): Update help text.
1373
1374 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1377
1378 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub-menulst2cfg.c (main): Trim the line.
1381
1382 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1385 (grub_machine_init): Don't check amount of low memory as reportedly
1386 INT 12h can be broken and if low memory is too low we wouldn't have
1387 gotten into grub_machine_init anyway.
1388
1389 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1392 (grub_machine_mmap_iterate): Take low memory into account
1393
1394 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1397 badfs.
1398 Reported by: TiCPU.
1399
1400 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1403 members errors.
1404
1405 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1406
1407 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1408 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1409
1410 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1411
1412 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1413 openbsd and netbsd types being in part_bsd module.
1414
1415 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1418 (_FILE_OFFSET_BITS): Likewise.
1419 Reported by: Seth Goldberg.
1420
1421 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1422
1423 * configure.ac: Check for libdevmapper header.
1424
1425 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1428 avoid aliasing.
1429 (fzap_lookup): Likewise.
1430 (dnode_get): Likewise.
1431 (make_mdn): Likewise.
1432 (zfs_mount): Likewise.
1433 (fzap_iterate): Use temporary pointer to avoid aliasing.
1434 (grub_zfs_read): Likewise.
1435 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1436 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1437 pointers to avoid aliasing.
1438 (grub_cmd_xnu_kernel64): Likewise.
1439 (grub_xnu_load_driver): Likewise.
1440
1441 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1444 aliasing warning.
1445 (grub_cmd_terminal_output): Likewise.
1446 Reported and tested by: Grégoire Sutre.
1447
1448 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1451 warning.
1452 Reported and tested by: Grégoire Sutre.
1453
1454 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * configure.ac: Do CPU substitution even if it's specified explicitly.
1457 Reported and tested by: Alain Greppin.
1458
1459 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1462 Reported and tested by: Alain Greppin.
1463
1464 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Satisfy some bison versions need for inttypes.h.
1467
1468 * grub-core/lib/posix_wrap/inttypes.h: New file.
1469 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1470 (int16_t): Likewise.
1471 (int32_t): Likewise.
1472 (int64_t): Likewise.
1473 Reported and tested by: Alain Greppin.
1474
1475 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1478 Silence spurious warning.
1479 Reported and tested by: Alain Greppin.
1480
1481 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1482
1483 * docs/grub.texi (Support automatic decompression): Update with xz
1484 decompression support.
1485
1486 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1487
1488 Improve loaders' kernel command line handling.
1489
1490 * grub-core/lib/cmdline.c: New file.
1491 * include/grub/lib/cmdline.h: Likewise.
1492 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1493 grub_create_loader_cmdline to create kernel command line.
1494 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1495 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1496 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1497 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1498 (linux): Add lib/cmdline.c on common.
1499
1500 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1503 inopos might be unaligned.
1504
1505 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1508 endian transformations.
1509 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1510 Based on report by: Doug Nazar.
1511
1512 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1513
1514 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1515 array->members[i].start_sector.
1516 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1517
1518 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1521 Reported and tested by: Grégoire Sutre.
1522
1523 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1524
1525 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1526 avoid causing test failures by clearing the screen.
1527
1528 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1529
1530 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1531 Fix prefix check to handle the case where dir ends with a slash
1532 (most significantly, "/" itself).
1533 Reported by: Michael Vogt.
1534
1535 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Run terminfo_cls on initing terminfo output to clear the screen and
1538 move the cursor to (0,0).
1539
1540 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1541 Call grub_terminfo_output_init.
1542 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1543 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1544 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1545
1546 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1549 only when needed.
1550
1551 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1554 CTRL.
1555
1556 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 The E820 type 5 is BADRAM, not EXEC_CODE.
1559
1560 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1561 (GRUB_E820_BADRAM): New define.
1562 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1563 into reserved. Propagate BADRAM.
1564 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1565 (GRUB_E820_BADRAM): New define.
1566
1567 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1570 Ignore the memory post-4G.
1571 (grub_relocator_firmware_alloc_region): Additional debug statement.
1572
1573 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1576 names.
1577 Reported by: David Pravec.
1578
1579 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1582 BIOSes.
1583
1584 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1587 Prevent overflow.
1588 (grub_reed_solomon_recover): Likewise.
1589
1590 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1593
1594 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1597 variable.
1598
1599 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1600
1601 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1602 descriptions of extract_legacy_entries_source and
1603 extract_legacy_entries_configfile.
1604 Reported by: Seung Soo, Ha.
1605
1606 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1607
1608 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1609 on devices that do not implement function 0.
1610
1611 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1612
1613 * grub-core/fs/hfsplus.c: Make parent unsigned.
1614 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1615 overflows.
1616 (grub_hfsplus_cmp_extkey): Likewise
1617
1618 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * util/grub-install.in: Correctly use bootloader_id and not
1621 GRUB_DISTRIBUTOR on efibootmgr line.
1622
1623 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1626
1627 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1628
1629 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1630 Xen and reorder menu item wording to make it clearer that this entry
1631 will launch Xen. Print separate messages when loading Xen and
1632 Linux.
1633
1634 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1637 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1638 loop in case of incorrect amiga partmap.
1639
1640 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1643 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1644 Reported by:EHeM.
1645
1646 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1649 spurious warning.
1650 Reported by: crocket
1651
1652 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1655 Preload EFIemu.
1656 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1657
1658 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1661 is loaded
1662 (grub_cmd_xnu_kextdir): Likewise.
1663 (grub_cmd_xnu_splash): Likewise.
1664
1665 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 Avoid using Reed-Solomon with 0 redundancy.
1668
1669 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1670 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1671 or 0 redundancy.
1672 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1673 (grub_reed_solomon_recover): Likewise.
1674
1675 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Don't use disk subsystem in freebsd_boot.
1678
1679 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1680 (freebsd_biosdev): Likewise.
1681 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1682 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1683
1684 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 Handling of files of unknown size is currently limited. They can't be
1687 used e.g. for initrd or modules. Moreover gzip handling of not
1688 easily seekable files is buggy. Disable unknown file size for now. May
1689 be inefficient but works.
1690
1691 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1692 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1693
1694 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1695
1696 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1697 floppy probe.
1698
1699 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1700
1701 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1702
1703 2010-12-25 Shea Levy <shlevy>
1704
1705 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1706
1707 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1710 Windows Server 2008.
1711 Reported by: Devin Giddings.
1712
1713 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1716 writing an error message because of async power management.
1717 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1718 (grub_reboot): Likewise.
1719
1720 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1721
1722 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1723 keep unit tests from failing when they shouldn't.
1724
1725 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1726
1727 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1728 previous patch increased the size of the RS code by 20 bytes (at
1729 least with gcc-4.4), so increase this by 20 bytes to match.
1730 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1731
1732 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1733
1734 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1735 scratch area. Make sure to initialise chosen in standalone mode as
1736 well as non-standalone.
1737 Reported by: Robert Hooker and Andy Whitcroft.
1738 Tested by: Andy Whitcroft.
1739
1740 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1743 constructing a new unescaped string and passing it to grub_xputs in
1744 one go, rather than passing characters to grub_printf one at a time.
1745
1746 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1747
1748 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1749 initialising utf16.
1750
1751 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1752
1753 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1754 comment. Add an extra layer of quotation, requiring the output of
1755 this function to be used in a printf format string.
1756 (gettext_printf): New function.
1757 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1758 Extract translatable strings from here-documents and use a temporary
1759 variable instead, so that xgettext can find them.
1760 * util/grub.d/10_kfreebsd.in: Likewise.
1761 * util/grub.d/10_linux.in: Likewise.
1762 * util/grub.d/20_linux_xen.in: Likewise.
1763
1764 * po/grub.d.sed: New file.
1765 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1766 arguments. Set c-format flags on all strings extracted from
1767 util/grub.d/ (xgettext refuses to include these itself for strings
1768 it extracted from a shell file, but these really are c-format).
1769
1770 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1773 Avoid next pointing to nowhere.
1774
1775 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1778 rather than assuming than rootblock is exactly in the middle.
1779 (grub_affs_label): Likewise.
1780
1781 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1784 reserved_first_sector to 0.
1785 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1786 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1787 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1788
1789 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Fix handling of UTF-16 UDF labels.
1792
1793 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1794 (read_string): .. here.
1795 (grub_udf_label): Use read_string.
1796
1797 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1798
1799 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1800 editor under argument scope.
1801 Reported by: Jordan Uggla
1802
1803 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1806
1807 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1808
1809 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1810 line, and other keys scroll an entire page (previous handling was
1811 for \r and \n to scroll a page and other keys to scroll two lines).
1812
1813 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1816 Set ptrdest to correct get_physical_target_address rather than
1817 incorrect get_virtual_current_address.
1818
1819 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1820
1821 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1822 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1823
1824 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1825
1826 * .bzrignore: Ignore grub-core/rs_decoder.S.
1827
1828 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1829
1830 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1831 .mo/.mo.gz opening sequence to ...
1832 (grub_mofile_open_lang): ... here.
1833 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1834 * util/grub.d/00_header.in (grub_lang): Include country part of
1835 locale.
1836 Reported by: Mario Limonciello.
1837
1838 2010-12-09 Robert Millan <rmh@gnu.org>
1839
1840 * NEWS: Document addition of ZFS support.
1841
1842 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1843
1844 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1845 rather than `/ 2', as the latter requires -Wa,--divide which would
1846 require bumping our minimum binutils version.
1847
1848 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1849
1850 * util/grub-script-check.c (main): Print script line number on
1851 error.
1852
1853 2010-12-01 Robert Millan <rmh@gnu.org>
1854
1855 * grub-core/fs/zfs/zfs.c: New file.
1856 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1857 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1858 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1859 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1860
1861 * include/grub/zfs/dmu.h: Likewise.
1862 * include/grub/zfs/dmu_objset.h: Likewise.
1863 * include/grub/zfs/dnode.h: Likewise.
1864 * include/grub/zfs/dsl_dataset.h: Likewise.
1865 * include/grub/zfs/dsl_dir.h: Likewise.
1866 * include/grub/zfs/sa_impl.h: Likewise.
1867 * include/grub/zfs/spa.h: Likewise.
1868 * include/grub/zfs/uberblock_impl.h: Likewise.
1869 * include/grub/zfs/vdev_impl.h: Likewise.
1870 * include/grub/zfs/zap_impl.h: Likewise.
1871 * include/grub/zfs/zap_leaf.h: Likewise.
1872 * include/grub/zfs/zfs.h: Likewise.
1873 * include/grub/zfs/zfs_acl.h: Likewise.
1874 * include/grub/zfs/zfs_znode.h: Likewise.
1875 * include/grub/zfs/zil.h: Likewise.
1876 * include/grub/zfs/zio.h: Likewise.
1877 * include/grub/zfs/zio_checksum.h: Likewise.
1878
1879 * Makefile.util.def: Build ZFS into libgrubmods.
1880 * grub-core/Makefile.core.def: Build zfs.mod.
1881
1882 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1883
1884 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1885 variable.
1886 * grub-core/commands/wildcard.c (match_files): Likewise.
1887
1888 2010-11-30 Robert Millan <rmh@gnu.org>
1889
1890 * grub-core/loader/i386/bsd.c
1891 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1892 whether kernel is loaded using grub_loader_is_loaded(), rather
1893 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1894 certain error conditions.
1895
1896 2010-11-30 Robert Millan <rmh@gnu.org>
1897
1898 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1899 (grub_cmd_echo): Call grub_refresh() after printing a message.
1900
1901 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Avoid using tricks for initialising endian variables.
1904
1905 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1906 Make const.
1907 (GRUB_MOD_INIT): Don't byte-swap.
1908 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1909 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1910 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1911 (grub_swap_bytes32_compile_time): Likewise.
1912 (grub_cpu_to_le32_compile_time): Likewise.
1913 (grub_cpu_to_le16_compile_time): Likewise.
1914
1915 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * util/grub-setup.c (setup): Stop recommending --force. People who
1918 understand the dangers of blocklists are able to find this option
1919 anyway and the ones who don't shouldn't use it anyway.
1920
1921 2010-11-26 Robert Millan <rmh@gnu.org>
1922
1923 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1924 Update all users.
1925
1926 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1927
1928 Fix LVM-on-RAID probing.
1929
1930 * util/grub-probe.c (probe): Remember which disk was detected as
1931 RAID (perhaps an LVM physical volume). Use that disk's raidname
1932 rather than that of the top-level disk.
1933
1934 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1935
1936 Fix cmdline argument quotes for setparams command of menuentry
1937 definitions.
1938
1939 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1940 quotes for arguments.
1941 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1942 grub_strchrsub function instead.
1943
1944 * include/grub/misc.h (grub_strchrsub): New function.
1945
1946 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1947
1948 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1949 effort by skipping "." and ".." entries up-front.
1950 Suggested by: Michael Lazarev.
1951
1952 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1953
1954 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1955 ldflags to ldadd, to fix link line ordering.
1956 (none_decompress): Likewise.
1957
1958 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1959
1960 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1961 platforms.
1962 (grub-emu-lite): Remove kern/emu/cache.S.
1963
1964 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1965
1966 * util/deviceiter.c (compare_devices): If the by-id link for a
1967 device couldn't be resolved, fall back to sorting by the by-id link
1968 rather than segfaulting.
1969 Reported and tested by: Daniel Mierswa.
1970
1971 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1972
1973 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1974 ldflags, to fix link line ordering.
1975
1976 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1977
1978 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1979 linkers are picky about this.
1980
1981 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1982
1983 * grub-core/Makefile.am (command.lst): Adjust sed expression
1984 ordering so that extended and priority commands aren't treated as
1985 ordinary commands.
1986
1987 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1988
1989 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1990 Remove byte-swapping function calls, which are not valid in
1991 structure initialisers.
1992 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1993 non-const.
1994 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1995 grub_gpt_partition_type_bios_boot.
1996
1997 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1998
1999 Fix test program build on GNU/kFreeBSD.
2000
2001 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2002 $(LIBNVPAIR)' library dependencies.
2003
2004 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2005
2006 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2007
2008 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2009
2010 * util/grub-install.in: Remove excessive quoting that broke
2011 installations to RAID devices.
2012
2013 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2016 bootloader version instead of 0.
2017
2018 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2021 warning.
2022
2023 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2026 retrieve the metadat sector if size isn't known.
2027 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2028
2029 2010-11-18 Robert Millan <rmh@gnu.org>
2030
2031 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2032 with grub_memcmp().
2033
2034 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2037 arrow.
2038 Reported by: Jordan Uggla.
2039
2040 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Make better UTF compliant.
2043
2044 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2045 sequences as incorrect.
2046 (grub_is_valid_utf8): Likewise.
2047 (grub_utf8_to_ucs4): Likewise.
2048 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2049 (grub_ucs4_to_utf8_alloc): Likewise.
2050 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2051
2052 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 Make legacy_source behave like source.
2055
2056 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2057 grub_show_menu.
2058 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2059
2060 2010-11-16 Colin Watson <cjwatson@debian.org>
2061
2062 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2063 (-Wunused implies -Wunused-parameter, but not vice versa).
2064
2065 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
2066
2067 * configure.ac: Make error messages less confusing by testing for
2068 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2069 accepted, but produces a diagnostic if something else is wrong).
2070
2071 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2074 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2075 (now unused).
2076 (grub_keyboard_controller_init)
2077 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2078 read the initial state since controller isn't inited yet.
2079
2080 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2083 allocate_regbeg may need to create new chunk header.
2084
2085 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Fix quoting in legacy parser.
2088
2089 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2090 single quotes.
2091 (grub_legacy_parse): Likewise.
2092 Reported by: Jordan Uggla.
2093 Tested by: Jordan Uggla.
2094
2095 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Don't add -lgcc on i386 and x86_64.
2098
2099 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2100 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2101 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2102
2103 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * configure.ac: Add -Wno-trampolines when supported.
2106
2107 2010-11-14 Modestas Vainius <modax@debian.org>
2108
2109 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2110 fakeraid.
2111
2112 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2113
2114 Add generic logical block size support for UDF.
2115
2116 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2117 (GRUB_UDF_BLKSZ): Removed.
2118 (struct grub_udf_data): New field "lbshift" to hold the logical block
2119 size of the file system in log2 format. All users updated.
2120 (sblocklist): Change type to unsigned.
2121 (grub_udf_mount): Change type of "sblklist" to unsigned.
2122 Move AVDP search before VRS recognition, because the latter requires
2123 knowledge of the logical block size, which is detected during the
2124 former.
2125 Detect and validate logical block size during AVDP search, adding
2126 support for block sizes 512, 1024 and 4096.
2127 Make VRS recognition independent of block size.
2128
2129 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2130
2131 Properly handle deleted files on UDF.
2132
2133 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2134 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2135 set.
2136
2137 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2138
2139 Support reading files larger than 2 GiB.
2140
2141 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2142 "offset" to grub_off_t.
2143 (grub_udf_read_file): Likewise for parameter "pos".
2144
2145 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2148 unavailable.
2149 (Simple configuration): Refer to Changes from GRUB Legacy about
2150 save_env availability.
2151
2152 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * util/grub-install.in: Ignore empty partition table detection
2155 instead of trying to include part_ module.
2156
2157 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2160 LVM on RAID support.
2161
2162 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Properly define WORDS_BIGENDIAN in wrapped environments.
2165
2166 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2167 definition.
2168 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2169
2170 Reported by: Manoel Rebelo Abranches.
2171 Tested by: Manoel Rebelo Abranches.
2172
2173 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/grub-mkconfig.in: Fix quoting.
2176
2177 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Support big ext2 files.
2180
2181 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2182 (grub_ext2_read_block): Support triple indirect blocks.
2183 (grub_ext2_read_file): Use 64-bit types and read size_high.
2184 (grub_ext2_open): Read size_high.
2185 Reported by: Ximin Luo.
2186 Tested by: Manoel Rebelo Abranches.
2187
2188 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * util/grub-install.in: Handle filenames containing spaces.
2191 Reported by: Jordan Uggla.
2192 Tested by: Jordan Uggla.
2193
2194 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * util/grub-mkconfig.in (grub_script_check): New variable.
2197 Use grub_script_check instead of grub-script-check.
2198 Reported by: Barry Jackson.
2199
2200 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * docs/grub.texi (menu): Correct the order.
2203 Reported by: D. Hugh Redelmeier.
2204
2205 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2208 jump.
2209
2210 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2211
2212 * include/grub/elfload.h (grub_elf32_size): New parameter.
2213 All users updated.
2214 Return maximum segments alignment.
2215 (grub_elf64_size): Likewise.
2216 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2217 Return maximum segments alignment.
2218 (grub_elf64_size): Likewise.
2219 * grub-core/loader/powerpc/ieee1275/linux.c:
2220 (grub_linux_claimmap_iterate): New function. Uses the
2221 "available" property in the "memory" node for memory allocation
2222 for kernel in the PowerPC loader.
2223 (grub_linux_load32): Correctly find linux entry point offset.
2224 (grub_linux_load64): Likewise.
2225
2226 2010-11-07 Robert Millan <rmh@gnu.org>
2227
2228 On mips-yeeloong, build with -march=loongson2f when this flag is
2229 available (GCC >= 4.4).
2230 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2231 `-march=mips3'.
2232 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2233 or otherwise add -march=mips3.
2234
2235 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2236
2237 Suppress shell expansion on echo '*' and echo "*" like cases.
2238 Reported by: Jordan Uggla.
2239
2240 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2241 string arguments before shell expansion.
2242 * tests/grub_cmd_echo.in: New testcases.
2243
2244 2010-11-07 Robert Millan <rmh@gnu.org>
2245
2246 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2247 transition.
2248
2249 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/kern/emu/hostdisk.c
2252 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2253
2254 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2257 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2258 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2259
2260 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2263
2264 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * util/grub-install.in: Replace useless recomendation to pass
2267 --modules with a recomendation to report a bug.
2268
2269 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Properly register serial terminfo.
2272 Reported by: Jordan Uggla
2273
2274 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2275 const.
2276 (grub_serial_terminfo_output_template): Likewise.
2277 (grub_cmd_serial): Register "serial" with terminfo.
2278 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2279 grub_serial_terminfo_output.
2280
2281 2010-11-05 Robert Millan <rmh@gnu.org>
2282
2283 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2284 needed).
2285
2286 2010-11-05 Robert Millan <rmh@gnu.org>
2287
2288 On Yeeloong, pass machine type information to Linux.
2289
2290 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2291 (LOONGSON_MACHTYPE): New macro, set to
2292 "machtype=lemote-yeeloong-2f-8.9inches".
2293 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2294 additional argument to Linux.
2295
2296 2010-11-04 Robert Millan <rmh@gnu.org>
2297
2298 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2299 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2300 (its SATA disks are detected as slaveless IDE master drives on
2301 kFreeBSD).
2302 Reported by Carsten Aulbert.
2303
2304 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2305
2306 * util/bin2h.c (main): Fix spelling error in generated output.
2307
2308 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2309
2310 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2311
2312 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2315 vga= option is supplied.
2316
2317 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2320 * util/grub.d/10_kfreebsd.in: Likewise.
2321 * util/grub.d/10_linux.in: Likewise.
2322 * util/grub.d/20_linux_xen.in: Likewise.
2323
2324 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2327 argument as an argument to no-argument option.
2328
2329 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * util/grub.d/10_linux.in: Add missing load_video with explicit
2332 GRUB_GFXPAYLOAD_LINUX.
2333
2334 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2337
2338 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2341 elements with invlid index.
2342 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2343 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2344 members.
2345 * include/grub/raid.h (grub_raid_member): New struct.
2346 (grub_raid_array): Transform devices and start_sector into usage of
2347 grub_raid_member. All users updated
2348 (allocated_devs): New member.
2349
2350 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2353 is modified
2354
2355 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2356
2357 NetBSD build fix for getline function conflict from gnulib.
2358
2359 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2360 components that depend on gnulib headers.
2361 (libgrubmods.a): Renamed from earlier libgrub.a.
2362 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2363
2364 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2367 install rather than creating a broken install.
2368
2369 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * util/grub-setup.c (argp): Remove misleading example of installing to
2372 a partition.
2373
2374 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * util/grub-setup.c (setup): Clarify the error message.
2377
2378 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2381
2382 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/kern/emu/misc.c
2385 (grub_make_system_path_relative_to_its_root)
2386 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2387
2388 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/kern/emu/misc.c
2391 (grub_make_system_path_relative_to_its_root): Revert r2882.
2392
2393 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2396 useless field head. All users updated.
2397 (free_subchunk): Correct handling of IN_REGION subchunk.
2398
2399 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2400
2401 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2402 (Supported kernels): Likewise.
2403
2404 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2405
2406 Make mktemp invocations portable.
2407
2408 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2409 exit if mktemp fails.
2410 * tests/grub_script_blockarg.in: Likewise.
2411 * tests/partmap_test.in: Likewise.
2412 * tests/util/grub-shell-tester.in: Likewise.
2413 * tests/util/grub-shell.in: Likewise.
2414 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2415 * Makefile.am: Likewise, and chain shell commands with `&&'
2416 instead of ';'.
2417 * util/grub-mkrescue.in: Use the same explicit template as above, and
2418 exit if mktemp fails.
2419
2420 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2421
2422 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2423 Linux kernel, reported by Dennis Schridde.
2424
2425 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2426
2427 * grub-core/normal/auth.c (grub_auth_check_authentication):
2428 Set-but-not-used variable removed.
2429
2430 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2433 32-bit linux protocol.
2434
2435 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2438 cursor shape for sanity.
2439
2440 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * docs/grub.texi (Installation): Document buggy BIOS install.
2443
2444 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * docs/grub.texi (Installation): Indent.
2447
2448 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/grub-setup.c (setup): New parameter allow_floppy.
2451 (arguments): New member allow_floppy.
2452 (argp_parser): Handle --allow-floppy.
2453 (main): Pass allow_floppy.
2454 * util/grub-install.in: New option --allow-floppy passed though to
2455 grub-setup.
2456
2457 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * util/grub-install.in: Handle partitionless disks.
2460
2461 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * util/grub-setup.c (setup): Don't clean blocklists before readability
2464 verfification.
2465
2466 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * docs/grub.texi (Installation): Document embedding zone. Remove
2469 obsolete grub-install example.
2470
2471 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2472
2473 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2474 Set-but-not-used variable ifdef'ed.
2475 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2476 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2477 variable removed.
2478 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2479 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2480 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2481 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2482 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2483 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2484 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2485 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2486 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2487 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2488 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2489 Likewise.
2490
2491 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2494 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2495 enum value.
2496
2497 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2500 synonym to _S5_. Needed for some DSDTs.
2501
2502 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Userspace ACPI parser debugging.
2505
2506 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2507 headers and add relevant defines. Don't include standard headers.
2508 (main) [GRUB_DSDT_TEST]: New function.
2509 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2510 Don't declare functions.
2511
2512 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 Remove dead grub_efi_mm_fini.
2515
2516 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2517 (ALLOCATED_PAGES_SIZE): Likewise.
2518 (MAX_ALLOCATED_PAGES): Likewise.
2519 (allocated_pages): Likewise.
2520 (grub_efi_allocate_pages): Don't record allocated pages.
2521 (grub_efi_free_pages): Likewise.
2522 (grub_efi_mm_init): Likewise.
2523 (grub_efi_mm_fini): Removed.
2524
2525 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2528 (grub_efi_mm_init): Take into account the memory map size increase.
2529
2530 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2533 (serial_hw_put): Wait based on real time rather than port reads. Don't
2534 roken ports.
2535 * include/grub/serial.h (grub_serial_port): New field broken.
2536
2537 2010-10-16 Robert Millan <rmh@gnu.org>
2538
2539 * grub-core/kern/emu/misc.c
2540 (grub_make_system_path_relative_to_its_root): Fix premature return
2541 when processing non-root ZFS filesystems.
2542 Reported by Sergio Talens-Oliag.
2543
2544 2010-10-15 Robert Millan <rmh@gnu.org>
2545
2546 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2547 guarantee compressed ones are processed first.
2548
2549 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2552 grub_efiemu_autocore.
2553
2554 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2557 rather than 0x1b.
2558 (grub_console_getkey): Use correct jae opcode rather than ja.
2559
2560 2010-10-12 Robert Millan <rmh@gnu.org>
2561
2562 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2563 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2564 variable. All references updated.
2565
2566 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2567
2568 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Correctly distinguish mdraid flavours.
2571
2572 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2573 (insert_array): New argument raid.
2574 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2575 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2576 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2577
2578 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2581 handling of special keys.
2582
2583 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2584
2585 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2586 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2587
2588 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2589
2590 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2591 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2592 users updated.
2593 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2594 Use right endpoint when querying descriptor.
2595
2596 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Clear out 0x80 color bit on EFI.
2599 Tested by: decoder
2600 Reported by: decoder and meta tech.
2601
2602 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2603 (grub_console_setcolorstate): Clear out 0x80 bit.
2604 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2605 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2606 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2607
2608 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2611 Set to "auto".
2612
2613 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2616 mo_file after freeing.
2617
2618 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2621
2622 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2625 flags.
2626
2627 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2630 usage.
2631
2632 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2635
2636 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2637 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2638 and terminfo.h when needed.
2639 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2640 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2641 (terminfo): Enable only on terminfokernel.
2642 (extcmd): Likewise.
2643 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2644 * include/grub/lib/arg.h: Likewise.
2645 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2646 incorrect usage of ->.
2647
2648 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2651 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2652
2653 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 Fix coreboot compilation.
2656
2657 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2658 Take VBE info into account even if only text is supported.
2659 (fill_vbe_info): Take into account the case when only VGA text
2660 is supported.
2661 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2662 on coreboot, multiboot and qemu.
2663
2664 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2667 debug messages.
2668 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2669
2670 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2673 parameters.
2674
2675 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2678 if they were BSD-style.
2679
2680 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/boot/i386/pc/lnxboot.S: Replace
2683 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2684 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2685
2686 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 Write embedding zone using Reed-Solomon.
2689
2690 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2691 * grub-core/Makefile.am (rs_decoder.S): New target.
2692 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2693 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2694 (multiboot): Move to RS part.
2695 (post_reed_solomon): New label.
2696 (grub_boot_drive): Move to non-RS part since it's modified in memory
2697 on boot.
2698 Include rs_decoder.S.
2699 * grub-core/lib/reed_solomon.c: New file.
2700 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2701 New definition.
2702 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2703 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2704 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2705 * include/grub/partition.h (grub_partition_map): Change prototype of
2706 embed to allow returning additional sectors.
2707 * include/grub/reed_solomon.h: New file.
2708 * util/grub-setup.c (setup): Handle Reed-Solomon.
2709
2710 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2711
2712 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2713 i386 and x86-64 definedness tests.
2714
2715 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2716
2717 Fix generation of kernel_syms.lst
2718
2719 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2720 ASM_PREFIX
2721
2722 2010-09-26 Robert Millan <rmh@gnu.org>
2723
2724 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2725
2726 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2727 the pool is an array of devices, iterate through it and return the
2728 first device that passes a stat() test (instead of blindly returning
2729 the first one).
2730
2731 2010-09-26 Robert Millan <rmh@gnu.org>
2732
2733 Build fixes for GNU/kFreeBSD.
2734
2735 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2736 to programs that require ZFS conversion.
2737 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2738 kernels that don't have FLOPPY_MAJOR.
2739
2740 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2741
2742 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2743
2744 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2745
2746 Fix grub-emu build.
2747
2748 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2749 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2750 mdraid09 and mdraid1x.
2751
2752 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2753
2754 Re-enable grub-extras.
2755
2756 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2757 avoid confusing Automake. Run autogen only twice, once for the top
2758 level and once for grub-core. Add Makefile.util.def and
2759 Makefile.core.def from extra modules to the appropriate autogen
2760 invocations. If Makefile.common exists in an extra module, include
2761 it in both Makefile.util.am and grub-core/Makefile.core.am;
2762 similarly, include any Makefile.util.common file in Makefile.util.am
2763 and any Makefile.core.common file in grub-core/Makefile.core.am.
2764 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2765 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2766 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2767 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2768
2769 * gentpl.py (gvar_add): Turn GVARS into a set.
2770 (global_variable_initializers): Sort global variables on output.
2771 (vars_init): New function.
2772 (first_time): Likewise.
2773 (library): Ensure that non-global variable initialisations are
2774 emitted before the first time we emit code for a library block.
2775 Append to variables rather than setting them. Only emit
2776 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2777 each conditional path.
2778 (program): installdir() emits an Autogen macro, so must be passed to
2779 var_add rather than gvar_add.
2780 (data): Likewise.
2781 (script): Likewise.
2782 (rules): New function, centralising handling for different target
2783 types. Set up Guile association lists for first_time and vars_init,
2784 and send most output to a diversion so that variable initialisations
2785 can be emitted first.
2786 (module_rules): Use new rules function.
2787 (kernel_rules): Likewise.
2788 (image_rules): Likewise.
2789 (library_rules): Likewise.
2790 (program_rules): Likewise.
2791 (script_rules): Likewise.
2792 (data_rules): Likewise.
2793
2794 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2795
2796 * .bzrignore: Add contrib and grub-core/contrib. Remove
2797 grub-core/Makefile.gcry.am.
2798
2799 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2800
2801 * grub-core/lib/LzFind.c: Add missing include.
2802 * grub-core/lib/LzmaEnc.c: Likewise.
2803 * grub-core/script/lexer.c: Likewise.
2804 * grub-core/script/yylex.l: Likewise.
2805 * util/grub-macho2img.c: Likewise.
2806 * util/grub-menulst2cfg.c: Likewise.
2807 * util/grub-mklayout.c: Likewise.
2808 * util/grub-mkpasswd-pbkdf2.c
2809 * util/grub-mkrelpath.c: Likewise.
2810 * util/resolve.c: Likewise.
2811
2812 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2813
2814 * Makefile.util.def (example_unit_test): Add
2815 grub-core/gnulib/libgnu.a.
2816
2817 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2818
2819 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2820
2821 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Support xz compression on yeeloong.
2824
2825 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2826 * configure.ac: Check for LZMA.
2827 * grub-core/Makefile.core.def (xz_decompress): New target.
2828 (none_decompress): Likewise.
2829 * grub-core/boot/decompressor/minilib.c: New file.
2830 * grub-core/boot/decompressor/none.c: Likewise.
2831 * grub-core/boot/decompressor/xz.c: Likewise.
2832 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2833 * grub-core/kern/mips/cache_flush.S: Likewise.
2834 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2835 * grub-core/kern/mips/startup.S: Move first stage to ...
2836 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2837 nomacro.
2838 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2839 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2840 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2841 Allocate statically.
2842 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2843 Allocate statically or use scratch. Don't check CRC32.
2844 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2845 Allocate statically. Don't check CRC32.
2846 * include/grub/decompressor.h: New file.
2847 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2848 Removed.
2849 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2850 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2851 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2852 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2853 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2854 * util/grub-mkimage.c (grub_compression_t): New type.
2855 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2856 (image_target_desc): New field default_compression.
2857 (image_targets): Adjust yeeloong targets.
2858 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2859 (compress_kernel): New parameter comp.
2860 (generate_image): Likewise. Handle new compression case.
2861 (options): New option --compression
2862 (help): Likewise.
2863 (main): Handle new option.
2864
2865 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2866
2867 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2868
2869 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2870
2871 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2872 typo in __i386__ conditional.
2873
2874 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2877 include.
2878
2879 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 Implement EFI and ACPI multiboot2 extensions.
2882
2883 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2884 new tags as supported.
2885 (acpiv2_size): New function.
2886 (grub_multiboot_get_mbi_size): Take new tags into account.
2887 (grub_multiboot_make_mbi): Add new tags.
2888 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2889
2890 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2891
2892 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2893 Added missing configuration of USB device.
2894
2895 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2896
2897 * grub-core/normal/menu_entry.c (run): Make sure we always return
2898 a value.
2899
2900 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2901
2902 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2903 NumberOfPages is UINT64 according to the UEFI specification, not
2904 UINTN. Fix printf format.
2905
2906 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2907
2908 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2909 `err' to grub_usb_err_t.
2910 Reported and tested by: KESHAV P.R.
2911
2912 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2913
2914 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2915 tpart non-const, so that we can assign to it. (Since this is a
2916 typedef, the constness refers to the pointer rather than what it
2917 points to.)
2918
2919 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2920
2921 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2922 $(top_srcdir)/grub-core/gnulib as well as
2923 $(top_builddir)/grub-core/gnulib.
2924 Reported by: KESHAV P.R.
2925
2926 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2927
2928 * util/grub-install.in: Fix the bootloader ID option to be
2929 consistently --bootloader-id, not --bootloader_id.
2930 Reported by: KESHAV P.R.
2931
2932 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2933
2934 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2935 check hash checksum." consistently translatable.
2936
2937 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2938
2939 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2940 $(top_builddir).
2941
2942 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2943
2944 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2945 (GRUB_MOD_INIT): Register sha1sum command.
2946 (GRUB_MOD_FINI): Unregister sha1sum command.
2947
2948 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2949
2950 Keep boot and grub directory names in sync with utils scripts
2951
2952 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2953 * config.h.in: Add previous macros.
2954 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2955 * util/grub-install.in: Use $bootdir and $grubdir variables.
2956
2957 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2958
2959 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2960 convert partition names to disk names if the new `convert' parameter
2961 is set.
2962 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2963 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2964 disk in its own right. This can happen with Xen disk images.
2965
2966 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2967
2968 * util/grub-editenv.c: Update strings to avoid warnings when generating
2969 grub.pot file.
2970 * util/grub-setup.c: Likewise.
2971
2972 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * configure.ac: Change version to 1.99~beta0.
2975
2976 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2979 Add BADRAM.
2980 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2981 Likewise.
2982 * include/multiboot.h: Resynced with specification.
2983 * include/multiboot2.h: Likewise.
2984
2985 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2986
2987 Fix po directory handling.
2988
2989 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2990 * grub-core/gnulib/Makefile.am: Import gettext module.
2991 * m4/gnulib-cache.m4: Likewise.
2992 * m4/gnulib-comp.m4: Likewise.
2993 * m4/gettext.m4: New file, from gnulib.
2994 * m4/glibc2.m4: Likewise.
2995 * m4/iconv.m4: Likewise.
2996 * m4/intdiv0.m4: Likewise.
2997 * m4/intl.m4: Likewise.
2998 * m4/intldir.m4: Likewise.
2999 * m4/intlmacosx.m4: Likewise.
3000 * m4/intmax.m4: Likewise.
3001 * m4/inttypes-pri.m4: Likewise.
3002 * m4/lcmessage.m4: Likewise.
3003 * m4/lib-ld.m4: Likewise.
3004 * m4/lib-link.m4: Likewise.
3005 * m4/lib-prefix.m4: Likewise.
3006 * m4/lock.m4: Likewise.
3007 * m4/nls.m4: Likewise.
3008 * m4/po.m4: Likewise.
3009 * m4/printf-posix.m4: Likewise.
3010 * m4/progtest.m4: Likewise.
3011 * m4/threadlib.m4: Likewise.
3012 * m4/uintmax_t.m4: Likewise.
3013 * m4/visibility.m4: Likewise.
3014 * po/Makefile.am: Remove.
3015 * po/Makefile.in.in: New file, from gettext.
3016 ($(DOMAIN).pot-update): Support POTFILES-shell.
3017 * po/Makevars: New file.
3018 * po/POTFILES-shell: Rename to ...
3019 * po/POTFILES-shell.in: ... this. Update.
3020 * po/POTFILES: Rename to ...
3021 * po/POTFILES.in: ... this. Update.
3022 * po/Rules-quot: New file, from gettext.
3023 * po/boldquot.sed: Likewise.
3024 * po/en@boldquot.header: Likewise.
3025 * po/en@quot.header: Likewise.
3026 * po/insert-header.sin: Likewise.
3027 * po/quot.sed: Likewise.
3028 * po/remove-potcdate.sin: Likewise.
3029
3030 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3033
3034 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * util/grub.d/20_linux_xen.in: Use submenus.
3037
3038 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 Support submenus.
3041
3042 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3043 parameter submenu. All users updated.
3044 * grub-core/normal/main.c (free_menu): Rename to ...
3045 (grub_normal_free_menu): ... this. Made global.
3046 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3047 if requested.
3048 * grub-core/normal/menu_entry.c (screen): New field submenu.
3049 (make_screen): Set submenu.
3050 (run): Open new context if requested.
3051 * include/grub/menu.h (grub_menu_entry): New field submenu.
3052 * include/grub/normal.h (grub_normal_free_menu): New proto.
3053
3054 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 Menu entries extractor.
3057
3058 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3059 variants.
3060 (GRUB_MOD_INIT): Register new variants.
3061 (GRUB_MOD_FINI): Unregister new variants.
3062 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3063 into grub_cmd_legacy_source.
3064 (grub_cmd_legacy_source): Implement extractor variants.
3065 (GRUB_MOD_INIT): Register new variants.
3066 (GRUB_MOD_FINI): Unregister new variants.
3067 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3068 as an extractor.
3069 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3070 search as an extractor.
3071 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3072 test as an extractor.
3073 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3074 as an extractor.
3075 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3076 (grub_env_new_context): New function.
3077 (grub_env_context_open): Likewise.
3078 (grub_env_extractor_open): Likewise.
3079 (grub_env_extractor_close): Likewise.
3080 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3081 grub_extractor_level.
3082 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3083 * include/grub/env.h (grub_env_extractor_open): New proto.
3084 (grub_env_extractor_close): Likewise.
3085 * include/grub/normal.h (grub_extractor_level): New external variable.
3086
3087 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 Make cutmem accept a region specification.
3090 Suggested by: Samuel Thibault
3091
3092 * grub-core/mmap/mmap.c (parsemem): New function.
3093 (grub_cmd_cutmem): Handle new arguments.
3094
3095 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 New command cutmem.
3098
3099 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3100 (GRUB_MOD_INIT): Register new command.
3101 (GRUB_MOD_FINI): Unregister new command.
3102
3103 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Support some annoying BSD and Minix subpartitions.
3106
3107 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3108 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3109 Properly handle concatenation.
3110 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3111 * grub-core/normal/completion.c (iterate_partition): Likewise.
3112 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3113 contain partition. All users updated.
3114 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3115 struct.
3116 (grub_openbsdlabel_partition_map): Likewise.
3117 (bsdlabel_partition_map_iterate): Rename to ..
3118 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3119 (bsdlabel_partition_map_iterate): New function.
3120 (netopenbsdlabel_partition_map_iterate): Likewise.
3121 (netbsdlabel_partition_map_iterate): Likewise.
3122 (openbsdlabel_partition_map_iterate): Likewise.
3123 (GRUB_MOD_INIT): Register new partmaps.
3124 (GRUB_MOD_FINI): Unregister new partmaps.
3125 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3126 (grub_partition_msdos_iterate): ... this. All users updated.
3127 Don't support embedding other than in a minix partition.
3128 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3129 proto.
3130 * include/grub/partition.h (grub_partition): New field msdostype.
3131 * util/grub-install.in: Handle openbsd and netbsd types being in
3132 part_bsd module.
3133
3134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3137
3138 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3139 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3140 (mdraid09): ... this.
3141 (mdraid1x): New module.
3142 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3143 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3144
3145 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3148 vsprintf.
3149
3150 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3151
3152 * grub-core/commands/efi/lsefimmap.c: Correct header.
3153 * NEWS: Update.
3154
3155 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3156
3157 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3158 as printf format strings; the translations might contain '%' which
3159 could cause a crash.
3160 (main): Likewise.
3161 * util/grub-fstest.c (argp_parser): Likewise.
3162 * util/grub-setup.c (argp_parser): Likewise.
3163 (main): Likewise.
3164
3165 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 Use argp in grub-fstest.
3168
3169 * util/grub-fstest.c: Don't include getopt.h.
3170 Include argp.h.
3171 (root): New variable.
3172 (args_count): Likewise.
3173 (nparm): Likewise.
3174 (num_disks): Likewise.
3175 (images): Likewise.
3176 (cmd): Likewise.
3177 (debug_str): Likewise.
3178 (args): Likewise.
3179 (options): Transformed to argp.
3180 (usage): Removed.
3181 (main): Split argument parsing into ...
3182 (argp_parser): ... this. Changed to argp format.
3183 (argp): New variable.
3184 (main): Use argp_parse.
3185
3186 2010-09-20 Tristan Gingold <gingold@free.fr>
3187 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3188 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/commands/efi/lsefimmap.c: New file.
3191 * grub-core/Makefile.core.def (lsefimmap): New module.
3192 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3193
3194 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Pause the execution (10s max) if any errors are displayed so the user
3197 has a chance to see them.
3198
3199 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3200 (grub_print_error): Increment grub_err_printed_errors.
3201 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3202 execution if any errors were displayed.
3203 (show_menu): Remove old code for pause.
3204 * grub-core/normal/menu_entry.c (run): Likewise.
3205 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3206 users updated.
3207 (grub_normal_get_char_counter): Likewise.
3208 * include/grub/err.h (grub_err_printed_errors): New external variable.
3209 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3210
3211 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Support multiboot VBE info.
3214
3215 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3216 Take VBE info into account.
3217 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3218 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3219 Call fill_vbe_info when appropriate.
3220 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3221 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3222 as supported.
3223 (grub_multiboot_get_mbi_size): Take new tags into account.
3224 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3225 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3226 Call fill_vbe_tag when appropriate.
3227 (grub_multiboot_make_mbi): Properly align tags.
3228 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3229 function.
3230 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3231 proto.
3232 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3233
3234 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Suport manual terminal geometry specification.
3237
3238 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3239 Save state in grub_ofconsole_terminfo_output.
3240 (grub_ofconsole_term): Use grub_terminfo_getwh.
3241 (grub_ofconsole_getwh): Removed.
3242 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3243 (grub_serial_term): Use grub_terminfo_getwh.
3244 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3245 (options): New struct.
3246 (OPTION_*): New enum.
3247 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3248 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3249 width and height.
3250 (grub_terminfo_getwh): New proto.
3251 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3252
3253 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Handle legacy "terminal" command.
3256
3257 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3258 and FLAG_TERMINAL.
3259 (legacy_commands): Add terminal and title.
3260 (grub_legacy_parse): Handle terminal. Simplify title handling.
3261
3262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3265 parameters overflow.
3266
3267 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3268
3269 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3270 widthspec.h.
3271
3272 * docs/grub.texi (Shell-like scripting): Document `!'.
3273 (Network): Simplify using new i386-pc-pxe format. Mention
3274 grub-mknetdir.
3275
3276 * NEWS: Update.
3277
3278 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3279
3280 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3281 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3282 when needed.
3283
3284 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3285
3286 * grub-core/commands/efi/lsefisystab.c: Correct header.
3287 * grub-core/commands/efi/lssal.c: Likewise.
3288 * grub-core/commands/testload.c: Likewise.
3289
3290 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3291
3292 * util/grub-mkrescue.in: Add explicit root argument to --set to
3293 prevent the UUID being interpreted as an argument to --set (matches
3294 previous change to prepare_grub_to_access_device).
3295
3296 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3297
3298 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3299 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3300 the verbosity of later #ifs.
3301 (find_partition_start): Define this function on FreeBSD too.
3302 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3303 function.
3304 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3305 on FreeBSD.
3306
3307 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3308
3309 * util/grub-editenv.c: Use argp instead of getopt.
3310
3311 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3312
3313 * util/grub-setup.c: Use argp instead of getopt.
3314
3315 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3316
3317 Use gnulib-tool to create gnulib source files.
3318
3319 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3320 grub-core/gnulib directories
3321 * .bzignore: Add **/.deps and autogenerated gnulib files
3322 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3323 of gnulib macros, add grub-core/gnulib/Makefile
3324 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3325 include m4 directory to aclocal.
3326 * Makefile.util.def: Remove direct compilation of gnulib source files
3327 and use the new grub-core/gnulib/libgnu.a.
3328 * build-aux/config.rpath: move config.rpath from top directory to
3329 build-aux
3330 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3331 in gnulib headers
3332 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3333 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3334 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3335 header.
3336 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3337 string.
3338
3339 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3340
3341 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3342 grub-core/genmod.sh and grub-core/gensyminfo.sh
3343
3344 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3345
3346 Add a test for echo command options.
3347
3348 * tests/grub_cmd_echo.in: New test.
3349 * Makefile.util.def: Rules for new test.
3350
3351 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3352
3353 Remove crc.mod and move crc command to hashsum.mod.
3354 Remove lib/crc.c - users updated to use gcrypt implementation.
3355
3356 * grub-core/commands/crc.c: Removed.
3357 * grub-core/Makefile.core.def (crc): Module removed.
3358 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3359 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3360 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3361 * grub-core/lib/crc.c: Removed.
3362 * include/grub/lib/crc.h: Removed.
3363 * Makefile.util.def (crc): Remove lib/crc.c
3364 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3365 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3366 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3367 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3368 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3369 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3370
3371 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3374
3375 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Split config.h for util and core.
3378
3379 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3380 (ADDR32): Likewise.
3381 (DATA32): Likewise.
3382 (BSS_START_SYMBOL): Likewise.
3383 (END_SYMBOL): Likewise.
3384 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3385 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3386 * config.h.in: New file.
3387 * configure.ac: Use config-util.h as config define file.
3388 Rename MACHINE into GRUB_MACHINE. All users updated.
3389 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3390 updated.
3391 (NESTED_FUNC_ATTR): Likewise.
3392 Substitue new variables.
3393 (COND_HAVE_ASM_USCORE): New conditional.
3394 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3395 (kernel_syms.lst): Use ASM_PREFIX.
3396 * grub-core/kern/emu/console.c: Include config-util.h.
3397 * grub-core/kern/emu/misc.c: Likewise.
3398 * grub-core/kern/emu/mm.c: Likewise.
3399 * include/grub/emu/misc.h: Likewise.
3400 * include/grub/libgcc.h: Likewise.
3401
3402 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3405 constants usage.
3406 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3407 Fix GRUB_TERM_KEY_* constants usage.
3408 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3409
3410 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3413 print pointer.
3414 * grub-core/bus/usb/uhci.c: Remove empty define.
3415 (grub_uhci_check_transfer): Add missing cast.
3416 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3417 print pointer.
3418 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3419 PRIuGRUB_SIZE.
3420 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3421
3422 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/Makefile.core.def (legacycfg): Add
3425 lib/i386/pc/vesa_modes_table.c on emu.
3426
3427 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3428
3429 Reduce number of temporary files generated by build system.
3430
3431 * grub-core/gencmdlist.sh: Removed.
3432 * grub-core/genfslist.sh: Removed.
3433 * grub-core/genhandlerlist.sh: Removed.
3434 * grub-core/genmodsrc.sh: Removed.
3435 * grub-core/genpartmaplist.sh: Removed.
3436 * grub-core/genparttoollist.sh: Removed.
3437 * grub-core/gentermiinallist.sh: Removed.
3438 * grub-core/genvideolist.sh: Removed.
3439
3440 * grub-core/genmod.sh.in: New file.
3441 * grub-core/gensyminfo.sh.in: New file.
3442
3443 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3444 * conf/Makefile.extra-dist: Update with new files.
3445 * gentpl.py: Remove rules related to unnecessary temporary files.
3446 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3447 and und-* files.
3448 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3449 genmod.sh scripts.
3450 * grub-core/bus/usb/uhci.c: Remove empty #define.
3451 * grub-core/genmoddep.awk: Updated with new syminfo format.
3452 * util/bash-completion.d/Makefile.am: Add config.log to
3453 CLEANFILES.
3454
3455 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3456
3457 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3458
3459 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3460
3461 * util/grub-mkconfig.in: Check the config script for syntax errors
3462 before saving.
3463
3464 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3465 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3468 platforms.
3469 * util/grub-install.in: Add EFI and IEEE1275 support.
3470 * util/i386/efi/grub-install.in: Removed.
3471 * util/ieee1275/grub-install.in: Likewise.
3472
3473 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3476 (grub_cmd_cmosclean): Likewise.
3477 (GRUB_MOD_INIT): Register command cmosclean.
3478 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3479 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3480
3481 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3482 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3483 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Add keyboard layouts support.
3486
3487 * Makefile.util.def (grub-mklayout): New file.
3488 (grub-kbdcomp): New script.
3489 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3490 Add keyboard_layouts.h.
3491 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3492 commands/boot.c on yeeloong.
3493 (keylayouts): New module.
3494 * grub-core/bus/usb/ohci.c
3495 * grub-core/bus/usb/uhci.c
3496 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3497 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3498 (attach_root_port): Likewise.
3499 (poll_nonroot_hub): Likewise.
3500 (grub_usb_poll_devices): Likewise.
3501 (detach_device): Close transfer.
3502 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3503 function.
3504 (grub_usb_bulk_setup_readwrite): Likewise.
3505 (grub_usb_bulk_finish_readwrite): Likewise.
3506 * grub-core/commands/keylayouts.c: New file.
3507 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3508 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3509 aliases.
3510 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3511 support scancode 2.
3512 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3513 * include/grub/keyboard_layouts.h: New file.
3514 * util/grub-mklayout.c: New file.
3515 * util/grub-kbdcomp.in: Likewise.
3516
3517 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 Unify memory types.
3520
3521 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3522 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3523 types.
3524 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3525 (grub_upper_mem): Likewise.
3526 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3527 * include/grub/memory.h (grub_memory_type_t): New enum.
3528 All users updated.
3529
3530 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/Makefile.core.def (lsapm): New module.
3533 * grub-core/commands/i386/pc/lsapm.c: New file.
3534 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3535 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3536 Likewise.
3537 * include/grub/i386/pc/apm.h: New file.
3538 * include/multiboot.h (multiboot_apm_info): New struct.
3539
3540 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 GRUB-legacy configuration file support.
3543
3544 * Makefile.util.def (grub-menulst2cfg): New util.
3545 * docs/man/grub-menulst2cfg.h2m: New file.
3546 * grub-core/Makefile.core.def (legacycfg): New module.
3547 * grub-core/commands/legacycfg.c: New file.
3548 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3549 (grub_normal_add_menu_entry): ... this.
3550 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3551 (grub_normal_set_password): ...this.
3552 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3553 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3554 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3555 * grub-core/lib/legacy_parse.c: New file.
3556 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3557 * include/grub/i386/pc/vesa_modes_table.h: New file.
3558 * include/grub/legacy_parse.h: Likewise.
3559 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3560 * util/grub-menulst2cfg.c: New file.
3561
3562 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3563
3564 * grub-core/kern/emu/hostdisk.c
3565 (convert_system_partition_to_system_disk): Initialise node.
3566
3567 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3568
3569 * grub-core/kern/emu/hostdisk.c
3570 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3571 leak.
3572 Reported and based on patch by: Modestas Vainius.
3573
3574 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3575
3576 Fix DM-RAID probing with recent versions of device-mapper udev
3577 rules.
3578
3579 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3580 canonicalise device paths under /dev/mapper/.
3581 (convert_system_partition_to_system_disk): Compare the
3582 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3583 path, since device nodes under /dev/mapper/ are often symlinks.
3584
3585 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3586
3587 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3588
3589 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3590
3591 * configure.ac: Avoid some annoying error messages if freetype-config
3592 program is not found.
3593
3594 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3595
3596 Support RAID on virtio devices, and others.
3597
3598 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3599 Rename to ...
3600 [__MINGW32__] (grub_find_device): ... this.
3601 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3602 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3603 reasonable default if dir is NULL.
3604 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3605 ...
3606 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3607 (grub_guess_root_device): Update callers.
3608 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3609
3610 * util/raid.c (grub_util_getdiskname): Remove.
3611 (grub_util_raid_getmembers): Use grub_find_device rather than
3612 grub_util_getdiskname.
3613
3614 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3615
3616 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3617 needing to be compiled with serial support.
3618 (ls): Indicate that multiple files are accepted.
3619 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3620 indicate that multiple files are accepted.
3621
3622 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3623
3624 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3625 libgrub_a_init.c, and util/bash-completion.d/grub.
3626
3627 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * util/grub-setup.c (setup): Fix incorrect container semantics.
3630
3631 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3634 misusage.
3635 Reported by: J. Nick Terry
3636
3637 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 Move embedding routines to partmap sources files.
3640
3641 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3642 [GRUB_UTIL]: New variable.
3643 (gpt_partition_map_iterate): Set part.parent.
3644 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3645 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3646 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3647 New function.
3648 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3649 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3650 (grub_partition_map) [GRUB_UTIL]: New field embed.
3651 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3652 (setup): Use ->embed.
3653
3654 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3657 function.
3658 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3659 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3660
3661 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3662
3663 Add function to get completions from usage.
3664
3665 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3666 completions from usage. Use LC_ALL=C to get options properly.
3667
3668 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/gnulib/basename-lgpl.c: Imported.
3671 * grub-core/gnulib/basename.c: Likewise.
3672 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3673 * grub-core/gnulib/dirname.c: Likewise.
3674 * grub-core/gnulib/dirname.h: Likewise.
3675 * grub-core/gnulib/stripslash.c: Likewise.
3676
3677 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/gnulib/error.c: Resynced.
3680 * grub-core/gnulib/getopt.c: Likewise.
3681 * grub-core/gnulib/getopt_int.h: Likewise.
3682 * grub-core/gnulib/regex.h: Likewise.
3683 * grub-core/gnulib/regex_internal.c: Likewise.
3684 * grub-core/gnulib/regex_internal.h: Likewise.
3685
3686 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3687
3688 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3689 CRC calculations and validity checks.
3690 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3691 calculations.
3692
3693 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3694
3695 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3696
3697 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Fix incorrect echo options handling.
3700 Reported by: Yves Blusseau.
3701
3702 * include/grub/command.h (grub_command_flags_t): New flags
3703 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3704 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3705 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3706
3707 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3710 users updated.
3711 (GRUB_COMMAND_FLAG_MENU): Likewise.
3712 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3713 (GRUB_COMMAND_FLAG_TITLE): Removed.
3714 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3715 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3716 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3717 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3718 (grub_command_flags_t): New enum. All users updated.
3719
3720 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3721
3722 Fix solaris compilation.
3723
3724 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3725 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3726 (grub-emu-list): Likewise.
3727
3728 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 Remove deprecated root command.
3731
3732 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3733 updated.
3734
3735 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * util/i386/pc/grub-setup.c: Merge this ...
3738 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3739 * util/grub-setup.c: ... into this.
3740 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3741 New struct.
3742
3743 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3746 possible.
3747
3748 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3751 allocate p.
3752
3753 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3756 explicit root argument to set to prevent UUID to be interpreted as
3757 argument to set.
3758
3759 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3762
3763 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 Don't export grub_gate_a20.
3766
3767 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3768 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3769 to ...
3770 (grub_gate_a20): ... this. All users updated.
3771 * include/grub/i386/pc/init.h: Removed. All users updated.
3772
3773 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Create euro.pf2 which supports most European languages.
3776
3777 * Makefile.am (grubdata_DATA): Add euro.pf2.
3778 (euro.pf2): New target.
3779 (CLEANFILES): Add euro.pf2.
3780
3781 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * configure.ac: Disable emu-usb by default to prevent inadvertent
3784 device takeover.
3785
3786 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 Disable usbserial on grub-emu since our libusb code isn't good enough
3789 yet.
3790
3791 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3792 (usbserial_pl2303): Likewise.
3793 (usbserial_ftdi): Likewise.
3794
3795 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * include/grub/disk.h (grub_disk): Remove has_partitions.
3798 All users updated.
3799 * disk/loopback.c (grub_loopback): Remove has_partitions.
3800 All users updated.
3801 (options): Remove partitions. All users updated.
3802 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3803 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3804 actual partition table is found.
3805
3806 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Remove readability checks (too many false negatives).
3809
3810 * util/grub-install.in: Remove readability checks.
3811 * util/grub-mkconfig.in: Likewise.
3812 * util/grub.d/10_hurd.in: Likewise.
3813 * util/grub.d/10_kfreebsd.in: Likewise.
3814 * util/grub.d/10_linux.in: Likewise.
3815 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3816 way.
3817
3818 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Enable acpi shutdown on all ACPI platforms.
3821
3822 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3823 on coreboo, multiboot and EFI.
3824 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3825 (grub_acpi_halt): Likewise.
3826 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3827 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3828 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3829 * grub-core/lib/i386/halt.c (grub_halt)
3830 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3831
3832 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3835 context.
3836
3837 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3840 * grub-core/video/efi_uga.c: Likewise.
3841
3842 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Filter devaliases and never open same device twice.
3845
3846 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3847 (last_ihandle): Likewise.
3848 (ofdisk_hash_ent): New member shortest.
3849 (ofdisk_hash_add): Add canonical path too.
3850 (scan): New function.
3851 (grub_ofdisk_iterate): Iterate over hashed entries.
3852 (compute_dev_path): Don't add :0.
3853 (grub_ofdisk_open): Don't really open the disk.
3854 (grub_ofdisk_close): Avoid closing unrelated disk.
3855 (grub_ofdisk_read): Implement reopen logic.
3856 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3857 New function.
3858 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3859 New proto.
3860
3861 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 Fix sparc64.
3864
3865 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3866 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3867 right address. Add sparc64_ieee1275_ldflags.
3868 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3869 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3870 to grub_host_to_target_addr
3871 (load_image): Likewise.
3872
3873 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/normal/completion.c (complete_file): Handle device
3876 containing slash.
3877 Fix based on patch by Doug Nazar.
3878
3879 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 grub-mknetdir script.
3882
3883 * Makefile.util.def (grub-mknetdir): New module.
3884 * tests/util/grub-shell.in: Support boot=net
3885 * util/grub-mknetdir.in: New file.
3886
3887 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 videoinfo on non-vbe.
3890
3891 * grub-core/Makefile.core.def (vbeinfo): Removed.
3892 (vbetest): Removed.
3893 (videoinfo): New module.
3894 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3895 * grub-core/commands/i386/pc/vbetest.c: Removed.
3896 * grub-core/commands/videoinfo.c: New file.
3897 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3898 specification.
3899 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3900 as vbetest.
3901 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3902 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3903 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3904 mode_number. New parameter mode. All users updated.
3905 (grub_video_gop_iterate): New function.
3906 (grub_video_efi_gop): New member iterate.
3907 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3908 (grub_vbe_set_video_mode): Remove setting useless fields.
3909 (vbe2videoinfo): New function.
3910 (grub_video_vbe_iterate): Likewise.
3911 (grub_video_vbe_setup): Use vbe2videoinfo.
3912 (grub_video_vbe_print_adapter_specific_info): New function.
3913 (grub_video_vbe_adapter): New fields iterate and
3914 print_adapter_specific_info.
3915 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3916 All users updated.
3917 (grub_video_mode_info): New field mode_number.
3918 (grub_video_adapter): New fields iterate and
3919 print_adapter_specific_info.
3920
3921 2010-09-13 Tristan Gingold <gingold@free.fr>
3922 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3923 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/commands/efi/lsefisystab.c: New file.
3926 * grub-core/commands/efi/lssal.c: Likewise.
3927 * grub-core/Makefile.core.def (lsacpi): New module.
3928 (lsefisystab): Likewise.
3929 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3930 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3931 (grub_efi_sal_system_table): New struct.
3932 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3933 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3934 (grub_efi_sal_system_table_platform_features): Likewise.
3935 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3936 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3937 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3938 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3939
3940 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 Support explicit user claim that a device is BIOS-visible.
3943
3944 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3945 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3946 * grub-core/kern/emu/hostdisk.c
3947 (convert_system_partition_to_system_disk): Support mdX.
3948 (find_system_device): New parameter add. All users updated.
3949 (grub_util_biosdisk_is_present): New function.
3950 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3951 proto.
3952
3953 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Search hints support.
3956
3957 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3958 All users updated.
3959
3960 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3961
3962 Bash completion script for util commands
3963
3964 * Makefile.am: Add util/bash-completion.d directory
3965 * configure.ac: Likewise.
3966 * util/bash-completion.d/Makefile.am: New file.
3967 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3968
3969 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3972 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3973 Reported by: Yves Blusseau.
3974
3975 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3978 partition size and offset.
3979
3980 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3983
3984 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3987
3988 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3991 (grub_xvasprintf): Likewise.
3992
3993 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3996
3997 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4000 args ending with NULL.
4001
4002 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4005 pointer.
4006
4007 2010-09-11 Szymon Janc <szymon@janc.net.pl>
4008
4009 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4010
4011 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Shutdown using ACPI.
4014
4015 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4016 * grub-core/commands/acpihalt.c: New file.
4017 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4018 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4019 (grub_acpi_halt): New proto.
4020 (GRUB_ACPI_SLP_EN): New const.
4021 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4022 (GRUB_ACPI_OPCODE_*): New enum.
4023 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4024
4025 2010-09-11 Tristan Gingold <gingold@free.fr>
4026 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
4027 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * commands/lsacpi.c: New file.
4030 * grub-core/Makefile.core.def (lsacpi): New module.
4031 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4032 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4033 (grub_acpi_madt_entry_header): New struct.
4034 (grub_acpi_madt): Likewise.
4035 (grub_acpi_madt_entry_interrupt_override): Likewise.
4036 (grub_acpi_madt_entry_sapic): Likewise.
4037 (grub_acpi_madt_entry_lsapic): Likewise.
4038 (grub_acpi_madt_entry_platform_int_source): Likewise.
4039 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4040 (PRIuGRUB_UINT32_T): Likewise.
4041 (PRIxGRUB_UINT64_T): Likewise.
4042
4043 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 Implement loading palette on ieee1275_fb.
4046
4047 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4048 (have_setcolors): Likewise.
4049 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4050 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4051 (grub_video_ieee1275_set_palette): Implement.
4052
4053 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4054 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
4055
4056 * util/grub-install.in (grub_partition): New variable.
4057 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4058 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4059 Fixes a bug reported by Yves Blusseau.
4060
4061 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Fix emu on mipsel.
4064
4065 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4066 =grub_cpu_flush_cache on all mips and not only yeeloong.
4067 * configure.ac (COND_mips): New conditional.
4068 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4069 platforms.
4070 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4071 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4072 [GRUB_LINKER_HAVE_INIT]: New function.
4073 (grub_emu_post_init): Likewise.
4074 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4075 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4076 * include/grub/cache.h (_mips): Include mips/cache.h.
4077 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4078 LVM and RAID prototypes.
4079 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4080 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4081 function.
4082
4083 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4084
4085 * util/grub-install.in: Don't try to verify core.img until after
4086 running grub-mkimage to create it.
4087
4088 2010-09-10 Robert Millan <rmh@gnu.org>
4089
4090 * util/grub.d/10_hurd.in: Add misc readability checks.
4091 * util/grub.d/10_kfreebsd.in: Likewise.
4092 * util/grub.d/10_linux.in: Likewise.
4093
4094 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4095
4096 * util/grub-install.in: ${imgext} won't be defined here until the
4097 install branch is merged. For the meantime, only verify core.img on
4098 i386-pc and sparc64-ieee1275 platforms.
4099
4100 2010-09-10 Robert Millan <rmh@gnu.org>
4101
4102 Solaris support in grub_find_zpool_from_dir(). Thanks
4103 Seth Goldberg for referring to getextmntent() facility.
4104
4105 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4106 `sys/mkdev.h'.
4107 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4108 `<sys/mnttab.h>'.
4109 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4110 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4111 method for finding zpool name.
4112
4113 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4114
4115 grub-fstest needs the host and hostfs modules while other utilities
4116 actively require those modules to be absent, so grub-fstest needs
4117 its own initialisation and finalisation code.
4118
4119 * Makefile.am (grub_fstest.pp): New target.
4120 (grub_fstest_init.lst): Likewise.
4121 (grub_fstest_init.c): Likewise.
4122 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4123
4124 2010-09-10 Robert Millan <rmh@gnu.org>
4125
4126 * configure.ac: Check for `struct statfs.f_fstypename' and
4127 `struct statfs.f_mntfromname'.
4128
4129 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4130 kFreeBSD-specific code.
4131
4132 2010-09-10 Robert Millan <rmh@gnu.org>
4133
4134 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4135 on ZFS. Now non-main filesystems are supported as / too.
4136
4137 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
4138
4139 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4140 and grub-core/disk/host.c to ...
4141 (grub-fstest): ... here. Having the host disk implementation
4142 present confuses grub-probe and other utility programs.
4143
4144 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4145 when writing to a file, not when writing to stdout.
4146
4147 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4148
4149 * tests/partmap_test.in: New test for partitions.
4150 * Makefile.util.def: Rules for new test.
4151
4152 2010-09-09 Robert Millan <rmh@gnu.org>
4153
4154 * util/grub-probe.c (probe): Fix a pair of unhandled error
4155 conditions.
4156
4157 2010-09-09 Robert Millan <rmh@gnu.org>
4158
4159 Basic Btrfs support (detection and UUID).
4160
4161 * grub-core/fs/btrfs.c: New file.
4162 * Makefile.util.def (library): Register btrfs.c.
4163 * grub-core/Makefile.core.def: Likewise.
4164
4165 2010-09-08 Robert Millan <rmh@gnu.org>
4166
4167 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4168 with (optional) parameters to specify device and relative path.
4169 * util/grub-install.in: Use is_path_readable_by_grub() to
4170 verify readability of a few critical files.
4171 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4172 verify readability of grub.cfg.new.
4173
4174 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 Split minix.mod into minix.mod and minix2.mod.
4177
4178 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4179 * grub-core/Makefile.core.def (minix2): New module.
4180 * grub-core/fs/minix.c: Use definitions instead of runtime version
4181 checking.
4182 * grub-core/fs/minix2.c: New file.
4183
4184 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4185
4186 Add new --boot-directory option to replace --root-directory
4187
4188 * util/grub-install.in: Add new --boot-directory option
4189 * util/grub-reboot.in: Likewise.
4190 * util/grub-set-default.in: Likewise.
4191
4192 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4193
4194 * util/grub-mkconfig.in: Use new variable.
4195
4196 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4197
4198 * configure.ac: Define some useful variables.
4199
4200 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4203 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4204 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4205 Use terminfo and don't use cursor-on/cursor-off unless it's known
4206 to work.
4207 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4208 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4209
4210 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4213 starts with "(,", fill the drive containing the loaded image in
4214 between those two characters, but expect that a full partition
4215 specification including partition map names will follow.
4216
4217 2010-09-08 Robert Millan <rmh@gnu.org>
4218
4219 * configure.ac: Remove `--enable-grub-fstest' option.
4220 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4221
4222 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4223 `grub-fstest' instead of `grub-probe' for readability verification.
4224 * util/grub-probe.c (probe): Remove readability verification kludge.
4225
4226 2010-09-08 Robert Millan <rmh@gnu.org>
4227
4228 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4229 initializing `GRUB_FS'.
4230
4231 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4232
4233 Not command (!) support to GRUB script.
4234
4235 * tests/grub_script_not.in: New test.
4236 * Makefile.util.def: Rules for new test.
4237
4238 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4239 ! command as a special case.
4240 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4241
4242 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4243
4244 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4245 grub_free.
4246
4247 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4248
4249 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4250
4251 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4252
4253 * docs/grub.texi (Shell-like scripting): Documentation for break,
4254 continue, shift and return commands.
4255
4256 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 Rename CD-ROM to cd on BIOS.
4259
4260 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4261 "cd".
4262 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4263
4264 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4267 * util/grub-probe.c (main): Likewise.
4268 * util/i386/pc/grub-setup.c (main): Likewise.
4269 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4270 Reported and debugged by: alexxy
4271
4272 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4275 diagnostic info.
4276
4277 2010-09-05 Jo Shields <directhex@apebox.org>
4278
4279 * util/grub.d/30_os-prober.in: Add missing classes.
4280
4281 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * docs/grub.texi (Theme file format): Document new position format.
4284
4285 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4288 a table. Use @code instead of @verbatim.
4289
4290 2010-09-05 Colin D Bennett <colin@gibibit.com>
4291
4292 Gfxmenu documentation.
4293
4294 * docs/grub.texi (Theme file format): New chapter.
4295
4296 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4297
4298 * grub-core/Makefile.core.def (xzio): New module.
4299 * grub-core/io/xzio.c: New file.
4300 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4301 * grub-core/lib/xzembed/xz_config.h: Likewise.
4302 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4303 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4304 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4305 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4306 * grub-core/lib/xzembed/xz_private.h: Likewise.
4307 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4308 * include/grub/file.h (grub_file_filter_id): New compression filter
4309 GRUB_FILE_FILTER_XZIO.
4310
4311 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4314 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4315 size.
4316
4317 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4320 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4321
4322 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Uncompressed checksum support.
4325
4326 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4327 (check_list): New parameter uncompress.
4328 (grub_cmd_hashsum): Handle --uncompress.
4329
4330 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Reintroduce testload.
4333
4334 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4335 from here ...
4336 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4337 (GRUB_MOD_INIT): New function.
4338 (GRUB_MOD_FINI): Likewise.
4339 * grub-core/Makefile.core.def (testload): New module.
4340
4341 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4342
4343 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4344 (uint8_t): New type.
4345 (uint16_t): Likewise.
4346 (uint32_t): Likewise.
4347 (uint64_t): Likewise.
4348
4349 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4350
4351 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4352
4353 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4356 Made static.
4357 (grub_gzfile_open): Removed. All users updated.
4358 (GRUB_MOD_INIT): New function.
4359 (GRUB_MOD_FINI): Likewise.
4360 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4361 (grub_file_filters_enabled): Likewise.
4362 (grub_file_open): Handle filters.
4363 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4364 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4365 * include/grub/file.h (grub_file_filter_id_t): New type.
4366 (grub_file_filter_t): Likewise.
4367 (grub_file_filters_all): New extern variable.
4368 (grub_file_filters_enabled): Likewise.
4369 (grub_file_filter_register): New inline function.
4370 (grub_file_filter_unregister): Likewise.
4371 (grub_file_filter_disable): Likewise.
4372 (grub_file_filter_disable_compression): Likewise.
4373 * include/grub/gzio.h: Removed.
4374
4375 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4376
4377 Filename expansion support for wildcards in GRUB script.
4378
4379 * tests/grub_script_expansion.in: New test.
4380 * Makefile.util.def: Rule for new test.
4381
4382 * grub-core/commands/wildcard.c: New file, implements filename
4383 expansion support for GRUB script.
4384 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4385 * grub-core/script/argv.c: Cosmetic changes.
4386 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4387 Refactored to perform wildcard expansion on arguments.
4388 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4389 struct.
4390
4391 * tests/util/grub-shell.in: Fix quoting for read input.
4392
4393 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4394
4395 Support for updating environment variables with matched substrings
4396 of regexp.
4397
4398 * tests/grub_cmd_regexp.in: New test.
4399 * Makefile.util.def: Rule for new test.
4400
4401 * grub-core/commands/regexp.c: New option -s to update environment
4402 variables with regexp matches.
4403
4404 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4405
4406 * include/grub/file.h (grub_file): New member not_easly_seekable.
4407 (grub_file_seekable): New inline function.
4408 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4409 easily seekable.
4410 (grub_gzio_open): Set not_easly_seekable.
4411 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4412 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4413
4414 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4415
4416 Support for options to appear multiple times on cmdline.
4417
4418 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4419 * grub-core/commands/extcmd.c: Support for repeatable option.
4420 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4421 repeatable option support.
4422
4423 Refactor menuentry into a regular command.
4424
4425 * grub-core/commands/menuentry.c: New file, menuentry command
4426 implementation.
4427 * grub-core/Makefile.core.def: Rule update for normal.mod.
4428 * grub-core/normal/main.c: Moved menuentry creation to
4429 grub-core/commands/menuentry.c.
4430 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4431 (grub_menu_execute_entry_real): Removed.
4432 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4433 function.
4434 (grub_script_execute_menuentry): Removed.
4435 * grub-core/script/parser.y (menuentry): Removed.
4436 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4437 * grub-core/script/yylex.l (menuentry): Removed.
4438 * include/grub/menu.h (grub_menu_init): New prototype.
4439 (grub_menu_fini): New prototype.
4440 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4441 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4442 (grub_script_execute_sourcecode): New prototype.
4443
4444 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4445
4446 "return" command for GRUB script functions.
4447
4448 * tests/grub_script_return.in: New test.
4449 * Makefile.util.def: Rules for new test.
4450
4451 * grub-core/script/execute.c (grub_script_return): New function.
4452 * grub-core/script/main.c: Register/unregister return commaond.
4453 * include/grub/script_sh.h (grub_script_return): New prototype.
4454
4455 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4456
4457 "setparams" command to update positional parameters.
4458
4459 * tests/grub_script_setparams.in: New test.
4460 * Makefile.util.def: Rules for new test.
4461
4462 * grub-core/script/argv.c (grub_script_argv_make): New function.
4463 * grub-core/script/execute.c (replace_scope): New function.
4464 (grub_script_setparams): New function.
4465 * grub-core/script/lexer.c: Remove unused variables.
4466 * grub-core/script/main.c: Register/unregister setparams command.
4467 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4468 (grub_script_setparams): New prototype.
4469
4470 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4471
4472 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4473 grub_free order.
4474
4475 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4476
4477 Support for passing block of commands as an argument to extcmds.
4478
4479 * Makefile.util.def: Rules for new test.
4480 * tests/grub_script_blockarg.in: New test.
4481 * grub-core/tests/test_blockarg.c: New file, block argument
4482 command used in the test.
4483
4484 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4485 (grub_register_extcmd_prio): New function prototype.
4486 (grub_extcmd_dispatcher): New function prototype.
4487 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4488 type.
4489 * include/grub/script_sh.h (struct grub_script): New members
4490 `children', `next_siblings' and `refcnt' for block arguments and
4491 reference counting.
4492 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4493 (grub_script_arg): New member `script' for block argument.
4494 (grub_script_argv): New member `script' for block argument.
4495 (grub_parser_param): New member `scripts' for block argument.
4496 (grub_script_mem_free): New extern function prototype.
4497 (grub_script_ref): New function prototype.
4498 (grub_script_unref): New function prototype.
4499
4500 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4501 extcmd form to support block arguments.
4502 * grub-core/script/argv.c: Block arguments support.
4503 * grub-core/script/execute.c: Likewise.
4504 * grub-core/script/lexer.c: Likewise.
4505 * grub-core/script/main.c: Likewise.
4506 * grub-core/script/script.c: Likewise.
4507 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4508 non-terminals.
4509
4510 * grub-core/commands/acpi.c: Update extcmd implementations with
4511 grub_extcmd_context_t.
4512 * grub-core/commands/cat.c: Likewise.
4513 * grub-core/commands/echo.c: Likewise.
4514 * grub-core/commands/extcmd.c: Likewise.
4515 * grub-core/commands/hashsum.c: Likewise.
4516 * grub-core/commands/hdparm.c: Likewise.
4517 * grub-core/commands/help.c: Likewise.
4518 * grub-core/commands/hexdump.c: Likewise.
4519 * grub-core/commands/i386/cpuid.c: Likewise.
4520 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4521 * grub-core/commands/i386/pc/halt.c: Likewise.
4522 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4523 * grub-core/commands/iorw.c: Likewise.
4524 * grub-core/commands/keystatus.c: Likewise.
4525 * grub-core/commands/loadenv.c: Likewise.
4526 * grub-core/commands/ls.c: Likewise.
4527 * grub-core/commands/lspci.c: Likewise.
4528 * grub-core/commands/memrw.c: Likewise.
4529 * grub-core/commands/probe.c: Likewise.
4530 * grub-core/commands/search_wrap.c: Likewise.
4531 * grub-core/commands/setpci.c: Likewise.
4532 * grub-core/commands/sleep.c: Likewise.
4533 * grub-core/disk/loopback.c: Likewise.
4534 * grub-core/hello/hello.c: Likewise.
4535 * grub-core/loader/i386/bsd.c: Likewise.
4536 * grub-core/loader/xnu.c: Likewise.
4537 * grub-core/term/gfxterm.c: Likewise.
4538 * grub-core/term/serial.c: Likewise.
4539 * grub-core/tests/lib/functional_test.c: Likewise.
4540
4541 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4542
4543 Multi-line quoted strings support.
4544
4545 * grub-core/script/lexer.c (append_newline): Removed.
4546 (grub_script_lexer_yywrap): Refactored.
4547 (grub_script_lexer_init): Refactored.
4548 * grub-core/script/yylex.l (yywrap): New function.
4549 (grub_lexer_resplit): New function.
4550 (grub_lexer_unput): New function.
4551 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4552 and resplit.
4553 * tests/grub_script_echo1.in: Added few more testcases.
4554
4555 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/kern/misc.c: Don't add abort alias in utils.
4558 Reported by: echoline.
4559
4560 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4561
4562 Add missing files into "make dist" tarball for other platforms.
4563
4564 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4565 * conf/Makefile.common (dist_noinst_DATA): New variable.
4566 * conf/Makefile.extra-dist: Added missing make dist files.
4567 * grub-core/Makefile.core.def: Likewise.
4568
4569 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Compress grub_prefix.
4572
4573 * grub-core/boot/i386/pc/lnxboot.S: Use
4574 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4575 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4576 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4577 GRUB_MACHINE_PREFIX_END. All users updated.
4578 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4579 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4580 + 0x40.
4581 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4582 * util/grub-mkimage.c (image_target_desc): Change data_end to
4583 prefix_end. All users updated.
4584
4585 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4588 value.
4589 (grub_openbsd_boot): Likewise.
4590 (grub_netbsd_boot): Likewise.
4591 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4592 (grub_xnu_boot): Likewise.
4593
4594 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * configure.ac: Clean LIBS variable after tests.
4597
4598 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4599
4600 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4601
4602 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4605 echo if libdevmapper will be used.
4606
4607 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4608
4609 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4610 constant for the same file.
4611
4612 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4615
4616 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4617
4618 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4619 grub-core/*.pp.
4620
4621 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4622
4623 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4624 required by the boot protocol.
4625
4626 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4627 ebp and edi members.
4628 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4629 state.ebp and state.edi.
4630 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4631 %ebp and %edi according to grub_relocator32_ebp and
4632 grub_relocator32_edi respectively.
4633 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4634 and state.edi.
4635
4636 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 Add i386-pc-pxe image target.
4639
4640 * util/grub-mkimage.c (image_target_desc): New enum value
4641 IMAGE_I386_PC_PXE.
4642 (image_targets): New target i386-pc-pxe.
4643 (generate_image): Handle i386-pc-pxe image.
4644
4645 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Fix grub_pxe_scan.
4648
4649 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4650 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4651 All users updated.
4652 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4653 (grub_pxe_pxenv): Correct type.
4654
4655 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4656
4657 * NEWS: Document most of the important changes since 1.98.
4658
4659 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4660
4661 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4662 generated manual page) a little.
4663
4664 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4665
4666 * docs/grub.texi: Add myself as an author.
4667
4668 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * Makefile.util.def (libgrub.a): Add missing sunpc.
4671 Reported by: Seth Goldberg.
4672
4673 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Interrupt wrapping and code simplifications.
4676
4677 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4678 x86_noieee1275 which are functionaly equivalent in this case.
4679 (grub-install): Make source on each platform explicit. Enable on
4680 all noemu.
4681 * gentpl.py (x86_efi_pc): Removed group.
4682 (x86_noefi): Likewise.
4683 (i386_noefi): Likewise.
4684 (x86_noieee1275): Likewise.
4685 (i386_noieee1275): Likewise.
4686 (i386_noefi_noieee1275): Likewise.
4687 (i386_pc_qemu_coreboot): Likewise.
4688 (i386_coreboot_multiboot): Likewise.
4689 (i386_pc_coreboot_multiboot_qemu): Likewise.
4690 (x86_noefi_mips): Likewise.
4691 (noieee1275): Likewise.
4692 (ieee1275_mips): Likewise.
4693 (noemu_noieee1275): Likewise.
4694 (cmos): New group.
4695 (usb): Likewise.
4696 (videoinkernel): Likewise.
4697 (videomodules): Likewise.
4698 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4699 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4700 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4701 include/grub/loader.h, include/grub/msdos_partition.h,
4702 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4703 include/grub/machine/console.h, include/grub/machine/vga.h,
4704 include/grub/machine/vbe.h, include/grub/machine/init.h,
4705 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4706 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4707 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4708 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4709 * grub-core/Makefile.core.def (kernel): Explicit the source for
4710 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4711 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4712 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4713 Use videoinkernel tag.
4714 (usb): Enable on all usb.
4715 (usbserial_common): Likewise.
4716 (usbserial_pl2303): Likewise.
4717 (usbserial_ftdi): Likewise.
4718 (uhci): Enable on all x86.
4719 (ohci): Enable on all pci.
4720 (cmostest): Enable on all CMOS.
4721 (acpi): Include commands/acpi.c on all platforms.
4722 (halt): Add relevant lib/*/halt.c.
4723 (hdparm): Enable on all pci.
4724 (lspci): Likewise.
4725 (usbtest): Enable on all usb.
4726 (ata): Enable on all pci.
4727 (ata_pthru): Likewise.
4728 (usbms): Enable on all usb.
4729 (usb_keyboard): Likewise.
4730 (font): Use tag videomodules.
4731 (bufio): Likewise.
4732 (datetime): Use tag cmos. Enable on all noemu.
4733 (mmap): Use tags common and x86.
4734 (gfxterm): Use tag videomodules.
4735 (bitmap): Likewise.
4736 (bitmap_scale): Likewise.
4737 (video_fb): Likewise.
4738 (video): Likewise.
4739 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4740 adjust padding accordingly. All users updated.
4741 (grub_ohci_transaction): Fix bad format specification.
4742 (GRUB_MOD_INIT): Add asserts for struct size.
4743 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4744 (grub_alloc_td): Likewise.
4745 (grub_free_queue): Likewise.
4746 (grub_uhci_transfer): Likewise.
4747 (grub_uhci_transaction): Fix bad format specification.
4748 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4749 (grub_usb_bulk_readwrite): Likewise.
4750 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4751 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4752 Made static.
4753 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4754 Made static.
4755 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4756 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4757 Transformed into C.
4758 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4759 Moved from here ...
4760 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4761 ... here. Transformed into C. Made static.
4762 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4763 Moved from here ...
4764 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4765 ... here. Transformed into C. Made static.
4766 * grub-core/kern/i386/pc/startup.S
4767 (grub_biosdisk_check_int13_extensions): Moved from here ...
4768 * grub-core/disk/i386/pc/biosdisk.c
4769 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4770 Made static.
4771 * grub-core/kern/i386/pc/startup.S
4772 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4773 * grub-core/disk/i386/pc/biosdisk.c
4774 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4775 Transformed into C. Made static.
4776 * grub-core/kern/i386/pc/startup.S
4777 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4778 * grub-core/disk/i386/pc/biosdisk.c
4779 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4780 Transformed into C. Made static.
4781 * grub-core/kern/i386/pc/startup.S
4782 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4783 * grub-core/disk/i386/pc/biosdisk.c
4784 (grub_biosdisk_get_diskinfo_standard): ... here.
4785 Transformed into C. Made static.
4786 * grub-core/kern/i386/pc/startup.S
4787 (grub_biosdisk_get_num_floppies): Moved from here ...
4788 * grub-core/disk/i386/pc/biosdisk.c
4789 (grub_biosdisk_get_num_floppies): ... here.
4790 Transformed into C. Made static.
4791 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4792 New function.
4793 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4794 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4795 Transformed into C. Made static.
4796 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4797 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4798 Transformed into C. Made static.
4799 * grub-core/kern/i386/ieee1275/init.c: Removed.
4800 * grub-core/kern/i386/misc.S: Likewise.
4801 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4802 Splitted from here ...
4803 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4804 Transformed into C. Made static. All users updated.
4805 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4806 Transformed into C. Made static. All users updated.
4807 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4808 Moved from here...
4809 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4810 Transformed into C. Made static. All users updated.
4811 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4812 Moved from here...
4813 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4814 Transformed into C. Made static. All users updated.
4815 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4816 Removed (replaced by C version).
4817 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4818 Moved from here...
4819 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4820 Transformed into C. Made static.
4821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4822 Moved from here...
4823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4824 ... here. Transformed into C.
4825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4826 Moved from here...
4827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4828 ... here. Transformed into C.
4829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4830 Moved from here...
4831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4832 ... here. Transformed into C. Made static.
4833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4834 Moved from here...
4835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4836 ... here. Transformed into C.
4837 * grub-core/kern/i386/pc/startup.S
4838 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4839 * grub-core/video/i386/pc/vbe.c
4840 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4841 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4842 Moved from here...
4843 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4844 ... here. Transformed into C.
4845 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4846 Moved from here...
4847 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4848 ... here. Transformed into C.
4849 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4850 Moved from here...
4851 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4852 ... here. Transformed into C.
4853 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4854 Moved from here...
4855 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4856 ... here. Transformed into C.
4857 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4858 Moved from here...
4859 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4860 ... here. Transformed into C. Made static.
4861 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4862 Moved from here...
4863 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4864 ... here. Transformed into C. Made static.
4865 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4866 Moved from here...
4867 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4868 ... here. Transformed into C. Made static.
4869 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4870 pxe_rm_entry as third argument.
4871 (grub_bios_interrupt): New function.
4872 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4873 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4874 of calling grub_stop.
4875 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4876 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4877 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4878 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4879 * grub-core/lib/i386/halt.c: Moved from here ...
4880 * grub-core/lib/i386/halt.c: ... here.
4881 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4882 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4883 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4884 grub_stop_floppy.
4885 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4886 * include/grub/i386/coreboot/init.h: Removed.
4887 * include/grub/i386/multiboot/init.h: Likewise.
4888 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4889 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4890 * include/grub/i386/pc/int.h: New file.
4891 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4892 (grub_pxe_scan): Removed.
4893 (grub_pxe_call): Update prototype.
4894 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4895 prototypes.
4896 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4897 * include/grub/i386/qemu/init.h: Removed.
4898 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4899 noreturn.
4900 (grub_halt): Likewise.
4901 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4902 (grub_reboot): Likewise.
4903 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4904 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4905 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4906
4907 2010-08-30 Robert Millan <rmh@gnu.org>
4908
4909 * NEWS: Document addition of ZFS support in `grub-install' and
4910 `grub-mkconfig'.
4911
4912 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4913
4914 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4915 dprintf output.
4916
4917 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Remove leftover embedding of font objects.
4920
4921 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4922 * util/grub-install.in (font): Removed.
4923 * util/grub-mkimage.c (generate_image): Remove font support. All users
4924 updated.
4925
4926 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Remove leftover embedding of font objects.
4929
4930 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4931 * util/grub-install.in (font): Removed.
4932 * util/grub-mkimage.c (generate_image): Remove font support. All users
4933 updated.
4934
4935 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4938 Reported by: Ian Turner
4939
4940 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4943 timeout to avoid indefinite boot stalling.
4944
4945 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4948 (grub_env_write_color_highlight): Likewise.
4949
4950 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/normal/term.c (print_more): Return to normal and not
4953 to standard state after printing "---MORE---".
4954
4955 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4958 Mask out the bit 0x80 since it has other meaning that specifiing color.
4959
4960 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 New relocator. Allows for more kernel support and more straightforward
4963 loader writing.
4964
4965 * Makefile.am (BOOTTARGET): New variable.
4966 (QEMU32): Likewise.
4967 (linux.init.x86_64): New target.
4968 (linux.init.i386): Likewise.
4969 (multiboot.elf): Likewise.
4970 (kfreebsd.elf): Likewise.
4971 (kfreebsd.aout): Likewise.
4972 (pc-chainloader.elf): Likewise.
4973 (pc-chainloader.bin): Likewise.
4974 (ntldr.elf): Likewise.
4975 (ntldr.bin): Likewise.
4976 (multiboot2.elf): Likewise.
4977 (kfreebsd.init.x86_64): Likewise.
4978 (kfreebsd.init.i386): Likewise.
4979 (knetbsd.init.i386): Likewise.
4980 (kopenbsd.init.i386): Likewise.
4981 (knetbsd.init.x86_64): Likewise.
4982 (kopenbsd.init.x86_64): Likewise.
4983 (linux-initramfs.i386): Likewise.
4984 (linux-initramfs.x86_64): Likewise.
4985 (kfreebsd-mfsroot.i386.img): Likewise.
4986 (knetbsd.image.i386): Likewise.
4987 (kopenbsd.image.i386): Likewise.
4988 (kopenbsd.image.x86_64): Likewise.
4989 (knetbsd.miniroot-image.i386.img): Likewise.
4990 (kfreebsd-mfsroot.x86_64.img): Likewise.
4991 (knetbsd.image.x86_64): Likewise.
4992 (knetbsd.miniroot-image.x86_64.img): Likewise.
4993 (kfreebsd-mfsroot.i386.gz): Likewise.
4994 (bootcheck-kfreebsd-i386): Likewise.
4995 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4996 (bootcheck-kfreebsd-x86_64): Likewise.
4997 (knetbsd.miniroot-image.i386.gz): Likewise.
4998 (bootcheck-knetbsd-i386): Likewise.
4999 (bootcheck-kopenbsd-i386): Likewise.
5000 (bootcheck-kopenbsd-x86_64): Likewise.
5001 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5002 (bootcheck-knetbsd-x86_64): Likewise.
5003 (bootcheck-linux-i386): Likewise.
5004 (bootcheck-linux-x86_64): Likewise.
5005 (bootcheck-linux16-i386): Likewise.
5006 (bootcheck-linux16-x86_64): Likewise.
5007 (bootcheck-multiboot): Likewise.
5008 (bootcheck-multiboot2): Likewise.
5009 (bootcheck-kfreebsd-aout): Likewise.
5010 (bootcheck-pc-chainloader): Likewise.
5011 (bootcheck-ntldr): Likewise.
5012 (CLEANFILES): Add new targets.
5013 (BOOTCHECKS): New variable.
5014 (.PHONY): Add bootchecks.
5015 (SUCCESSFUL_BOOT_STRING): New variable.
5016 (BOOTCHECK_TIMEOUT): Likewise.
5017 (bootcheck): New target
5018 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5019 * configure.ac: Correct efiemu excuse.
5020 * docs/grub.texi (Supported kernels): New chapter.
5021 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5022 include/grub/mm_private.h. Simplify inclusion of
5023 include/grub/boot.h, include/grub/loader.h
5024 and include/grub/msdos_partition.h
5025 (KERNEL_HEADER_FILES) [i386_coreboot]:
5026 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5027 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5028 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5029 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5030 include/grub/machine/loader.h.
5031 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5032 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5033 extra_dist.
5034 (pci.mod): Enable on i386-multiboot.
5035 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5036 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5037 i386-qemu.
5038 (relocator.mod): Rewritten.
5039 (aout.mod): Enable on all x86.
5040 (bsd.mod): Likewise.
5041 (ntldr.mod): New module.
5042 (linux.mod): Use loader/i386/linux.c on all x86.
5043 (xnu.mod): Enable on all x86.
5044 (vga_text.mod): disable on EFI and QEMU.
5045 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5046 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5047 * grub-core/efiemu/loadcore.c: Likewise.
5048 * grub-core/efiemu/main.c: Likewise.
5049 (grub_efiemu_exit_boot_services): Removed.
5050 (grub_efiemu_finish_boot_services): Likewise.
5051 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5052 function.
5053 * grub-core/efiemu/i386/nocfgtables.c: New file.
5054 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5055 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5056 (grub_efi_finish_boot_services): Moved from here ...
5057 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5058 Fille finish memory map and related data.
5059 (finish_mmap_buf): New variable.
5060 (grub_efi_uintn_t finish_mmap_size): Likewise.
5061 (grub_efi_uintn_t finish_key): Likewise.
5062 (grub_efi_uintn_t finish_desc_size): Likewise.
5063 (grub_efi_uint32_t finish_desc_version): Likewise.
5064 (grub_efi_is_finished): Likewise.
5065 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5066 finished.
5067 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5068 (grub_elf64_phdr_iterate): Likewise.
5069 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5070 (grub_os_area_size): Likewise.
5071 (grub_machine_init): Don't reserve os area.
5072 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5073 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5074 * grub-core/kern/i386/loader.S: Removed.
5075 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5076 (grub_os_area_size): Likewise.
5077 (grub_machine_init): Don't reserve os area.
5078 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5079 Don't call grub_dl_unload_all.
5080 Don't include loader.S.
5081 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5082 Declare the memory after _end as available.
5083 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
5084 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
5085 (GRUB_MM_ALLOC_MAGIC): Moved from here...
5086 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5087 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5088 * include/grub/mm_private.h (grub_mm_header): ... here.
5089 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5090 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
5091 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5092 (grub_mm_region): ..here. Removed addr. Added pre_size.
5093 All users updated.
5094 * grub-core/kern/mm.c (base): Renamed to ...
5095 (grub_mm_base): ... this. Made global.
5096 (grub_real_malloc): Alloc from end of region.
5097 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5098 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5099 * grub-core/kern/powerpc/cache_flush.S: ... here.
5100 * grub-core/lib/efi/relocator.c: New file.
5101 * grub-core/lib/i386/relocator.c: Rewritten.
5102 * grub-core/lib/i386/relocator16.S: New file.
5103 * grub-core/lib/i386/relocator32.S: Likewise.
5104 * grub-core/lib/i386/relocator64.S: Likewise.
5105 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5106 * grub-core/lib/i386/relocator_common.S: New file.
5107 * grub-core/lib/ieee1275/relocator.c: Likewise.
5108 * grub-core/lib/mips/relocator.c: Rewritten.
5109 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5110 stylistic adjustments.
5111 * grub-core/lib/powerpc/relocator.c: New file.
5112 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5113 * grub-core/lib/relocator.c: Rewritten.
5114 * grub-core/lib/x86_64/relocator_asm.S: New file.
5115 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5116 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5117 (bsd_tag): New struct.
5118 (tags): New variable.
5119 (tags_last): Likewise.
5120 (netbsd_module): New struct.
5121 (netbsd_mods): New variable.
5122 (netbsd_mods_last): Likewise.
5123 (openbsd_opts): New parameter "serial".
5124 (OPENBSD_SERIAL_ARG): New definition.
5125 (netbsd_opts): New parameter "serial".
5126 (NETBSD_SERIAL_ARG): New definition.
5127 (grub_freebsd_add_meta): Reorganised into ...
5128 (grub_bsd_add_meta): ...this. All users updated.
5129 (grub_freebsd_add_mmap): Reorganised into ...
5130 (generate_e820_mmap): ...this...
5131 (grub_bsd_add_mmap): ...and this. All users updated.
5132 (grub_freebsd_list_modules): Use tags.
5133 (grub_netbsd_add_meta_module): New function.
5134 (grub_netbsd_list_modules): Likewise.
5135 (grub_freebsd_boot): Use relocator and finish EFI.
5136 (grub_openbsd_boot): Likewise.
5137 (grub_netbsd_setup_video): New function.
5138 (grub_netbsd_add_modules): Likewise.
5139 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5140 and finish EFI.
5141 (grub_bsd_unload): Unload tags.
5142 (grub_bsd_load_aout): Use relocator.
5143 (grub_bsd_elf32_size_hook): New function.
5144 (grub_bsd_elf32_hook): Use relocator.
5145 (grub_bsd_elf64_size_hook): New function.
5146 (grub_bsd_elf64_hook): Use relocator.
5147 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5148 (grub_bsd_load): Zero-out openbsd_ramdisk.
5149 (grub_bsd_load): Use relocator.
5150 (grub_cmd_openbsd): Support serial.
5151 (grub_cmd_netbsd): Support modules.
5152 (grub_cmd_freebsd_module): Use relocator.
5153 (grub_netbsd_module_load): New function.
5154 (grub_cmd_netbsd_module): Likewise.
5155 (grub_cmd_openbsd_ramdisk): Likewise.
5156 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5157 kopenbsd_ramdisk.
5158 (GRUB_MOD_FINI): Unregister new commands.
5159 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5160 (grub_freebsd_load_elfmodule_obj): Use relocator.
5161 (grub_freebsd_load_elfmodule): Likewise.
5162 (grub_freebsd_load_elf_meta): Likewise.
5163 (grub_netbsd_load_elf_meta): New function.
5164 (grub_openbsd_find_ramdisk): Likewise.
5165 * grub-core/loader/i386/bsd_helper.S: Removed.
5166 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5167 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5168 * grub-core/loader/i386/efi/linux.c: Likewise.
5169 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5170 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5171 (DEFAULT_VIDEO_MODE): Likewise.
5172 (real_mode_target): New variable.
5173 (prot_mode_target): Likewise.
5174 (initrd_mem_target): Likewise.
5175 (relocator): Likewise.
5176 (efi_mmap_buf): Likewise.
5177 (efi_mmap_size): Likewise.
5178 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5179 (free_pages): Use relocator.
5180 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5181 (grub_linux_setup_video): Return error.
5182 (grub_linux_trampoline_start): Removed.
5183 (grub_linux_trampoline_end): Likewise.
5184 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5185 andd video parameters depending on firmware.
5186 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5187 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5188 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5189 (grub_cmd_initrd): Use relocator.
5190 * grub-core/loader/i386/linux_trampoline.S: Removed.
5191 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5192 (elf_sec_entsize): Likewise.
5193 (elf_sec_shstrndx): Likewise.
5194 (elf_sections): Likewise.
5195 (grub_multiboot_load): Use relocator.
5196 (grub_multiboot_get_mbi_size): Account for sections.
5197 (grub_multiboot_make_mbi): Use relocator and support sections.
5198 (grub_multiboot_add_elfsyms): New function.
5199 (grub_multiboot_free_mbi): Free sections.
5200 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5201 (grub_linux_real_target): Likewise.
5202 (grub_linux_real_chunk): Likewise.
5203 (grub_linux16_prot_size): Likewise.
5204 (grub_linux16_boot): Use relocator.
5205 (grub_linux_unload): Unload relocator.
5206 (grub_cmd_linux): Use relocator.
5207 (grub_cmd_initrd): Likewise.
5208 * grub-core/loader/i386/pc/ntldr.c: New file.
5209 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5210 Don't try to guess CPU frequency.
5211 (grub_xnu_set_video): Stretch bitmap.
5212 (grub_xnu_boot): Use relocator.
5213 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5214 (grub_linux_unload): Free relocator.
5215 (grub_linux_load32): Use relocator.
5216 (grub_linux_load64): Likewise.
5217 (grub_cmd_initrd): Likewise.
5218 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5219 (grub_multiboot_unload): Unload relocator.
5220 (grub_cmd_multiboot): Use relocator.
5221 (grub_cmd_module): Likewise.
5222 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5223 Use relocator and support sections.
5224 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5225 (elf_sec_entsize): Likewise.
5226 (elf_sec_shstrndx): Likewise.
5227 (elf_sections): Likewise.
5228 (grub_multiboot_load): Use relocator.
5229 (grub_multiboot_get_mbi_size): Account for sections.
5230 (grub_multiboot_make_mbi): Use relocator and support sections.
5231 (grub_multiboot_add_elfsyms): New function.
5232 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5233 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5234 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5235 Prototype changed. All users updated.
5236 (grub_xnu_align_heap): Simplified.
5237 (grub_xnu_writetree_toheap): Likewise.
5238 (grub_xnu_unload): Unload relocator.
5239 (grub_cmd_xnu_kernel): Use relocator.
5240 (grub_cmd_xnu_kernel64): Likewise.
5241 (grub_xnu_register_memory): Simplified.
5242 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5243 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5244 EFI is finished.
5245 (grub_console_checkkey): Likewise.
5246 (grub_console_getkey): Likewise.
5247 (grub_console_getwh): Likewise.
5248 (grub_console_getxy): Likewise.
5249 (grub_console_gotoxy): Likewise.
5250 (grub_console_cls): Likewise.
5251 (grub_console_setcolorstate): Likewise.
5252 (grub_console_setcursor): Likewise.
5253 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5254 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5255 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5256 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5257 * grub-core/tests/boot/kernel-8086.S: Likewise.
5258 * grub-core/tests/boot/kernel-i386.S: Likewise.
5259 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5260 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5261 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5262 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5263 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5264 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5265 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5266 * grub-core/tests/boot/linux.cfg: Likewise.
5267 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5268 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5269 * grub-core/tests/boot/linux16.cfg: Likewise.
5270 * grub-core/tests/boot/multiboot.cfg: Likewise.
5271 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5272 * grub-core/tests/boot/ntldr.cfg: Likewise.
5273 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5274 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5275 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5276 New definition.
5277 * include/grub/dl.h (grub_dl_unload_all): Removed.
5278 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5279 (grub_efi_finish_boot_services): Change prototype.
5280 (grub_efi_is_finished): New variable.
5281 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5282 Changed prototype.
5283 (grub_efiemu_finish_boot_services): Removed.
5284 (grub_machine_efiemu_init_tables): New prototype.
5285 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5286 (grub_elf64_phdr_iterate): Likewise.
5287 * include/grub/i386/bsd.h: Include relocator.h.
5288 (freebsd_tag_header): New struct.
5289 (grub_openbsd_bios_mmap): Removed.
5290 (grub_unix_real_boot): Removed.
5291 (grub_freebsd_load_elfmodule32): Changed prototype.
5292 (grub_freebsd_load_elfmodule_obj64): Likewise.
5293 (grub_freebsd_load_elf_meta32): Likewise.
5294 (grub_freebsd_load_elf_meta64): Likewise.
5295 (grub_freebsd_add_meta): Removed.
5296 (grub_netbsd_load_elf_meta32): New prototype.
5297 (grub_netbsd_load_elf_meta64): Likewise.
5298 (grub_bsd_add_meta): Likewise.
5299 (grub_openbsd_ramdisk_descriptor): New struct.
5300 (grub_openbsd_find_ramdisk32): New prototype.
5301 (grub_openbsd_find_ramdisk64): Likewise.
5302 * include/grub/i386/coreboot/loader.h: Removed.
5303 * include/grub/i386/efi/loader.h: Likewise.
5304 * include/grub/i386/ieee1275/loader.h: Likewise.
5305 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5306 to grub_uint32_t.
5307 * include/grub/i386/loader.h: Removed.
5308 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5309 value.
5310 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5311 (grub_phys_addr_t): New type.
5312 (grub_vtop): New inline function.
5313 (grub_map_memory): Likewise.
5314 (grub_unmap_memory): Likewise.
5315 * include/grub/i386/multiboot/loader.h: Removed.
5316 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5317 (NETBSD_BTINFO_CONSOLE): New definition.
5318 (NETBSD_BTINFO_SYMTAB): Likewise.
5319 (NETBSD_BTINFO_MODULES): Likewise.
5320 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5321 (grub_netbsd_bootinfo): New struct.
5322 (grub_netbsd_btinfo_common): Use explicit bitsize.
5323 (grub_netbsd_btinfo_mmap_entry): Removed.
5324 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5325 (grub_netbsd_btinfo_bootdisk): New struct.
5326 (grub_netbsd_btinfo_symtab): Likewise.
5327 (grub_netbsd_btinfo_serial): Likewise.
5328 (grub_netbsd_btinfo_modules): Likewise.
5329 (grub_netbsd_btinfo_framebuf): Likewise.
5330 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5331 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5332 Likewise.
5333 (grub_openbsd_bootargs): Use explicit bitsize.
5334 (grub_openbsd_bootarg_console): New struct.
5335 (GRUB_OPENBSD_COM_MAJOR): New definition.
5336 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5337 * include/grub/i386/pc/efiemu.h: Removed.
5338 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5339 * include/grub/i386/qemu/loader.h: Removed.
5340 * include/grub/i386/relocator.h: Rewritten.
5341 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5342 * include/grub/mips/memory.h: New file.
5343 * include/grub/mips/multiboot.h: Rewritten.
5344 * include/grub/mips/relocator.h: Rewritten.
5345 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5346 (grub_vtop): New function.
5347 (grub_map_memory): Likewise.
5348 (grub_unmap_memory): Likewise.
5349 * include/grub/misc.h (ALIGN_DOWN): New definition.
5350 * include/grub/mm.h (grub_mm_check_real): New proto.
5351 (GRUB_MM_CHECK): New definition.
5352 * include/grub/mm_private.h: New file.
5353 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5354 (grub_multiboot_get_mbi_size): Removed.
5355 (grub_multiboot_make_mbi): Change prottype.
5356 (grub_multiboot_set_accepts_video): New proto.
5357 (grub_multiboot_add_elfsyms): Likewise.
5358 (grub_multiboot_payload_eip): New variable.
5359 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5360 New prototype.
5361 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5362 New definition.
5363 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5364 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5365 * include/grub/powerpc/ieee1275/loader.h: Removed.
5366 * include/grub/powerpc/memory.h: New file.
5367 * include/grub/powerpc/relocator.h: Likewise.
5368 * include/grub/relocator.h: Likewise.
5369 * include/grub/relocator_private.h: Likewise.
5370 * include/grub/sparc64/ieee1275/loader.h: Removed.
5371 * include/grub/x86_64/memory.h: New file.
5372 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5373 (grub_xnu_heap_malloc): Likewise.
5374 (grub_xnu_heap_real_start): Removed.
5375 (grub_xnu_heap_start): Likewise.
5376 (grub_xnu_relocator): New variable.
5377 (grub_xnu_heap_target_start): Likewise.
5378 * tests/util/grub-shell.in: Support non-pc.
5379 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5380
5381 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5384 on malloc error.
5385 (grub_bidi_logical_to_visual): Check that malloc succeded.
5386 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5387 puts.
5388 (grub_xputs_normal): Likewise.
5389
5390 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5393 extra_dist.
5394
5395 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5398
5399 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5402
5403 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5406 dprintf.
5407
5408 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5409
5410 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5411
5412 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/normal/term.c (print_more): Fix a memory leak.
5415 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5416 (grub_xputs_normal): Likewise.
5417
5418 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5421 the begining of the string
5422
5423 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/script/script.c (grub_script_parse): Free parsed on
5426 failure.
5427
5428 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5431 on failure.
5432
5433 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5436 return.
5437
5438 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5441 (scroll_up): Fix a memory leak.
5442
5443 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5446 errors.
5447
5448 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 Handle USB pendrives exposed as floppies.
5451
5452 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5453 floppy.
5454 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5455 Check for partitions on all devices.
5456
5457 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5460 (readkey): Likewise.
5461
5462 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5463
5464 Multiple variable names support to "export" command.
5465
5466 * normal/context.c (grub_cmd_export): "export" command supports
5467 multiple variable names.
5468
5469 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5470
5471 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5472 --target=drive output to Mach device name.
5473
5474 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5475
5476 New Automake based build system for GRUB.
5477
5478 * ABOUT-NLS: New file.
5479 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5480 in Makefile.util.def file.
5481 * Makefile.util.def: New file. Autogen build definitions file for
5482 GRUB host utils.
5483 * conf/Makefile.common: New file. Common variables for GRUB host
5484 utils and target modules.
5485 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5486 * docs/Makefile.am: New file. Automake file for docs.
5487 * gentpl.py: New file. Python script to generate Autogen
5488 template.
5489 * grub-core/Makefile.am: New file. GRUB target modules' rules
5490 that doesn't fit in Makefile.core.def file.
5491 * grub-core/Makefile.core.def: New file. Autogen build
5492 definitions file for GRUB target modules.
5493 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5494 specific setjmp.S file.
5495 * po/Makefile.am: New file.
5496
5497 * .bzrignore: New ignores.
5498 * INSTALL: New requirements, without Ruby.
5499 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5500 * autogen.sh: Updated to invoke autogen as necessary.
5501 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5502 and defines for Automake conditionals.
5503 * geninit.sh: Refactoring.
5504
5505 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5506 necessary.
5507 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5508 New prototype.
5509
5510 * include/grub/test.h: Fix functional test modules' naming.
5511 * grub-core/tests/example_functional_test.c: Fix test module name.
5512
5513 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5514 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5515 * util/grub-editenv.c: Likewise.
5516 * util/grub-fstest.c: Likewise.
5517 * util/grub-mkdevicemap.c: Likewise.
5518 * util/grub-mkfont.c: Likewise.
5519 * util/grub-mkimage.c: Likewise.
5520 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5521 * util/grub-probe.c: Likewise.
5522 * util/grub-script-check.c: Likewise.
5523 * util/i386/pc/grub-setup.c: Likewise.
5524 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5525
5526 * tests/util/grub-shell.in: Fix override directory path.
5527 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5528 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5529
5530 * util/lvm.c: Update #includes.
5531 * util/raid.c: Likewise.
5532 * util/resolve.c: Likewise.
5533 * grub-core/bus/emu/pci.c: Likewise.
5534 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5535 * grub-core/lib/posix_wrap/string.h: Likewise.
5536 * grub-core/kern/emu/main.c: Likewise.
5537
5538 * grub-core/gensymlist.sh: New file. Script for generating kernel
5539 symbols file.
5540 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5541
5542 * grub-core/gentrigtables.c: Fix unused variable warnings.
5543
5544 * Makefile.in: Removed.
5545 * conf/any-emu.rmk: Removed.
5546 * conf/common.rmk: Removed.
5547 * conf/i386-coreboot.rmk: Removed.
5548 * conf/i386-efi.rmk: Removed.
5549 * conf/i386-ieee1275.rmk: Removed.
5550 * conf/i386-multiboot.rmk: Removed.
5551 * conf/i386-pc.rmk: Removed.
5552 * conf/i386-qemu.rmk: Removed.
5553 * conf/i386.rmk: Removed.
5554 * conf/mips-yeeloong.rmk: Removed.
5555 * conf/mips.rmk: Removed.
5556 * conf/powerpc-ieee1275.rmk: Removed.
5557 * conf/sparc64-ieee1275.rmk: Removed.
5558 * conf/tests.rmk: Removed.
5559 * conf/x86-efi.rmk: Removed.
5560 * conf/x86_64-efi.rmk: Removed.
5561 * gendistlist.sh: Removed.
5562 * geninitheader.sh: Removed.
5563 * genkernsyms.sh.in: Removed.
5564 * genmk.rb: Removed.
5565 * gensymlist.sh.in: Removed.
5566 * mkinstalldirs: Removed.
5567 * boot: Moved ...
5568 * grub-core/boot: ... to here.
5569 * bus: Moved ...
5570 * grub-core/bus: ... to here.
5571 * commands: Moved ...
5572 * grub-core/commands: ... to here.
5573 * disk: Moved ...
5574 * grub-core/disk: ... to here.
5575 * efiemu: Moved ...
5576 * grub-core/efiemu: ... to here.
5577 * font: Moved ...
5578 * grub-core/font: ... to here.
5579 * fs: Moved ...
5580 * grub-core/fs: ... to here.
5581 * gencmdlist.sh: Moved ...
5582 * grub-core/gencmdlist.sh: ... to here.
5583 * genemuinit.sh: Moved ...
5584 * grub-core/genemuinit.sh: ... to here.
5585 * genemuinitheader.sh: Moved ...
5586 * grub-core/genemuinitheader.sh: ... to here.
5587 * genfslist.sh: Moved ...
5588 * grub-core/genfslist.sh: ... to here.
5589 * genhandlerlist.sh: Moved ...
5590 * grub-core/genhandlerlist.sh: ... to here.
5591 * genmoddep.awk: Moved ...
5592 * grub-core/genmoddep.awk: ... to here.
5593 * genmodsrc.sh: Moved ...
5594 * grub-core/genmodsrc.sh: ... to here.
5595 * genpartmaplist.sh: Moved ...
5596 * grub-core/genpartmaplist.sh: ... to here.
5597 * genparttoollist.sh: Moved ...
5598 * grub-core/genparttoollist.sh: ... to here.
5599 * genterminallist.sh: Moved ...
5600 * grub-core/genterminallist.sh: ... to here.
5601 * gentrigtables.c: Moved ...
5602 * grub-core/gentrigtables.c: ... to here.
5603 * genvideolist.sh: Moved ...
5604 * grub-core/genvideolist.sh: ... to here.
5605 * gettext: Moved ...
5606 * grub-core/gettext: ... to here.
5607 * gfxmenu: Moved ...
5608 * grub-core/gfxmenu: ... to here.
5609 * gnulib: Moved ...
5610 * grub-core/gnulib: ... to here.
5611 * hello: Moved ...
5612 * grub-core/hello: ... to here.
5613 * hook: Moved ...
5614 * grub-core/hook: ... to here.
5615 * io: Moved ...
5616 * grub-core/io: ... to here.
5617 * kern: Moved ...
5618 * grub-core/kern: ... to here.
5619 * lib: Moved ...
5620 * grub-core/lib: ... to here.
5621 * loader: Moved ...
5622 * grub-core/loader: ... to here.
5623 * mmap: Moved ...
5624 * grub-core/mmap: ... to here.
5625 * normal: Moved ...
5626 * grub-core/normal: ... to here.
5627 * partmap: Moved ...
5628 * grub-core/partmap: ... to here.
5629 * parttool: Moved ...
5630 * grub-core/parttool: ... to here.
5631 * script: Moved ...
5632 * grub-core/script: ... to here.
5633 * term: Moved ...
5634 * grub-core/term: ... to here
5635 * tests/example_functional_test.c: Moved ...
5636 * grub-core/tests/example_functional_test.c: ... to here.
5637 * tests/lib/functional_test.c: Moved ...
5638 * grub-core/tests/lib/functional_test.c: ... to here.
5639 * tests/lib/test.c: Moved ...
5640 * grub-core/tests/lib/test.c: ... to here.
5641 * video: Moved ...
5642 * grub-core/video: ... to here.
5643
5644 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5645
5646 Replace --enable-grub-emu-modules with grub-emu-lite.
5647
5648 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5649 cache.S.
5650
5651 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5652 * kern/emu/full.c: New file. For grub-emu specific initialization.
5653 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5654 * kern/emu/main.c: Call initialization function grub_emu_init.
5655
5656 * Makefile.in: Include grub-emu-lite in install.
5657 * commands/parttool.c: Use grub_no_autoload to differentiate
5658 between grub-emu and grub-emu-lite.
5659 * include/grub/misc.h: New variable grub_no_autoload.
5660
5661 * conf/any-emu.rmk: New rules for grub-emu-lite.
5662 * configure.ac: Remove --enable-grub-emu-modules.
5663 * genmk.rb: Cleanup unnecessary rules.
5664 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5665
5666 * normal/main.c: Don't load list files on grub-emu-lite.
5667 * util/misc.c (grub_arch_sync_caches): Removed.
5668
5669 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5672 grub-mkimage rather than grub-mkelfimage.
5673 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5674
5675 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5678 a key after CapsLock or NumLock. It's just a qemu bug.
5679
5680 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5683 needed by libusb wrapper.
5684
5685 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5686
5687 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5688
5689 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5692 --nounzip is passed.
5693
5694 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 USB hotunplugging and USB serial support.
5697
5698 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5699 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5700 (grub_uhci_transfer): Respect timeout and set *actual.
5701 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5702 non-standard length.
5703 (grub_usb_device_attach): Autoload modules.
5704 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5705 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5706 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5707 users updated.
5708 (grub_usb_add_hub): Fill nports and children.
5709 (attach_root_port): Receive hub instead of controller.
5710 All users updated. Fill hub->devices.
5711 (grub_usb_root_hub): Allocate hub->devices.
5712 (detach_device): New function.
5713 (poll_nonroot_hub): Fill children and detach devices.
5714 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5715 actual arguments. All users updated.
5716 (grub_usb_bulk_read_extended): New function.
5717 * bus/usb/serial/common.c: New file.
5718 * bus/usb/serial/ftdi.c: Likewise.
5719 * bus/usb/serial/pl2303.c: Likewise.
5720 * commands/terminal.c (handle_command): Support wildcard.
5721 * commands/usbtest.c: Output "Unknown" instead of empty string.
5722 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5723 (usbserial_common_mod_SOURCES): New variable.
5724 (usbserial_common_mod_CFLAGS): Likewise.
5725 (usbserial_common_mod_LDFLAGS): Likewise.
5726 (pkglib_MODULES): Add usbserial_pl2303.mod.
5727 (usbserial_pl2303_mod_SOURCES): New variable.
5728 (usbserial_pl2303_mod_CFLAGS): Likewise.
5729 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5730 (pkglib_MODULES): Add usbserial_ftdi.mod.
5731 (usbserial_ftdi_mod_SOURCES): New variable.
5732 (usbserial_ftdi_mod_CFLAGS): Likewise.
5733 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5734 (pkglib_MODULES): Add serial.mod.
5735 (serial_mod_SOURCES): New variable.
5736 (serial_mod_CFLAGS): Likewise.
5737 (serial_mod_LDFLAGS): Likewise.
5738 * conf/i386-pc.rmk: Likewise.
5739 * conf/mips-yeeloong.rmk: Likewise.
5740 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5741 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5742 * disk/usbms.c (first_available_slot): New variable.
5743 (grub_usbms_attach): Don't reuse free slots due to potential cache
5744 problems.
5745 * include/grub/serial.h: Moved to ..
5746 * include/grub/ns8250.h: ...this.
5747 * include/grub/serial.h: New file.
5748 * include/grub/term.h (grub_term_poll_usb): New variable.
5749 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5750 readkey. All users updated.
5751 (grub_terminfo_output_state): Pass term to put.
5752 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5753 (grub_usb_controller_dev): Add timeout and actual arguments to
5754 transfer. All users updated.
5755 (grub_usb_interface): New field detach_data.
5756 (grub_usb_device): New fields children and nports.
5757 (grub_usb_ep_type_t): New type.
5758 (grub_usb_get_ep_type): New function.
5759 (grub_usb_bulk_read_extended): Likewise.
5760 * include/grub/usbdesc.h (grub_usb_desc): New type.
5761 * include/grub/usbserial.h: New file.
5762 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5763 * kern/term.c (grub_term_poll_usb): New variable.
5764 (grub_getkey): Call grub_term_poll_usb if set.
5765 (grub_checkkey): Likewise.
5766 (grub_getkeystatus): Likewise.
5767 * term/serial.c: Moved controller-specific parts to ...
5768 * term/ns8250.c: ... here.
5769 * term/serial.c: Mostly rewritten.
5770 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5771 according to spec.
5772
5773 2010-08-20 Robert Millan <rmh@gnu.org>
5774
5775 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5776 a separate module and maybe other interesting combinations.
5777
5778 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5779 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5780 (kfreebsd_entry): Add generic filesystem module load routine.
5781 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5782
5783 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5784
5785 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5786 "numcenter" (I misunderstood the purpose of this entry).
5787 * docs/grub.texi (sendkey): Likewise.
5788
5789 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5790
5791 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5792 status flag options; simply omitting the option is equivalent and
5793 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5794 (keysym_table): Rename "num5numlock" to "numlock".
5795 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5796 can uniformly say that only the last of multiple `sendkey'
5797 invocations has any effect.
5798 * docs/grub.texi (sendkey): New section.
5799
5800 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5801
5802 * commands/i386/pc/sendkey.c (options): Fix three typos.
5803
5804 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 Implement sendkey support.
5807
5808 * commands/i386/pc/sendkey.c: New file.
5809 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5810 (sendkey_mod_SOURCES): New variable.
5811 (sendkey_mod_CFLAGS): Likewise.
5812 (sendkey_mod_LDFLAGS): Likewise.
5813
5814 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5815
5816 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5817 fix warnings from Autoconf.
5818
5819 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5820
5821 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5822 to avoid false positives with some assemblers that output things
5823 like "someprefix_func" as part of their output.
5824
5825 2010-08-15 Robert Millan <rmh@gnu.org>
5826
5827 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5828 errors.
5829 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5830 grub_get_libzfs_handle() errors.
5831
5832 2010-08-14 Robert Millan <rmh@gnu.org>
5833
5834 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5835 filesystem is not ZFS.
5836
5837 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5838
5839 Fix for misspelled color names defaulting to black/black (bug
5840 reported by Doug Nazar)
5841
5842 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5843 status to prototype.
5844 * normal/color.c (grub_parse_color_name_pair): Return failure
5845 status.
5846 (grub_env_write_color_normal): Ignore bad color names.
5847 (grub_env_write_color_highlight): Likewise.
5848 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5849
5850 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5851
5852 "shift" command support to GRUB script.
5853
5854 * include/grub/script_sh.h (grub_script_shift): New prototype.
5855 * script/execute.c (grub_script_shift): New function.
5856 * script/main.c (grub_script_init): Register shift command.
5857 (grub_script_fini): Unregister shift command.
5858 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5859
5860 * tests/grub_script_shift.in: New testcase.
5861 * conf/tests.rmk: Rules for new testcase.
5862
5863 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5864
5865 "continue" command support to GRUB script.
5866
5867 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5868 (grub_script_break): Continue support.
5869 * script/main.c (grub_script_init): Register continue command.
5870 (grub_script_fini): Unregister continue command.
5871
5872 * tests/grub_script_continue.in: New testcase.
5873 * conf/tests.rmk: Rules for new testcase.
5874
5875 2010-08-12 BVK Chaitanya <bvk@dbook>
5876
5877 "break" command support to GRUB script.
5878
5879 * conf/common.rmk: Rule updates to grub-script-check.
5880 * include/grub/misc.h (grub_min): New function.
5881 * include/grub/script_sh.h (grub_script_init): New prototype.
5882 (grub_script_fini): New prototype.
5883 (grub_script_break): New prototype.
5884 * script/main.c (grub_script_init): New function.
5885 (grub_script_fini): New function.
5886 * script/execute.c (grub_script_break): New function.
5887 * normal/main.c: Calls to grub_script_{init,fini}.
5888 * util/grub-script-check.c (grub_script_break): New function.
5889
5890 * tests/grub_script_break.in: New testcase.
5891 * conf/tests.rmk: Rules for new test case.
5892
5893 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5894
5895 Function parameters support to GRUB script.
5896
5897 * script/yylex.l (VARIABLE): Regular expression update.
5898 * script/function.c (grub_script_function_call): Moved ...
5899 * script/execute.c (grub_script_function_call): ... to here.
5900 (grub_script_execute_arglist_to_argv): Removed.
5901 (grub_script_arglist_to_argv): New function.
5902 * script/argv.c: New file.
5903 (grub_script_argv_free): New function.
5904 (grub_script_argv_next): Likewise.
5905 (grub_script_argv_append): Likewise.
5906 (grub_script_argv_split_append): Likewise.
5907 * include/grub/script_sh.h (grub_script_argv): New struct.
5908 (grub_script_argv_free): New function.
5909 (grub_script_argv_next): Likewise.
5910 (grub_script_argv_append): Likewise.
5911 (grub_script_argv_split_append): Likewise.
5912
5913 * conf/common.rmk (normal.mod): New source script/argv.c.
5914
5915 * tests/grub_script_echo1.in: More tests.
5916 * tests/grub_script_vars1.in: Likewise.
5917 * tests/grub_script_functions.in: New test case.
5918 * conf/tests.rmk: Rules for new testcase.
5919
5920 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5921
5922 Remove grub_script_cmdblock struct.
5923
5924 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5925 * script/parser.y: Likewise.
5926 * script/execute.c: Rename cmdblock suffix to cmdlist.
5927 * script/script.c: Likewise.
5928 * util/grub-script-check.c: Likewise.
5929
5930 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5931
5932 * .bzrignore: add grub-macho2img
5933
5934 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5937
5938 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Remove the dump of sm712 initialisation sequence.
5941
5942 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5943 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5944 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5945 (GRUB_VGA_CR_*): Added many registers.
5946 (GRUB_VGA_SR_*): Likewise.
5947 (GRUB_VGA_GR_*): Likewise.
5948 (grub_vga_write_arx): New function.
5949 (grub_video_hw_config): New struct.
5950 (grub_vga_set_geometry): New function.
5951 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5952 GRUB_PCI_CLASS_SUBCLASS_VGA.
5953 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5954 * video/sm712.c (grub_sm712_write_reg): New function
5955 (grub_sm712_read_reg): Likewise.
5956 (grub_sm712_sr_write): Likewise.
5957 (grub_sm712_gr_write): Likewise.
5958 (grub_sm712_cr_write): Likewise.
5959 (grub_sm712_write_arx): Likewise.
5960 (grub_sm712_cr_shadow_write): Likewise.
5961 (grub_sm712_write_dda_lookup): Likewise.
5962 (grub_video_sm712_setup): Initialise the video rather then
5963 blindly replay the dump.
5964 (main) [TEST]: Add a routine to be able to compile as standalone for
5965 tests.
5966 * video/sm712_init.c (sm712_init): Removed.
5967 (sm712_sr_seq1): New array.
5968 (sm712_sr_seq2): Likewise.
5969
5970 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * include/grub/vga.h: Add missing grub/pci.h include.
5973
5974 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5975
5976 * util/grub-macho2img.c (main): fix typo
5977
5978 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5981 (grub_vga_gr_read): Likewise.
5982 (grub_vga_cr_write): Likewise.
5983 (grub_vga_cr_read): Likewise.
5984 (grub_vga_sr_write): Likewise.
5985 (grub_vga_sr_read): Likewise.
5986 (grub_vga_palette_read): Likewise.
5987 (grub_vga_palette_write): Likewise.
5988 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5989 (grub_sm712_sr_read): New function.
5990 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5991 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5992
5993 2010-08-09 Robert Millan <rmh@gnu.org>
5994
5995 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5996 out unused variables on non-ZFS build.
5997
5998 2010-08-08 Robert Millan <rmh@gnu.org>
5999
6000 Fix path generation for sub-filesystems in ZFS.
6001
6002 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6003 missing slash.
6004
6005 2010-08-08 Robert Millan <rmh@gnu.org>
6006
6007 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6008
6009 2010-08-08 Robert Millan <rmh@gnu.org>
6010
6011 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6012 exist, issue a proper error message (rely on `ls' for translated
6013 strings).
6014
6015 2010-08-08 Robert Millan <rmh@gnu.org>
6016
6017 Fix grub-probe invocation.
6018
6019 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6020
6021 2010-08-04 Robert Millan <rmh@gnu.org>
6022
6023 * configure.ac: Remove checks for getfsstat() and getmntany().
6024 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6025 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6026 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6027 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6028 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6029 function.
6030 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6031 via find_mount_point_from_dir() and getfsstat() / getmntany().
6032
6033 2010-08-04 Robert Millan <rmh@gnu.org>
6034
6035 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6036 (grub_find_zpool_from_mount_point): Merge into ...
6037 (grub_find_zpool_from_dir): ... this.
6038 * kern/emu/misc.c: Likewise.
6039
6040 * kern/emu/misc.c
6041 (grub_make_system_path_relative_to_its_root): Replace
6042 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6043 with grub_find_zpool_from_dir().
6044 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6045
6046 2010-08-04 Robert Millan <rmh@gnu.org>
6047
6048 Support OpenSolaris in ZFS device resolution.
6049
6050 * configure.ac: Check for getmntany().
6051 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6052 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6053 support.
6054
6055 2010-08-03 Robert Millan <rmh@gnu.org>
6056
6057 Fix grub-emu build.
6058
6059 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6060 * include/grub/emu/misc.h: ... here.
6061
6062 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6063 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6064
6065 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6066 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6067 (grub_get_libzfs_handle): Move to ...
6068 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6069 (grub_get_libzfs_handle): ... here.
6070
6071 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6072
6073 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6074 as command name case.
6075
6076 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
6077
6078 * disk/raid.c (insert_array): Select unique numbers for named arrays
6079 as well, for use as keys in the disk cache.
6080
6081 2010-08-01 Robert Millan <rmh@gnu.org>
6082
6083 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6084 kFreeBSD device name, except on ZFS where the filesystem label is
6085 used.
6086 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6087 `/boot/zfs/zpool.cache'.
6088 Set mountfrom kernel variable using ${kfreebsd_device}.
6089
6090 2010-08-01 Robert Millan <rmh@gnu.org>
6091
6092 Make it even harder to use uninitialized `libzfs_handle' (and
6093 make the interface a bit simpler).
6094
6095 * include/grub/util/misc.h (grub_util_init_libzfs)
6096 (libzfs_handle): Remove.
6097 (grub_get_libzfs_handle): New prototype.
6098
6099 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6100 attribute.
6101 (grub_util_init_libzfs): Remove.
6102 (grub_get_libzfs_handle): New function.
6103
6104 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6105 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6106 accessing `libzfs_handle' directly.
6107
6108 2010-08-01 Robert Millan <rmh@gnu.org>
6109
6110 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6111 (grub_find_zpool_from_mount_point): New function prototypes.
6112
6113 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6114 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6115
6116 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6117 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6118 `static' attribute.
6119
6120 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6121 finding zpool from mount point into ...
6122 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6123
6124 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6125 requested path is part of a ZFS pool, use
6126 grub_find_zpool_from_mount_point() to detect its filesystem name,
6127 and generate a path with `/fsname@path' syntax.
6128
6129 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6132 (void) rather than () so that this is a proper prototype.
6133
6134 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6137
6138 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6141 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6142
6143 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6144
6145 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6146
6147 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6148
6149 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6150
6151 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6154 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6155 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6156 disable gfxpayload.
6157 (Shell-like scripting): Add real content.
6158 (Serial terminal): Suggest `terminal_input serial; terminal_output
6159 serial' rather than putting the two commands on separate lines,
6160 since console input will be inoperative after the first command.
6161 (menuentry): Document --class, --users, and --hotkey options.
6162 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6163 Vladimir Serbinenko).
6164
6165 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6166 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6167
6168 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6169
6170 2010-08-01 Robert Millan <rmh@gnu.org>
6171
6172 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6173 (grub_find_zpool_from_mount_point): New function prototypes.
6174
6175 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6176 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6177
6178 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6179 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6180 `static' attribute.
6181
6182 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6183 finding zpool from mount point into ...
6184 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6185
6186 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6187 requested path is part of a ZFS pool, use
6188 grub_find_zpool_from_mount_point() to detect its filesystem name,
6189 and generate a path with `/fsname@path' syntax.
6190
6191 2010-08-01 Robert Millan <rmh@gnu.org>
6192
6193 Prevent accidental use of uninitialized libzfs_handle.
6194
6195 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6196 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6197 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6198
6199 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6200
6201 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6202 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6203
6204 2010-08-01 Robert Millan <rmh@gnu.org>
6205
6206 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6207
6208 2010-07-31 Robert Millan <rmh@gnu.org>
6209
6210 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6211
6212 2010-07-31 Robert Millan <rmh@gnu.org>
6213
6214 * kern/emu/misc.c: Add missing license header.
6215
6216 2010-07-31 Robert Millan <rmh@gnu.org>
6217
6218 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6219
6220 * include/grub/util/libnvpair.h: Include `<config.h>'.
6221 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6222 declaring libnvpair prototypes ourselves.
6223 * include/grub/util/libzfs.h: Include `<config.h>'.
6224 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6225 declaring libzfs prototypes ourselves.
6226
6227 (libzfs_handle): Moved to ...
6228 * include/grub/util/misc.h (libzfs_handle): ... here.
6229 Include `<grub/util/libzfs.h>'.
6230
6231 2010-07-30 Robert Millan <rmh@gnu.org>
6232
6233 * include/grub/emu/misc.h: Add missing license header.
6234
6235 2010-07-30 Robert Millan <rmh@gnu.org>
6236
6237 Enable `grub-probe -t device' resolution on ZFS.
6238
6239 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6240 * include/grub/util/libnvpair.h: New file.
6241 * include/grub/util/libzfs.h: New file.
6242
6243 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6244 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6245 `<grub/util/libnvpair.h>'.
6246 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6247
6248 (find_mount_point_from_dir): New static function.
6249 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6250 function.
6251 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6252 find_root_device_from_libzfs() before ressorting to find_root_device().
6253
6254 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6255 prototype.
6256 * util/misc.c: Include `<grub/util/libzfs.h>'.
6257 (grub_util_init_libzfs): New function.
6258 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6259 [HAVE_LIBZFS] (fini_libzfs): New static function.
6260 (grub_util_init_libzfs): New function.
6261 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6262
6263 2010-07-30 Robert Millan <rmh@gnu.org>
6264
6265 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6266 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6267 `warn_unused_result' attribute.
6268 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6269 (grub_xasprintf, grub_xvasprintf): Likewise.
6270 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6271
6272 2010-07-29 Robert Millan <rmh@gnu.org>
6273
6274 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6275 (probe): Handle `PRINT_FS_LABEL'.
6276 (main): Handle `-t fs_label'.
6277
6278 2010-07-29 Robert Millan <rmh@gnu.org>
6279
6280 * configure.ac: Remove grub-mkisofs checks.
6281
6282 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6285 Reported by: Lennart Sorensen.
6286
6287 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6290 prior to terminal_input/terminal_output separation. It's been over 1.5
6291 years and those versions weren't widely deployed.
6292
6293 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6294
6295 * disk/raid.c (insert_array): Don't count named arrays when looking
6296 for unused array numbers.
6297 Reported and tested by: Michael Guntsche.
6298
6299 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6300
6301 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6302 implementation of this so that grub-emu links again, with a note
6303 that this should support hotplugging in the future.
6304
6305 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6308
6309 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6310
6311 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6312 handle on failure.
6313 (grub_loopback_close): Remove empty function.
6314 (grub_loopback_dev): Remove close method.
6315
6316 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6317
6318 Disable EFI cursor when the EFI console becomes inactive.
6319
6320 * term/efi/console.c (grub_efi_console_init): New function.
6321 (grub_efi_console_fini): New function.
6322 (grub_console_term_output): Register init and fini methods.
6323
6324 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6327 sh script.
6328
6329 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * disk/loopback.c (grub_loopback): Replace filename with file.
6332 (delete_loopback): Handle new semantics.
6333 (grub_cmd_loopback): Likewise.
6334 (grub_loopback_iterate): Likewise.
6335 (grub_loopback_close): Likewise.
6336
6337 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6340 with -p "".
6341 Reported by: Tito Keitel.
6342
6343 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * docs/grub.texi (Naming convention): Document new naming convention.
6346
6347 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6348 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6349
6350 Generate device.map in something closer to the old ordering.
6351
6352 * util/deviceiter.c (struct device): New declaration.
6353 (compare_file_names): Rename to ...
6354 (compare_devices): ... this. Sort by kernel name in preference to
6355 the stable by-id name, but keep the latter as a fallback comparison.
6356 Update header comment.
6357 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6358 of `struct device' rather than of plain file names.
6359
6360 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6361
6362 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6363 on i386.
6364
6365 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6368 hardcoding size.
6369 (setv1table): Likewise.
6370
6371 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6372
6373 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6374 removing the homehost if present.
6375 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6376 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6377 removing the homehost if present.
6378 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6379 if possible.
6380 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6381
6382 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6383 parameter. Set its pointer target to 0.
6384 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6385 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6386 `data_offset' value from the superblock for 1.x metadata.
6387 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6388 data on the device.
6389 (insert_array): Record the start sector of data on the device.
6390 (grub_raid_register): Pass start_sector parameters to
6391 grub_raid_list->detect and insert_array.
6392 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6393 member.
6394 (struct grub_raid): Add start_sector parameter to `detect'.
6395
6396 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6397 __attribute__ ((packed)), leaving a comment.
6398 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6399 (grub_mdraid_detect_09): ... here and ...
6400 (grub_mdraid_detect_1x): ... here.
6401
6402 2010-07-20 Peter Henn <peter.henn@web.de>
6403
6404 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6405 chunk size and disk size, which are already given as sector counts
6406 as distinct from the 0.90 units. Fetch the correct device number
6407 from the role table instead of using the table index.
6408
6409 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6410
6411 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6412 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6413 (WriteMostly1): New macro.
6414 Set array->name to NULL for metadata format 0.90. Add support for
6415 metadata 1.x. Fix some comments.
6416 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6417 few comments.
6418 * util/getroot.c (grub_util_get_grub_dev): Add support for
6419 /dev/md/name style devices.
6420
6421 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6422
6423 * .bzrignore: Ignore 20_linux_xen.
6424
6425 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6426
6427 * util/import_unicode.py: Remove unnecessary imports.
6428
6429 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6430
6431 Hotplugging and USB hub support.
6432
6433 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6434 (grub_ohci): Likewise.
6435 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6436 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6437 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6438 (GRUB_OHCI_CTRL_EDS): Likewise.
6439 (GRUB_OHCI_BULK_EDS): Likewise.
6440 (GRUB_OHCI_TDS): Likewise.
6441 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6442 (grub_ohci_ed_phys2virt): New function.
6443 (grub_ohci_virt_to_phys): Likewise.
6444 (grub_ohci_td_phys2virt): Likewise.
6445 (grub_ohci_td_virt2phys): Likewise.
6446 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6447 attachment.
6448 (grub_ohci_find_ed): New function.
6449 (grub_ohci_alloc_td): Likewise.
6450 (grub_ohci_free_td): Likewise.
6451 (grub_ohci_free_tds): Likewise.
6452 (grub_ohci_transfer): Use previously allocated memory.
6453 (grub_ohci_portstatus): Reset status changed bit.
6454 (grub_ohci_detect_dev): Supply status changed.
6455 (grub_ohci_fini_hw): Free memory.
6456 (grub_ohci_restore_hw): Reallocate memory.
6457 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6458 Reset status change.
6459 (grub_uhci_detect_dev): Supply status_change.
6460 * bus/usb/usb.c (attach_hooks): New var.
6461 (grub_usb_device_attach): New function.
6462 (grub_usb_register_attach_hook_class): Likewise.
6463 (grub_usb_unregister_attach_hook_class): Likewise.
6464 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6465 (grub_usb_add_hub): Reset connection changed bit.
6466 (attach_root_port): New function.
6467 (grub_usb_root_hub): Likewise.
6468 (poll_nonroot_hub): Likewise.
6469 (grub_usb_poll_devices): Likewise.
6470 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6471 * disk/usbms.c (grub_usbms_open): Use device hooks.
6472 (grub_usbms_iterate) :Poll devices.
6473 (grub_usbms_finddevs): Split into ...
6474 (grub_usbms_attach): ... this ...
6475 (grub_usbms_attach): ... and this.
6476 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6477 in detect_dev.
6478 (grub_usb_interface): New fields attached and detach_hook.
6479 (grub_usb_attach_hook_class): New type.
6480 (grub_usb_attach_desc): New struct.
6481 (grub_usb_register_attach_hook_class): New function.
6482 (grub_usb_unregister_attach_hook_class): Likewise.
6483 (grub_usb_poll_devices): Likewise.
6484 (grub_usb_device_attach): Likewise.
6485 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6486 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6487
6488 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6491 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6492 delta determination style. Works with most NetBSD partitions too.
6493
6494 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6497 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6498
6499 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6502
6503 2010-07-14 Anton Blanchard <anton@samba.org>
6504
6505 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6506 ET_DYN files.
6507
6508 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6509
6510 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6511
6512 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6513
6514 * kern/partition.c (grub_partition_check_containment): New function to
6515 check that a partition is physically contained in a parent. Since
6516 offsets are relative (and non-negative), this reduces to checking that
6517 the partition ends before its parent.
6518 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6519 (grub_partition_iterate): Likewise.
6520 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6521 comments.
6522 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6523 partitions that start before their parent, and add debug printfs.
6524
6525 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * Makefile.in (.SUFFIX): Spell correctly, as ...
6528 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6529 bare module name without `.mod', e.g. `test') tried to invoke a
6530 Modula-2 compiler.
6531
6532 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6533
6534 * README: Point to the Info manual.
6535
6536 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6537
6538 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6539 2nd superblock position from partition size.
6540
6541 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6542
6543 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6544 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6545 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6546 outputs.
6547
6548 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 Restructure SCSI .id handling.
6551 Reported and tested by: Aleš Nesrsta.
6552
6553 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6554 (grub_atapi_dev): Changed .name to "ata". New field .id.
6555 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6556 (grub_usbms_dev): New field .id.
6557 * disk/scsi.c (grub_scsi_iterate): Generate name.
6558 (grub_scsi_open): Parse name.
6559 * include/grub/scsi.h (grub_make_scsi_id): New function.
6560 (grub_scsi_dev): Change iterate and open to number instead of naming
6561 busses. All users updated.
6562 (grub_scsi): Remove name. Add .bus.
6563
6564 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * commands/help.c (grub_cmd_help): Fix a typo.
6567
6568 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6571 Reported and tested by: Colin Watson.
6572
6573 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6576 in this context.
6577
6578 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6581
6582 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6583
6584 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6585 indentation.
6586
6587 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6588
6589 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6590 and disk/raid6_recover.c.
6591 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6592 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6593
6594 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6595
6596 * term/gfxterm.c (repaint_schedulded): Rename to ...
6597 (repaint_scheduled): ... this. Update all callers.
6598 (repaint_was_schedulded): Rename to ...
6599 (repaint_was_scheduled): ... this. Update all callers.
6600
6601 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6602
6603 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6604 which we expect to be handled by upper layers.
6605
6606 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6607
6608 * bus/usb/usbhub.c: #include time.h header.
6609
6610 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6611
6612 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6613 entry_name also for entries without stat blocks (e.g. ".."); fixes
6614 corruption of the first entry in a directory.
6615
6616 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6617
6618 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6619 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6620 doesn't work otherwise.
6621
6622 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6623
6624 * docs/grub.texi (Features): Update list of supported file systems.
6625 (GNU/Linux): Update for GRUB 2.
6626 (Serial terminal): Remove mention of --disable-serial, which was a
6627 GRUB Legacy configure option. Update instructions to use
6628 `terminal_input' and `terminal_output' rather than `terminal'.
6629 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6630 configuration' and `Installing GRUB using grub-install'.
6631 (Menu entry editor): Update for GRUB 2.
6632 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6633 Document new -a, -u, and -v options.
6634 (initrd): New section.
6635 (initrd16): New section.
6636 (linux): New section.
6637 (linux16): New section.
6638 (search): The `var' argument to `--set' is optional.
6639 (GRUB only offers a rescue shell): Go into a little more detail on
6640 drive ordering.
6641
6642 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6643
6644 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6645
6646 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6647
6648 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6649 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6650
6651 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6652
6653 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6654 install_prefix, in line with install_dos_part and install_bsd_part.
6655 Add new prefix variable, which is copied to install_prefix after
6656 comparing core.img in memory with the one read from disk in the
6657 no-embedding case, and use that rather than overwriting
6658 install_prefix immediately when installing to a partition.
6659 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6660 Bicakci.
6661
6662 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6663
6664 * configure.ac: Avoid == in test command, it's not portable.
6665 * util/grub.d/30_os-prober.in: Likewise.
6666
6667 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6670
6671 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6672
6673 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6674 multiple (top-level) partmaps.
6675
6676 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6679 Reported by: Tino Keitel.
6680
6681 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Bidi and diacritics support.
6684
6685 * Makefile.in (widthspec.bin): New target.
6686 (widthspec.h): Likewise.
6687 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6688 * autogen.sh: Generate unidata.c.
6689 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6690 * commands/ls.c (grub_ls_list_devices): Likewise.
6691 (grub_ls_list_files): Likewise.
6692 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6693 (grub_mini_cmd_lsmod): Likewise.
6694 * commands/read.c: Likewise.
6695 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6696 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6697 * lib/arg.c (grub_arg_show_help): Likewise.
6698 * lib/crypto.c (grub_password_get): Likewise.
6699 * normal/auth.c (grub_username_get): Likewise.
6700 * normal/misc.c (grub_normal_print_device_info): Likewise.
6701 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6702 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6703 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6704 (normal/charset.c_DEPENDENCIES): New variable.
6705 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6706 (pkglib_MODULES): Remove charset.mod.
6707 (charset_mod_SOURCES): Removed.
6708 (charset_mod_CFLAGS): Likewise.
6709 (charset_mod_LDFLAGS): Likewise.
6710 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6711 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6712 and term/tparm.c.
6713 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6714 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6715 (kernel_img_HEADERS): Add terminfo.h.
6716 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6717 Fill ->font. Reverse ascii bitmaps.
6718 (grub_font_get_xheight): New function.
6719 * font/font.c (grub_font_get_string_width): Moved from here ...
6720 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6721 * font/font.c (grub_font_draw_string): Moved from here ...
6722 * gfxmenu/font.c (grub_font_draw_string): ... here.
6723 * font/font.c (grub_font_dup_glyph): New function.
6724 (grub_font_blit_glyph): Likewise.
6725 (grub_font_blit_glyph_mirror): Likewise.
6726 (blit_comb): Likewise.
6727 (grub_font_construct_dry_run): Likewise.
6728 (grub_font_get_constructed_device_width): Likewise.
6729 (grub_font_construct_glyph): Likewise.
6730 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6731 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6732 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6733 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6734 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6735 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6736 (grub_font_get_xheight): New proto.
6737 (grub_font_get_constructed_device_width): Likewise.
6738 (grub_font_construct_glyph): Likewise.
6739 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6740 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6741 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6742 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6743 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6744 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6745 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6746 (grub_console_getcharwidth): Likewise.
6747 * include/grub/misc.h (grub_xputs): New proto.
6748 (grub_puts): Inlined.
6749 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6750 (grub_normal_get_line_counter): Removed.
6751 (grub_install_newline_hook): Likewise.
6752 (grub_normal_get_char_counter): New proto.
6753 (grub_normal_reset_more): Likewise.
6754 (grub_xputs_normal): Likewise.
6755 * include/grub/powerpc/ieee1275/console.h: Removed.
6756 * include/grub/sparc64/ieee1275/console.h: Likewise.
6757 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6758 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6759 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6760 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6761 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6762 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6763 (grub_term_input): Pass reference to self. All users updated.
6764 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6765 Pass reference to self. New fields normal_color, highlight_color and
6766 data. All users updated.
6767 (grub_putchar): Removed.
6768 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6769 (grub_unicode_estimate_width): New function.
6770 (grub_term_getcharwidth): Add defaults.
6771 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6772 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6773 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6774 (grub_cls): Remove EXPORT_FUNC.
6775 (grub_setcolorstate): Inline.
6776 (grub_newline_hook): Removed.
6777 * include/grub/terminfo.h: Rewritten. All users updated.
6778 * include/grub/unicode.h: New file.
6779 * include/grub/video.h (grub_video_signed_rect): New type.
6780 * kern/emu/console.c (grub_console_highlight_color): Removed.
6781 (grub_console_normal_color): Likewise.
6782 (grub_console_standard_color): Made static.
6783 (grub_ncurses_putchar): Remove mapping.
6784 (grub_ncurses_getcharwidth): Removed.
6785 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6786 (grub_ncurses_setcolor): Removed.
6787 (grub_ncurses_getcolor): Likewise.
6788 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6789 (grub_console_putchar): ... this.
6790 (grub_console_putchar): Handle argument difference.
6791 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6792 console_init_early and console_init_lately.
6793 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6794 * kern/misc.c (grub_puts): Removed.
6795 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6796 (grub_vsnprintf_real): Remove str = NULL support.
6797 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6798 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6799 * kern/term.c (grub_putcode): Renamed to ...
6800 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6801 (grub_putchar): Removed.
6802 (grub_xputs_dumb): New function.
6803 (grub_xputs): New variable.
6804 * lib/charset.c: Move from here ...
6805 * normal/charset.c: ... to here.
6806 (grub_ucs4_to_utf8): New function.
6807 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6808 (join_types): New variable.
6809 (unpack_join): New function.
6810 (bidi_types): New variable.
6811 (unpack_bidi): New function.
6812 (get_bidi_type): Likewise.
6813 (get_join_type): Likewise.
6814 (is_mirrored): Likewise.
6815 (grub_unicode_get_comb_type): Likewise.
6816 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6817 (is_type_after): Likewise.
6818 (grub_unicode_aglomerate_comb): Likewise.
6819 (bidi_line_wrap): Likewise.
6820 (grub_bidi_line_logical_to_visual): Likewise.
6821 (grub_bidi_logical_to_visual): Likewise.
6822 (grub_unicode_mirror_code): Likewise.
6823 (grub_unicode_shape_code): Likewise.
6824 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6825 Don't use grub_putchar.
6826 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6827 (grub_normal_reader_init): Likewise.
6828 (grub_xputs_saved): New variable.
6829 (GRUB_MOD_INIT): Set grub_xputs.
6830 (GRUB_MOD_FINI): Restore grub_xputs.
6831 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6832 (menu_init): Avoid printing gfxmenu error.
6833 (show_menu): Use grub_normal_get_char_counter.
6834 * normal/menu_entry.c (update_screen): Fix out-of-array.
6835 (complete): Avoid NULL dereferencing.
6836 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6837 * normal/menu_text.c (print_spaces): Removed.
6838 (grub_print_ucs4): Likewise.
6839 (grub_print_message_indented): Use grub_print_ucs4.
6840 (print_message): Use grub_putcode.
6841 (print_entry): Hanlde diacritics.
6842 * normal/term.c (term_state): New type.
6843 (grub_more_lines): Removed.
6844 (term_states): New variable.
6845 (grub_normal_line_counter): Renamed to ..
6846 (grub_normal_char_counter): ...this. All users updated.
6847 (grub_normal_get_line_counter): Renamed to ...
6848 (grub_normal_get_char_counter): ... this.
6849 (grub_normal_reset_more): New function.
6850 (process_newline): Removed.
6851 (print_more): New function.
6852 (grub_install_newline_hook): Removed.
6853 (map_code): New function.
6854 (grub_puts_terminal): Use grub_print_ucs4.
6855 (putglyph): New function.
6856 (putcode_real): Likewise.
6857 (grub_putcode): Use putcode_real.
6858 (get_maxwidth): New function.
6859 (get_startwidth): Likewise.
6860 (print_ucs4_terminal): Likewise.
6861 (find_term_state): Likewise.
6862 (put_glyphs_terminal): Likewise.
6863 (print_backlog): Likewise.
6864 (print_ucs4_real): Likewise.
6865 (grub_print_ucs4): Likewise.
6866 (grub_xputs_normal): Likewise.
6867 * term/efi/console.c (grub_console_putchar): Output diacritics.
6868 (grub_console_getcharwidth): Removed.
6869 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6870 * term/gfxterm.c (clear_char): Free chars.
6871 (scroll_up): Avoid leaking memory.
6872 (grub_gfxterm_putchar): Support diacritics.
6873 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6874 * term/i386/pc/console.c (grub_console_term_output): Declare as
6875 GRUB_TERM_CODE_TYPE_VGA.
6876 * term/i386/pc/vga.c (grub_vga_term): Declare as
6877 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6878 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6879 GRUB_TERM_CODE_TYPE_VGA.
6880 * term/i386/vga_common.c (map_char): Removed.
6881 (grub_console_putchar): Likewise.
6882 (grub_console_getcharwidth): Likewise.
6883 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6884 (colors): Reordered to match terminfo.
6885 (grub_ofconsole_normal_color): Removed.
6886 (grub_ofconsole_writeesc): Likewise.
6887 (grub_ofconsole_highlight_color): Likewise.
6888 (grub_ofconsole_getcharwidth): Likewise.
6889 (grub_ofconsole_setcolorstate): Likewise.
6890 (grub_ofconsole_setcolor): Likewise.
6891 (grub_ofconsole_getcolor): Likewise.
6892 (grub_ofconsole_readkey): Renamed to ...
6893 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6894 key.
6895 (grub_ofconsole_checkkey): Removed.
6896 (grub_ofconsole_getkey): Likewise.
6897 (grub_ofconsole_getxy): Likewise.
6898 (grub_ofconsole_gotoxy): Likewise.
6899 (grub_ofconsole_cls): Likewise.
6900 (grub_ofconsole_refresh): Likewise.
6901 (grub_ofconsole_terminfo_input): New struct.
6902 (grub_ofconsole_terminfo_output): Likewise.
6903 (grub_ofconsole_term_input): Use terminfo.
6904 (grub_ofconsole_term_output): Likewise.
6905 (grub_console_init): Split into ...
6906 (grub_console_init_early): ...this and ...
6907 (grub_console_init_lately): ...this. Use terminfo.
6908 (grub_ofconsole_putchar): Renamed to ...
6909 (put): ... this. Remove mapping.
6910 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6911 * term/serial.c: Simplify using terminfo.
6912 (xpos): Removed.
6913 (ypos): Likewise.
6914 (keep_track): Likewise.
6915 (registered): Likewise.
6916 (input_buf): Likewise.
6917 (npending): Likewise.
6918 (serial_translate_key_sequence): Likewise.
6919 (fill_input_buf): Likewise.
6920 (grub_serial_checkkey): Likewise.
6921 (grub_serial_getkey): Likewise.
6922 (grub_serial_getxy): Likewise.
6923 (grub_serial_gotoxy): Likewise.
6924 (grub_serial_putchar): Likewise.
6925 (grub_serial_cls): Likewise.
6926 (grub_serial_setcolorstate): Likewise.
6927 (grub_serial_setcursor): Likewise.
6928 (serial_hw_init): Use serial_hw_fetch.
6929 (grub_serial_terminfo_input): New variable.
6930 (grub_serial_terminfo_output): Likewise.
6931 (grub_serial_term_input): Use terminfo.
6932 (grub_serial_term_output): Likewise.
6933 * term/terminfo.c (putstr): Use put.
6934 (grub_terminfo_all_free): New function
6935 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6936 (grub_terminfo_output_register): New function.
6937 (grub_terminfo_output_unregister): Likewise.
6938 (grub_terminfo_getxy): Likewise.
6939 (grub_terminfo_readkey): Likewise.
6940 (grub_terminfo_checkkey): Likewise.
6941 (grub_terminfo_getkey): Likewise.
6942 (grub_terminfo_input_init): Likewise.
6943 (print_terminfo): Likewise.
6944 (grub_cmd_terminfo): Handle encoding.
6945 (grub_terminfo_gotoxy): Track position.
6946 (grub_terminfo_cls): Likewise.
6947 (grub_terminfo_putchar): Likewise.
6948 (grub_terminfo_setcolorstate): Handle colors
6949 (grub_terminfo_cursor_on): This ...
6950 (grub_terminfo_cursor_off): ... and this merged into ...
6951 (grub_terminfo_setcursor): ... this.
6952 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6953 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6954 * unicode/BidiMirroring.txt: Likewise.
6955 * unicode/UnicodeData.txt: Likewise.
6956 * unicode/COPYING: Likewise.
6957 * util/grub-editenv.c (grub_putchar): Removed.
6958 (grub_xputs_real): New function.
6959 (grub_xputs): New variable.
6960 * util/grub-fstest.c (grub_putchar): Removed.
6961 (grub_xputs_real): New function.
6962 (grub_xputs): New variable.
6963 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6964 (grub_xputs_real): New function.
6965 (grub_xputs): New variable.
6966 * util/grub-probe.c (grub_putchar): Removed.
6967 (grub_xputs_real): New function.
6968 (grub_xputs): New variable.
6969 * util/grub-script-check.c (grub_putchar): Removed.
6970 (grub_xputs_real): New function.
6971 (grub_xputs): New variable.
6972 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6973 (grub_xputs_real): New function.
6974 (grub_xputs): New variable.
6975 * util/import_unicode.py: New file.
6976 * util/grub-mkfont.c (ft_errmsgs): New array.
6977 (grub_glyph_info): Make bitmap a pointer.
6978 (file_formats): New type WIDTH_SPEC.
6979 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6980 (options): Add width-spec.
6981 (help): Likewise.
6982 (add_char): Renamed to ...
6983 (add_glyph): ... this.
6984 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6985 (glyph_replace): New type.
6986 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6987 (add_char): New function.
6988 (add_subst): Likewise.
6989 (process_cursive): Likewise.
6990 (add_font): Handle GSUB.
6991 (write_font_width_spec): New function.
6992 (main): Sort glyphs.
6993 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6994 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6995 * kern/term.c (grub_cls): Moved from here...
6996 * normal/term.c (grub_cls): ... here.
6997
6998 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6999
7000 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7001 suitable for using within the format argument of printf when
7002 converting grub_size_t.
7003 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7004 "x" to convert grub_size_t arguments.
7005
7006 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7009 too long captions.
7010 (list_get_minimal_size): Take selection box into account.
7011
7012 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7015 NULL font.
7016
7017 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7018
7019 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7020 devices when iterating over /dev/disk/by-id; they will be handled
7021 later if appropriate, which they aren't always (e.g. LVM).
7022
7023 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7024
7025 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7026 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7027 fails.
7028 (grub_halt): Likewise.
7029 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7030 reset-all fails.
7031 (grub_halt): Don't return, even if all of shut-down, power-off, and
7032 poweroff fail.
7033
7034 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7035
7036 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7037 arguments, not three.
7038
7039 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7040
7041 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7042 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7043 LVM-on-RAID is handled correctly.
7044
7045 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7046
7047 * docs/grub.texi (Changes from GRUB Legacy): New section.
7048 (Future): Fix typo.
7049
7050 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7051
7052 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7053 grub.d/README accidentally ends up executable for one reason or
7054 another. Ignore it.
7055
7056 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7059 (gpt_partition_map_iterate): Support non-512B sectors.
7060
7061 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7064 Tested by: Seth Goldberg.
7065
7066 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7069 Properly align mbi.
7070 Reported by: Seth Goldberg.
7071
7072 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * util/grub-mkrescue.in: Avoid module duplication.
7075
7076 2010-07-01 Sean Finney <seanius@seanius.net>
7077
7078 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7079
7080 2010-07-01 Sean Finney <seanius@seanius.net>
7081
7082 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7083
7084 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * disk/lvm.c (grub_lvm_checkvalue): New function.
7087 (grub_lvm_check_flag): Likewise.
7088
7089 2010-07-01 Robert Millan <rmh@gnu.org>
7090
7091 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7092 Support 'p' as partition separator on kernel of FreeBSD (used
7093 with GPT labels).
7094 (grub_util_biosdisk_get_grub_dev): Likewise.
7095
7096 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 Yeeloong firmware port.
7099
7100 * boot/mips/yeeloong/fwstart.S: New file.
7101 * bus/cs5536.c (gpiodump): New const.
7102 (set_io_space): New function.
7103 (set_iod): Likewise.
7104 (set_p2d): Likewise.
7105 (grub_cs5536_init_geode): Likewise.
7106 * commands/mips/yeeloong/lsspd.c: New file.
7107 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7108 (serial_mod_SOURCES): New variable.
7109 (serial_mod_CFLAGS): Likewise.
7110 (serial_mod_LDFLAGS): Likewise.
7111 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7112 term/terminfo.c and term/tparm.c.
7113 (pkglib_IMAGES): Add fwstart.img.
7114 (fwstart_img_SOURCES): New variable.
7115 (fwstart_img_CFLAGS): Likewise.
7116 (fwstart_img_ASFLAGS): Likewise.
7117 (fwstart_img_LDFLAGS): Likewise.
7118 (fwstart_img_FORMAT): Likewise.
7119 (pkglib_MODULES): Add lsspd.mod.
7120 (lsspd_mod_SOURCES): New variable.
7121 (lsspd_mod_CFLAGS): Likewise.
7122 (lsspd_mod_LDFLAGS): Likewise.
7123 (pkglib_MODULES): Add halt.mod.
7124 (halt_mod_SOURCES): New variable.
7125 (halt_mod_CFLAGS): Likewise.
7126 (halt_mod_LDFLAGS): Likewise.
7127 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7128 (serial_mod_SOURCES): Removed.
7129 (serial_mod_CFLAGS): Likewise.
7130 (serial_mod_LDFLAGS): Likewise.
7131 * disk/ata.c (check_device): New function.
7132 (grub_ata_device_initialize): Use check_device.
7133 (grub_ata_iterate): Recheck devices.
7134 (grub_ata_open): Likewise.
7135 (grub_atapi_iterate): Likewise.
7136 (grub_atapi_open): Likewise.
7137 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7138 (GRUB_ATA_CH1_PORT1): Likewise.
7139 (GRUB_ATA_CH0_PORT2): Likewise.
7140 (GRUB_ATA_CH1_PORT2): Likewise.
7141 * include/grub/mips/loongson.h: New file.
7142 * include/grub/mips/yeeloong/ec.h: Likewise.
7143 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7144 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7145 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7146 * include/grub/misc.h (grub_halt): Declare as noreturn.
7147 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7148 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7149 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7150 (UART_ENABLE_DTRRTS): Likewise.
7151 (UART_ENABLE_MODEM): Removed.
7152 (UART_ENABLE_OUT2): New const.
7153 * include/grub/term.h (grub_term_register_input_active): New function.
7154 (grub_term_register_output_active): Likewise.
7155 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7156 argument.
7157 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7158 (init_pci): New function.
7159 (grub_machine_init): Execute platform init when firmware. Init serial.
7160 (grub_halt): Implement.
7161 (grub_exit): Likewise.
7162 (grub_reboot): Likewise.
7163 * term/serial.c (serial_hw_init): Update macros.
7164 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7165 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7166 (image_targets): New target mipsel-yeeloong-flash.
7167 (generate_image): Support IMAGE_YEELOONG_FLASH.
7168 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7169 (grub_video_sm712_setup): Init card.
7170 (grub_video_sm712_set_palette): Removed.
7171 * video/sm712_init.c: New file.
7172
7173 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
7174
7175 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7176 PATH when running help2man and then run it on the unadorned
7177 executable names, rather than passing $(builddir)/* paths to
7178 help2man. This avoids the build directory ending up in generated
7179 manual pages.
7180
7181 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7182
7183 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7184 to avoid accidents when debugging with 'sh -x'.
7185 * util/grub-mkrescue.in: Likewise.
7186 * util/grub.d/00_header.in: Likewise.
7187 * util/grub.d/10_hurd.in: Likewise.
7188 * util/grub.d/10_kfreebsd.in: Likewise.
7189 * util/grub.d/10_linux.in: Likewise.
7190 * util/grub.d/10_netbsd.in: Likewise.
7191 * util/grub.d/10_windows.in: Likewise.
7192 * util/grub.d/20_linux_xen.in: Likewise.
7193 * util/grub.d/30_os-prober.in: Likewise.
7194 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7195
7196 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7197
7198 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7199 last character in the buffer.
7200 Reported by: Vladimir Serbinenko.
7201
7202 2010-06-29 Robert Millan <rmh@gnu.org>
7203
7204 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7205 (Command-line and menu entry commands): Document `badram' command.
7206
7207 2010-06-28 Robert Millan <rmh@gnu.org>
7208
7209 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7210 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7211 command using ${GRUB_BADRAM} as parameter.
7212
7213 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7214
7215 * docs/grub.texi (Device map): New section.
7216 (Themes): New section (stub).
7217 * Makefile.in (docs/grub.info): The info documentation now builds
7218 without errors. Make sure it stays that way.
7219
7220 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Use normal parser for menu entries.
7223 Reported by: Thomas Frauendorfer
7224
7225 * include/grub/parser.h (grub_parser_execute): Don't export.
7226 * normal/menu.c (grub_menu_execute_entry_real): New function.
7227 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7228
7229 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7230
7231 * docs/grub.texi (Embedded configuration): New section (replacing
7232 old "Preset Menu" stub).
7233 (Images): New section.
7234 (configfile): Note that any menu entries defined in `file' are shown
7235 immediately.
7236
7237 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7238
7239 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7240
7241 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7242
7243 * util/grub-install.in: Add --debug-image= option.
7244
7245 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7246
7247 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7248 possible on Linux.
7249
7250 * util/deviceiter.c (check_device): Rename to ...
7251 (check_device_readable_unique): ... this. Update all callers.
7252 Maintain and check a list of which devices (by canonicalized name)
7253 have already been seen.
7254 (clear_seen_devices): New function.
7255 (compare_file_names) [__linux__]: New function.
7256 (grub_util_iterate_devices): Clear the list of seen devices on exit
7257 and (just in case) on entry.
7258 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7259 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7260 seen-devices list, superseded by general code in check_device.
7261
7262 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7263
7264 * commands/cat.c (options): New variable.
7265 (grub_cmd_cat): Parse options. If the --dos option is given, print
7266 DOS-style "\r\n" line endings as simple newlines (Debian bug
7267 #586358).
7268 (GRUB_MOD_INIT): Use extcmd.
7269 (GRUB_MOD_FINI): Likewise.
7270 * docs/grub.texi (cat): Document --dos.
7271
7272 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 XEN with Linux grub-mkconfig support.
7275
7276 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7277 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7278 GRUB_CMDLINE_XEN_DEFAULT.
7279 * util/grub.d/20_linux_xen.in: New file.
7280
7281 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Initialise VGA video on qemu ourselves.
7284
7285 * boot/i386/qemu/boot.S: Don't call 0xc000.
7286 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7287 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7288 (kernel_img_HEADERS): Add pci.h.
7289 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7290 * configure.ac: Force unifont on qemu and yeeloong.
7291 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7292 (grub_vga_palette_write): Use correct register.
7293 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7294 Call grub_qemu_init_cirrus.
7295 * kern/i386/qemu/init.c: New file.
7296 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7297
7298 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7299
7300 2010-06-26 Pavel Roskin <proski@gnu.org>
7301
7302 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7303 13.
7304
7305 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7306
7307 * docs/grub.texi (Simple configuration): Explain that
7308 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7309 set to `true' to disable their respective recovery entries, not
7310 merely set.
7311
7312 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7313
7314 Make the `source' command slightly faster.
7315
7316 * normal/main.c (grub_normal_execute): Don't re-read list files when
7317 nested.
7318
7319 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7320
7321 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7322 field position and mask size to red fields from mode_info, not
7323 green.
7324 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7325 Remove redundant tag->common.framebuffer_type assignment.
7326 Reported by: Seth Goldberg.
7327
7328 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7329
7330 Sync up other versions of the Linux loader with Robert Millan's
7331 change of 2010-01-09, "Make loader output a bit more user-friendly".
7332
7333 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7334 grub_dprintf().
7335 (grub_cmd_linux): Likewise.
7336 (grub_cmd_initrd): Likewise.
7337 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7338 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7339
7340 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7341
7342 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7343 larger than MEMORY_MAP_SIZE.
7344
7345 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7346
7347 Fix parallel build.
7348
7349 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7350 dependency.
7351 * script/parser.y: #include grub_script.tab.h header.
7352
7353 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 Support >3GiB and <16MiB RAM in i386-qemu.
7356
7357 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7358 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7359 (grub_lower_mem): Removed.
7360 (grub_upper_mem): Likewise.
7361 (mem_size): Made static.
7362 (above_4g): New variable.
7363 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7364 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7365 support.
7366
7367 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 Cirrus 5446 and Bochs video cards support.
7370
7371 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7372 video_bochs.mod
7373 (video_cirrus_mod_SOURCES): New variable.
7374 (video_cirrus_mod_CFLAGS): Likewise.
7375 (video_cirrus_mod_LDFLAGS): Likewise.
7376 (video_bochs_mod_SOURCES): Likewise.
7377 (video_bochs_mod_CFLAGS): Likewise.
7378 (video_bochs_mod_LDFLAGS): Likewise.
7379 * include/grub/vga.h: New file.
7380 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7381 (grub_video_fb_set_page_t): New type.
7382 (grub_video_fb_setup): New prototype.
7383 (grub_video_fb_swap_buffers): Likewise.
7384 (grub_video_fb_get_info_and_fini): Likewise.
7385 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7386 (CRTC_DATA_PORT): Likewise.
7387 (CRTC_CURSOR): Likewise.
7388 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7389 (CRTC_CURSOR_ADDR_LOW): Likewise.
7390 (CRTC_CURSOR_DISABLE): Likewise.
7391 (update_cursor): Use grub_vga_cr_write.
7392 (grub_vga_text_setcursor): Likewise.
7393 * video/bochs.c: New file.
7394 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7395 (palette): Likewise.
7396 (palette_size): Likewise.
7397 (framebuffer): New variable.
7398 (grub_video_fb_init): Use 'framebuffer'.
7399 (grub_video_fb_fini): Likewise.
7400 (grub_video_fb_get_info): Likewise.
7401 (grub_video_fb_get_palette): Likewise.
7402 (grub_video_fb_set_palette): Likewise.
7403 (grub_video_fb_set_viewport): Likewise.
7404 (grub_video_fb_get_viewport): Likewise.
7405 (grub_video_fb_map_color): Likewise.
7406 (grub_video_fb_map_rgb): Likewise.
7407 (grub_video_fb_map_rgba): Likewise.
7408 (grub_video_fb_unmap_color): Likewise.
7409 (grub_video_fb_unmap_color_int): Likewise.
7410 (grub_video_fb_fill_rect): Likewise.
7411 (grub_video_fb_blit_bitmap): Likewise.
7412 (grub_video_fb_blit_render_target): Likewise.
7413 (grub_video_fb_scroll): Likewise.
7414 (grub_video_fb_create_render_target): Likewise.
7415 (grub_video_fb_doublebuf_blit_init): Likewise.
7416 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7417 (doublebuf_pageflipping_update_screen): New function.
7418 (doublebuf_pageflipping_init): Likewise.
7419 (grub_video_fb_setup): Likewise.
7420 (grub_video_fb_swap_buffers): Likewise.
7421 (grub_video_fb_get_info_and_fini): Likewise.
7422 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7423 All users updated.
7424 (doublebuf_pageflipping_commit): Restructured into ...
7425 (doublebuf_pageflipping_set_page): ... this.
7426 (doublebuf_pageflipping_update_screen): Removed.
7427 (doublebuf_pageflipping_init): Likewise.
7428 (double_buffering_init): Likewise.
7429 (grub_video_vbe_setup): Use grub_video_fb_setup.
7430 (grub_video_vbe_swap_buffers): Removed.
7431 (grub_video_vbe_set_active_render_target): Likewise.
7432 (grub_video_vbe_get_active_render_target): Likewise.
7433 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7434 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7435 grub_video_fb_set_active_render_target and
7436 grub_video_fb_get_active_render_target.
7437 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7438 (SEQUENCER_DATA_PORT): Likewise.
7439 (MAP_MASK_REGISTER): Likewise.
7440 (CRTC_ADDR_PORT): Likewise.
7441 (CRTC_DATA_PORT): Likewise.
7442 (START_ADDR_HIGH_REGISTER): Likewise.
7443 (START_ADDR_LOW_REGISTER): Likewise.
7444 (GRAPHICS_ADDR_PORT): Likewise.
7445 (GRAPHICS_DATA_PORT): Likewise.
7446 (READ_MAP_REGISTER): Likewise.
7447 (INPUT_STATUS1_REGISTER): Likewise.
7448 (INPUT_STATUS1_VERTR_BIT): Likewise.
7449 (get_map_mask): Use grub_vga_sr_read.
7450 (set_map_mask): Use grub_vga_sr_write.
7451 (set_read_map): Use grub_vga_gr_write.
7452 (set_start_address): Use grub_vga_cr_write.
7453 * video/sm712.c (framebuffer): Remove leftover fields.
7454
7455 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7456
7457 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7458 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7459 instead. Replace the gfxterm backend check with a check that
7460 ${GRUB_PREFIX}/video.lst is non-empty.
7461 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7462 again.
7463 (load_video): New generated function. Call it before loading
7464 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7465 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7466 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7467 * docs/grub.texi (Simple configuration): Document
7468 GRUB_VIDEO_BACKEND.
7469
7470 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 Use video functions in linux and xnu loaders.
7473
7474 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7475 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7476 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7477 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7478 loader/i386/pc/linux.c.
7479 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7480 (find_line_len): Removed.
7481 (find_framebuf): Likewise.
7482 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7483 * loader/i386/efi/xnu.c: Removed.
7484 * loader/i386/pc/xnu.c: Moved from here...
7485 * loader/i386/xnu.c: ...here.
7486
7487 Enable priorities in video drivers.
7488
7489 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7490 (grub_video_adapter): New field prio.
7491 (grub_video_register): Respect prio when inserting.
7492 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7493 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7494 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7495 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7496 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7497 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7498 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7499
7500 Fix SDL driver ID.
7501
7502 * include/grub/video.h (grub_video_driver_id_t): New value
7503 GRUB_VIDEO_DRIVER_SDL.
7504 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7505
7506 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7507
7508 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7509 argument to printf.
7510 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7511
7512 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7515 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7516
7517 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7520 directly, and recommend grub-install instead.
7521 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7522
7523 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7524
7525 Fix i386-pc prefix handling with nested partitions (Debian bug
7526 #585068). Note that the case where the core image is booted using
7527 multiboot and relocated from its original location still requires
7528 more work.
7529
7530 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7531 with "(,", fill the boot drive in between those two characters, but
7532 expect that a full partition specification including partition map
7533 names will follow.
7534 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7535 specified, write a prefix without the drive name but including a
7536 full partition specification.
7537
7538 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7539
7540 * util/grub-mkconfig.in: Ignore non-option arguments, for
7541 compatibility with older versions (before 2010-06-12) which did the
7542 same. In particular, this makes it easier to ship an update-grub
7543 wrapper which is compatible with that used with GRUB Legacy (Debian
7544 bug #586056).
7545
7546 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7547
7548 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7549 for manual page generation.
7550
7551 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7552
7553 * po/POTFILES: Remove leftover commands/handler.c.
7554
7555 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7556
7557 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7558 left this script non-functional.
7559
7560 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7561
7562 * docs/man/grub-emu.h2m: New file.
7563
7564 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7565
7566 * docs/grub.texi (Commands): Document reduced command set in rescue
7567 mode.
7568 (cpuid): New section.
7569
7570 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7571
7572 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7573 new partition naming style.
7574 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7575
7576 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7577
7578 Add "-o grub.iso" like cmdline options support.
7579
7580 * util/grub-install.in: Improve cmdline option parsing.
7581 * util/grub-mkconfig.in: Likewise.
7582 * util/grub-mkrescue.in: Likewise.
7583 * util/grub-reboot.in: Likewise.
7584 * util/grub-set-default.in: Likewise.
7585 * util/i386/efi/grub-install.in: Likewise.
7586 * util/ieee1275/grub-install.in: Likewise.
7587 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7588
7589 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7590
7591 * .bzrignore: Ignore 41_custom.
7592
7593 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7594
7595 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7596
7597 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7598
7599 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7600 prototype declarations.
7601
7602 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7603 generating fs, partmap, and video lists.
7604 * include/grub/fs.h (grub_fs_register): Omit prototype if
7605 GRUB_LST_GENERATOR is defined.
7606 * include/grub/partition.h (grub_partition_map_register): Likewise.
7607 * include/grub/video.h (grub_video_register): Likewise.
7608
7609 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7610
7611 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7612
7613 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7614
7615 * util/grub-mkrescue.in: Support --xorriso argument.
7616
7617 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7620 Suggested by: Thomas Schmitt.
7621
7622 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7625 Suggested by: Thomas Schmitt.
7626
7627 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 custom.cfg support.
7630
7631 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7632 * util/grub.d/41_custom.in: New file.
7633
7634 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7635
7636 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7637 been merged back into normal.
7638
7639 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7640
7641 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7642 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7643
7644 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7645
7646 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7647 when generating manual pages.
7648 * docs/man/grub-bin2h.h2m: New file.
7649 * docs/man/grub-editenv.h2m: New file.
7650 * docs/man/grub-fstest.h2m: New file.
7651 * docs/man/grub-install.h2m: New file.
7652 * docs/man/grub-macho2img.h2m: New file.
7653 * docs/man/grub-mkconfig.h2m: New file.
7654 * docs/man/grub-mkdevicemap.h2m: New file.
7655 * docs/man/grub-mkfont.h2m: New file.
7656 * docs/man/grub-mkimage.h2m: New file.
7657 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7658 * docs/man/grub-mkrelpath.h2m: New file.
7659 * docs/man/grub-mkrescue.h2m: New file.
7660 * docs/man/grub-ofpathname.h2m: New file.
7661 * docs/man/grub-pe2elf.h2m: New file.
7662 * docs/man/grub-probe.h2m: New file.
7663 * docs/man/grub-reboot.h2m: New file.
7664 * docs/man/grub-script-check.h2m: New file.
7665 * docs/man/grub-set-default.h2m: New file.
7666 * docs/man/grub-setup.h2m: New file.
7667
7668 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Use FOR_* macros instead of *_iterate whenever possible.
7671
7672 * commands/handler.c: Removed.
7673 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7674 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7675 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7676 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7677 (grub_probe_SOURCES): Remove kern/parser.c.
7678 (util/grub-script-check.c_DEPENDENCIES): Removed.
7679 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7680 and grub_script_check_init.c.
7681 (grub_script_check_init.lst): Removed.
7682 (grub_script_check_init.h): Likewise.
7683 (grub_script_check_init.c): Likewise.
7684 (pkglib_MODULES): Remove handler.mod and sh.mod.
7685 (handler_mod_SOURCES): Removed.
7686 (handler_mod_CFLAGS): Likewise.
7687 (handler_mod_LDFLAGS): Likewise.
7688 (normal_mod_SOURCES): Remove normal/handler.c.
7689 Add script/main.c, script/script.c, script/execute.c,
7690 script/function.c, script/lexer.c, grub_script.tab.c
7691 and grub_script.yy.c.
7692 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7693 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7694 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7695 (grub_setup_SOURCES): Remove kern/parser.c.
7696 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7697 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7698 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7699 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7700 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7701 (grub_setup_SOURCES): Remove kern/parser.c.
7702 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7703 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7704 * include/grub/command.h (grub_command_iterate): Removed.
7705 (FOR_COMMANDS): New macro.
7706 * include/grub/dl.h (grub_dl): New member next.
7707 (grub_dl_iterate): Removed.
7708 (grub_dl_head): New variable declaration.
7709 (FOR_DL_MODULES): New macro.
7710 * include/grub/fs.h: Include list.h.
7711 (grub_fs): Make next first element.
7712 (grub_fs_list): New variable declaration.
7713 (grub_fs_register): Make inline.
7714 (grub_fs_unregister): Likewise.
7715 (grub_fs_iterate): Removed.
7716 (FOR_FILESYSTEMS): New macro.
7717 * include/grub/handler.h: Removed.
7718 * include/grub/list.h (grub_list_hook_t): Removed.
7719 (grub_list_test_t): Likewise.
7720 (grub_list_pop): Likewise.
7721 (grub_list_iterate): Likewise.
7722 (grub_list_insert): Likewise.
7723 (FOR_LIST_ELEMENTS): New macro.
7724 * include/grub/parser.h (grub_parser_class): Removed.
7725 (grub_parser_register): Likewise.
7726 (grub_parser_unregister): Likewise.
7727 (grub_parser_get_current): Likewise.
7728 (grub_parser_set_current): Likewise.
7729 (grub_register_rescue_parser): Likewise.
7730 (grub_rescue_parse_line): New function.
7731 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7732 * include/grub/script_sh.h (grub_script_function_list): New variable
7733 declaration.
7734 (FOR_SCRIPT_FUNCTIONS): New macro.
7735 (grub_script_function_iterate): Removed.
7736 (grub_normal_parse_line): New prototype.
7737 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7738 (FOR_DISABLED_TERM_INPUTS): Likewise.
7739 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7740 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7741 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7742 element.
7743 (grub_video_register): Inline.
7744 (grub_video_unregister): Likewise.
7745 (grub_video_adapter_list): New variable declaration.
7746 (grub_video_iterate): Removed.
7747 (FOR_VIDEO_ADAPTERS): New macro.
7748 * kern/dl.c (grub_dl_list): Removed. All users updated.
7749 (grub_dl_iterate): Removed.
7750 * kern/fs.c (grub_fs_list): Make global.
7751 (grub_fs_register): Removed.
7752 (grub_fs_unregister): Likewise.
7753 (grub_fs_iterate): Likewise.
7754 * kern/handler.c: Removed.
7755 * kern/list.c (grub_list_pop): Removed.
7756 (grub_list_iterate): Likewise.
7757 (grub_list_insert): Likewise.
7758 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7759 (grub_prio_list_insert): Don't use grub_list_insert.
7760 * kern/main.c (grub_register_rescue_parser): Don't call
7761 grub_register_rescue_parser.
7762 * kern/parser.c (grub_parser_class): Removed.
7763 (grub_parser_execute): Use grub_rescue_parse_line.
7764 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7765 (grub_rescue_parser): Removed.
7766 (grub_register_rescue_parser): Likewise.
7767 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7768 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7769 (grub_auth_check_authentication): Likewise.
7770 * normal/completion.c (iterate_command): Removed.
7771 (grub_normal_do_completion): Use FOR_COMMANDS.
7772 * normal/handler.c: Removed.
7773 * normal/main.c (read_config_file): Remove parser changing.
7774 (grub_normal_execute): Don't call read_handler_list.
7775 (grub_normal_read_line_real): Statically allocate prompt.
7776 (grub_cmdline_run): Use grub_normal_parse_line.
7777 (GRUB_MOD_FINI): Don't call free_handler_list.
7778 * normal/menu_entry.c (run): Likewise.
7779 * script/function.c (grub_script_function_list): Make global.
7780 (grub_script_function_iterate): Removed.
7781 * script/main.c (grub_normal_parse_line): Make global.
7782 (grub_sh_parser): Removed.
7783 (GRUB_MOD_INIT): Likewise.
7784 (GRUB_MOD_FINI): Likewise.
7785 * tests/lib/functional_test.c (grub_functional_test): Use
7786 FOR_LIST_ELEMENTS.
7787 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7788 (grub_test_run): Use FOR_LIST_ELEMENTS.
7789 * tests/lib/unit_test.c (main): Likewise.
7790 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7791 grub_list_pop.
7792 * util/grub-fstest.c (grub_term_input_class): Removed.
7793 (grub_term_output_class): Likewise.
7794 * util/grub-probe.c: Likewise.
7795 * util/i386/pc/grub-setup.c: Likewise.
7796 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7797 * util/grub-script-check.c (main): Don't call grub_init_all and
7798 grub_fini_all.
7799 * video/video.c (grub_video_adapter_list): Make global.
7800 (grub_video_register): Removed.
7801 (grub_video_unregister): Likewise.
7802 (grub_video_iterate): Likewise.
7803
7804 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7807 reported by Henrique Ferreiro.
7808
7809 2010-06-09 Robert Millan <rmh@gnu.org>
7810
7811 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7812 ones, when both are available.
7813
7814 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7815
7816 Make --version uniform and avoid hard-coded program name.
7817
7818 * util/grub-mkimage.c (main): Use `program_name' instead of
7819 hard-coded string.
7820 * util/i386/pc/grub-setup.c (main): Likewise.
7821 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7822 * util/grub-install.in: Save the basename of $0 in $self, and use the
7823 latter in informational messages. Use the same format for --version
7824 as the binary programs.
7825 * util/grub-mkconfig.in: Likewise.
7826 * util/grub-mkrescue.in: Likewise.
7827 * util/grub-reboot.in: Likewise.
7828 * util/grub-set-default.in: Likewise.
7829 * util/i386/efi/grub-install.in: Likewise.
7830 * util/ieee1275/grub-install.in: Likewise.
7831 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7832
7833 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7834
7835 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7836 embedding area. Use <= instead of == when checking for non-emptiness.
7837
7838 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7839
7840 * configure.ac: Add `.' to the directories searched for unifont.
7841
7842 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7843
7844 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7845 grub_script.yy.h.
7846
7847 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7848
7849 * docs/grub.texi (History): Expand to cover GRUB 2.
7850 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7851 commands, not `terminal'.
7852 (serial): Likewise.
7853 (terminal_input): New section.
7854 (terminal_output): New section.
7855 (uppermem): New section (stub).
7856 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7857
7858 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7859
7860 * docs/grub.texi (Security): Menu entries are unrestricted by
7861 default, not restricted to superusers as I had previously thought.
7862 Reword to account for this.
7863
7864 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * kern/emu/misc.c (device_mapper_null_log): New function.
7867 (grub_device_mapper_supported): New function.
7868 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7869 prototype.
7870 * kern/emu/hostdisk.c (find_partition_start): Check whether
7871 device-mapper is supported before trying to use it.
7872 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7873
7874 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7877 (File name syntax): Likewise.
7878 (help): --all is no longer supported in GRUB 2. Be more precise
7879 about pattern matching.
7880
7881 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7882
7883 * normal/completion.c (grub_normal_do_completion): When completing
7884 arguments to "set" and the current word contains an equals sign,
7885 skip to after the equals sign before starting completion.
7886
7887 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7888
7889 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7890
7891 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7892
7893 * docs/grub.texi (Network): New section.
7894 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7895 `(nd)' as in GRUB Legacy.
7896 (pxe_unload): New section.
7897
7898 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7899
7900 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7901 in the rescue shell, so recommend using `set' instead. Thanks,
7902 Jordan Uggla.
7903
7904 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7905
7906 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7907 (password): New section.
7908 (password_pbkdf2): New section.
7909 (search): New section.
7910 (Security): New section.
7911 (Troubleshooting): New section, currently very incomplete.
7912 (Invoking grub-mkpasswd-pbkdf2): New section.
7913 (Internals): New section, currently very incomplete.
7914
7915 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * util/grub.d/00_header.in: Add some more quoting (of
7918 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7919 work again.
7920 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7921
7922 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7923
7924 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7925 to `count', fixing variable shadowing that broke the -c option.
7926
7927 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7930 in case they contain spaces.
7931
7932 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7935 "part_" to partmap module names, in line with grub-install.
7936 Reported by: Jindřich Makovička (Debian bug #584426).
7937
7938 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7939
7940 * util/grub-mkimage.c: Make target-related error messages slightly
7941 more helpful; -O talks about "format". Explicitly point to the use
7942 of -O if no target is specified.
7943 Reported by: Didier Raboud (Debian bug #584415).
7944
7945 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7946
7947 * INSTALL: Document several build requirements for optional features
7948 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7949
7950 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7951
7952 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7953 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7954 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7955
7956 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7957
7958 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7959 Thanks to Jordan Uggla for spotting this.
7960
7961 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7962
7963 Finally make USB usable.
7964
7965 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7966 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7967 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7968 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7969 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7970 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7971 (GRUB_OHCI_FSMPS): Likewise.
7972 (GRUB_OHCI_PERIODIC_START): Likewise.
7973 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7974 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7975 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7976 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7977 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7978 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7979 (grub_ohci_transaction): Likewise.
7980 (grub_ohci_transfer): Improve condition detection algorithms.
7981 Handle toggle property. Program the transactions correctly.
7982 Improve error handling. Various important fixups.
7983 (grub_ohci_portstatus): Put register writes in right order.
7984 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7985 (grub_uhci_transfer): Don't show "failed" message on success.
7986 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7987 array.
7988 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7989 determine its size.
7990 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7991 before initialization is completed. Use IN direction for empty
7992 transfers. Use last_trans and compute toggle.
7993 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7994 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7995 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7996 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7997 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7998 (grub_usb_device): Increase toggle to 256.
7999 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8000 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8001 GRUB_USBMS_SUBCLASS_SFF8070.
8002 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8003 (grub_scsi_inquiry): New member page and alloc_length.
8004 (grub_scsi_request_sense): New structure.
8005 (grub_scsi_request_sense_data): Likewise.
8006 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8007 control.
8008 * disk/scsi.c (grub_scsi_request_sense): New function.
8009 (grub_scsi_test_unit_ready): Likewise.
8010 (grub_scsi_inquiry): Fill new fields.
8011 (grub_scsi_read_capacity): Likewise.
8012 (grub_scsi_read10): Add request sense at the end.
8013 (grub_scsi_read12): Likewise.
8014 (grub_scsi_write10): Likewise.
8015 (grub_scsi_write12): Likewise.
8016 (grub_scsi_open): Add Test Unit Ready.
8017 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8018 Support additional subclasses. Con't clear halt yet. Activate the
8019 proper config. Calculate LUNs correctly.
8020 (grub_usbms_transfer): Various important fixups.
8021
8022 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8025 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8026 (grub_ohci_fini_hw): New function.
8027 (grub_ohci_restore_hw): Likewise.
8028 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8029 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8030 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8031
8032 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 Dedicated DMA allocations.
8035
8036 * bus/pci.c (grub_memalign_dma32): New function
8037 (grub_dma_free): Likewise.
8038 (grub_dma_get_virt): Likewise.
8039 (grub_dma_get_phys): Likewise.
8040 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8041 (grub_ohci_pci_iter): Use dma32_alloc.
8042 (grub_ohci_transfer): Likewise.
8043 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8044 (grub_usb_bulk_readwrite): Likewise.
8045 * include/grub/pci.h: Add declarations.
8046
8047 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 CS5536 support.
8050
8051 * bus/cs5536.c: New file.
8052 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8053 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8054 (cs5536_mod_SOURCES): New variable.
8055 (cs5536_mod_CFLAGS): Likewise.
8056 (cs5536_mod_LDFLAGS): Likewise.
8057 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8058 machine/pci.h.
8059 (kernel_img_SOURCES): Add bus/cs5536.c.
8060 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8061 usb_keyboard.mod.
8062 (usb_mod_SOURCES): New variable.
8063 (usb_mod_CFLAGS): New variable.
8064 (usb_mod_LDFLAGS): New variable.
8065 (usbtest_mod_SOURCES): New variable.
8066 (usbtest_mod_CFLAGS): New variable.
8067 (usbtest_mod_LDFLAGS): New variable.
8068 (ohci_mod_SOURCES): New variable.
8069 (ohci_mod_CFLAGS): New variable.
8070 (ohci_mod_LDFLAGS): New variable.
8071 (usbms_mod_SOURCES): New variable.
8072 (usbms_mod_CFLAGS): New variable.
8073 (usbms_mod_LDFLAGS): New variable.
8074 (usb_keyboard_mod_SOURCES): New variable.
8075 (usb_keyboard_mod_CFLAGS): New variable.
8076 (usb_keyboard_mod_LDFLAGS): New variable.
8077 * include/grub/smbus.h: New file.
8078 * include/grub/cs5536.h: New file.
8079
8080 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8081
8082 * util/grub.d/00_header.in: Add safety check to make sure that
8083 ${locale_dir} exists before trying to probe it.
8084
8085 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8086
8087 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8088 per the GNU Coding Standards; this is now too obscure to be worth
8089 documenting.
8090 (QNX): Likewise.
8091 (chainloader): Remove cross-reference to `SCO UnixWare'.
8092
8093 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8094
8095 * docs/grub.texi (Chain-loading): New section.
8096 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8097 adjusted for GRUB 2.
8098 (SCO UnixWare): Likewise.
8099 (QNX): Likewise.
8100 (chainloader): Add reference to `Block list syntax'.
8101 (drivemap): New section.
8102 (parttool): New section.
8103
8104 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8105
8106 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8107 the grub shell'.
8108 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8109 (Installing GRUB using grub-install): Remove reference to the grub
8110 shell; mention `grub-mkimage' and `grub-setup' instead.
8111 (Invoking grub-install): Likewise.
8112 (Interface): Add reference to `Menu entry editor'.
8113 (serial): Remove `--device' option.
8114
8115 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8116
8117 * docs/grub.texi (Configuration): New section, documenting
8118 configuration file generation using grub-mkconfig. I've left a slot
8119 for documenting the full shell scripting format but have not yet
8120 started on writing that up.
8121 (Invoking grub-mkconfig): New section.
8122
8123 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8124
8125 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8126 (GNU GRUB manual): Likewise.
8127 (General commands): Update description of `terminfo' for GRUB 2.
8128
8129 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8130
8131 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8132 (GRUB_MOD_INIT): Fix capitalisation.
8133 * docs/grub.texi (Command-line and menu entry commands): Document
8134 gettext and gptsync commands.
8135
8136 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8137
8138 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8139 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8140
8141 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
8142
8143 Add btrfs probing support, currently only in the single-device case.
8144
8145 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8146 function.
8147 (grub_guess_root_device): Call find_root_device_from_mountinfo
8148 before looking in /dev.
8149
8150 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8153 GRUB_DISK_SIZE_UNKNOWN.
8154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8155
8156 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
8157
8158 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8159 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8160 corrupted or not synced properly.
8161
8162 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8165 Reported by: Seth Goldberg.
8166
8167 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8170 addition of dest.
8171 Reported by: Seth Goldberg.
8172
8173 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8176 Reported by: Seth Goldberg.
8177
8178 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8181 64-bit address as signed on MIPS.
8182
8183 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8184
8185 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8186 to the empty string.
8187
8188 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8189
8190 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8191
8192 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8193 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8194 * kern/misc.c (__enable_execute_stack): Disable on
8195 GRUB_MACHINE_EMU.
8196
8197 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8198
8199 Make grub-probe work with symbolic links under /dev/mapper as well
8200 as with real block devices. The Linux world seems to be (at best)
8201 in transition here, and GRUB shouldn't get caught in the middle.
8202
8203 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8204 /dev/mapper.
8205
8206 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8207
8208 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8209 input files (in which case exit zero).
8210
8211 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8212
8213 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8214 return NULL for various reasons even if it has a maximum-length
8215 buffer: for example, there might be a symlink loop, or the path
8216 might exceed PATH_MAX. If this happens, return NULL.
8217
8218 2010-05-27 Robert Millan <rmh@gnu.org>
8219
8220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8221 partmap module to handle cross-partmap setups.
8222 Reported by Orestes Mas. Gràcies!
8223
8224 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8225
8226 * util/grub-mkrescue.in: Initialise override_dir rather than
8227 assuming that it's unset or empty in the environment.
8228
8229 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8230
8231 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8232 variable index into p_index to suppress a warning with -Wshadow.
8233
8234 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8235
8236 * INSTALL: Added flex >= 2.5.35 requirement.
8237
8238 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8241
8242 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 cmostest support.
8245
8246 * commands/i386/cmostest.c: New file.
8247 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8248 (cmostest_mod_SOURCES): New variable.
8249 (cmostest_mod_CFLAGS): Likewise.
8250 (cmostest_mod_LDFLAGS): Likewise.
8251 * conf/i386-pc.rmk: Likewise.
8252 * docs/grub.texi (Vendor power-on keys): New section.
8253 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8254 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8255 and GRUB_BUTTON_CMOS_ADDRESS.
8256 * util/grub.d/00_header.in: Handle powering-on by separate button.
8257
8258 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8261 Removed drawing_scrollbar argument. All users updated
8262 Fixes #29792.
8263 Reported by Jo Shields
8264
8265 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8268 buffer since gfxterm handles double repaint.
8269
8270 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8273 * term/gfxterm.c (real_scroll): Likewise.
8274
8275 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8278 before calling BIOS.
8279
8280 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * include/grub/i18n.h: Always enable grub_gettext.
8283
8284 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8287 partition naming style.
8288
8289 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8290
8291 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8292 not the first option.
8293
8294 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8295
8296 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8297
8298 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8299
8300 * util/misc.c: Move inclusion of <limits.h> to ...
8301 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8302
8303 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8304
8305 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8306 Fix merge error in NetBSD code.
8307 (find_partition_start) [__NetBSD__]: Likewise.
8308
8309 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8310
8311 Fix grub-mkrescue usage unit testing.
8312
8313 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8314
8315 2010-05-18 Christian Franke <franke@computer.org>
8316
8317 * util/grub.d/10_windows.in: Use path names instead of
8318 drive letters to prevent warning from Cygwin 1.7.
8319 Add drivemap command to menuentry if needed.
8320
8321 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8322
8323 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8324 gnumach and gnumach.gz.
8325
8326 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * include/grub/i18n.h (gettext): Inline instead of using #define.
8329 (grub_gettext): Likewise.
8330 (_): Likewise.
8331
8332 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8335 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8336 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8337 (main): Add a slash after pkglibdirroot.
8338
8339 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-install.in: Add missing "in" keyword.
8342
8343 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8346 Reported by: Seth Goldberg.
8347
8348 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8351
8352 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8353
8354 * configure.ac: Check for Linux device-mapper support.
8355
8356 * util/hostdisk.c (device_is_mapped): New function.
8357 (find_partition_start): New function, partly broken out from
8358 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8359 device-mapper support added.
8360 (linux_find_partition): Use find_partition_start.
8361 (convert_system_partition_to_system_disk): Add `st' argument.
8362 Support Linux /dev/mapper/* devices if device-mapper support is
8363 available; only DM-RAID devices are understood at present.
8364 (find_system_device): Add `st' argument. Pass it to
8365 convert_system_partition_to_system_disk.
8366 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8367 find_system_device and convert_system_partition_to_system_disk. Use
8368 find_partition_start.
8369
8370 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8371 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8372 * util/deviceiter.c [__linux__]: Define MINOR.
8373 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8374 * util/mkdevicemap.c (grub_putchar): New function.
8375 (grub_getkey): New function.
8376 (grub_refresh): New function.
8377 (main): Set debug=all if -v -v is used.
8378
8379 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8380
8381 Fix build with non-GNU libcs.
8382
8383 * util/misc.c (canonicalize_file_name): Move to ...
8384 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8385 grub_make_system_path_relative_to_its_root.
8386
8387 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8388
8389 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8390 we handle finding grub-mkimage. Default to finding grub-mkimage in
8391 ${bindir} with program_transform_name applied, and provide a
8392 --grub-mkimage option to override this.
8393
8394 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 Remove grub-mkisofs.
8397
8398 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8399 (grub_mkisofs_SOURCES): Removed.
8400 (grub_mkisofs_CFLAGS): Removed.
8401 * util/mkisofs/defaults.h: Removed.
8402 * util/mkisofs/eltorito.c: Likewise.
8403 * util/mkisofs/exclude.h: Likewise.
8404 * util/mkisofs/hash.c: Likewise.
8405 * util/mkisofs/include/: Likewise.
8406 * util/mkisofs/include/fctldefs.h: Likewise.
8407 * util/mkisofs/include/mconfig.h: Likewise.
8408 * util/mkisofs/include/prototyp.h: Likewise.
8409 * util/mkisofs/include/statdefs.h: Likewise.
8410 * util/mkisofs/iso9660.h: Likewise.
8411 * util/mkisofs/joliet.c: Likewise.
8412 * util/mkisofs/match.c: Likewise.
8413 * util/mkisofs/match.h: Likewise.
8414 * util/mkisofs/mkisofs.c: Likewise.
8415 * util/mkisofs/mkisofs.h: Likewise.
8416 * util/mkisofs/msdos_partition.h: Likewise.
8417 * util/mkisofs/multi.c: Likewise.
8418 * util/mkisofs/name.c: Likewise.
8419 * util/mkisofs/rock.c: Likewise.
8420 * util/mkisofs/tree.c: Likewise.
8421 * util/mkisofs/write.c: Likewise.
8422
8423 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Unify grub-mkimage accross platforms.
8426
8427 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8428 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8429 (grub_mkelfimage_SOURCES): Removed.
8430 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8431 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8432 (bin_UTILITIES): Add grub-mkimage.
8433 (grub_mkimage_SOURCES): New variable.
8434 (kernel_img_HEADERS): Remove machine/kernel.h.
8435 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8436 (pkglib_PROGRAMS): Add kernel.img.
8437 (kernel_img_HEADERS): Add machine/kernel.h.
8438 (kernel_img_FORMAT): Removed.
8439 (bin_UTILITIES): Remove grub-mkimage.
8440 (grub_mkimage_SOURCES): Removed.
8441 (grub_mkimage_CFLAGS): Likewise.
8442 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8443 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8444 (pkglib_PROGRAMS): Add kernel.img.
8445 (bin_UTILITIES): Remove grub-mkimage.
8446 (grub_mkimage_SOURCES): Removed.
8447 (grub_mkimage_CFLAGS): Likewise.
8448 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8449 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8450 (pkglib_PROGRAMS): Add kernel.img.
8451 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8452 (pkglib_PROGRAMS): Add kernel.img.
8453 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8454 (grub_mkimage_SOURCES): Removed.
8455 (grub_mkimage_CFLAGS): Likewise.
8456 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8457 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8458 (pkglib_PROGRAMS): Add kernel.img.
8459 (bin_UTILITIES): Remove grub-mkimage.
8460 (grub_mkimage_SOURCES): Removed.
8461 (grub_mkimage_CFLAGS): Likewise.
8462 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8463 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8464 (grub_mkimage_SOURCES): Removed.
8465 (grub_mkimage_CFLAGS): Likewise.
8466 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8467 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8468 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8469 (grub_pe32_optional_header): ... this.
8470 (grub_pe64_optional_header): ... and this. All users updated.
8471 (GRUB_PE32_PE32_MAGIC): Split into ..
8472 (GRUB_PE32_PE32_MAGIC): .. this.
8473 (GRUB_PE32_PE64_MAGIC): .. and this.
8474 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8475 * include/grub/elf.h (PT_GNU_STACK): New definition.
8476 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8477 * include/grub/i386/efi/kernel.h: Likewise.
8478 * include/grub/i386/kernel.h: Likewise.
8479 * include/grub/i386/pc/kernel.h: Likewise.
8480 * include/grub/i386/qemu/boot.h: Likewise.
8481 * include/grub/mips/kernel.h: Likewise.
8482 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8483 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8484 * include/grub/powerpc/kernel.h: Likewise.
8485 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8486 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8487 * include/grub/sparc64/kernel.h: Likewise.
8488 * include/grub/x86_64/efi/kernel.h: Likewise.
8489 * include/grub/x86_64/kernel.h: Likewise.
8490 * include/grub/offsets.h: New file.
8491 * include/grub/kernel.h (grub_module_info): Split into ...
8492 (grub_module_info32): ... this.
8493 (grub_module_info64): ... and this.
8494 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8495 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8496 (grub_boot_blocklist): Moved from here ...
8497 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8498 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8499 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8500 * include/grub/types.h (grub_target_to_host16): Removed.
8501 (grub_target_to_host32): Likewise.
8502 (grub_target_to_host64): Likewise.
8503 (grub_host_to_target16): Likewise.
8504 (grub_host_to_target32): Likewise.
8505 (grub_host_to_target64): Likewise.
8506 (grub_host_to_target_addr): Likewise.
8507
8508 Support grub-mkrescue for efi, coreboot and qemu.
8509
8510 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8511 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8512 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8513 * util/grub-mkrawimage.c: Moved from here ...
8514 * util/grub-mkimage.c: ... here. All users updated.
8515 (ALIGN_ADDR): Use image_target.
8516 (TARGET_NO_FIELD): New const.
8517 (image_target_desc): New type.
8518 (image_targets): New array.
8519 (grub_target_to_host64): Use image_target.
8520 (grub_target_to_host32): Likewise.
8521 (grub_target_to_host16): Likewise.
8522 (grub_host_to_target64): Likewise.
8523 (grub_host_to_target32): Likewise.
8524 (grub_host_to_target16): Likewise.
8525 (grub_host_to_target_addr): Likewise.
8526 (generate_image): Handle multiimage.
8527 (main): Require -O parameter. All users updated.
8528 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8529 util/efi/grub-mkimage.c
8530 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8531 New option --rom-directory.
8532 Use xorriso.
8533 * util/i386/efi/grub-mkimage.c: Removed.
8534 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8535 (grub_target_to_host32): Likewise.
8536 (grub_target_to_host64): Likewise.
8537 (grub_host_to_target16): Likewise.
8538 (grub_host_to_target32): Likewise.
8539 (grub_host_to_target64): Likewise.
8540 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8541 (grub_target_to_host32): Likewise.
8542 (grub_target_to_host64): Likewise.
8543 (grub_host_to_target16): Likewise.
8544 (grub_host_to_target32): Likewise.
8545 (grub_host_to_target64): Likewise.
8546
8547 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8548
8549 Source tree is reorganized for emu build.
8550
8551 * include/grub/util/console.h: Move from here...
8552 * include/grub/emu/console.h: ...to here.
8553 * include/grub/util/getroot.h: Move from here...
8554 * include/grub/emu/getroot.h: ...to here.
8555 * include/grub/util/hostdisk.h: Move from here...
8556 * include/grub/emu/hostdisk.h: ...to here.
8557 * util/console.c: Move from here...
8558 * kern/emu/console.c: ...to here.
8559 * util/getroot.c: Move from here...
8560 * kern/emu/getroot.c: ...to here.
8561 * util/grub-emu.c: Move from here...
8562 * kern/emu/main.c: ...to here.
8563 * util/hostdisk.c: Move from here...
8564 * kern/emu/hostdisk.c: ...to here.
8565 * util/hostfs.c: Move from here...
8566 * kern/emu/hostfs.c: ...to here.
8567 * util/mm.c: Move from here...
8568 * kern/emu/mm.c: ...to here.
8569 * util/pci.c: Move from here...
8570 * bus/emu/pci.c: ...to here.
8571 * util/sdl.c: Move from here...
8572 * video/emu/sdl.c: ...to here.
8573 * util/time.c: Move from here...
8574 * kern/emu/time.c: ...to here.
8575 * util/usb.c: Move from here...
8576 * bus/usb/emu/usb.c: ...to here.
8577
8578 * include/grub/emu/misc.h: New header for grub-emu functions.
8579 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8580
8581 * conf/any-emu.rmk: Rule updates for above renames.
8582 * conf/common.rmk: Likewise.
8583 * conf/i386-pc.rmk: Likewise.
8584 * conf/i386-qemu.rmk: Likewise.
8585 * conf/mips.rmk: Likewise.
8586 * conf/sparc64-ieee1275.rmk: Likewise.
8587 * conf/x86-efi.rmk: Likewise.
8588
8589 * disk/lvm.h: #include updates for above renames.
8590 * util/grub-mkrelpath.c: Likewise.
8591 * util/grub-probe.c: Likewise.
8592 * util/i386/pc/grub-setup.c: Likewise.
8593 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8594 * kern/emu/console.c: Likewise.
8595 * kern/emu/getroot.c: Likewise.
8596 * kern/emu/hostdisk.c: Likewise.
8597 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8598
8599 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8600 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8601 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8602 * util/misc.c: Remove grub-emu functions.
8603
8604 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Fix gfxmenu crash.
8607 Reported by: Thorsten Grützmacher.
8608
8609 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8610 timeout hook.
8611 (circprog_set_property): Register and unregister timeout hook.
8612 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8613 (label_destroy): Free template. and unregister hook.
8614 (label_set_state): New function.
8615 (label_set_property): Handle templates and hooks.
8616 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8617 timeout hook.
8618 (progress_bar_set_property): Register and unregister timeout hook.
8619 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8620 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8621 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8622 (update_timeout_visit): Removed.
8623 (update_timeouts): New function.
8624 (redraw_timeouts): Likewise.
8625 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8626 (grub_gfxmenu_clear_timeout): Likewise.
8627 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8628 (grub_gfxmenu_timeout_notify): Likewise.
8629 (grub_gfxmenu_timeout_notifications): New external variable.
8630 (grub_gfxmenu_timeout_register): New function.
8631 (grub_gfxmenu_timeout_unregister): Likewise.
8632
8633 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 Transform (broken) vga terminal into (working) vga video driver.
8636
8637 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8638 video/i386/pc/vga.c.
8639 * include/grub/video.h (grub_video_driver_id):
8640 Add GRUB_VIDEO_DRIVER_VGA.
8641 * term/i386/pc/vga.c: Renamed to ...
8642 * video/i386/pc/vga.c: ...this
8643 (DEBUG_VGA): Removed.
8644 (CHAR_WIDTH): Likewise.
8645 (CHAR_HEIGHT): Likewise.
8646 (TEXT_WIDTH): Likewise.
8647 (TEXT_HEIGHT): Likewise.
8648 (DEFAULT_FG_COLOR): Likewise.
8649 (DEFAULT_BG_COLOR): Likewise.
8650 (colored_char): Likewise.
8651 (xpos): Likewise.
8652 (ypos): Likewise.
8653 (cursor_state): Likewise.
8654 (fg_color): Likewise.
8655 (bg_color): Likewise.
8656 (text_buf): Likewise.
8657 (page): Likewise.
8658 (font): Likewise.
8659 (framebuffer): New variable.
8660 (set_read_map): Disabled.
8661 (setup): New variable.
8662 (is_target): Likewise.
8663 (grub_vga_mod_init): Likewise.
8664 (grub_vga_mod_fini): Likewise.
8665 (check_vga_mem): Likewise.
8666 (write_char): Likewise.
8667 (write_cursor): Likewise.
8668 (scroll_up): Likewise.
8669 (grub_vga_putchar): Likewise.
8670 (grub_vga_getcharwidth): Likewise.
8671 (grub_vga_getwh): Likewise.
8672 (grub_vga_getxy): Likewise.
8673 (grub_vga_gotoxy): Likewise.
8674 (grub_vga_cls): Likewise.
8675 (grub_vga_setcolorstate): Likewise.
8676 (grub_vga_setcursor): Likewise.
8677 (grub_video_vga_init): New function.
8678 (grub_video_vga_setup): Likewise.
8679 (grub_video_vga_fini): Likewise.
8680 (update_target): Likewise.
8681 (grub_video_vga_blit_bitmap): Likewise.
8682 (grub_video_vga_blit_render_target): Likewise.
8683 (grub_video_vga_set_active_render_target): Likewise.
8684 (grub_video_vga_get_active_render_target): Likewise.
8685 (grub_video_vga_swap_buffers): Likewise.
8686 (grub_video_vga_set_palette): Likewise.
8687 (grub_video_vga_get_info_and_fini): Likewise.
8688 (grub_vga_term): Removed.
8689 (grub_video_vga_adapter): New variable.
8690 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8691 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8692
8693 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * video/readers/jpeg.c: Indented.
8696
8697 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 Various jpeg cleanups.
8700
8701 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8702 (grub_jpeg_decode_quan_table): Use sizeof.
8703 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8704
8705 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8706
8707 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8708 tables. Ignore non-last ac bit.
8709 (grub_jpeg_decode_quan_table): Likewise.
8710
8711 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8714 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8715 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8716 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8717 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8718 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8719
8720 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8723 error.
8724
8725 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8728
8729 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8732 condition.
8733
8734 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8737 part.
8738
8739 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8742 pointers.
8743
8744 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8747
8748 2010-05-01 Christian Franke <franke@computer.org>
8749
8750 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8751 Remove broken Cygwin path conversion.
8752 * util/misc.c: [__CYGWIN__] Add include and define.
8753 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8754 for Cygwin 1.7.
8755 (make_system_path_relative_to_its_root): Simplify loop, replace early
8756 return by break.
8757 [__CYGWIN__] Add conversion to win32 path.
8758 Include "/" case in trailing slash removal.
8759
8760 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8763 Reported by: Seth Goldberg
8764
8765 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * commands/help.c (grub_cmd_help): Fix a typo.
8768 Reported by: Seth Goldberg
8769
8770 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8773 name and add N_.
8774 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8775 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8776 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8777 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8778 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8779 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8780 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8781 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8782 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8783 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8784 * normal/context.c (GRUB_MOD_INIT): Likewise.
8785 * normal/main.c (GRUB_MOD_INIT): Likewise.
8786 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8787 * term/serial.c (GRUB_MOD_INIT): Likewise.
8788 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8789
8790 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8793 extra == 0.
8794
8795 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * commands/iorw.c: New file.
8798 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8799 (iorw_mod_SOURCES): New variable.
8800 (iorw_mod_CFLAGS): Likewise.
8801 (iorw_mod_LDFLAGS): Likewise.
8802
8803 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Hotkey support
8806
8807 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8808 * normal/main.c (hotkey_aliases): New variable.
8809 (grub_normal_add_menu_entry): Parse "--hotkey".
8810 * normal/menu_text.c (run_menu): Handle hotkeys.
8811
8812 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * kern/i386/coreboot/init.c (grub_machine_init): Call
8815 grub_machine_mmap_init on qemu.
8816
8817 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * boot/i386/qemu/boot.S: Add a missing .code16.
8820
8821 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Use LBIO on coreboot.
8824
8825 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8826 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8827 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8828 New declaration.
8829 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8830 grub_machine_mmap_init on coreboot.
8831 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8832 GRUB_LINUXBIOS_MEMBER_LINK.
8833 (grub_machine_mmap_iterate): Fix declaration.
8834 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8835
8836 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Split coreboot and multiboot ports.
8839
8840 * conf/i386-multiboot.rmk: New file.
8841 * configure.ac: Add multiboot port.
8842 * include/grub/i386/multiboot/boot.h: New file.
8843 * include/grub/i386/multiboot/console.h: Likewise.
8844 * include/grub/i386/multiboot/init.h: Likewise.
8845 * include/grub/i386/multiboot/kernel.h: Likewise.
8846 * include/grub/i386/multiboot/loader.h: Likewise.
8847 * include/grub/i386/multiboot/memory.h: Likewise.
8848 * include/grub/i386/multiboot/serial.h: Likewise.
8849 * include/grub/i386/multiboot/time.h: Likewise.
8850 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8851 * loader/multiboot.c: Likewise.
8852 * loader/multiboot_mbi2.c: Likewise.
8853 * util/grub-mkrescue.in: Generate multiboot rescue.
8854
8855 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8858
8859 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 Merge handling of input and output terminals. Fix a hang.
8862
8863 * commands/terminal.c (abstract_terminal): New struct.
8864 (handle_command): New function. Based on grub_cmd_terminal_input.
8865 (grub_cmd_terminal_input): Use handle_command.
8866 (grub_cmd_terminal_output): Use handle_command.
8867
8868 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8869
8870 Fix comment handling.
8871
8872 * tests/grub_script_comments.in: New testcase.
8873 * conf/tests.rmk: Rules for new testcase.
8874 * script/yylex.l: Updated flex rules.
8875
8876 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8877
8878 * docs/grub.texi (play): Document that zero pitches produce rests.
8879 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8880 if argc is 1.
8881
8882 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8885 autogen issues.
8886
8887 2010-04-26 Christian Franke <franke@computer.org>
8888
8889 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8890 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8891 (grub_get_prefix): Remove function.
8892 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8893 make_system_path_relative_to_its_root ().
8894 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8895
8896 2010-04-24 Christian Franke <franke@computer.org>
8897
8898 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8899 (kernel_img_LDFLAGS): Remove -static-libgcc.
8900
8901 2010-04-24 Christian Franke <franke@computer.org>
8902
8903 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8904 and CHECK_END_SYMBOL if grub-emu is built.
8905 Unset TARGET_OBJ2ELF if grub-emu is built
8906 without module support.
8907
8908 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8909
8910 Nilfs2 support.
8911
8912 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8913 (grub_fstest_SOURCES): Likewise.
8914 (pkglib_MODULES): Add nilfs2.mod.
8915 (nilfs2_mod_SOURCES): New variable.
8916 (nilfs2_mod_CFLAGS): Likewise.
8917 (nilfs2_mod_LDFLAGS): Likewise.
8918 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8919 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8920 * fs/nilfs2.c: New file.
8921
8922 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8925 is not supported.
8926
8927 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8928
8929 Add grub-mkconfig support for NetBSD.
8930
8931 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8932 * util/grub-mkconfig.in: export new NetBSD specific variables.
8933 * po/POTFILES-shell: added 10_netbsd.in.
8934 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8935
8936 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8937
8938 Fix emu build with grub-emu-pci and grub-emu-modules.
8939
8940 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8941 functions.
8942 * include/grub/libpciaccess.h: New file.
8943 * conf/any-emu.rmk: Update kernel headers for emu build.
8944
8945 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8948
8949 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8952
8953 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8956 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8957 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8958 util/ieee1275/ofpath.c.
8959 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8960 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8961 * include/grub/sparc64/ieee1275/boot.h
8962 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8963 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8964 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8965 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8966 const char *.
8967 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8968 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8969 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8970 install.
8971
8972 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8973
8974 * util/grub-mkconfig.in: Corrected two == equality tests.
8975 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8976 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8977 expect a number appended to it.
8978 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8979 expects a number appended to it.
8980
8981 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8984
8985 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * util/hostdisk.c (make_device_name): Change to new partition naming.
8988
8989 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8992
8993 2010-04-17 Christian Franke <franke@computer.org>
8994
8995 * Makefile.in: Add missing localedir setting.
8996
8997 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8998
8999 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9000 mistake in r2156. Noticed by Anthony Fok.
9001
9002 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9003 @localedir@.
9004 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9005
9006 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9007
9008 Fix a spurious, uninitialized variable warning.
9009
9010 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9011 Initialize variable, shdr.
9012 (grub_freebsd_load_elfmodule): Likewise.
9013 (grub_freebsd_load_elf_meta): Likewise.
9014
9015 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9016
9017 Fix for escaped dollar in double quoted strings.
9018
9019 * script/yylex.l: Updated flex rules.
9020 * conf/tests.rmk: Rule for new testcase.
9021 * tests/grub_script_dollar.in: New testcase.
9022
9023 2010-04-13 Carles Pina i Estany <carles@pina.cat>
9024 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
9025
9026 Enclose all translated strings in grub.cfg in single quotes, and
9027 escape them appropriately (Ubuntu bug #552921).
9028
9029 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9030 * util/grub.d/10_hurd.in: Use it.
9031 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9032 * util/grub.d/10_linux.in (linux_entry): Likewise.
9033
9034 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 Fix cygwin compilation.
9037
9038 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9039 * include/grub/misc.h (__register_frame_info)
9040 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9041 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9042 * kern/misc.c (__register_frame_info)
9043 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9044 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9045
9046 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9049
9050 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 Unify libgcc processing.
9053
9054 * Makefile.in (kernel_img_LDFLAGS): New variable.
9055 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9056 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9057 overwriting.
9058 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9059 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9060 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9061 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9062 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9063 overwriting. Remove -lgcc and -static-libgcc
9064 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9065 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9066 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9067 (kernel_img_LDFLAGS): Append instead of overwriting.
9068 Remove -lgcc and -static-libgcc
9069 * conf/sparc64-ieee1275.rmk: Likewise.
9070 * include/grub/powerpc/libgcc.h: Move to ...
9071 * include/grub/libgcc.h: .. this.
9072 * include/grub/libgcc.h: Don't export most of the function on x86.
9073 (__bswapsi2): New export.
9074 (__bswapdi2): Likewise.
9075 * include/grub/mips/libgcc.h: Removed.
9076 * include/grub/sparc64/libgcc.h: Likewise.
9077
9078 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9081 disk_info_msg (conflicts with gettexting into languages with cases).
9082
9083 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9084
9085 Add grub-probe support for NetBSD.
9086
9087 * util/getroot.c (find_root_device): Convert block device to
9088 character device on NetBSD.
9089 * util/probe.c (probe): Require character device on NetBSD.
9090 * util/hostdisk.c: NetBSD specific headers.
9091 (configure_device_driver): new function to tune device driver
9092 parameters (currently only for NetBSD floppy driver).
9093 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9094 via disklabel ioctl).
9095 (open_device): call configure_device_driver on NetBSD.
9096 (convert_system_partition_to_system_disk): NetBSD specific code.
9097 (device_is_wholedisk): Likewise.
9098 (grub_util_biosdisk_get_grub_dev): Likewise.
9099 (make_device_name): Fixed a typo in bsd_part_str.
9100 * configure.ac: check for opendisk() and getrawpartition() on
9101 NetBSD and set LIBUTIL.
9102 * Makefile.in: add LIBUTIL to LIBS.
9103
9104 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9105
9106 Documentation fix.
9107
9108 * util/grub-script-check.c: Better help message.
9109
9110 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9111
9112 Fix FreeBSD build.
9113
9114 * configure.ac: Flex version check.
9115 * conf/common.rmk: Add -Wno-error to sh.mod.
9116 * script/yylex.l: Remove all #pragma.
9117
9118 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9121 prototype.
9122 Reported by: Seth Goldberg.
9123
9124 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9127 Rename "module" to "module2".
9128 Reported by: Seth Goldberg.
9129
9130 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9133 EXPORT_FUNC.
9134 Reported by: Seth Goldberg.
9135
9136 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * lib/posix_wrap/locale.h: Add missing file.
9139 Reported by: Seth Goldberg.
9140
9141 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 grub-emu module load support.
9144
9145 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9146 NO_DYNAMIC_MODULES switched to this.
9147 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9148 (CFLAGS): Likewise.
9149 * conf/any-emu.rmk: Generate symlist.
9150 (kernel_img_HEADERS): Add util/datetime.h.
9151 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9152 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9153 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9154 kern/$(target_cpu)/cache.S.
9155 * configure.ac (grub-emu-modules): New option.
9156 * genmk.rb: Handle multiple source lists.
9157 * include/grub/sdl.h: New file.
9158 * include/grub/libusb.h: Likewise.
9159 * util/grub-emu.c (main): Hanle (host) root.
9160 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9161 GRUB_ERR_UNKNOWN_DEVICE.
9162 * util/misc.c: Move mm functions to ...
9163 * util/mm.c: ... here. All users updated.
9164
9165 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9168 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9169 missing files.
9170 (maintainer-clean): Remove libgcrypt-grub.
9171
9172 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9175
9176 2010-04-09 EFI Coder <eficoder@hotmail.com>
9177
9178 * normal/menu_text.c (print_message): Clean up the message and show
9179 the Fn information when on EFI
9180 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9181
9182 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9185 All users updated.
9186 * normal/crypto.c (read_crypto_list): Likewise.
9187 * normal/dyncmd.c (read_command_list): Likewise.
9188 * normal/term.c (read_terminal_list): Likewise.
9189 * normal/main.c (read_lists): Use explicit prefix.
9190 (read_lists_hook): Use read_lists.
9191 (grub_normal_execute): Likewise.
9192
9193 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9196 Reported by: Thomas Schmitt.
9197 Add -no-emul-boot to grub-mkisofs parameters.
9198
9199 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * font/font.c: Indented.
9202
9203 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9204
9205 Elif support to GRUB script (by Deepak Vankadaru).
9206
9207 * tests/grub_script_if.in: New testcase.
9208 * conf/tests.rmk: Rule for new testcase.
9209 * script/parser.y: Grammar rules for elif.
9210
9211 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9212
9213 While and until loops support to GRUB script.
9214
9215 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9216 (grub_script_create_cmdwhile): New function prototype.
9217 (grub_script_execute_cmdwhile): New function prototype.
9218 * script/execute.c (grub_script_execute_cmdwhile): New function.
9219 * script/parser.y (command): New commands.
9220 (whilecmd): New grammar rule.
9221 (untilcmd): New grammar rule.
9222 * script/script.c (grub_script_create_cmdwhile): New function.
9223 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9224 function.
9225
9226 * tests/grub_script_while1.in: New testcase.
9227 * conf/tests.rmk: Rule for new testcase.
9228
9229 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9232 as *.jpg.
9233
9234 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9235
9236 GRUB_BACKGROUND support.
9237
9238 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9239 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9240
9241 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 Load fonts and modules for gfxmenu in grub-mkconfig.
9244 Idea by: Mario Vazquez
9245
9246 * util/grub.d/00_header.in: Load pf2 and image modules.
9247
9248 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 grub-mkconfig multiple terminal support.
9251
9252 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9253 * util/grub.d/00_header.in: Likewise.
9254
9255 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9258 we use cd $(srcdir).
9259
9260 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9261
9262 * util/grub.d/10_linux.in: Only use the first word of
9263 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9264 spaces in GRUB_DISTRIBUTOR.
9265 * util/grub.d/10_kfreebsd.in: Likewise.
9266 * util/grub.d/10_hurd.in: Likewise.
9267
9268 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9269
9270 Fix unit testing framework for Qemu 0.12.
9271
9272 * tests/util/grub-shell.in: Remove -serial stdio option.
9273
9274 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 POSIX header file wrappers.
9277
9278 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9279 equivalents.
9280 * lib/posix_wrap/ctype.h: Likewise.
9281 * lib/posix_wrap/errno.h: Likewise.
9282 * lib/posix_wrap/langinfo.h: Likewise.
9283 * lib/posix_wrap/limits.h: Likewise.
9284 * lib/posix_wrap/localcharset.h: Likewise.
9285 * lib/posix_wrap/stdint.h: Likewise.
9286 * lib/posix_wrap/stdio.h: Likewise.
9287 * lib/posix_wrap/stdlib.h: Likewise.
9288 * lib/posix_wrap/string.h: Likewise.
9289 * lib/posix_wrap/sys/types.h: Likewise.
9290 * lib/posix_wrap/unistd.h: Likewise.
9291 * lib/posix_wrap/wchar.h: Likewise.
9292 * lib/posix_wrap/wctype.h: Likewise.
9293 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9294 (grub_script.yy.h): Likewise.
9295 * script/yylex.l: Remove POSIX emulation #defines.
9296 * Makefile.in (POSIX_CFLAGS): New variable.
9297 (GNULIB_UTIL_CFLAGS): Likewise.
9298
9299 Regexp support.
9300
9301 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9302 (regexp_mod_SOURCES): New variable.
9303 (regexp_mod_CFLAGS): Likewise.
9304 (regexp_mod_LDFLAGS): Likewise.
9305 * commands/regexp.c: New file.
9306 * gnulib/regcomp.c: New file. Imported from gnulib.
9307 * gnulib/regex.c: Likewise.
9308 * gnulib/regex_internal.c: Likewise.
9309 * gnulib/regex_internal.h: Likewise.
9310 * gnulib/regexec.c: Likewise.
9311 * gnulib/regex.h: Likewise.
9312
9313 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9316 unsupported video mode types.
9317
9318 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9321
9322 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9325 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9326
9327 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 Remove unused grub_vga_get_font.
9330
9331 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9332 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9333
9334 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9335
9336 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9337 * include/grub/misc.h: Likewise.
9338
9339 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9340
9341 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9342 for which failure is fatal.
9343
9344 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9345
9346 * util/grub-install.in: Use mkdir -p to create grub directory.
9347 * util/i386/efi/grub-install.in: Likewise.
9348 * util/ieee1275/grub-install.in: Likewise.
9349
9350 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9351
9352 * Makefile.in (LEX): new variable.
9353
9354 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9355
9356 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9357 `=' and added double quotes on operands of this equality test.
9358
9359 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * Makefile.in (uninstall): Remove a leftover debug echo.
9362 Reported by: Grégoire Sutre
9363
9364 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 MIPS multiboot2 support.
9367
9368 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9369 (multiboot2_mod_SOURCES): New variable.
9370 (multiboot2_mod_CFLAGS): Likewise.
9371 (multiboot2_mod_LDFLAGS): Likewise.
9372 (multiboot2_mod_ASFLAGS): Likewise.
9373 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9374 definition.
9375 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9376 (MULTIBOOT_MBI_REGISTER): Likewise.
9377 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9378 (MULTIBOOT_ELF32_MACHINE): Likewise.
9379 (MULTIBOOT_ELF64_MACHINE): Likewise.
9380 * include/grub/mips/multiboot.h: New file.
9381 * include/grub/video.h (grub_video_driver_id): New type
9382 GRUB_VIDEO_DRIVER_SM712.
9383 (grub_video_get_info_and_fini): Export.
9384 (grub_video_get_palette): Likewise.
9385 (grub_video_get_driver_id): Likewise.
9386 * include/multiboot2.h: Resynced with spec.
9387 * loader/i386/multiboot.c: Moved from here ...
9388 * loader/multiboot.c: ... here. All users updated.
9389 (grub_multiboot_boot): Use platform-specific macros.
9390 * loader/i386/multiboot_elfxx.c: Moved from here ...
9391 * loader/multiboot_elfxx.c: ... here. All users updated.
9392 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9393 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9394 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9395
9396 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 Import gnulib argp module.
9399
9400 * gnulib/argp-ba.c: New file.
9401 * gnulib/argp-eexst.c: Likewise.
9402 * gnulib/argp-fmtstream.c: Likewise.
9403 * gnulib/argp-fmtstream.h: Likewise.
9404 * gnulib/argp-fs-xinl.c: Likewise.
9405 * gnulib/argp-help.c: Likewise.
9406 * gnulib/argp-namefrob.h: Likewise.
9407 * gnulib/argp-parse.c: Likewise.
9408 * gnulib/argp-pin.c: Likewise.
9409 * gnulib/argp-pv.c: Likewise.
9410 * gnulib/argp-pvh.c: Likewise.
9411 * gnulib/argp-version-etc.c: Likewise.
9412 * gnulib/argp-version-etc.h: Likewise.
9413 * gnulib/argp-xinl.c: Likewise.
9414 * gnulib/argp.h: Likewise.
9415
9416 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * kern/device.c (grub_device_iterate): Clear errors after failed
9419 opening device.
9420
9421 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9424 returned by firmware.
9425
9426 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9429 compilation on coreboot and qemu
9430
9431 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * include/multiboot2.h: Resync with spec.
9434
9435 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Multiboot2 tag support
9438
9439 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9440 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9441 Remove loader/multiboot_loader.c.
9442 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9443 (grub_multiboot2_real_boot): Likewise.
9444 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9445 (grub_get_multiboot_mmap_count): New proto.
9446 (grub_fill_multiboot_mmap): Likewise.
9447 (grub_multiboot_set_video_mode): Likewise.
9448 (grub_multiboot_set_console): Likewise.
9449 (grub_multiboot_load): Likewise.
9450 (grub_multiboot_load_elf): Likewise.
9451 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9452 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9453 * include/multiboot.h: Resynced with specification.
9454 * include/multiboot2.h: Resynced with specification.
9455 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9456 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9457 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9458 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9459 users updated.
9460 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9461 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9462 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9463 Removed.
9464 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9465 Moved from here...
9466 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9467 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9468 Moved from here...
9469 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9470 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9471 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9472 All users updated.
9473 * loader/i386/multiboot_mbi2.c: New file.
9474
9475 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 Resync with gnulib.
9478
9479 * Makefile.in (GNULIB_CFLAGS): New variable.
9480 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9481 (grub_script_check_CFLAGS): New variable.
9482 * gnulib/alloca.h: Resync with gnulib.
9483 * gnulib/error.c: Likewise.
9484 * gnulib/error.h: Likewise.
9485 * gnulib/fnmatch.c: Likewise.
9486 * gnulib/fnmatch_loop.c: Likewise.
9487 * gnulib/getdelim.c: Likewise.
9488 * gnulib/getline.c: Likewise.
9489 * gnulib/getopt.c: Likewise.
9490 * gnulib/getopt1.c: Likewise.
9491 * gnulib/getopt_int.h: Likewise.
9492 * gnulib/gettext.h: Likewise.
9493 * gnulib/progname.c: Likewise.
9494 * gnulib/progname.h: Likewise.
9495
9496 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9497
9498 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9499 which is the case with --disabled-nls.
9500
9501 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9502 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9503 * util/misc.c: Likewise.
9504 * util/mkisofs/mkisofs.c: Likewise.
9505 * util/mkisofs/mkisofs.h: Likewise.
9506
9507 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Simplify Apple CC support.
9510
9511 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9512 Add 0 byte at the end not to have a symbol with empty target.
9513 * mmap/i386/pc/mmap_helper.S: Likewise.
9514 * genmk.rb: Ignore errors 2030 and 2050.
9515 * kern/i386/pc/startup.S: Use LOCAL when possible.
9516
9517 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9518
9519 Testcase and the fix for final semicolon on cmdline.
9520
9521 * tests/grub_script_final_semicolon.in: New testcase.
9522 * conf/tests.rmk: Rules for the new testcase.
9523 * script/parser.y: Grammar fix.
9524
9525 2010-03-26 BVK Chaitanya <bvk@localhost>
9526
9527 Blank lines testcase for GRUB script.
9528
9529 * tests/grub_script_blanklines.in: New testcase.
9530 * conf/tests.rmk: Rules for the new testcase.
9531
9532 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 Don't use __FILE__.
9535
9536 * genmk.rb: Add -DGRUB_FILE to all C targets.
9537 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9538 * include/grub/list.h: Likewise.
9539 * include/grub/misc.h: Likewise.
9540 * include/grub/mm.h: Likewise.
9541 * include/grub/test.h: Likewise.
9542 * kern/mm.c: Likewise.
9543 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9544
9545 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 Sunpc partitions support.
9548
9549 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9550 (grub_fstest_SOURCES): Likewise.
9551 (pkglib_MODULES): Add part_sunpc.mod.
9552 (part_sunpc_mod_SOURCES): New variable.
9553 (part_sunpc_mod_CFLAGS): Likewise.
9554 (part_sunpc_mod_LDFLAGS): Likewise.
9555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9556 * partmap/sunpc.c: New file.
9557
9558 2010-03-26 BVK Chaitanya <bvk@localhost>
9559
9560 For loop support to GRUB script.
9561
9562 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9563 (grub_script_create_cmdfor): New function prototype.
9564 (grub_script_execute_cmdfor): New function prototype.
9565 * script/execute.c (grub_script_execute_cmdfor): New function.
9566 * script/parser.y (command): New for command.
9567 (forcmd): New grammar rule.
9568 * script/script.c (grub_script_create_cmdfor): New function.
9569 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9570 function.
9571 * tests/grub_script_for1.in: New testcase.
9572 * conf/tests.rmk: Rules for new testcase.
9573
9574 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Nested partitions
9577
9578 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9579 'partition' is NULL, grub_partition_get_start already does that.
9580 * commands/loadenv.c (check_blocklists): Likewise.
9581 (write_blocklists): Likewise.
9582 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9583 (grub_fstest_SOURCES): Likewise.
9584 (pkglib_MODULES): Add part_bsd.mod.
9585 (part_bsd_mod_SOURCES): New variable.
9586 (part_bsd_mod_CFLAGS): Likewise.
9587 (part_bsd_mod_LDFLAGS): Likewise.
9588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9589 (grub_emu_SOURCES): Likewise.
9590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9591 * include/grub/bsdlabel.h: New file.
9592 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9593 'get_name'.
9594 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9595 (grub_partition_map_list): New variable.
9596 (grub_partition_map_register): Inline.
9597 (grub_partition_map_unregister): Likewise.
9598 (FOR_PARTITION_MAPS): New macro.
9599 (grub_partition_map_iterate): Removed.
9600 (grub_partition_get_start): Handle nested partitions.
9601 * include/grub/msdos_partition.h: Remove bsd-related entries.
9602 (grub_pc_partition): Remove.
9603 * kern/disk.c (grub_disk_close): Free partition data.
9604 (grub_disk_adjust_range): Handle nested partitions.
9605 * kern/partition.c (grub_partition_map_probe): New function.
9606 (grub_partition_probe): Parse name to number, handle subpartitions.
9607 (get_partmap): New function.
9608 (grub_partition_iterate): Handle subpartitions.
9609 (grub_partition_get_name): Likewise.
9610 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9611 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9612 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9613 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9614 Set 'number'.
9615 (acorn_partition_map_probe): Remove.
9616 (acorn_partition_map_get_name): Likewise.
9617 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9618 Set 'number'.
9619 Set 'index' to 0 since there can be only one partition entry per sector.
9620 (amiga_partition_map_probe): Remove.
9621 (amiga_partition_map_get_name): Likewise.
9622 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9623 Set 'number'.
9624 Set 'offset' and 'index' to real positions of partitions.
9625 (apple_partition_map_probe): Remove.
9626 (apple_partition_map_get_name): Likewise.
9627 * partmap/bsdlabel.c: New file.
9628 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9629 Set 'number'.
9630 Allocate 'data' so it can be correctly freed.
9631 Set 'index' to offset inside sector.
9632 (gpt_partition_map_probe): Remove.
9633 (gpt_partition_map_get_name): Likewise.
9634 * partmap/msdos.c (grub_partition_parse): Remove.
9635 (pc_partition_map_iterate): Don't force raw access.
9636 Set 'number'.
9637 Make 'ext_offset' a local variable.
9638 (pc_partition_map_probe): Remove.
9639 (pc_partition_map_get_name): Remove.
9640 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9641 Set 'number'.
9642 (sun_partition_map_probe): Remove.
9643 (sun_partition_map_get_name): Likewise.
9644 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9645 (grub_pcpart_type): Likewise.
9646 * util/hostdisk.c (open_device): Handle new numbering scheme.
9647 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9648 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9649 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9650 * util/grub-install.in: Insert all subpartition modules.
9651 * util/ieee1275/grub-install.in: Likewise.
9652
9653 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9654
9655 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9656 grammar.
9657
9658 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9659
9660 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9661
9662 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9663
9664 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9665 match where 'make install' puts them.
9666 * util/i386/efi/grub-install.in: Likewise.
9667
9668 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9669
9670 * .bzrignore: Add gentrigtables, grub-script-check,
9671 grub_script_check_init.c, grub_script_check_init.h, and
9672 trigtables.c.
9673
9674 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * kern/parser.c: Indented.
9677
9678 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9681
9682 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9685 alpha_mask_size == 0 case.
9686
9687 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9688
9689 GRUB shell lexer and parser improvements.
9690
9691 * conf/any-emu.rmk: Build rule updates.
9692 * conf/common.rmk: Likewise.
9693 * conf/i386-coreboot.rmk: Likewise.
9694 * conf/i386-efi.rmk: Likewise.
9695 * conf/i386-ieee1275.rmk: Likewise.
9696 * conf/i386-pc.rmk: Likewise.
9697 * conf/powerpc-ieee1275.rmk: Likewise.
9698 * conf/x86_64-efi.rmk: Likewise.
9699
9700 * configure.ac: Configure check for flex.
9701
9702 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9703 types.
9704 (grub_lexer_param): Struct member updates.
9705 (grub_parser_param): Likewise.
9706 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9707 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9708 (grub_script_lexer_init): Prototype update.
9709 (grub_script_lexer_record_start): Likewise.
9710 (grub_script_lexer_record_stop): Likewise.
9711 (grub_script_lexer_yywrap): New function prototype.
9712 (grub_script_lexer_fini): Likewise.
9713 (grub_script_execute_argument_to_string): Removed by...
9714 (grub_script_execute_argument_to_argv): ...better version.
9715
9716 * script/execute.c (ROUND_UPTO): New macro.
9717 (grub_script_execute_cmdline): Out of memory fixes.
9718 (grub_script_execute_menuentry): Likewise.
9719 (grub_script_execute_argument_to_string): Removed. Update all
9720 users by...
9721 (grub_script_execute_argument_to_argv): ...better version.
9722 * script/function.c (grub_script_function_create): Use
9723 grub_script_execute_argument_to_argv instead of
9724 grub_script_execute_argument_to_string.
9725
9726 * script/lexer.c (check_varstate): Removed.
9727 (check_textstate): Removed.
9728 (grub_script_lexer_record_start): Likewise.
9729 (grub_script_lexer_record_stop): Likewise.
9730 (recordchar): Replaced with...
9731 (grub_script_lexer_record): ...new function.
9732 (nextchar): Removed.
9733 (grub_script_lexer_init): Rewritten.
9734 (grub_script_yylex): Rewritten.
9735 (append_newline): New function.
9736 (grub_script_lexer_yywrap): New function.
9737 (grub_script_lexer_fini): New function.
9738 (grub_script_yyerror): Sets error flag.
9739
9740 * script/yylex.l: New file.
9741 (grub_lexer_yyfree): Wrapper for flex yyffre.
9742 (grub_lexer_yyalloc): Likewise.
9743 (grub_lexer_yyrealloc): Likewise.
9744 * script/parser.y: Refactored.
9745
9746 * script/script.c (grub_script_arg_add): Out of memory fixes.
9747 (grub_script_add_arglist): Likewise.
9748 (grub_script_create_cmdline): Likewise.
9749 (grub_script_create_cmdmenu): Likewise.
9750 (grub_script_add_cmd): Likewise.
9751 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9752 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9753 unnecessary code.
9754
9755 * tests/grub_script_echo1.in: New testcase.
9756 * tests/grub_script_vars1.in: New testcase.
9757 * tests/grub_script_echo_keywords.in: New testcase.
9758
9759 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 Remove some redundancy in build system.
9762
9763 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9764 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9765 (TARGET_LDFLAGS): Add -nostdlib.
9766 (TARGET_IMG_LDFLAGS): Likewise.
9767 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9768 anything since mmap isn't available.
9769 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9770 Add util/time.c.
9771 (pkglib_MODULES): Remove reboot.mod.
9772 (reboot_mod_SOURCES): Removed.
9773 (reboot_mod_CFLAGS): Likewise.
9774 (reboot_mod_LDFLAGS): Likewise.
9775 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9776 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9777 (DEFSYMFILES): Add kernel_syms.lst.
9778 (kernel_img_HEADERS): Add common headers.
9779 (symlist.c): New target.
9780 (kernel_syms.lst): Likewise.
9781 (pkglib_MODULES): Add memdisk.mod.
9782 (memdisk_mod_SOURCES): New variable.
9783 (memdisk_mod_CFLAGS): Likewise.
9784 (memdisk_mod_LDFLAGS): Likewise.
9785 (pkglib_MODULES): Add reboot.mod.
9786 (reboot_mod_SOURCES): New variable.
9787 (reboot_mod_CFLAGS): Likewise.
9788 (reboot_mod_LDFLAGS): Likewise.
9789 (pkglib_MODULES): Add date.mod.
9790 (date_mod_SOURCES): New variable.
9791 (date_mod_CFLAGS): Likewise.
9792 (date_mod_LDFLAGS): Likewise.
9793 (pkglib_MODULES): Add datehook.mod.
9794 (datehook_mod_SOURCES): New variable.
9795 (datehook_mod_CFLAGS): Likewise.
9796 (datehook_mod_LDFLAGS): Likewise.
9797 (pkglib_MODULES): Add lsmmap.mod.
9798 (lsmmap_mod_SOURCES): New variable.
9799 (lsmmap_mod_CFLAGS): Likewise.
9800 (lsmmap_mod_LDFLAGS): Likewise.
9801 (pkglib_MODULES): Add boot.mod.
9802 (boot_mod_SOURCES): New variable.
9803 (boot_mod_CFLAGS): Likewise.
9804 (boot_mod_LDFLAGS): Likewise.
9805 * conf/i386-coreboot.rmk: Removed redundant parts.
9806 * conf/i386-ieee1275.rmk: Likewise.
9807 * conf/i386-pc.rmk: Likewise.
9808 * conf/mips-yeeloong.rmk: Likewise.
9809 * conf/mips.rmk: Likewise.
9810 * conf/powerpc-ieee1275.rmk: Likewise.
9811 * conf/sparc64-ieee1275.rmk: Likewise.
9812 * conf/x86_64-efi.rmk: Likewise.
9813 * conf/i386-coreboot.rmk: Moved qemu parts ..
9814 * conf/i386-qemu.rmk: ... here
9815 * conf/i386-efi.rmk: Moved common parts to...
9816 * conf/x86-efi.rmk: ... here.
9817 * conf/i386.rmk: Added modules common to all x86 variants.
9818 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9819 * disk/memdisk.c: Remove grub/machine/kernel.h.
9820 * gensymlist.sh.in: Include symbol.h.
9821 * hook/datehook.c: Correct module name.
9822 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9823 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9824 * include/grub/i386/efi/serial.h: New file.
9825 * include/grub/x86_64/efi/serial.h: Likewise.
9826 * util/time.c: Likewise.
9827 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9828
9829 2010-03-14 Colin King <colin.king@ubuntu.com>
9830 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9831
9832 Shrink the pre-partition-table part of boot.img by eight bytes.
9833
9834 * boot/i386/pc/boot.S (ERR): New macro.
9835 (chs_mode): Use ERR.
9836 (geometry_error): Likewise.
9837 (hd_probe_error): Remove. This is only used once, so we wrwite
9838 it inline instead.
9839 (read_error): Instead of printing read_error_string, just set up
9840 %si and fall through to ...
9841 (error_message): ... this new function, also used by ERR.
9842
9843 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9844
9845 Speed up consecutive hostdisk operations on the same device.
9846
9847 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9848 (grub_util_biosdisk_open): Initialise disk->data.
9849 (struct linux_partition_cache): New structure.
9850 (linux_find_partition): Cache partition start positions; these are
9851 expensive to compute on every read and write.
9852 (open_device): Cache open file descriptor in disk->data, so that we
9853 don't have to reopen it and flush the buffer cache for consecutive
9854 operations on the same device.
9855 (grub_util_biosdisk_close): New function.
9856 (grub_util_biosdisk_dev): Set `close' member.
9857
9858 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9859 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9860 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9861 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9862 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9863
9864 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Compile parts of grub-emu as modules.
9867
9868 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9869 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9870 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9871 (all-local): Add $(GRUB_EMU).
9872 (install-local): Install $(GRUB_EMU).
9873 (uninstall): Uninstall $(GRUB_EMU).
9874 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9875 * kern/dl.c: Likewise.
9876 * commands/sleep.c: Not include machine/time.h.
9877 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9878 (COMMON_CFLAGS): Likewise.
9879 (sbin_UTILITIES): Remove grub-emu.
9880 (grub_emu_SOURCES): Removed.
9881 (kernel_img_RELOCATABLE): New variable.
9882 (pkglib_PROGRAMS): Add kernel.img.
9883 (kernel_img_SOURCES): New variable
9884 (kernel_img_CFLAGS): Likewise.
9885 (kernel_img_LDFLAGS): Likewise.
9886 (TARGET_NO_STRIP): Likewise.
9887 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9888 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9889 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9890 (grub-emu): New target.
9891 (GRUB_EMU): New variable.
9892 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9893 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9894 * loader/xnu.c: Likewise.
9895 * include/grub/pci.h: Likewise.
9896 * genemuinit.sh: New file.
9897 * genemuinitheader.sh: Likewise.
9898 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9899 Support TARGET_NO_DYNAMIC_MODULES.
9900 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9901 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9902 * disk/loopback.c: Likewise.
9903 * font/font_cmd.c: Likewise.
9904 * partmap/acorn.c: Likewise.
9905 * partmap/amiga.c: Likewise.
9906 * partmap/apple.c: Likewise.
9907 * partmap/gpt.c: Likewise.
9908 * partmap/msdos.c: Likewise.
9909 * partmap/sun.c: Likewise.
9910 * parttool/msdospart.c: Likewise.
9911 * term/gfxterm.c: Likewise.
9912 * video/bitmap.c: Likewise.
9913 * video/readers/jpeg.c: Likewise.
9914 * video/readers/png.c: Likewise.
9915 * video/readers/tga.c: Likewise.
9916 * video/video.c: Likewise.
9917 * util/grub-emu.c (read_command_list): Removed.
9918 (main): Don't call util_init_nls.
9919 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9920 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9921
9922 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9925 date.mod, datehook.mod.
9926 (datetime_mod_SOURCES): New variable.
9927 (datetime_mod_CFLAGS): Likewise.
9928 (datetime_mod_LDFLAGS): Likewise.
9929 (date_mod_SOURCES): Likewise.
9930 (date_mod_CFLAGS): Likewise.
9931 (date_mod_LDFLAGS): Likewise.
9932 (datehook_mod_SOURCES): Likewise.
9933 (datehook_mod_CFLAGS): Likewise.
9934 (datehook_mod_LDFLAGS): Likewise.
9935 * conf/sparc64-ieee1275.rmk: Likewise.
9936 * lib/ieee1275/datetime.c: New file.
9937
9938 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9941 (ieee1275_fb_mod_SOURCES): New variable.
9942 (ieee1275_fb_mod_CFLAGS): Likewise.
9943 (ieee1275_fb_mod_LDFLAGS): Likewise.
9944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9945 New proto.
9946 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9947 (HEAP_MAX_ADDR): Likewise.
9948 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9949 type.
9950 Correct stop condition.
9951 (grub_ieee1275_devices_iterate): New function.
9952 * video/ieee1275.c: New file.
9953
9954 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9957
9958 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9959 as scratch.
9960 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9961 SCRATCH_PAD_DISKBOOT as scratch.
9962 (bootit): Pass Openfirmware pointer in %o4.
9963 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9964 of 0x200000.
9965 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9966 with util/grub-mkrawimage.c.
9967 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9968 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9969 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9970 (grub_aout_load) [GRUB_UTIL]: Likewise.
9971 * include/grub/kernel.h (grub_modules_get_end): New proto.
9972 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9973 (SCRATCH_PAD_BOOT): New definition.
9974 (SCRATCH_PAD_DISKBOOT): Likewise.
9975 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9976 * include/grub/sparc64/ieee1275/ieee1275.h
9977 (grub_ieee1275_original_stack): New variable
9978 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9979 New definition
9980 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9981 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9982 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9983 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9984 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9985 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9986 (grub_platform_image_format_t): New type.
9987 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9988 * kern/main.c (grub_modules_get_end)
9989 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9990 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9991 (codestart): Switch stacks.
9992 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9993 variable.
9994 (grub_heap_init): Use grub_modules_get_end.
9995 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9996 stack.
9997 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9998 (main): Likewise.
9999 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10000
10001 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
10002
10003 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10004
10005 2010-03-08 Matt Kraai <kraai@ftbfs.org>
10006
10007 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10008 bug #559005).
10009
10010 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * genmoddep.awk: Output all missing symbols and not only first.
10013
10014 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * NEWS: Put the date of 1.98 release.
10017
10018 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10021 ft2build.h.
10022
10023 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10026 completition in the middle of string.
10027
10028 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * util/grub-mkrescue.in: Use mktemp with explicit template.
10031
10032 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10035
10036 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10039 right pointer.
10040
10041 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 Fix FreeBSD compilation.
10044
10045 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10046 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10047
10048 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10051
10052 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10055
10056 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10059
10060 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10061
10062 Support relative image path in theme file.
10063
10064 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10065 (image_set_property): Handle theme_dir and relative path.
10066
10067 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * configure.ac: Alias amd64 to x86_64.
10070
10071 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * NEWS: mention multiboot on EFI.
10074
10075 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * kern/main.c (grub_load_modules): Handle errors from init functions of
10078 embeded modules.
10079
10080 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * normal/autofs.c (autoload_fs_module): Handle errors.
10083
10084 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Disable linux.mod on qemu-mips since it's not functional and leads
10087 to compilation failure.
10088
10089 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10090 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10091 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10092 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10093 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10094 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10095 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10096 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10097 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10098 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10099 Reported by: BVK Chaitanya
10100
10101 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10102
10103 * INSTALL: Add gettext as a dependency and add qemu to a new section
10104 "Prerequisites for make-check".
10105
10106 2010-03-04 Christian Franke <franke@computer.org>
10107
10108 * util/grub-pe2elf.c: Add missing include "progname.h".
10109
10110 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * normal/crypto.c (read_crypto_list): Fix a typo.
10113 Reported by: Seth Goldberg.
10114
10115 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
10118 Reported by: Seth Goldberg.
10119
10120 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10123 ascii.bitmaps.
10124
10125 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * genmk.rb: Remove terminal*.lst in make clean.
10128 Reported by: Seth Goldberg.
10129
10130 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * util/i386/efi/grub-install.in: Copy gettext files.
10133
10134 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10137
10138 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Wait for user entry basing on presence of output rather than on errors.
10141
10142 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10143 (grub_install_newline_hook): Likewise.
10144 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10145 * normal/menu.c (show_menu): Check line_counter to determine presence
10146 of output.
10147 * normal/term.c (grub_normal_line_counter): New variable.
10148 (grub_normal_get_line_counter): New function.
10149 (grub_install_newline_hook): Likewise.
10150
10151 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10154
10155 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * configure.ac: Update version to 1.98.
10158
10159 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * util/grub.d/10_linux.in (linux_entry): Don't default to
10162 gfxpayload=keep if Linux doesn't support video handover.
10163
10164 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Don't compile video modules on yeeloong since video subsystem is part
10167 of kernel.
10168
10169 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10170 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10171 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10172 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10173 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10174 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10175 * include/grub/bitmap_scale.h: Likewise.
10176 * include/grub/bufio.h: Likewise.
10177 * include/grub/font.h: Likewise.
10178 * include/grub/gfxterm.h: Likewise.
10179 * include/grub/video.h: Likewise.
10180 * include/grub/vbe.h: Don't include video_fb.h.
10181 * video/i386/pc/vbe.c: Include video_fb.h.
10182 * commands/i386/pc/vbetest.c: Include video.h.
10183
10184 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10185
10186 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10187 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10188 default entry if GRUB_SAVEDEFAULT=true. This allows using
10189 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10190 saving a new default on every boot.
10191
10192 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10195 * normal/term.c (read_terminal_list): Likewise.
10196 * normal/main.c (grub_normal_init_page): Likewise.
10197 (grub_normal_read_line_real): Likewise.
10198
10199 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10202 memory leak.
10203 Reported by: Seth Goldberg.
10204
10205 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10206
10207 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10208 duplicate declaration of `start'.
10209
10210 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10213 filename.
10214 Reported by: Georgy Buranov
10215
10216 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10217
10218 * util/grub-mkrawimage.c (usage): Change string formatting to
10219 improve gettext.
10220
10221 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10222
10223 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10224 backspace keys.
10225
10226 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10229 Reported by: Michael Suchanek.
10230
10231 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10232
10233 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10234 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10235
10236 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Remove any reference to non-free fonts.
10239
10240 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10241 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10242 uses non-free components.
10243 * font/font.c (grub_font_get_name): Remove example name.
10244 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10245 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10246 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10247 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10248
10249 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10250
10251 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10252
10253 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10256 Double divisor.
10257 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10258 features.
10259 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10260
10261 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10264
10265 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10266
10267 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10268 * docs/grub.texi (Command-line and menu entry commands): Document play
10269 command.
10270
10271 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10272
10273 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10274 parse arguments as inline tempo and notes. Move code for playing notes
10275 to...
10276 (play): ... new function.
10277
10278 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10279
10280 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10281 grub_uint16_t instead of short.
10282 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10283 disk from little endian to cpu endianness.
10284
10285 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10286
10287 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10288 GRUB_TICKS_PER_SECOND instead of 120.
10289
10290 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10293 escape sequence after \e.
10294
10295 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10298 non-ASCII characters.
10299
10300 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10303 set root in single quotes to prevent \, from being unescaped.
10304
10305 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 Prevent unknown commands from stopping menuentry execution.
10308
10309 * script/execute.c (grub_script_execute_cmdline): Print error after
10310 unknown command.
10311
10312 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10315 Reported by: Pavel Pisa.
10316
10317 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10320
10321 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 Merge grub_ieee1275_map_physical into grub_map and rename to
10324 grub_ieee1275_map
10325
10326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10327 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10328 Remove.
10329 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10330 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10331 necessary.
10332 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10333
10334 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10337 opening and not after.
10338
10339 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10342 constants.
10343
10344 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10347 (alloc_phys): Use ALIGN_UP instead of align_addr.
10348
10349 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10352
10353 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10356
10357 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10360 verbose dprintf.
10361
10362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 Fix over-4GiB seek on sparc64.
10365
10366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10367 Replace pos_i and pos_lo with pos. All users updated.
10368 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10369 New constant.
10370 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10371 Likewise.
10372 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10373 and pos_lo.
10374
10375 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * util/grub-mkrawimage.c (main): Call set_program_name.
10378
10379 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Properly align 64-bit targets.
10382
10383 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10384 (generate_image): Use ALIGN_ADDR.
10385
10386 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Properly create cross-endian images.
10389
10390 * include/grub/types.h (grub_host_to_target_addr): New macro
10391 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10392
10393 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10396
10397 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10400
10401 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10402 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10403 (grub_linux_boot): Divide by 64K when on VESA.
10404
10405 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 Support GRUB_GFXPAYLOAD_LINUX.
10408
10409 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10410 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10411
10412 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10415 to show messages instead of discarding them.
10416 Process errors after executing command and not before. Keep old method
10417 too as precaution.
10418
10419 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * configure.ac: Check for ft2build.h.
10422
10423 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10426
10427 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * genkernsyms.sh.in: Use TARGET_CC.
10430
10431 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10432
10433 * NEWS: Update.
10434
10435 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * include/grub/multiboot2.h: Remove leftover file.
10438 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10439 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10440
10441 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10442
10443 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10444
10445 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 Fix warnings in grub-emu when compiling with maximum warning options.
10448
10449 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10450 (grub_arch_modules_addr): Return 0 and not NULL.
10451 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10452 (xstrdup): Use newstr instead of dup.
10453 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10454 of disk to dsk to avoid shadowing.
10455 (find_free_slot): Fix prototype.
10456 * util/getroot.c (grub_util_is_dmraid): Make static.
10457 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10458 Add missing prototype.
10459 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10460
10461 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10464 appropriately.
10465
10466 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10469 code out.
10470
10471 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10474 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10475 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10476 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10477 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10478 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10479
10480 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * include/grub/err.h (grub_err_printf): Don't export.
10483
10484 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10487
10488 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10491 * kern/misc.c (grub_gettext_dummy): Make static.
10492
10493 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10496 by non-valid ones.
10497 * kern/term.c (grub_putchar): Likewise.
10498
10499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10502 buggy hook call and memory leak.
10503
10504 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10507
10508 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10511
10512 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10515 modevar.
10516 Return grub_errno on allocation error.
10517
10518 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10521
10522 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10523
10524 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10525 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10526
10527 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10530 non-pxe disk.
10531 (grub_pxefs_open): Likewise.
10532
10533 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10534
10535 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10536 * util/grub.d/10_kfreebsd.in: Likewise.
10537 * util/grub.d/10_linux.in: Likewise.
10538
10539 2010-02-06 Colin D Bennett <colin@gibibit.com>
10540
10541 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10542 (gfxmenu_mod_SOURCES): New variable.
10543 (gfxmenu_mod_CFLAGS): Likewise.
10544 (gfxmenu_mod_LDFLAGS): Likewise.
10545 * include/grub/term.h (grub_term_set_current_output): Declare
10546 argument as const.
10547 * docs/gfxmenu-theme-example.txt: New file.
10548 * gfxmenu/gfxmenu.c: Likewise.
10549 * gfxmenu/gui_box.c: Likewise.
10550 * gfxmenu/gui_canvas.c: Likewise.
10551 * gfxmenu/gui_circular_progress.c: Likewise.
10552 * gfxmenu/gui_image.c: Likewise.
10553 * gfxmenu/gui_label.c: Likewise.
10554 * gfxmenu/gui_list.c: Likewise.
10555 * gfxmenu/gui_progress_bar.c: Likewise.
10556 * gfxmenu/gui_string_util.c: Likewise.
10557 * gfxmenu/gui_util.c: Likewise.
10558 * gfxmenu/icon_manager.c: Likewise.
10559 * gfxmenu/model.c: Likewise.
10560 * gfxmenu/named_colors.c: Likewise.
10561 * gfxmenu/theme_loader.c: Likewise.
10562 * gfxmenu/view.c: Likewise.
10563 * gfxmenu/widget-box.c: Likewise.
10564 * include/grub/gfxmenu_model.h: Likewise.
10565 * include/grub/gfxmenu_view.h: Likewise.
10566 * include/grub/gfxwidgets.h: Likewise.
10567 * include/grub/gui.h: Likewise.
10568 * include/grub/gui_string_util.h: Likewise.
10569 * include/grub/icon_manager.h: Likewise.
10570
10571 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 Agglomerate scrolling in gfxterm.
10574
10575 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10576 (grub_virtual_screen_setup): Initialise 'total_screen'.
10577 (write_char): Split to ...
10578 (paint_char): ... this ...
10579 (write_char): ... and this.
10580 (paint_char): Handle delayed scrolling.
10581 (draw_cursor): Likewise.
10582 (scroll_up): Split to ...
10583 (real_scroll): ... this ...
10584 (scroll_up): ... and this.
10585 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10586 characters.
10587 (grub_gfxterm_refresh): Call real_scroll.
10588
10589 2010-02-06 Colin D Bennett <colin@gibibit.com>
10590
10591 * include/grub/misc.h (grub_iscntrl): New inline function.
10592 (grub_isalnum): Likewise.
10593 (grub_strtol): Likewise.
10594
10595 2010-02-06 Colin D Bennett <colin@gibibit.com>
10596
10597 * normal/menu_text.c (get_entry_number): Move from here ...
10598 * normal/menu.c (get_entry_number): ... moved here.
10599 * include/grub/menu.h (grub_menu_get_default_entry_index):
10600 New prototype.
10601 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10602 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10603 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10604 (grub_menu_viewer_should_return): Likewise.
10605 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10606 * normal/menu_text.c (run_menu): Enable menu switching.
10607 * normal/menu_viewer.c (should_return): New variable.
10608 (menu_viewer_changed): Likewise.
10609 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10610 (grub_menu_viewer_should_return): New function.
10611 (menuviewer_write_hook): Likewise.
10612 (grub_menu_viewer_init): Likewise.
10613
10614 2010-02-06 Colin D Bennet <colin@gibibit.com>
10615 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 Support for gfxterm in a window.
10618
10619 * include/grub/gfxterm.h: New file.
10620 * include/grub/video.h (struct grub_video_rect): New declaration.
10621 (grub_video_rect_t): Likewise.
10622 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10623 (refcount): New variable.
10624 (render_target): Likewise.
10625 (window): Likewise.
10626 (repaint_callback): Likewise.
10627 (grub_virtual_screen_setup): Use 'render_target'.
10628 (init_window): New function.
10629 (grub_gfxterm_init_window): Likewise.
10630 (grub_gfxterm_init): Check reference counter.
10631 Use init_window.
10632 (destroy_window): New function.
10633 (grub_gfxterm_destroy_window): Likewise.
10634 (grub_gfxterm_fini): Check reference counter.
10635 Use destroy_window.
10636 (redraw_screen_rect): Restore viewport.
10637 Use 'render_target' and 'window'.
10638 Call 'repaint_callback'.
10639 (write_char): Use 'render_target'.
10640 (draw_cursor): Likewise.
10641 (scroll_up): Restore viewport.
10642 Use 'render_target' and 'window'.
10643 Call 'repaint_callback'.
10644 (grub_gfxterm_cls): Likewise.
10645 (grub_gfxterm_refresh): Use 'window'.
10646 (grub_gfxterm_set_repaint_callback): New function.
10647 (grub_gfxterm_background_image_cmd): Use 'window'.
10648 (grub_gfxterm_get_term): New function.
10649 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10650
10651 2010-02-06 Colin D Bennett <colin@gibibit.com>
10652
10653 Bitmap scaling support.
10654
10655 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10656 (bitmap_scale_mod_SOURCES): New variable.
10657 (bitmap_scale_mod_CFLAGS): Likewise.
10658 (bitmap_scale_mod_LDFLAGS): Likewise.
10659 * include/grub/bitmap_scale.h: New file.
10660 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10661 (background_image_cmd_options): New variable.
10662 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10663 (cmd): Rename and change type to ...
10664 (background_image_cmd_handle): ... this. All users updated.
10665 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10666 * video/bitmap_scale.c: New file.
10667
10668 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 SDL support.
10671
10672 * Makefile.in (LIBSDL): New variable.
10673 (enable_grub_emu_sdl): Likewise.
10674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10675 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10676 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10677 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10678 * util/sdl.c: New file.
10679
10680 2010-02-06 Colin D Bennett <colin@gibibit.com>
10681 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 Double buffering support.
10684
10685 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10686 * include/grub/video.h: Update comment.
10687 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10688 New type.
10689 (grub_video_fb_doublebuf_blit_init): New prototype.
10690 * term/gfxterm.c (scroll_up): Support double buffering.
10691 (grub_gfxterm_refresh): Likewise.
10692 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10693 (grub_video_fb_doublebuf_blit_init): Likewise.
10694 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10695 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10696 'displayed_page', 'render_page' and 'update_screen'.
10697 (grub_video_vbe_fini): Free offscreen buffer.
10698 (doublebuf_pageflipping_commit): New function.
10699 (doublebuf_pageflipping_update_screen): Likewise.
10700 (doublebuf_pageflipping_init): Likewise.
10701 (double_buffering_init): Likewise.
10702 (grub_video_vbe_setup): Enable doublebuffering.
10703 (grub_video_vbe_swap_buffers): Implement.
10704 (grub_video_vbe_set_active_render_target): Handle double buffering.
10705 (grub_video_vbe_get_active_render_target): Likewise.
10706 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10707 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10708 (grub_video_vbe_enable_double_buffering): Likewise.
10709 (grub_video_vbe_swap_buffers): Use update_screen.
10710 (grub_video_set_mode): Use double buffering.
10711
10712 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10713
10714 * maintainance/gentrigtables.py: Remove.
10715 * lib/trig.c: Likewise.
10716
10717 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10718
10719 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10720 `trigtables.c'.
10721 (trigtables.c): New rule.
10722 (gentrigtables): Likewise.
10723 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10724
10725 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10726
10727 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10728 integer constants.
10729
10730 2010-02-06 Colin D Bennet <colin@gibibit.com>
10731
10732 Trigonometry support.
10733
10734 * include/grub/trig.h: New file.
10735 * lib/trig.c: Likewise.
10736 * maintainance/gentrigtables.py: Likewise.
10737 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10738 (trig_mod_SOURCES): New variable.
10739 (trig_mod_CFLAGS): Likewise.
10740 (trig_mod_LDFLAGS): Likewise.
10741
10742 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10745 disk devices.
10746
10747 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10750 error.
10751
10752 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * util/hostdisk.c (open_device): Don't use partition device when reading
10755 before the partition.
10756 (grub_util_biosdisk_read): Don't read from partition and before the
10757 partition in single operation.
10758 (grub_util_biosdisk_write): Don't write to partition and before the
10759 partition in single operation.
10760
10761 2010-02-03 Torsten Landschoff <torsten@debian.org>
10762
10763 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10764 last sectors.
10765
10766 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10769 CDROM reads.
10770 (grub_biosdisk_write): Refuse to write to CDROM.
10771
10772 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10775
10776 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * font/font.c (find_glyph): Check that bmp_idx is available before
10779 using it.
10780 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10781 with (font == NULL).
10782
10783 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10784
10785 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10786
10787 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10788
10789 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10790 * util/grub-script-check.c (getline): Fix empty lines case.
10791
10792 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10793
10794 * Makefile.in (check): Exit with fail status when one of the tests
10795 fails.
10796 * tests/example_functional_test.c (example_test): Fix reversed assert.
10797 * tests/example_unit_test.c (example_test): Likewise.
10798
10799 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10800
10801 * util/grub.d/10_linux.in: This script does not use any of the
10802 contents of gettext.sh, only the external command `gettext', so stop
10803 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10804 the same prefix as GRUB.)
10805 * util/grub.d/10_kfreebsd.in: Likewise.
10806
10807 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10810 of the line.
10811
10812 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10815 last sectors.
10816
10817 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10820 having a 4KiB and not 32KiB buffer size.
10821
10822 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10823
10824 * util/hostfs.c: Include `<errno.h>'.
10825 (grub_hostfs_read): Handle errors from fseeko() and fread().
10826
10827 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10828
10829 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10830 loop when using read hooks on files whose size isn't sector-aligned.
10831
10832 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10833
10834 Remove unused parameter.
10835
10836 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10837 (grub_iso9660_open): Remove initialization of `data->length'.
10838
10839 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10840
10841 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10842 memleak conditions.
10843
10844 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10845
10846 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10847 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10848
10849 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10850
10851 * util/bin2h.c (usage): Fix warning (space after backslash).
10852
10853 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10854
10855 * font/font.c: Include `grub/fontformat.h.
10856 Remove font file format constants.
10857 (grub_font_load): Use the new macros.
10858 * include/grub/fontformat.h: New file.
10859 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10860 (write_font_pf2): Use the new macros.
10861
10862 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10863
10864 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10865 does.
10866
10867 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10868
10869 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10870
10871 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10872 (_start): Macroify `0x7F'.
10873
10874 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10875 (make_install_device): Use "(pxe)" as fallback prefix when booting
10876 via PXE.
10877
10878 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * configure.ac: Reset LIBS after check for libgcc symbols.
10881
10882 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10883
10884 * util/hostdisk.c (open_device): Add trailing newline to debug
10885 message.
10886
10887 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10888
10889 * configure.ac: Check for `limits.h'.
10890 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10891
10892 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10893
10894 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10895 capitalize error strings.
10896
10897 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10898
10899 * util/grub.d/10_hurd.in: Add a recovery mode.
10900
10901 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * configure.ac: Check for libgcc symbols with -nostdlib.
10904
10905 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10906
10907 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10908
10909 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10912 stack since heap may be unavailable at that point.
10913 (grub_ofconsole_gotoxy): Likewise.
10914
10915 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * configure.ac: Check for _restgpr_14_x.
10918 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10919 and _savegpr_* prototypes.
10920
10921 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10922
10923 Use generic grub_reboot() for i386-efi.
10924
10925 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10926 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10927 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10928
10929 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10932 presence of "prefix" variable as it breaks when normal.mod is
10933 embedded.
10934
10935 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10938 stack since heap is unavailable at that point.
10939
10940 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10943 (grub_freebsd_bootinfo): Rewritten.
10944 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10945
10946 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10949
10950 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10951
10952 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10953 domain now.
10954
10955 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10956
10957 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10958 around for handling "/" to the correct fix. Fix a memory leak. Use
10959 xstrdup instead of strdup.
10960
10961 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10964
10965 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10968
10969 * font/font.c (struct grub_font): New member 'bmp_idx'.
10970 (font_init): Initialise 'bmp_idx'.
10971 (load_font_index): Fill 'bmp_idx'.
10972 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10973
10974 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10977 unnecessary calls.
10978
10979 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 Move context handling out of the kernel.
10982
10983 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10984 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10985 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10986 * conf/i386-efi.rmk: Likewise.
10987 * conf/i386-ieee1275.rmk: Likewise.
10988 * conf/i386-pc.rmk: Likewise.
10989 * conf/powerpc-ieee1275.rmk: Likewise.
10990 * conf/sparc64-ieee1275.rmk: Likewise.
10991 * conf/x86_64-efi.rmk: Likewise.
10992 * include/grub/env.h: Include grub/menu.h.
10993 (grub_env_var_type): Removed.
10994 (grub_env_var): Replaced field 'type' with 'global'.
10995 (grub_env_find): New prototype.
10996 (grub_env_context_open): Remove EXPORT_FUNC.
10997 (grub_env_context_close): Likewise.
10998 (grub_env_export): Likewise.
10999 (grub_env_set_data_slot): Removed.
11000 (grub_env_get_data_slot): Likewise.
11001 (grub_env_unset_data_slot): Likewise.
11002 (grub_env_unset_menu): New prototype.
11003 (grub_env_set_menu): Likewise.
11004 (grub_env_get_menu): Likewise.
11005 * include/grub/env_private.h: New file.
11006 * include/grub/normal.h (grub_context_init): New prototype.
11007 (grub_context_fini): Likewise.
11008 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11009 * normal/context.c (grub_cmd_export): ... to here.
11010 * kern/env.c: Include env_private.h.
11011 (HASHSZ): Moved to include/grub/env_private.h.
11012 (grub_env_context): Likewise.
11013 (grub_env_sorted_var): Likewise.
11014 (current_context): Renamed from this ...
11015 (grub_current_context): ...to this. 'static' removed. All users updated.
11016 (grub_env_find): Removed 'static'.
11017 (grub_env_context_open): Moved to normal/context.c.
11018 (grub_env_context_close): Likewise.
11019 (grub_env_export): Likewise.
11020 (mangle_data_slot_name): Removed.
11021 (grub_env_set_data_slot): Likewise.
11022 (grub_env_get_data_slot): Likewise.
11023 (grub_env_unset_data_slot): Likewise.
11024 * kern/main.c (grub_set_root_dev): Don't export root.
11025 It will be done later.
11026 (grub_main): Don't export prefix.
11027 It will be done later.
11028 * normal/context.c: New file.
11029 * normal/main.c (free_menu): Use grub_env_unset_menu.
11030 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11031 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11032 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11033 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11034
11035 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 setpci support.
11038
11039 * commands/setpci.c: New file.
11040 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11041 (setpci_mod_SOURCES): New variable.
11042 (setpci_mod_CFLAGS): Likewise.
11043 (setpci_mod_LDFLAGS): Likewise.
11044
11045 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 Byte-addressable PCI configuration space.
11048
11049 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11050 dword address.
11051 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11052 GRUB_PCI_REG_CACHELINE.
11053 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11054 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11055 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11056 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11057 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11058 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11059 grub_pci_make_address.
11060 (lock_rom_area): Likewise.
11061 * commands/lspci.c (grub_lspci_iter): Use macroses
11062 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11063 of grub_pci_make_address.
11064 * disk/ata.c (grub_ata_pciinit): Likewise.
11065 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11066 (GRUB_PCI_REG_VENDOR): Likewise.
11067 (GRUB_PCI_REG_DEVICE): Likewise.
11068 (GRUB_PCI_REG_COMMAND): Likewise.
11069 (GRUB_PCI_REG_STATUS): Likewise.
11070 (GRUB_PCI_REG_REVISION): Likewise.
11071 (GRUB_PCI_REG_CLASS): Likewise.
11072 (GRUB_PCI_REG_CACHELINE): Likewise.
11073 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11074 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11075 (GRUB_PCI_REG_BIST): Likewise.
11076 (GRUB_PCI_REG_ADDRESSES): Likewise.
11077 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11078 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11079 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11080 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11081 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11082 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11083 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11084 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11085 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11086 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11087 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11088 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11089 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11090 (GRUB_PCI_REG_MIN_GNT): Likewise.
11091 (GRUB_PCI_REG_MAX_LAT): Likewise.
11092 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11093 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11094 * video/efi_uga.c (find_framebuf): Likewise.
11095 * video/sm712.c (grub_video_sm712_setup): Likewise.
11096 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11097 space.
11098
11099 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11100
11101 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11102 can be reliably determined to be supported.
11103
11104 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11105
11106 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11107 that VESA is supported.
11108 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11109 supported.
11110
11111 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11114
11115 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11116
11117 * util/misc.c (make_system_path_relative_to_its_root): Work around
11118 special-casing of "/", as previous incarnation of this routine did.
11119
11120 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 Fix any-emu compilation.
11123
11124 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11125 * grub_bin2h_SOURCES: New variable.
11126
11127 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11128
11129 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11130
11131 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11132
11133 * util/grub.d/00_header.in: Fix handling of locale_dir.
11134
11135 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11138 as possible unifont location (Gentoo).
11139 Reported by: Alexander Brüning
11140
11141 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 Don't try to generate lists for kernel.img.
11144
11145 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11146 (pkglib_MODULES): Remove kernel.img.
11147 (kernel_img_EXPORTS): Removed.
11148 (kernel_img_RELOCATABLE): New variable.
11149 * conf/x86_64-efi.rmk: Likewise.
11150 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11151
11152 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11155 grub_xasprintf or grub_snprintf.
11156 (grub_vsprintf): Likewise.
11157 (grub_snprintf): New proto.
11158 (grub_vsnprintf): Likewise.
11159 (grub_xasprintf): Likewise.
11160 (grub_xvasprintf): Likewise.
11161 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11162 (grub_sprintf): Removed.
11163 (grub_vsnprintf): New function.
11164 (grub_snprintf): Likewise.
11165 (grub_xvasprintf): Likewise.
11166 (grub_xasprintf): Likewise.
11167 (grub_vsprintf): Renamed to ...
11168 (grub_vsnprintf_real): ...this. New argument max_len.
11169
11170 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11171
11172 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11173 fix grub-script-check warning.
11174
11175 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * include/grub/font.h (grub_font_load): Fix prototype.
11178
11179 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11182
11183 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * include/grub/x86_64/at_keyboard.h: New file.
11186
11187 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * loader/mips/linux.c: Include missing grub/i18n.h.
11190
11191 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11192
11193 * normal/menu.c (notify_execution_failure): Clarify error message.
11194
11195 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11196
11197 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11198 return value (and revert all return statements). Update users.
11199
11200 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11201
11202 * kern/device.c (grub_device_iterate): Allocate new part_ent
11203 structure based on sizeof (*p) rather than sizeof (p->next), to
11204 account for structure padding.
11205
11206 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11207 disk is NULL, which might happen for LVM physical volumes with no
11208 LVM signature.
11209
11210 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11211
11212 * loader/mips/linux.c (grub_cmd_initrd)
11213 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11214
11215 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11216
11217 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11218 (grub_video_video_init, grub_video_bitmap_init)
11219 (grub_font_manager_init, grub_term_gfxterm_init)
11220 (grub_at_keyboard_init): New extern declarations.
11221 (grub_machine_init): Initialize gfxterm and at_keyboard.
11222
11223 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11224
11225 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11226 `gfxterm.mod' into core image.
11227
11228 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11229 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11230 (kernel_img_FORMAT): Copy to ...
11231
11232 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11233 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11234 (kernel_img_FORMAT): ... here, and ...
11235
11236 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11237 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11238 (kernel_img_FORMAT): ... here.
11239
11240 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11241 and input (at_keyboard) terminals in kernel.
11242 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11243
11244 (pkglib_MODULES): Remove `pci.mod'.
11245 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11246 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11247 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11248 (at_keyboard_mod_LDFLAGS): Remove variables.
11249
11250 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11251
11252 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11253
11254 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11255
11256 * include/grub/mips/libgcc.h: Only export symbols for functions
11257 that libgcc provides.
11258
11259 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 MIPS support.
11262
11263 * bus/bonito.c: New file.
11264 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11265 GRUB_PCI_NUM_DEVICES.
11266 * term/i386/pc/serial.c: Move to ...
11267 * term/serial.c: ... here. All users updated.
11268 * util/i386/pc/grub-mkimage.c: Move to ...
11269 * util/grub-mkrawimage.c: ... here. All users updated.
11270 * term/i386/pc/at_keyboard.c: Move to ...
11271 * term/at_keyboard.c: ... here. All users updated.
11272 * conf/mips-qemu-mips.rmk: New file.
11273 * conf/mips-yeeloong.rmk: Likewise.
11274 * conf/mips.rmk: Likewise.
11275 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11276 mipsel-qemu-mips.
11277 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11278 to port addresses.
11279 (grub_ata_pciinit): Support CS5536.
11280 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11281 * font/font_cmd.c (loadfont_command): Open file before passing it to
11282 grub_font_load.
11283 (pseudo_file_read): New function.
11284 (pseudo_file_close): Likewise.
11285 (pseudo_fs): New structure.
11286 (load_font_module): New function.
11287 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11288 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11289 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11290 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11291 * include/grub/i386/at_keyboard.h: Split into ...
11292 * include/grub/at_keyboard.h: ... this ...
11293 * include/grub/i386/at_keyboard.h: ... and this.
11294 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11295 New prototype.
11296 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11297 updated.
11298 (grub_elf64_size): Likewise.
11299 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11300 filename.
11301 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11302 * include/grub/i386/coreboot/serial.h: Rewritten.
11303 * include/grub/i386/ieee1275/serial.h: Include
11304 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11305 * include/grub/i386/pc/serial.h: Moved from here ...
11306 * include/grub/serial.h: ... to here. All users updated.
11307 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11308 (GRUB_PCI_NUM_BUS): Likewise.
11309 (GRUB_PCI_NUM_DEVICES): Likewise.
11310 (grub_pci_device_map_range): Add missing volatile keyword.
11311 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11312 * include/grub/mips/at_keyboard.h: New file.
11313 * include/grub/mips/cache.h: Likewise.
11314 * include/grub/mips/io.h: Likewise.
11315 * include/grub/mips/kernel.h: Likewise.
11316 * include/grub/mips/libgcc.h: Likewise.
11317 * include/grub/mips/pci.h: Likewise.
11318 * include/grub/mips/qemu-mips/boot.h: Likewise.
11319 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11320 * include/grub/mips/qemu-mips/loader.h: Likewise.
11321 * include/grub/mips/qemu-mips/memory.h: Likewise.
11322 * include/grub/mips/qemu-mips/serial.h: Likewise.
11323 * include/grub/mips/qemu-mips/time.h: Likewise.
11324 * include/grub/mips/relocator.h: Likewise.
11325 * include/grub/mips/time.h: Likewise.
11326 * include/grub/mips/types.h: Likewise.
11327 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11328 * include/grub/mips/yeeloong/boot.h: Likewise.
11329 * include/grub/mips/yeeloong/kernel.h: Likewise.
11330 * include/grub/mips/yeeloong/loader.h: Likewise.
11331 * include/grub/mips/yeeloong/memory.h: Likewise.
11332 * include/grub/mips/yeeloong/pci.h: Likewise.
11333 * include/grub/mips/yeeloong/serial.h: Likewise.
11334 * include/grub/mips/yeeloong/time.h: Likewise.
11335 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11336 * kern/elf.c (grub_elf32_size): New parameter. All users
11337 updated.
11338 (grub_elf64_size): Likewise.
11339 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11340 Load modules before saying "Welcome to GRUB!".
11341 Call grub_refresh after saying "Welcome to GRUB!".
11342 * kern/mips/cache.S: New file.
11343 * kern/mips/cache_flush.S: Likewise.
11344 * kern/mips/dl.c: Likewise.
11345 * kern/mips/init.c: Likewise.
11346 * kern/mips/qemu-mips/init.c: Likewise.
11347 * kern/mips/startup.S: Likewise.
11348 * kern/mips/yeeloong/init.c: Likewise.
11349 * kern/term.c (grub_putcode): Handle NULL terminal.
11350 (grub_getcharwidth): Likewise.
11351 (grub_getkey): Likewise.
11352 (grub_checkkey): Likewise.
11353 (grub_getkeystatus): Likewise.
11354 (grub_getxy): Likewise.
11355 (grub_getwh): Likewise.
11356 (grub_gotoxy): Likewise.
11357 (grub_cls): Likewise.
11358 (grub_setcolorstate): Likewise.
11359 (grub_setcolor): Likewise.
11360 (grub_getcolor): Likewise.
11361 (grub_refresh): Likewise.
11362 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11363 (write_jump): Add hatch nop.
11364 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11365 * lib/mips/setjmp.S: New file.
11366 * loader/mips/linux.c: Likewise.
11367 * term/i386/pc/at_keyboard.c: Move from here ...
11368 * term/at_keyboard.c: ... to here.
11369 * term/i386/pc/serial.c: Moved from here ...
11370 * term/serial.c: ... to here. All users updated.
11371 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11372 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11373 (serial_translate_key_sequence): Avoid deadlock.
11374 (grub_serial_getkey): Handle backspace.
11375 (grub_serial_putchar): Fix newline handling.
11376 * util/i386/pc/grub-mkimage.c: Move from here ...
11377 * util/grub-mkrawimage.c: ... to here. All users updated.
11378 (generate_image): New parameters 'font_path' and 'format'.
11379 Support embedding font.
11380 Use grub_host_to_target* instead of grub_cpu_to_le*.
11381 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11382 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11383 (options): New option "--font".
11384 (usage): Likewise.
11385 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11386 (main): Handle "--font".
11387 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11388 (grub_virtual_screen_setup): Set bg_color_display.
11389 (redraw_screen_rect): Use bg_color_display instead of incorrect
11390 bg_color.
11391 (grub_gfxterm_cls): Likewise.
11392 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11393 Support embedding config file.
11394 (add_segments): Likewise.
11395 (options): New option "--config".
11396 (main): Handle "--config".
11397 * video/sm712.c: New file.
11398
11399 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11400
11401 Fix parallel builds.
11402
11403 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11404 font.c depend on ascii.h).
11405
11406 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11407
11408 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11409
11410 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11411
11412 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11413 By default: disabled.
11414 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11415 parameter.
11416
11417 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11418
11419 * font/font.c: Update copyright years.
11420 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11421
11422 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11423
11424 * font/font.c: Include `ascii.h'.
11425 (ASCII_BITMAP_SIZE): New macro.
11426 (ascii_font_glyph): Define.
11427 (ascii_glyph_lookup): New function.
11428 (grub_font_get_string_width): Change comment. If glyph not found, use
11429 ascii_glyph_lookup.
11430 (grub_font_get_glyph_with_fallback): If glyph not available returns
11431 ascii_glyph_lookup.
11432 * util/grub-mkfont.c (file_formats): New enum.
11433 (options): Add `ascii-bitmaps' new option.
11434 (usage): Add `asii-bitmaps' new option.
11435 (write_font_ascii_bitmap): New function.
11436 (write_font): Rename to ...
11437 (write_font_p2): ... this. Remove print_glyphs call.
11438 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11439 used. Call print_glyphs.
11440 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11441
11442 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11443
11444 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11445 (grub_bin2h_SOURCES): New variable.
11446 * util/bin2h.c: New file.
11447
11448 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * include/multiboot.h: Resynced with spec.
11451 * include/multiboot2.h: Likewise.
11452 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11453 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11454
11455 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11456
11457 * include/grub/term.h (grub_term_register_input,
11458 grub_term_register_output): Check return of terminal init()
11459 routines, and abort if errors are raised.
11460
11461 * commands/terminal.c: Update copyright year.
11462
11463 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11464
11465 * commands/terminal.c (grub_cmd_terminal_input)
11466 (grub_cmd_terminal_output): Check return of terminal init()
11467 routines, and abort if errors are raised.
11468
11469 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * include/grub/i386/bsd.h: Fix include pathes.
11472
11473 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 Add missing *BSD copyright headers.
11476
11477 * include/grub/aout.h: Add BSD licence.
11478 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11479 * include/grub/i386/freebsd_linker.h: ... here,
11480 * include/grub/i386/freebsd_reboot.h: ... here,
11481 * include/grub/i386/netbsd_bootinfo.h: ... here,
11482 * include/grub/i386/netbsd_reboot.h: ... here,
11483 * include/grub/i386/openbsd_bootarg.h: ... here,
11484 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11485 licence to each file.
11486
11487 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11488
11489 * acinclude.m4: Remove `nop' assembly instruction; it's not
11490 implemented by all architectures.
11491
11492 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11493
11494 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11495 ELILO. This is no longer necessary.
11496
11497 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11498
11499 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11500
11501 * util/grub-script-check.c: grub-script-check tool.
11502 * conf/common.rmk: Make rules for grub-script-check.
11503
11504 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11505
11506 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11507 spotting it back in 2008. Shame on me for forgetting he did.
11508
11509 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11510
11511 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11512
11513 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11514 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11515 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11516 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11517 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11518 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11519
11520 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11521
11522 * include/grub/test.h: Add license header.
11523 * tests/example_functional_test.c: Likewise.
11524 * tests/example_unit_test.c: Likewise.
11525 * tests/lib/functional_test.c: Likewise.
11526 * tests/lib/test.c: Likewise.
11527 * tests/lib/unit_test.c: Likewise.
11528
11529 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 Use flag-based instead of hook-based video mode selection and "auto"
11532 keyword.
11533
11534 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11535 (grub_video_set_mode): Changed prototype. All users updated.
11536 (grub_video_check_mode_flag): New inline function.
11537 * video/video.c (parse_modespec): New function.
11538 (grub_video_set_mode): Parse flags and keywords.
11539
11540 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11541
11542 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11543 fprintf call.
11544
11545 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11546
11547 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11548
11549 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11550
11551 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11552 string.
11553 * util/grub-emu.c (usage): Likewise.
11554 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11555 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11556 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11557 * util/i386/pc/grub-setup.c (usage): Likewise.
11558
11559 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11560
11561 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11562 the message.
11563 (grub_util_info): Likewise.
11564 (grub_util_error): Likewise.
11565 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11566 and/or new lines in `grub_util_warna', `grub_util_info',
11567 `grub_util_error' calls.
11568 * util/getroot.c: Likewise.
11569 * util/grub-editenv.c: Likewise.
11570 * util/grub-emu.c: Likewise.
11571 * util/grub-fstest.c: Likewise.
11572 * util/grub-mkdevicemap.c: Likewise.
11573 * util/grub-mkfont.c: Likewise.
11574 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11575 * util/grub-mkrelpath.c: Likewise.
11576 * util/grub-pe2elf.c: Likewise.
11577 * util/grub-probe.c: Likewise.
11578 * util/hostdisk.c: Likewise.
11579 * util/i386/efi/grub-mkimage.c: Likewise.
11580 * util/i386/pc/grub-mkimage.c: Likewise.
11581 * util/i386/pc/grub-setup.c: Likewise.
11582 * util/ieee1275/ofpath.c: Likewise.
11583 * util/mkisofs/eltorito.c: Likewise.
11584 * util/mkisofs/rock.c: Likewise.
11585 * util/mkisofs/write.c: Likewise.
11586 * util/raid.c: Likewise.
11587 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11588 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11589
11590 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Enable multiboot on non-pc.
11593
11594 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11595 multiboot.mod and multiboot2.mod to ...
11596 * conf/i386.rmk (pkglib_MODULES): ... here.
11597 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11598 Moved to ...
11599 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11600 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11601 Moved to ...
11602 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11603 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11604 Moved to ...
11605 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11606 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11607 Moved to ...
11608 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11609 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11610 relocator.mod.
11611 (ata_mod_SOURCES): Removed.
11612 (ata_mod_CFLAGS): Likewise.
11613 (ata_mod_LDFLAGS): Likewise.
11614 (relocator_mod_SOURCES): Removed.
11615 (relocator_mod_CFLAGS): Likewise.
11616 (relocator_mod_ASFLAGS): Likewise.
11617 (relocator_mod_LDFLAGS): Likewise.
11618 Include i386.mk.
11619 * include/grub/x86_64/multiboot.h: New file.
11620 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11621 Terminate EFI.
11622
11623 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 Video multiboot support.
11626
11627 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11628 New prototype.
11629 * include/multiboot.h: Resynced with multiboot specification.
11630 * include/multiboot2.h: Likewise.
11631 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11632 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11633 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11634 (HAS_VGA_TEXT): Likewise.
11635 (accepts_video): New variable.
11636 (grub_multiboot_set_accepts_video): New function.
11637 (grub_multiboot_get_mbi_size): Account for video structures.
11638 (set_video_mode): New function.
11639 (retrieve_video_parameters): Likewise.
11640 (grub_multiboot_make_mbi): Fill video fields.
11641
11642 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Video driver ids.
11645
11646 * include/grub/video.h (grub_video_driver_id): New type.
11647 (grub_video_adapter): New member 'id'. All users updated.
11648 (grub_video_get_driver_id): New proto.
11649 * video/video.c (grub_video_get_driver_id): New function.
11650
11651 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11652
11653 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11654 `var=val'.
11655
11656 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11657
11658 * normal/cmdline.c (print_completion): Gettextizze.
11659
11660 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11661
11662 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11663
11664 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11665
11666 * gettext/gettext.c (grub_gettext_translate): Push and pop
11667 grub_errno.
11668 (grub_gettext_delete_list): Change comment style.
11669 * kern/err.c (grub_error): Gettextizze.
11670 (grub_fatal): Gettextizze.
11671
11672 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11673
11674 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11675 (grub_linux16_real_boot): ... this.
11676 * kern/i386/loader.S: Likewise.
11677 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11678 (grub_linux16_boot): New function. Switches to text mode and calls
11679 grub_linux16_real_boot().
11680
11681 * loader/i386/bsd.c: Include `<grub/video.h>'.
11682 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11683 text mode before calling grub_unix_real_boot().
11684
11685 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11686 (grub_multiboot_boot): Switch to text mode before calling
11687 grub_relocator32_boot().
11688
11689 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11690 (grub_chainloader_boot): Switch to text mode before calling
11691 grub_chainloader_real_boot().
11692
11693 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11694 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11695
11696 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11697 non-empty value.
11698
11699 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11700 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11701
11702 * util/grub.d/00_header.in: Define a "savedefault" function for use
11703 in menu entries.
11704 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11705
11706 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11707 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11708
11709 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11710 saved_entry if boot_once is unset.
11711 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11712 previous saved entry (i.e. grub-reboot).
11713
11714 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11715
11716 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11717
11718 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11719
11720 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11721 `var=val'.
11722 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11723
11724 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11725
11726 * util/grub-reboot.in: Fix --version output.
11727 * util/grub-set-default.in: Likewise.
11728
11729 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11730
11731 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11732 blocks.
11733
11734 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11735
11736 * util/grub.d/00_header.in: Quote the value assigned to `default',
11737 in case it contains spaces.
11738
11739 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11740
11741 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11742 `save_default_entry' call from the macosx case to the linux case.
11743
11744 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11745 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11746
11747 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11748 in `chosen' environment variable.
11749 * normal/menu_text.c (get_entry_number): Check if the variable
11750 matches the title of a menu entry.
11751 (run_menu): Pass menu to get_entry_number.
11752
11753 * util/grub-reboot.in: New file.
11754 * util/grub-set-default.in: New file.
11755 * conf/common.rmk (grub-reboot): New utility.
11756 (grub-set-default): New utility.
11757
11758 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11759 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11760 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11761 move it to `saved_entry' for the next boot. Load environment on
11762 initialisation.
11763 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11764 * util/grub.d/10_hurd.in: Likewise.
11765 * util/grub.d/10_linux.in (linux_entry): Likewise.
11766 * util/grub.d/10_windows.in: Likewise.
11767 * util/grub.d/30_os-prober.in: Likewise.
11768
11769 * util/grub-install.in: Create environment block.
11770 * util/i386/efi/grub-install.in: Likewise.
11771 * util/ieee1275/grub-install.in: Likewise.
11772 * util/sparc64/ieee1275/grub-install.in: Likewise.
11773
11774 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11775
11776 Unit testing framework for GRUB.
11777
11778 * Makefile.in: Test framework build rules for 'make check'.
11779 * conf/tests.rmk: Build rules for individual tests and framework.
11780
11781 * include/grub/test.h: Header file for whitebox tests.
11782 * tests/lib/functional_test.c: Framework support for whitebox
11783 functional tests.
11784 * tests/lib/test.c: Common whitebox testing code for unit and
11785 functional tests.
11786 * tests/lib/unit_test.c: Framework support for whitebox unit
11787 tests.
11788
11789 * tests/util/grub-shell-tester.in: Support utility for grub-script
11790 tests.
11791 * tests/util/grub-shell.in: Utility to execute grub-script
11792 commands in a Qemu instance.
11793
11794 * tests/example_functional_test.c: Example whitebox functional
11795 test.
11796 * tests/example_grub_script_test.in: Example grub-script test.
11797 * tests/example_scripted_test.in: Example scripted test.
11798 * tests/example_unit_test.c: Example whitebox unit test.
11799
11800 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11803 Add loader/i386/multiboot_mbi.c.
11804 (multiboot2_mod_SOURCES): Likewise.
11805 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11806 (multiboot2_mod_SOURCES): Likewise.
11807 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11808 (grub_multiboot_make_mbi): Likewise.
11809 (grub_multiboot_free_mbi): Likewise.
11810 (grub_multiboot_init_mbi): Likewise.
11811 (grub_multiboot_add_module): Likewise.
11812 (grub_multiboot_set_bootdev): Likewise.
11813 * loader/i386/multiboot.c (mbi): Removed.
11814 (mbi_dest): Likewise.
11815 (alloc_mbi): New variable.
11816 (grub_multiboot_payload_size): Removed. All users updated.
11817 (grub_multiboot_pure_size): New variable.
11818 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11819 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11820 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11821 (grub_fill_multiboot_mmap): Likewise.
11822 (grub_multiboot_get_bootdev): Likewise.
11823 (grub_multiboot): Use multiboot_mbi functions.
11824 * loader/i386/multiboot_mbi.c: New file.
11825
11826 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11829 it would result in module crash.
11830
11831 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11834 (grub_ofconsole_getwh): Split to ...
11835 (grub_ofconsole_getwh): ... this.
11836 (grub_ofconsole_dimensions): ...and this.
11837 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11838
11839 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11840
11841 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11842
11843 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * loader/i386/pc/multiboot2.c: Removed stalled file.
11846
11847 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11850 Reported by: Grégoire Sutre
11851
11852 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11853
11854 * util/misc.c (canonicalize_file_name): New function.
11855 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11856 instead of realpath().
11857
11858 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11859
11860 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11861 and make it clearer that it's optional. Based on confusion
11862 witnessed on IRC.
11863
11864 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11867 in premature implicit newline.
11868
11869 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11872 which resulted in garbled command line at the end of screen.
11873
11874 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11875
11876 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11877 initialization with similar approach as with other Linux loaders.
11878
11879 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11880
11881 Fix i386-ieee1275 build.
11882
11883 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11884 and grub_term_height() for video_{width,height} initialization.
11885
11886 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11887
11888 Fix grub-emu build.
11889
11890 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11891
11892 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11893 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11894
11895 Support for multiple terminals.
11896
11897 * Makefile.in (pkglib_DATA): terminal.lst.
11898 (terminal.lst): New target.
11899 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11900 (GRUB_MOD_INIT(handler)): Likewise.
11901 (GRUB_MOD_FINI(handler)): Likewise.
11902 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11903 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11904 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11905 (grub_cmd_sleep): Use grub_term_save_pos.
11906 * commands/terminal.c: New file.
11907 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11908 commands/terminal.c and lib/charset.c.
11909 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11910 (pkglib_MODULES): Add terminal.mod.
11911 (terminal_mod_SOURCES): New variable.
11912 (terminal_mod_CFLAGS): Likewise.
11913 (terminal_mod_LDFLAGS): Likewise.
11914 * genhandlerlist.sh: Don't handle terminals.
11915 * genmk.rb: Generate terminal-*.lst.
11916 * genterminallist.sh: New file.
11917 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11918 (grub_is_valid_utf8): Likewise.
11919 (grub_utf8_to_ucs4_alloc): Likewise.
11920 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11921 (grub_menu_register_viewer): Changed argument.
11922 (grub_menu_try_text): New proto.
11923 (grub_gfxmenu_try_hook): New declaration.
11924 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11925 (grub_menu_init_page): Additional argument term.
11926 (grub_normal_init_page): Likewise.
11927 (grub_cmdline_get): Arguments simplified.
11928 (grub_utf8_to_ucs4_alloc): Removed.
11929 (grub_print_ucs4): Additional argument term.
11930 (grub_getstringwidth): Likewise.
11931 (grub_print_message_indented): Likewise.
11932 (grub_menu_text_register_instances): New proto.
11933 (grub_show_menu): Likewise.
11934 (read_terminal_list): Likewise.
11935 (grub_set_more): Likewise.
11936 * include/grub/parser.h: Include handler.h.
11937 * include/grub/reader.h: Rewritten.
11938 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11939 (GRUB_TERM_WIDTH): Changed to function.
11940 (GRUB_TERM_HEIGHT): Likewise.
11941 (GRUB_TERM_BORDER_WIDTH): Likewise.
11942 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11943 (GRUB_TERM_NUM_ENTRIES): Likewise.
11944 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11945 (GRUB_TERM_CURSOR_X): Likewise.
11946 (grub_term_input_class): Likewise.
11947 (grub_term_output_class): Likewise.
11948 (grub_term_outputs_disabled): New declaration.
11949 (grub_term_inputs_disabled): Likewise.
11950 (grub_term_outputs): Likewise.
11951 (grub_term_inputs): Likewise.
11952 (grub_term_register_input): Rewritten.
11953 (grub_term_register_output): Likewise.
11954 (grub_term_unregister_input): Likewise.
11955 (grub_term_unregister_output): Likewise.
11956 (FOR_ACTIVE_TERM_INPUTS): New macro.
11957 (FOR_DISABLED_TERM_INPUTS): Likewise.
11958 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11959 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11960 * include/grub/terminfo.h: Add oterm argument to all protypes.
11961 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11962 Use grub_rescue_run.
11963 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11964 All users updated.
11965 * kern/reader.c: Removed. All users updated.
11966 * kern/rescue_reader.c (grub_rescue_init): Removed.
11967 (grub_rescue_reader): Likewise.
11968 (grub_register_rescue_reader): Likewise.
11969 (grub_rescue_run): New function based on kern/reader.c.
11970 * kern/term.c: Adapted for multiterm.
11971 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11972 (grub_is_valid_utf8): Likewise.
11973 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11974 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11975 right terminal.
11976 * loader/i386/linux.c (grub_linux_boot): Likewise.
11977 * normal/auth.c (grub_username_get): New function.
11978 (grub_auth_check_authentication): Use grub_username_get.
11979 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11980 * normal/color.c: Adapt for multiterm.
11981 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11982 (grub_normal_init_page): Additional argument term.
11983 (read_lists): Call read_terminal_lists.
11984 (grub_enter_normal_mode): Call grub_cmdline_run.
11985 Handle grub_normal_exit_level.
11986 (grub_cmd_normal): Make reentrant.
11987 (grub_cmd_normal_exit): New function.
11988 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11989 * normal/menu.c: Adapt for multiterm.
11990 * normal/menu_entry.c: Likewise.
11991 * normal/menu_text.c: Likewise.
11992 * normal/menu_viewer.c: Removed. All users updated.
11993 * normal/term.c: New file.
11994 * util/console.c: Change order of includes to workaround a bug in
11995 ncurses headers.
11996 * term/terminfo.c: New argument oterm on all exported functions.
11997 All users updated.
11998 * util/grub-editenv.c (grub_term_input_class): Removed.
11999 (grub_term_output_class): Likewise.
12000
12001 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12002
12003 Make loader output a bit more user-friendly.
12004
12005 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12006 is being loaded. Likewise for the Hurd.
12007
12008 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12009 that kernel of FreeBSD ${version} is being loaded.
12010
12011 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12012 grub_dprintf().
12013 (grub_cmd_initrd): Likewise.
12014 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12015 that Linux ${version} is being loaded. Likewise for initrd.
12016
12017 2010-01-09 Carles Pina i Estany <carles@pina.cat>
12018
12019 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12020
12021 2010-01-08 Carles Pina i Estany <carles@pina.cat>
12022
12023 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12024 (GRUB_MOD_INIT): Gettextizze.
12025 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12026 (GRUB_MOD_INIT): Gettextizze.
12027 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12028 (grub_cmd_linux): Capitalise Linux.
12029 (GRUB_MOD_INIT): Gettextizze.
12030 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12031 (grub_cmd_linux): Capitalise Linux.
12032 (GRUB_MOD_INIT): Gettextizze.
12033 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12034 (grub_cmd_linux): Capitalise Linux.
12035 (GRUB_MOD_INIT): Gettextizze.
12036 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12037 (GRUB_MOD_INIT): Gettextizze.
12038 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12039 (grub_cmd_linux): Capitalise Linux.
12040 (GRUB_MOD_INIT): Gettextizze.
12041 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12042 (grub_cpu_xnu_init): Gettextizze.
12043 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12044 (GRUB_MOD_INIT): Gettextizze.
12045 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12046 (GRUB_MOD_INIT): Gettextizze.
12047 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12048 (grub_linux_load64): Capitalise Linux.
12049 (GRUB_MOD_INIT): Gettextizze.
12050 * loader/xnu.c: Include `<grub/i18n.h>'.
12051 (GRUB_MOD_INIT): Gettextizze.
12052 * po/POTFILES: Add `loader/efi/appleloader.c',
12053 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12054 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12055 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12056 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12057 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12058 and `loader/xnu.c'.
12059
12060 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12061
12062 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12063
12064 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12065
12066 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12067 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12068 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12069
12070 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12071
12072 Reset Multiboot 2 support. New loader implements the draft in
12073 /branches/multiboot2 and shares as much code as possible with the
12074 production Multiboot 1 implementation.
12075
12076 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12077 * loader/multiboot2.c: Likewise.
12078 * loader/i386/multiboot_helper.S: Likewise.
12079 * include/multiboot2.h: Replace with latest version from the draft
12080 in /branches/multiboot2.
12081
12082 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12083 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12084 and `loader/multiboot2.c'.
12085 (pkglib_MODULES): Add `multiboot2.mod'.
12086 (multiboot2_mod_SOURCES): New variable.
12087 (multiboot2_mod_LDFLAGS): Likewise.
12088 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12089
12090 * conf/i386-pc.rmk: Likewise.
12091
12092 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12093 (multiboot_mod_SOURCES): Remove variable.
12094 (multiboot_mod_LDFLAGS): Likewise.
12095 (multiboot_mod_CFLAGS): Likewise.
12096
12097 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12098 `<multiboot2.h>' instead of `<multiboot.h>'.
12099 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12100 (MULTIBOOT_HEADER_MAGIC): New macros.
12101
12102 * loader/multiboot_loader.c (module_version_status): Remove variable.
12103 (find_multi_boot2_header): Remove function.
12104 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12105 logic. Always check for the Multiboot version we're compiling for.
12106 (grub_cmd_module_loader): Likewise.
12107 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12108 command instead of `multiboot'.
12109
12110 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12111
12112 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12113 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12114 all users.
12115
12116 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12117 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 Fix breakage introduced with previous commit.
12120
12121 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12122 commands.
12123 * normal/handler.c (read_handler_list): Revert part of previous commit
12124 affecting this file.
12125 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12126 (grub_normal_execute): ... here.
12127
12128 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12129
12130 Merge prefix-redefinition-fix branch.
12131
12132 * normal/autofs.c (read_fs_list): Make function capable of being
12133 run multiple times, gracefuly replacing the previous data
12134 structures.
12135 * normal/dyncmd.c (read_command_list): Likewise.
12136 * normal/handler.c (read_handler_list): Likewise.
12137 * normal/main.c (read_lists): New function. Calls all the
12138 list reading functions.
12139 (grub_normal_execute): Use read_lists() instead of calling all
12140 list reading functions explicitly. Register read_lists() as a
12141 variable hook attached to ${prefix}.
12142
12143 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Merge crypto branch.
12146
12147 * Makefile.in (pkglib_DATA): Add crypto.lst.
12148 (crypto.lst): New target.
12149 * commands/hashsum.c: New file.
12150 * commands/password.c (check_password): Use grub_crypto_memcmp.
12151 * commands/password_pbkdf2.c: New file.
12152 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12153 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12154 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12155 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12156 -I$(srcdir)/lib/libgcrypt_wrap.
12157 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12158 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12159 password_pbkdf2.mod.
12160 (crypto_mod_SOURCES): New variable.
12161 (crypto_mod_CFLAGS): Likewise.
12162 (crypto_mod_LDFLAGS): Likewise.
12163 (hashsum_mod_SOURCES): New variable.
12164 (hashsum_mod_CFLAGS): Likewise.
12165 (hashsum_mod_LDFLAGS): Likewise.
12166 (pbkdf2_mod_SOURCES): New variable.
12167 (pbkdf2_mod_CFLAGS): Likewise.
12168 (pbkdf2_mod_LDFLAGS): Likewise.
12169 (password_pbkdf2_mod_SOURCES): New variable.
12170 (password_pbkdf2_mod_CFLAGS): Likewise.
12171 (password_pbkdf2_mod_LDFLAGS): Likewise.
12172 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12173 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12174 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12175 Include conf/gcry.rmk.
12176 * include/grub/auth.h: Rewritten.
12177 * include/grub/crypto.h: New file.
12178 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12179 * include/grub/normal.h (read_crypto_list): New prototype.
12180 * lib/crypto.c: New file.
12181 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12182 * lib/pbkdf2.c: Likewise.
12183 * normal/auth.c (grub_auth_strcmp): Removed.
12184 (grub_iswordseparator): Likewise.
12185 (grub_auth_strword): Likewise.
12186 (is_authenticated): Use grub_strword.
12187 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12188 and grub_strword. Pass entered password to authentication callback.
12189 * normal/crypto.c: New file.
12190 * normal/main.c: Call read_crypto_list.
12191 * util/grub-mkpasswd-pbkdf2.c: New file.
12192 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12193
12194 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 Fix descent and ascent calculation.
12197
12198 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12199 (options): New option "asce".
12200 (usage): Likewise.
12201 (add_char): Ignore invalid glyphs for descent calculation.
12202 Calculate ascent from actual content.
12203 (print_glyphs): Use 'asce'.
12204 (write_font): Likewise. Allow ascent override.
12205 (main): Handle "asce" option.
12206
12207 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12208
12209 * kern/err.c: Include `<grub/i18n.h>'.
12210 (grub_print_error): Add full stop. Gettextizze.
12211 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12212 (grub_bsd_load_elf): Capitalise ELF.
12213 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12214 (grub_cmd_freebsd_module): Likewise.
12215 (grub_cmd_freebsd_module_elf): Likewise.
12216 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12217
12218 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12219
12220 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12221 * commands/search_file.c (HELP_MESSAGE): New macro.
12222 * commands/search_label.c (HELP_MESSAGE): Likewise.
12223 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12224 * po/POTFILES: Add `commands/search_file.c',
12225 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12226 `commands/search.c'.
12227
12228 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12229
12230 * config.rpath: Update from Gnulib.
12231
12232 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12233
12234 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12235
12236 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12237
12238 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12239
12240 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12241
12242 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12243 arguments to fread so that we get a return value in bytes, rather
12244 than something that will normally be rounded down to 0.
12245 Adjust error handling to avoid producing garbage when size_t is not
12246 the same size as long long.
12247
12248 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12249
12250 * util/mkisofs/write.c (padblock_write): Check return value of
12251 fread.
12252
12253 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12254
12255 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12256 floppy images now.
12257
12258 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12259
12260 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12261
12262 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12263 instead of manual alignment.
12264 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12265 verbose). Avoid attempts to read past end of the device
12266 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12267 but GRUB_DISK_CACHE_SIZE may exceed that).
12268
12269 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12270
12271 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12272 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12273 it to upper layer.
12274
12275 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12278 New constant.
12279 (grub_efi_piwg_device_path): New structure
12280 (grub_efi_piwg_device_path_t): New type.
12281 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12282 (devpath_1): Transform to a structure. All users updated.
12283 (devpath_2): Likewise.
12284 (devpath_3): Likewise.
12285 (devpath_4): Likewise.
12286 (devpath_5): Likewise.
12287
12288 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * loader/efi/appleloader.c: Restored. Update all users.
12291
12292 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12293
12294 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12295
12296 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12297 (struct boot_blocklist): Move from here ...
12298 * include/grub/i386/pc/boot.h [ASM_FILE]
12299 (struct grub_boot_blocklist): ... to here. Update all users.
12300 (setup): Only initialize `start' member of `first_block'
12301 structure. Add assert() calls to verify the other members.
12302
12303 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12304 (generate_image): Fix broken blocklist length initialization.
12305 Add assert() call to verify blocklist `segment' field.
12306
12307 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12308
12309 * loader/efi/appleloader.c: Remove. Update all users.
12310
12311 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12312
12313 * boot/i386/pc/boot.S: Update copyright year.
12314 * boot/i386/pc/cdboot.S: Likewise.
12315 * boot/i386/pc/diskboot.S: Likewise.
12316 * boot/i386/pc/lnxboot.S: Likewise.
12317 * boot/i386/pc/pxeboot.S: Likewise.
12318 * bus/pci.c: Likewise.
12319 * commands/cmp.c: Likewise.
12320 * commands/help.c: Likewise.
12321 * commands/hexdump.c: Likewise.
12322 * commands/i386/pc/halt.c: Likewise.
12323 * commands/i386/pc/play.c: Likewise.
12324 * commands/i386/pc/vbeinfo.c: Likewise.
12325 * commands/ls.c: Likewise.
12326 * commands/test.c: Likewise.
12327 * disk/dmraid_nvidia.c: Likewise.
12328 * disk/i386/pc/biosdisk.c: Likewise.
12329 * disk/ieee1275/nand.c: Likewise.
12330 * disk/ieee1275/ofdisk.c: Likewise.
12331 * disk/lvm.c: Likewise.
12332 * disk/raid.c: Likewise.
12333 * disk/raid6_recover.c: Likewise.
12334 * disk/scsi.c: Likewise.
12335 * fs/affs.c: Likewise.
12336 * fs/cpio.c: Likewise.
12337 * fs/ext2.c: Likewise.
12338 * fs/hfs.c: Likewise.
12339 * fs/iso9660.c: Likewise.
12340 * fs/ntfs.c: Likewise.
12341 * fs/sfs.c: Likewise.
12342 * fs/udf.c: Likewise.
12343 * fs/ufs.c: Likewise.
12344 * fs/xfs.c: Likewise.
12345 * gencmdlist.sh: Likewise.
12346 * genmk.rb: Likewise.
12347 * include/grub/disk.h: Likewise.
12348 * include/grub/efi/api.h: Likewise.
12349 * include/grub/efi/efi.h: Likewise.
12350 * include/grub/efi/pe32.h: Likewise.
12351 * include/grub/elf.h: Likewise.
12352 * include/grub/fs.h: Likewise.
12353 * include/grub/i386/at_keyboard.h: Likewise.
12354 * include/grub/i386/pc/memory.h: Likewise.
12355 * include/grub/i386/pc/vbe.h: Likewise.
12356 * include/grub/i386/pci.h: Likewise.
12357 * include/grub/i386/tsc.h: Likewise.
12358 * include/grub/ieee1275/ieee1275.h: Likewise.
12359 * include/grub/ntfs.h: Likewise.
12360 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12361 * include/grub/sparc64/libgcc.h: Likewise.
12362 * include/grub/symbol.h: Likewise.
12363 * include/grub/types.h: Likewise.
12364 * include/multiboot2.h: Likewise.
12365 * io/gzio.c: Likewise.
12366 * kern/device.c: Likewise.
12367 * kern/disk.c: Likewise.
12368 * kern/efi/efi.c: Likewise.
12369 * kern/efi/mm.c: Likewise.
12370 * kern/elf.c: Likewise.
12371 * kern/file.c: Likewise.
12372 * kern/i386/dl.c: Likewise.
12373 * kern/i386/pc/init.c: Likewise.
12374 * kern/i386/pc/startup.S: Likewise.
12375 * kern/ieee1275/ieee1275.c: Likewise.
12376 * kern/ieee1275/init.c: Likewise.
12377 * kern/main.c: Likewise.
12378 * kern/mm.c: Likewise.
12379 * kern/powerpc/dl.c: Likewise.
12380 * kern/sparc64/dl.c: Likewise.
12381 * kern/x86_64/dl.c: Likewise.
12382 * lib/hexdump.c: Likewise.
12383 * loader/efi/appleloader.c: Likewise.
12384 * loader/i386/ieee1275/linux.c: Likewise.
12385 * loader/i386/pc/chainloader.c: Likewise.
12386 * loader/i386/pc/linux.c: Likewise.
12387 * loader/i386/pc/multiboot2.c: Likewise.
12388 * loader/ieee1275/multiboot2.c: Likewise.
12389 * loader/multiboot2.c: Likewise.
12390 * loader/multiboot_loader.c: Likewise.
12391 * loader/powerpc/ieee1275/linux.c: Likewise.
12392 * normal/completion.c: Likewise.
12393 * normal/menu_entry.c: Likewise.
12394 * partmap/apple.c: Likewise.
12395 * util/grub.d/10_hurd.in: Likewise.
12396 * util/hostfs.c: Likewise.
12397 * video/readers/png.c: Likewise.
12398
12399 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12400
12401 * include/grub/misc.h (GNUC_PREREQ): New macro.
12402 (ATTRIBUTE_ERROR): New macro.
12403 * include/grub/list.h (grub_bad_type_cast_real): Use
12404 ATTRIBUTE_ERROR.
12405
12406 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12407
12408 * normal/menu_text.c (print_message): Change messages.
12409
12410 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12411
12412 * normal/menu_entry.c (store_completion): Gettextizze.
12413
12414 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12415
12416 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12417
12418 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12419
12420 * po/POTFILES: Sort correctly.
12421
12422 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12423
12424 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12425 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12426 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12427 full stop.
12428 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12429 summary. Gettextizze the strings.
12430 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12431 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12432 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12433 full stop.
12434 (GRUB_MOD_INIT): Remove command name from summary.
12435 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12436 summary.
12437 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12438 * term/i386/pc/serial.c (options): Add full stops.
12439 (GRUB_MOD_INIT): Remove command name from the summary.
12440
12441 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12442
12443 * commands/acpi.c: Gettextizze help strings and/or options. Include
12444 `grub/i18n.h' if needed.
12445 * commands/blocklist.c: Likewise.
12446 * commands/boot.c: Likewise.
12447 * commands/cat.c: Likewise.
12448 * commands/cmp.c: Likewise.
12449 * commands/configfile.c: Likewise.
12450 * commands/crc.c: Likewise.
12451 * commands/date.c: Likewise.
12452 * commands/echo.c: Likewise.
12453 * commands/efi/fixvideo.c: Likewise.
12454 * commands/efi/loadbios.c: Likewise.
12455 * commands/gptsync.c: Likewise.
12456 * commands/halt.c: Likewise.
12457 * commands/handler.c: Likewise.
12458 * commands/hdparm.c: Likewise.
12459 * commands/hexdump.c: Likewise.
12460 * commands/i386/cpuid.c: Likewise.
12461 * commands/i386/pc/drivemap.c: Likewise.
12462 * commands/i386/pc/halt.c: Likewise.
12463 * commands/i386/pc/pxecmd.c: Likewise.
12464 * commands/i386/pc/vbeinfo.c: Likewise.
12465 * commands/i386/pc/vbetest.c: Likewise.
12466 * commands/ieee1275/suspend.c: Likewise.
12467 * commands/keystatus.c: Likewise.
12468 * commands/loadenv.c: Likewise.
12469 * commands/ls.c: Likewise.
12470 * commands/lsmmap.c: Likewise.
12471 * commands/lspci.c: Likewise.
12472 * commands/memrw.c: Likewise.
12473 * commands/minicmd.c: Likewise.
12474 * commands/parttool.c: Likewise.
12475 * commands/password.c: Likewise.
12476 * commands/probe.c: Likewise.
12477 * commands/read.c: Likewise.
12478 * commands/reboot.c: Likewise.
12479 * commands/search.c: Likewise.
12480 * commands/sleep.c: Likewise.
12481 * commands/test.c: Likewise.
12482 * commands/true.c: Likewise.
12483 * commands/usbtest.c: Likewise.
12484 * commands/videotest.c: Likewise.
12485 * commands/xnu_uuid.c: Likewise.
12486 * disk/loopback.c: Likewise.
12487 * hello/hello.c: Likewise.
12488 * loader/i386/bsd.c: Likewise.
12489 * term/i386/pc/serial.c: Likewise.
12490 * po/POTFILES: Add new files.
12491
12492 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12493
12494 * term/i386/pc/at_keyboard.c
12495 (keyboard_controller_wait_untill_ready): Rename to ...
12496 (keyboard_controller_wait_until_ready): ... this. Update all users.
12497
12498 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12499
12500 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12501 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12502 string using string width.
12503 * normal/menu_text.c (grub_print_message_indented): Use
12504 grub_print_spaces and not print_spaces.
12505 (print_timeout): Likewise.
12506 (print_spaces): Move to...
12507 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12508
12509 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12510
12511 Import from Gnulib.
12512
12513 * gnulib/getdelim.c: New file.
12514 * gnulib/getline.c: Likewise.
12515
12516 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12517
12518 * include/grub/list.h (grub_assert_fail): Removed.
12519 (grub_bad_type_cast_real): New function.
12520 (grub_bad_type_cast): New macro.
12521 (GRUB_AS_LIST): Use grub_bad_type_cast.
12522 (GRUB_AS_LIST_P): Likewise.
12523 (GRUB_AS_NAMED_LIST): Likewise.
12524 (GRUB_AS_NAMED_LIST_P): Likewise.
12525 (GRUB_AS_PRIO_LIST): Likewise.
12526 (GRUB_AS_PRIO_LIST_P): Likewise.
12527 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12528
12529 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12532 Fix syntax error.
12533
12534 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12535
12536 * configure.ac: Check for TARGET_CFLAGS initialization before we
12537 initialize it ourselves (sigh).
12538 Move a few modifications to TARGET_CFLAGS to be unconditional
12539 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12540 eh_frame)
12541
12542 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12543 * term/i386/pc/at_keyboard.c
12544 (keyboard_controller_wait_untill_ready): Likewise.
12545 (keyboard_controller_led): Rename `led_status' paramter to avoid
12546 name conflict.
12547
12548 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12549
12550 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12551 quotes.
12552
12553 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12556
12557 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * normal/menu_text.c (grub_print_message_indented): Prevent
12560 past-the-end-of-array dereference.
12561
12562 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12565 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12566
12567 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12568
12569 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12570 * normal/main.c (grub_normal_read_line): Remove a space from the
12571 default prompt.
12572
12573 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12574
12575 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12576 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12577 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12578 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12579 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12580 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12581 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12582
12583 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12584
12585 * video/readers/jpeg.c (cmd): Declare.
12586 (grub_cmd_jpegtest): Use `grub_command_t' type.
12587 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12588 Assign to `cmd'.
12589 (GRUB_MOD_FINI): Use `cmd' to unregister.
12590 * video/readers/png.c (cmd): Declare.
12591 (grub_cmd_pngtest): Use `grub_command_t' type.
12592 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12593 Assign to `cmd'.
12594 (GRUB_MOD_FINI): Use `cmd' to unregister.
12595 * video/readers/tga.c (cmd): Declare.
12596 (grub_cmd_tgatest): Use `grub_command_t' type.
12597 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12598 Assign to `cmd'.
12599 (GRUB_MOD_FINI): Use `cmd' to unregister.
12600
12601 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12602
12603 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12604 stops.
12605 * kern/corecmd.c (grub_register_core_commands): Likewise.
12606 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12607 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12608 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12609 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12610 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12611 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12612 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12613 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12614 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12615 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12616 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12617 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12618 * normal/handler.c (insert_handler): Likewise.
12619 * normal/main.c (GRUB_MOD_INIT): Likewise.
12620 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12621
12622 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12623
12624 * commands/help.c (grub_cmd_help): Print the command name before the
12625 summary.
12626 (GRUB_MOD_INIT): Remove command name from the summary.
12627 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12628 string as summary.
12629 * lib/arg.c (find_long): Print the command name before the summary.
12630 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12631 summary.
12632 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12633 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12634 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12635 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12636 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12637 * commands/date.c (GRUB_MOD_INIT): Likewise.
12638 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12639 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12640 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12641 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12642 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12643 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12644 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12645 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12646 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12647 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12648 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12649 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12650 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12651 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12652 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12653 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12654 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12655 * commands/password.c (GRUB_MOD_INIT): Likewise.
12656 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12657 * commands/read.c (GRUB_MOD_INIT): Likewise.
12658 * commands/search.c (GRUB_MOD_INIT): Likewise.
12659 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12660 * commands/test.c (GRUB_MOD_INIT): Likewise.
12661 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12662 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12663 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12664 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12665 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12666 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12667 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12668 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12669 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12670 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12671 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12672 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12673 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12674 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12675
12676 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 Use search command for preliminar UUID search.
12679
12680 * commands/search.c: Split into ...
12681 * commands/search_wrap.c: ...this
12682 * commands/search.c: ...and this.
12683 * commands/search_file.c: New file.
12684 * commands/search_label.c: New file.
12685 * commands/search_uuid.c: New file.
12686 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12687 Add commands/search_wrap.c, commands/search_file.c,
12688 commands/search_label.c and commands/search_uuid.c.
12689 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12690 (search_mod_SOURCES): Set to commands/search_wrap.c.
12691 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12692 search_label.mod.
12693 (search_fs_file_mod_SOURCES): New variable.
12694 (search_fs_file_mod_CFLAGS): Likewise.
12695 (search_fs_file_mod_LDFLAGS): Likewise.
12696 (search_label_mod_SOURCES): Likewise.
12697 (search_label_mod_CFLAGS): Likewise.
12698 (search_label_mod_LDFLAGS): Likewise.
12699 (search_fs_uuid_mod_SOURCES): New variable.
12700 (search_fs_uuid_mod_CFLAGS): Likewise.
12701 (search_fs_uuid_mod_LDFLAGS): Likewise.
12702 (fs_file_mod_SOURCES): Removed.
12703 (fs_file_mod_CFLAGS): Likewise.
12704 (fs_file_mod_LDFLAGS): Likewise.
12705 (fs_uuid_mod_SOURCES): Removed.
12706 (fs_uuid_mod_CFLAGS): Likewise.
12707 (fs_uuid_mod_LDFLAGS): Likewise.
12708 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12709 Set to util/grub-install.in.
12710 * disk/fs_file.c: Removed.
12711 * disk/fs_uuid.c: Likewise.
12712 * include/grub/search.h: New file.
12713 * util/grub-install.in: Handle sparc64.
12714 Create and use load.cfg.
12715 * util/sparc64/ieee1275/grub-install.in: Removed.
12716
12717 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12720 Ignore return status if CF is cleared.
12721 (grub_biosdisk_get_diskinfo_standard): Likewise.
12722
12723 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12724
12725 * term/i386/pc/at_keyboard.c
12726 (keyboard_controller_wait_untill_ready): New function.
12727 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12728 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12729 for keyboard polling, rather than duplicate the same loop. This
12730 saves a few bytes in code size.
12731
12732 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Support for (pxe[:server[:gateway]]) syntax and
12735 use environment variable for PXE.
12736
12737 * commands/i386/pc/pxecmd.c (options): Removed.
12738 (print_ip): Removed.
12739 (grub_cmd_pxe): Removed
12740 (grub_cmd_pxe_unload): New function.
12741 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12742 (grub_pxe_your_ip): Made static.
12743 (grub_pxe_default_server_ip): Likewise.
12744 (grub_pxe_default_gateway_ip): Likewise.
12745 (grub_pxe_blksize): Likewise.
12746 (parse_ip): New function.
12747 (grub_pxe_open): Support server and gateway specification.
12748 (grub_pxe_close): Free disk->data.
12749 (grub_pxefs_open): Use disk->data.
12750 (grub_pxefs_read): Likewise.
12751 (grub_env_write_readonly): New function.
12752 (set_mac_env): Likewise.
12753 (set_env_limn_ro): Likewise.
12754 (parse_dhcp_vendor): Likewise.
12755 (grub_pxe_detect): Set the environment variables.
12756 (set_ip_env): New function.
12757 (write_ip_env): Likewise.
12758 (grub_env_write_pxe_default_server): Likewise.
12759 (grub_env_write_pxe_default_gateway): Likewise.
12760 (grub_env_write_pxe_blocksize): Likewise.
12761 (GRUB_MOD_INIT(pxe)): Set environment variables.
12762 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12763 (grub_pxe_mac_addr_t): ... this. All users updated.
12764 (grub_pxe_your_ip): Removed.
12765 (grub_pxe_server_ip): Likewise.
12766 (grub_pxe_gateway_ip): Likewise.
12767 (grub_pxe_blksize): Likewise.
12768
12769 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12770
12771 * commands/help.c: Include `<grub/i18n.h>'.
12772 (grub_cmd_help): Gettextizze.
12773 (GRUB_MOD_INIT): Likewise.
12774 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12775 (GRUB_MOD_INIT): Gettextizze.
12776 * commands/search.c: Include `<grub/i18n.h>'.
12777 (options): Gettextizze.
12778 (GRUB_MOD_INIT): Gettextizze.
12779 * lib/arg.c: Include `<grub/i18n.h>'.
12780 (help_options): Gettextizze.
12781 (find_long): Likewise.
12782 (grub_arg_show_help): Likewise.
12783 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12784 (read_command_list): Gettextizze.
12785 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12786 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12787
12788 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12789
12790 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12791 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12792 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12793 (led_status): New variable.
12794 (keyboard_controller_led): New function.
12795 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12796 update led status for caps lock, num lock and scroll lock.
12797
12798 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12799
12800 * util/hostdisk.c (open_device): Fix a comment.
12801
12802 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12803
12804 * util/grub-install.in (host_os): New variable.
12805 * util/i386/efi/grub-install.in (host_os): Likewise.
12806
12807 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12808
12809 * util/mkisofs/write.c (padblock_write): Abort when given an
12810 excedingly large embed image, instead of silently truncating it.
12811
12812 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12813
12814 * include/multiboot.h: Indentation fixes.
12815
12816 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12817
12818 * include/multiboot.h (struct multiboot_aout_symbol_table)
12819 (struct multiboot_elf_section_header_table): New structure
12820 declarations (stolen from GRUB Legacy).
12821 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12822 table information.
12823
12824 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12825 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12826 type aliases.
12827
12828 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12829
12830 * include/multiboot.h: Make comments src2texi-friendly.
12831
12832 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12833
12834 For consistency with [multiboot]/docs/boot.S.
12835
12836 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12837 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12838 (MULTIBOOT_MAGIC2): Rename from this ...
12839 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12840
12841 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12842
12843 * include/multiboot.h: Remove `<grub/types.h>'.
12844 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12845 types. Update all users.
12846
12847 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12848
12849 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12850 `couldn't' and `can not' by `cannot'.
12851 * commands/i386/pc/drivemap.c: Likewise.
12852 * disk/ata.c: Likewise.
12853 * disk/ieee1275/nand.c: Likewise.
12854 * fs/affs.c: Likewise.
12855 * fs/fat.c: Likewise.
12856 * fs/hfs.c: Likewise.
12857 * fs/hfsplus.c: Likewise.
12858 * fs/iso9660.c: Likewise.
12859 * fs/jfs.c: Likewise.
12860 * fs/minix.c: Likewise.
12861 * fs/reiserfs.c: Likewise.
12862 * fs/sfs.c: Likewise.
12863 * fs/udf.c: Likewise.
12864 * fs/ufs.c: Likewise.
12865 * fs/xfs.c: Likewise.
12866 * loader/powerpc/ieee1275/linux.c: Likewise.
12867 * loader/sparc64/ieee1275/linux.c: Likewise.
12868 * util/grub-probe.c: Likewise.
12869 * util/misc.c: Likewise.
12870
12871 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12872
12873 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12874 grub_errno calls.
12875 * commands/acpi.c: Likewise.
12876 * commands/blocklist.c: Likewise.
12877 * commands/efi/loadbios.c: Likewise.
12878 * commands/i386/pc/drivemap.c: Likewise.
12879 * commands/loadenv.c: Likewise.
12880 * commands/memrw.c: Likewise.
12881 * commands/password.c: Likewise.
12882 * commands/videotest.c: Likewise.
12883 * disk/ata.c: Likewise.
12884 * disk/ata_pthru.c: Likewise.
12885 * disk/dmraid_nvidia.c: Likewise.
12886 * disk/ieee1275/nand.c: Likewise.
12887 * disk/ieee1275/ofdisk.c: Likewise.
12888 * disk/loopback.c: Likewise.
12889 * disk/lvm.c: Likewise.
12890 * disk/mdraid_linux.c: Likewise.
12891 * disk/raid.c: Likewise.
12892 * disk/raid6_recover.c: Likewise.
12893 * disk/scsi.c: Likewise.
12894 * efiemu/main.c: Likewise.
12895 * efiemu/mm.c: Likewise.
12896 * efiemu/pnvram.c: Likewise.
12897 * efiemu/symbols.c: Likewise.
12898 * font/font.c: Likewise.
12899 * fs/cpio.c: Likewise.
12900 * fs/hfsplus.c: Likewise.
12901 * fs/iso9660.c: Likewise.
12902 * fs/jfs.c: Likewise.
12903 * fs/minix.c: Likewise.
12904 * fs/ntfs.c: Likewise.
12905 * fs/ntfscomp.c: Likewise.
12906 * fs/reiserfs.c: Likewise.
12907 * fs/ufs.c: Likewise.
12908 * fs/xfs.c: Likewise.
12909 * gettext/gettext.c: Likewise.
12910 * include/grub/auth.h: Likewise.
12911 * kern/elf.c: Likewise.
12912 * kern/file.c: Likewise.
12913 * kern/ieee1275/init.c: Likewise.
12914 * kern/ieee1275/mmap.c: Likewise.
12915 * kern/ieee1275/openfw.c: Likewise.
12916 * kern/powerpc/dl.c: Likewise.
12917 * kern/sparc64/dl.c: Likewise.
12918 * lib/arg.c: Likewise.
12919 * loader/i386/bsd.c: Likewise.
12920 * loader/i386/bsdXX.c: Likewise.
12921 * loader/i386/efi/linux.c: Likewise.
12922 * loader/i386/efi/xnu.c: Likewise.
12923 * loader/i386/ieee1275/linux.c: Likewise.
12924 * loader/i386/linux.c: Likewise.
12925 * loader/i386/multiboot.c: Likewise.
12926 * loader/i386/pc/linux.c: Likewise.
12927 * loader/i386/pc/multiboot2.c: Likewise.
12928 * loader/i386/xnu.c: Likewise.
12929 * loader/ieee1275/multiboot2.c: Likewise.
12930 * loader/macho.c: Likewise.
12931 * loader/machoXX.c: Likewise.
12932 * loader/multiboot2.c: Likewise.
12933 * loader/multiboot_loader.c: Likewise.
12934 * loader/powerpc/ieee1275/linux.c: Likewise.
12935 * loader/sparc64/ieee1275/linux.c: Likewise.
12936 * loader/xnu.c: Likewise.
12937 * loader/xnu_resume.c: Likewise.
12938 * mmap/i386/pc/mmap.c: Likewise.
12939 * normal/menu_viewer.c: Likewise.
12940 * partmap/acorn.c: Likewise.
12941 * partmap/amiga.c: Likewise.
12942 * partmap/apple.c: Likewise.
12943 * script/lexer.c: Likewise.
12944 * term/gfxterm.c: Likewise.
12945 * term/i386/pc/serial.c: Likewise.
12946 * term/i386/pc/vga.c: Likewise.
12947 * term/ieee1275/ofconsole.c: Likewise.
12948 * term/terminfo.c: Likewise.
12949 * video/bitmap.c: Likewise.
12950 * video/efi_gop.c: Likewise.
12951 * video/efi_uga.c: Likewise.
12952 * video/fb/video_fb.c: Likewise.
12953 * video/i386/pc/vbe.c: Likewise.
12954 * video/readers/tga.c: Likewise.
12955 * video/video.c: Likewise.
12956
12957 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12958
12959 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12960 * commands/lspci.c: Likewise.
12961 * commands/probe.c: Likewise.
12962 * commands/xnu_uuid.c: Likewise.
12963 * conf/i386-coreboot.rmk: Likewise.
12964 * conf/i386-efi.rmk: Likewise.
12965 * conf/i386-ieee1275.rmk: Likewise.
12966 * conf/i386-pc.rmk: Likewise.
12967 * conf/powerpc-ieee1275.rmk: Likewise.
12968 * conf/sparc64-ieee1275.rmk: Likewise.
12969 * conf/x86_64-efi.rmk: Likewise.
12970 * fs/i386/pc/pxe.c: Likewise.
12971 * gettext/gettext.c: Likewise.
12972 * include/grub/efi/graphics_output.h: Likewise.
12973 * include/grub/i386/pc/memory.h: Likewise.
12974 * kern/env.c: Likewise.
12975 * kern/i386/qemu/startup.S: Likewise.
12976 * lib/i386/pc/biosnum.c: Likewise.
12977 * lib/i386/relocator.c: Likewise.
12978 * lib/i386/relocator_asm.S: Likewise.
12979 * lib/relocator.c: Likewise.
12980 * loader/i386/bsd.c: Likewise.
12981 * loader/i386/multiboot.c: Likewise.
12982 * loader/i386/pc/chainloader.c: Likewise.
12983 * loader/i386/xnu.c: Likewise.
12984 * loader/xnu.c: Likewise.
12985 * normal/main.c: Likewise.
12986 * normal/menu_text.c: Likewise.
12987 * util/getroot.c: Likewise.
12988 * util/grub-mkconfig_lib.in: Likewise.
12989 * util/grub.d/00_header.in: Likewise.
12990 * util/i386/pc/grub-mkimage.c: Likewise.
12991 * util/mkisofs/eltorito.c: Likewise.
12992 * util/mkisofs/exclude.h: Likewise.
12993 * util/mkisofs/hash.c: Likewise.
12994 * util/mkisofs/iso9660.h: Likewise.
12995 * util/mkisofs/joliet.c: Likewise.
12996 * util/mkisofs/mkisofs.c: Likewise.
12997 * util/mkisofs/mkisofs.h: Likewise.
12998 * util/mkisofs/multi.c: Likewise.
12999 * util/mkisofs/name.c: Likewise.
13000 * util/mkisofs/rock.c: Likewise.
13001 * util/mkisofs/tree.c: Likewise.
13002 * util/mkisofs/write.c: Likewise.
13003 * video/efi_gop.c: Likewise.
13004
13005 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13008 size counting.
13009
13010 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13011
13012 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13013 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13014
13015 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13018 (GRUB_MOD_INIT(memrw)): Update help line.
13019
13020 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13023 Use grub_extcmd_t. All users updated.
13024 (options): New variable.
13025 (grub_cmd_read): Restructure for readability. Support "-v" option.
13026 (grub_cmd_write): Restructure for readability.
13027
13028 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13029
13030 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13031
13032 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13033
13034 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13035 with the actual contents of the correspondending make variable.
13036 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13037 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13038 specifying `*.lst' and `efiemu??.o'
13039
13040 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13041
13042 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13043 after function name.
13044 Noticed by Rene Engelhard <rene@debian.org>.
13045
13046 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13049 (options): New variable.
13050 (iospace): Likewise.
13051 (grub_lspci_iter): List IO spaces if "-i" was given.
13052 (grub_cmd_lspci): Parse options.
13053 (GRUB_MOD_INIT(lspci)): Use extcmd.
13054 (GRUB_MOD_FINI(lspci)): Likewise.
13055
13056 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13057
13058 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13059 `function' keyword.
13060 Patch by Tony Mancill <tmancill@debian.org>.
13061
13062 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13065 (grub_uhci_portstatus): Likewise.
13066 (grub_uhci_portstatus): Add necessary delay.
13067 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
13068
13069 2009-12-21 Carles Pina i Estany <carles@pina.cat>
13070
13071 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13072 (GRUB_MOD_INIT): Likewise.
13073 * commands/boot.c (GRUB_MOD_INIT): Likewise.
13074 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13075 * commands/echo.c (options): Fix capitalizations and/or full stops.
13076 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13077 (enable_rom_area): Likewise.
13078 (GRUB_MOD_INIT): Likewise.
13079 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13080 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13081 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13082 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13083 * commands/hexdump.c (options): Likewise.
13084 * commands/i386/cpuid.c (options): Likewise.
13085 (GRUB_MOD_INIT): Likewise.
13086 * commands/i386/pc/drivemap.c (options): Likewise.
13087 (GRUB_MOD_INIT): Likewise.
13088 * commands/i386/pc/halt (options): Likewise.
13089 (GRUB_MOD_INIT): Likewise.
13090 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13091 * commands/i386/pc/pxecmd.c (options): Likewise.
13092 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13093 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13094 * commands/keystatus.c (options): Likewise.
13095 (GRUB_MOD_INIT): Likewise.
13096 * commands/loadenv.c (options): Likewise.
13097 * commands/ls.c (options): Likewise.
13098 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13099 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13100 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13101 * commands/parttool.c (helpmsg): Likewise.
13102 * commands/probe.c (options): Likewise.
13103 * commands/read.c (GRUB_MOD_INIT): Likewise.
13104 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13105 * commands/search.c (options): Likewise.
13106 * commands/sleep.c (options): Likewise.
13107 * commands/test.c (GRUB_MOD_INIT): Likewise.
13108 * commands/true.c (GRUB_MOD_INIT): Likewise.
13109 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13110 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13111 * lib/arg.c (help_options): Likewise.
13112 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13113 `$(XGETTEXT)'.
13114 * po/POTFILES: Add `commands/loadenv.c'.
13115
13116 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
13117
13118 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
13119 instead of specifying them explicit.
13120
13121 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13122
13123 * NEWS: Add grub-probe support for GNU/Hurd.
13124
13125 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13126
13127 * NEWS: gettext was added after 1.97.
13128
13129 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13130
13131 * util/mkisofs/msdos_partition.h: New file (based on
13132 include/grub/msdos_partition.h).
13133 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13134 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13135 (ld_options, main): Recognize --protective-msdos-label.
13136 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13137 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13138 (padblock_write): If `use_protective_msdos_label' is set, patch a
13139 protective DOS-style label in the output image.
13140
13141 * util/grub-mkrescue.in: Use --protective-msdos-label.
13142
13143 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13144
13145 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13146 boot.
13147
13148 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13149
13150 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13151 variables.
13152 (ld_options, main): Recognize `--embedded-boot'.
13153 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13154 declarations.
13155 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13156 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13157 (padblock_write): Likewise. Rewrite to support embedded boot image.
13158
13159 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13160 for BIOS-based disk boot instead of only ElTorito.
13161
13162 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13163
13164 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13165 build (not needed for bootstrap).
13166
13167 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13168
13169 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13170 from i386-pc build (not needed for bootstrap).
13171 Rewrite a pair of strings.
13172
13173 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13174
13175 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13176
13177 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13180
13181 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13182
13183 * kern/env.c (grub_env_context_open): Mark exported variable for
13184 reexport.
13185
13186 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13187
13188 * kern/env.c (grub_env_export): Create nonexistent variables before
13189 exporting.
13190
13191 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13192
13193 * include/grub/auth.h: Include `<grub/i18n.h>'.
13194 (GRUB_GET_PASSWORD): Gettextizze string.
13195 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13196 menu_text.c.
13197 (grub_utf8_to_ucs4_alloc): Fix indentation.
13198 (grub_print_ucs4): Likewise.
13199 (grub_getstringwidth): Likewise.
13200 (print_message_indented): New declaration.
13201 * normal/auth.c: Include `<grub/i18n.h>'.
13202 (grub_auth_check_authentication): Gettexttize string.
13203 * normal/cmdline.c: Include `<grub/i18n.h>'.
13204 (grub_cmdline_get): Gettextizze.
13205 * normal/color.c: Include `<grub/i18n.h>'.
13206 (grub_parse_color_name_pair): Gettexttize strings.
13207 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13208 string (use `print_message_indented').
13209 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13210 `include/grub/normal.h'.
13211 (print_message_indented): Renamed to ...
13212 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13213 used in normal/main.c).
13214 (print_message): Use `grub_print_message_indented' instead of
13215 `print_message_indented'.
13216 (print_timeout): Likewise.
13217 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13218 (grub_normal_print_device_info): Gettexttize strings.
13219 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13220
13221 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13224 of arguments. Return number of tokens and not arguments. All users
13225 updated.
13226
13227 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13230 non-MSDOS paritions.
13231
13232 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * include/grub/types.h (UNUSED): Removed since it conflicts with
13235 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13236 Reported by Grégoire Sutre.
13237
13238 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13239
13240 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13241 (grub_print_ucs4_alloc): Likewise.
13242 (grub_getstringwidth): Likewise.
13243 * normal/main.c (grub_normal_init_page): Gettextize version string.
13244 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13245 (getstringwidth): Renamed to ...
13246 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13247 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13248 (grub_print_ucs4): Remove `static' qualifer (now used in
13249 normal/main.c).
13250 * po/POTFILES: Add normal/main.c.
13251
13252 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13253
13254 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13255 (print_message_indented): Add `margin_left' and `margin_right'
13256 parameters.
13257 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13258 strings.
13259 (print_timeout): Use `print_message_indented' to print the message.
13260 Deletes `second_stage' parameter.
13261 (run_menu): Update `print_timeout' calls.
13262
13263 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 Fix console palette on OpenFirmware.
13266
13267 * term/ieee1275/ofconsole.c (MAX): Removed.
13268 (colors): Redone based on VGA palette.
13269 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13270 colors are supported.
13271 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13272
13273 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 Fix potential EfiEmu double prepare.
13276
13277 * efiemu/main.c (prepared): New variable
13278 (grub_efiemu_unload): Set prepare to '0'.
13279 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13280
13281 set_virtual_address_map support.
13282
13283 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13284 prototype.
13285 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13286 prototype.
13287 (grub_efiemu_crc32): Likewise.
13288 (grub_efiemu_crc64): Likewise.
13289 (grub_efiemu_set_virtual_address_map): Likewise.
13290 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13291 New definition.
13292 (grub_autoefi_set_virtual_address_map): Likewise.
13293 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13294 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13295 Restructure flow to accomodate it.
13296 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13297 (grub_efiemu_crc): Recompute CRC32.
13298 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13299 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13300 * efiemu/symbols.c (relocated_handle): New variable.
13301 (grub_efiemu_free_syms): Free relocated_handle.
13302 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13303 (grub_efiemu_write_sym_markers): New function.
13304 (grub_efiemu_set_virtual_address_map): Likewise.
13305
13306 Newer XNU parameters.
13307
13308 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13309 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13310 (grub_xnu_fill_devicetree): New prototype.
13311 (grub_xnu_heap_real_start): New variable.
13312 * loader/xnu.c (get_name_ptr): New function.
13313 (grub_xnu_load_driver): Fill namelen and name.
13314
13315 64-bit xnu support.
13316
13317 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13318 and 'loader/macho64.c'.
13319 * conf/i386-pc.rmk: Likewise.
13320 * conf/x86_64-efi.rmk: Likewise.
13321 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13322 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13323 * include/grub/macho.h (grub_macho_segment64): New structure.
13324 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13325 (grub_macho_size32): ... to this.
13326 (grub_macho32_get_entry_point): Renamed from ...
13327 (grub_macho_get_entry_point32): ... to this.
13328 (grub_macho_contains_macho64): New prototype.
13329 (grub_macho_size64): Likewise.
13330 (grub_macho_get_entry_point64): Likewise.
13331 (grub_macho32_load): Renamed from ...
13332 (grub_macho_load32): ... to this.
13333 (grub_macho32_filesize): Renamed from ...
13334 (grub_macho_filesize32): ... to this.
13335 (grub_macho32_readfile): Renamed from ...
13336 (grub_macho_readfile32): ... to this.
13337 (grub_macho_filesize64): New prototype.
13338 (grub_macho_readfile64): Likewise.
13339 (grub_macho_parse32): Likewise.
13340 (grub_macho_parse64): Likewise.
13341 * loader/macho.c: Split into ...
13342 * loader/machoXX.c: ... and this. Replace 32 with XX.
13343 * loader/macho32.c: New file.
13344 * loader/macho64.c: Likewise.
13345 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13346 (grub_cmd_xnu_kernel): Make 32-bit only.
13347 (grub_cmd_xnu_kernel64): New function.
13348 (grub_xnu_load_driver): Support Mach-O 64.
13349 (grub_cmd_xnu_mkext): Likewise.
13350 * util/grub.d/30_os-prober.in (osx_entry): New function.
13351 Generate entries for 64-bit boot too.
13352
13353 Eliminate ad-hoc tree format in XNU and EfiEmu.
13354
13355 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13356 * efiemu/pnvram.c: Rewritten to use environment variables.
13357 All users updated.
13358
13359 Inline utf16_to_utf8.
13360
13361 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13362 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13363 All users updated.
13364 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13365
13366 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13367 * commands/usbtest.c (grub_usb_get_string): ... move here.
13368 (usb_print_str): Fix error handling.
13369 * include/grub/usb.h (grub_usb_get_string): Remove.
13370
13371 UTF-8 to UTF-16 transformation.
13372
13373 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13374 (charset_mod_SOURCES): New variable.
13375 (charset_mod_CFLAGS): Likewise.
13376 (charset_mod_LDFLAGS): Likewise.
13377 * include/grub/utf.h: New file.
13378 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13379
13380 Support for device properties.
13381
13382 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13383 (grub_xnu_devprop_device_header): Likewise.
13384 (grub_xnu_devprop_device_descriptor): Likewise.
13385 (grub_xnu_devprop_add_device): New prototype.
13386 (grub_xnu_devprop_remove_device): Likewise.
13387 (grub_xnu_devprop_remove_property): Likewise.
13388 (grub_xnu_devprop_add_property_utf8): Likewise.
13389 (grub_xnu_devprop_add_property_utf16): Likewise.
13390 (grub_cpu_xnu_init): Likewise.
13391 (grub_cpu_xnu_fini): Likewise.
13392 (grub_cpu_xnu_unload): Likewise.
13393 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13394 (property_descriptor): Likewise.
13395 (devices): New variable.
13396 (grub_xnu_devprop_remove_property): New function.
13397 (grub_xnu_devprop_add_device): Likewise.
13398 (grub_xnu_devprop_remove_device): Likewise.
13399 (grub_xnu_devprop_add_property): Likewise.
13400 (grub_xnu_devprop_add_property_utf8): Likewise.
13401 (grub_xnu_devprop_add_property_utf16): Likewise.
13402 (hextoval): Likewise.
13403 (grub_cpu_xnu_fill_devprop): Likewise.
13404 (grub_cmd_devprop_load): Likewise.
13405 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13406 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13407 (cmd_devprop_load): New variable.
13408 (grub_cpu_xnu_init): New function.
13409 (grub_cpu_xnu_fini): Likewise.
13410 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13411 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13412 (grub_cmd_xnu_devtree): Likewise.
13413 (hextoval): New function.
13414 (unescape): Likewise.
13415 (grub_xnu_fill_devicetree): Likewise.
13416
13417 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13418 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13419
13420 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 Workaround for broken ATI VBE.
13423
13424 * video/i386/pc/vbe.c (last_set_mode): New variable.
13425 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13426 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13427 (grub_video_vbe_setup): Don't check for reserved flag.
13428
13429 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13430
13431 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13432 the `find' command.
13433
13434 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 UUID support for HFS.
13437
13438 * fs/hfs.c (grub_hfs_uuid): New function.
13439 (grub_hfs_fs): New value .uuid.
13440 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13441
13442 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13443
13444 Fix a segfault with parsing unknown long options.
13445
13446 * util/grub-mkrelpath.c (options): Zero terminate it.
13447
13448 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13449
13450 * include/grub/misc.h (grub_puts): New declaration.
13451 (grub_puts_): Likewise.
13452 * kern/misc.c (grub_puts): New definition.
13453 (grub_puts_): Likewise.
13454
13455 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13456
13457 * util/grub-probe.c (probe): Improve error message.
13458
13459 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13460
13461 * loader/i386/multiboot_elfxx.c
13462 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13463 initialization.
13464
13465 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Relocator framework
13468
13469 * loader/i386/xnu_helper.S: Removed. All users updated.
13470 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13471 (relocator_mod_SOURCES): New variable.
13472 (relocator_mod_CFLAGS): Likewise.
13473 (relocator_mod_LDFLAGS): Likewise.
13474 (relocator_mod_ASFLAGS): Likewise.
13475 * conf/x86_64.rmk: Likewise.
13476 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13477 (grub_multiboot_payload_entry_offset): Likewise.
13478 (grub_multiboot_forward_relocator): Likewise.
13479 (grub_multiboot_forward_relocator_end): Likewise.
13480 (grub_multiboot_backward_relocator): Likewise.
13481 (grub_multiboot_backward_relocator_end): Likewise.
13482 (grub_multiboot_payload_eip): New variable.
13483 (grub_multiboot_payload_orig): Likewise.
13484 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13485 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13486 * include/grub/i386/memory.h
13487 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13488 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13489 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13490 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13491 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13492 * include/grub/i386/relocator.h: New file.
13493 * include/grub/x86_64/relocator.h: Likewise.
13494 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13495 (XNU_RELOCATOR): New macro.
13496 (grub_xnu_launcher_start): Remove.
13497 (grub_xnu_launcher_end): Likewise.
13498 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13499 (grub_xnu_heap_real_start): Remove.
13500 (grub_xnu_heap_start): Change to void *. All users updated.
13501 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13502 * lib/i386/relocator.c: New file.
13503 * lib/i386/relocator_asm.S: Likewise.
13504 * lib/i386/relocator_backward.S: Likewise.
13505 * lib/mips/relocator.c: Likewise.
13506 * lib/mips/relocator_asm.S: Likewise.
13507 * lib/relocator.c: Likewise.
13508 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13509 (entry): Removed.
13510 (playground): Likewise.
13511 (grub_multiboot_payload_orig): New variable.
13512 (grub_multiboot_payload_dest): Likewise.
13513 (grub_multiboot_payload_size): Likewise.
13514 (grub_multiboot_payload_eip): Likewise.
13515 (grub_multiboot_payload_esp): Likewise.
13516 (grub_multiboot_boot): Use grub_relocator32_boot.
13517 (grub_multiboot_unload): Free relocators.
13518 (grub_multiboot): Setup stack. Use relocators.
13519 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13520 (grub_multiboot_load_elfXX): Use relocators.
13521 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13522 (grub_multiboot_payload_size): Likewise.
13523 (grub_multiboot_payload_dest): Likewise.
13524 (grub_multiboot_payload_entry_offset): Likewise.
13525 (grub_multiboot_forward_relocator): Likewise.
13526 (grub_multiboot_backward_relocator): Likewise.
13527 (grub_multiboot_real_boot): Likewise.
13528 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13529 (grub_xnu_entry_point): Likewise.
13530 (grub_xnu_arg1): Likewise.
13531 (grub_xnu_stack): Likewise.
13532 (grub_xnu_launch): Removed.
13533 (grub_xnu_boot_resume): New function.
13534 (grub_xnu_boot): Use relocators.
13535 * loader/i386/xnu_helper.S: Removed.
13536 * loader/xnu.c (grub_xnu_heap_start): New variable.
13537 (grub_xnu_heap_size): Likewise.
13538 (grub_xnu_heap_malloc): Use relocators.
13539 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13540
13541 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13544 anything.
13545
13546 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13547
13548 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13549 GRUB_ERR_NONE before calling grub_env_set.
13550
13551 2009-12-12 Robert Millan <rmh@aybabtu.com>
13552
13553 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13554 * genmk.rb (video): New variable.
13555 (CLEANFILES, VIDEOFILES): Add #{video}.
13556 (#{video}): New target rule.
13557 * genvideolist.sh: New file.
13558 * Makefile.in (pkglib_DATA): Add video.lst.
13559 (video.lst): New target rule.
13560 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13561 `video.lst'.
13562 * util/grub.d/30_os-prober.in: Replace `vbe' with
13563 ${GRUB_VIDEO_BACKEND}.
13564
13565 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13566
13567 * THANKS: Add David Miller.
13568
13569 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 libpciaccess support.
13572
13573 * Makefile.in (LIBPCIACCESS): New variable.
13574 (enable_grub_emu_pci): Likewise.
13575 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13576 util/pci.c and commands/lspci.c.
13577 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13578 * configure.ac (grub-emu-pci): New option.
13579 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13580 (grub_pci_device_unmap_range): Likewise.
13581 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13582 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13583 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13584 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13585 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13586 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13587 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13588 * include/grub/pciutils.h: New file.
13589 * util/pci.c: Likewise.
13590
13591 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13592
13593 * util/misc.c: Don't include <errno.h> twice.
13594
13595 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13596
13597 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13598 name in an error message.
13599 (grub_biosdisk_rw): Likewise.
13600
13601 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Eliminate NTFS 4Gib barrier.
13604
13605 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13606 (read_run_data): Likewise.
13607 (grub_ntfs_read_run_list): Likewise.
13608 (grub_ntfs_read_block): Likewise.
13609 (grub_ntfs_iterate_dir): Likewise.
13610 (read_mft): Likewise.
13611 (read_data): Likewise.
13612 Use COM_LOG_LEN.
13613 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13614 to avoid 64-bit division
13615 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13616 (grub_ntfs_rlst): Use grub_disk_addr_t.
13617
13618 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 Eliminate grub-fstest 4Gib barrier.
13621
13622 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13623 (read_file): Fix error reporting.
13624
13625 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 Eliminate hexdump 4Gib barrier.
13628
13629 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13630 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13631
13632 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13635 Fixes amarsh bug.
13636
13637 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13638
13639 Remove miscellaneous files in distclean target.
13640
13641 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13642
13643 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13644
13645 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13646 if they're already set. This resolves the conflict between my
13647 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13648 fixing the --grub-probe option again.
13649 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13650 change on 2009-10-06, so that we now once again source
13651 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13652
13653 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13654
13655 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13656 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13657 `util/devicemap.c'.
13658
13659 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13660
13661 * include/grub/misc.h (grub_printf_): New declaration.
13662 * kern/misc.c (grub_printf_): New definition.
13663 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13664 instead of `grub_printf' and `_'.
13665 * normal/menu_entry.c (store_completion): Likewise.
13666 (run): Likewise.
13667 (grub_menu_entry_run): Likewise.
13668 * normal/menu_text.c (grub_wait_after_message): Likewise.
13669 (notify_booting): Likewise.
13670 (notify_fallback): Likewise.
13671 (notify_execution_failure): Likewise.
13672
13673 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * configure.ac: Check for vasprintf.
13676 * util/misc.c (asprintf): Move allocation from here ...
13677 (vasprintf): ... to here. New function.
13678 (xasprintf): New function.
13679 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13680 prototypes.
13681 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13682 * util/grub-mkfont.c (write_font): Likewise.
13683 * util/grub-probe.c (probe): Likewise.
13684 * util/hostdisk.c (make_device_name): Likewise.
13685
13686 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13687
13688 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13689 anything even prefixed with 'cdrom' as a cdrom.
13690
13691 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13692
13693 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13694 mount points.
13695
13696 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13697
13698 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13699 grub_gettext_msg_list.
13700 (grub_gettext_gettranslation_from_position): Return const char *
13701 and not char *.
13702 (grub_gettext_translate): Add the translated strings into a list,
13703 returns from the list if existing there.
13704 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13705 (grub_gettext_delete_list): Delete the list.
13706 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13707 lang environment variable is changed.
13708 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13709
13710 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 Rename kernel.mod to kernel.img.
13713
13714 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13715 (kernel_mod_EXPORTS): Rename to ...
13716 (kernel_img_EXPORTS): ... this.
13717 (kernel_mod_SOURCES): Rename to ...
13718 (kernel_img_SOURCES): ... this.
13719 (kernel_mod_HEADERS): Rename to ...
13720 (kernel_img_HEADERS): ... this. All users updated.
13721 (kernel_mod_CFLAGS): Rename to ...
13722 (kernel_img_CFLAGS): ... this.
13723 (kernel_mod_ASFLAGS): Rename to ...
13724 (kernel_img_ASFLAGS): ... this.
13725 (kernel_mod_LDFLAGS): Rename to ...
13726 (kernel_img_LDFLAGS): ... this.
13727 * conf/x86_64-efi.rmk: Likewise.
13728 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13729 (read_kernel_image): ... this. All users updated.
13730 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13731
13732 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13733
13734 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13735 (print_spaces): New function.
13736 (grub_print_ucs4): New function.
13737 (getstringwidth): New function.
13738 (print_message_indented): New function.
13739 (print_message): Gettexttize strings using print_message_indented.
13740 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13741 width.
13742 (get_entry_number): Gettextize and uses dynamic terminal width.
13743 (notify_booting, notify_fallback, notify_execution_failure):
13744 Gettextize.
13745 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13746 string.
13747 (run): Likewise.
13748 (grub_menu_entry_run): Likewise.
13749 * PO/POTFILES: Add normal/menu_entry.c.
13750
13751 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13754
13755 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13756
13757 * util/grub-install.in: Install gettext .mo files.
13758 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13759
13760 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13761
13762 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13763 grub_dprintf.
13764
13765 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13766
13767 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13768 non-firmware-dependant one in realmode.S takes precedence.
13769
13770 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13771
13772 * commands/halt.c: Replace misc arch-specific headers with
13773 `<grub/misc.h>'.
13774 * commands/reboot.c: Likewise.
13775 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13776 `<grub/misc.h>'.
13777 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13778 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13779 (kernel_img_SOURCES): ... to here.
13780
13781 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13782 * include/grub/i386/pc/init.h: Likewise.
13783 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13784 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13785
13786 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13787
13788 * include/grub/i386/halt.h: Remove.
13789 * include/grub/i386/reboot.h: Likewise.
13790
13791 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13792
13793 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13794
13795 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13796 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13797 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13798 "progname.h"
13799 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13800 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13801 (usage): Add missing comma in printf.
13802
13803 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13804
13805 Use the same reboot approach on i386 coreboot and qemu as we do on
13806 BIOS.
13807
13808 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13809 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13810 * kern/i386/reboot.c: Remove.
13811 * include/grub/i386/reboot.h (grub_reboot): Export function.
13812 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13813 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13814 0xf000:0xfff0 instead of 0xffff:0x0000.
13815 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13816 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13817
13818 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13819
13820 Fix $srcdir != $objdir build.
13821
13822 * Makefile.in (po/%.po): Rewrite as ...
13823 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13824
13825 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13826
13827 Fix GNU/Hurd grub-install crash.
13828 * util/grub-probe.c (probe): Try to access `path' only when it is not
13829 NULL.
13830
13831 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 Correct module naming.
13834
13835 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13836 (GRUB_MOD_INIT(efi_uga)): ... to this
13837 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13838 (GRUB_MOD_FINI(efi_uga)): ... to this
13839 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13840 (GRUB_MOD_INIT(efi_gop)): ... to this
13841 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13842 (GRUB_MOD_FINI(efi_gop)): ... to this
13843
13844 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13845
13846 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13847 translatable.
13848 (usage): Translate `arg' strings using gettext().
13849 Thanks to Jordi Mallach for the suggestion.
13850
13851 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 GOP support. Based on patch from Bean
13854 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13855
13856 * video/efi_gop.c: New file.
13857 * include/grub/efi/graphics_output.h: Likewise.
13858 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13859 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13860 variables.
13861 * conf/x86_64-efi.rmk: Likewise.
13862
13863 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Rename efi_fb to efi_uga.
13866
13867 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13868 'efi_uga.mod'.
13869 (efi_fb_mod_SOURCES): Rename this ...
13870 (efi_uga_mod_SOURCES): ... to this.
13871 (efi_fb_mod_CFLAGS): Rename this ...
13872 (efi_uga_mod_CFLAGS): ... to this.
13873 (efi_fb_mod_LDFLAGS): Rename this ...
13874 (efi_uga_mod_LDFLAGS): ... to this.
13875 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13876 'efi_uga.mod'.
13877 (efi_fb_mod_SOURCES): Rename this ...
13878 (efi_uga_mod_SOURCES): ... to this.
13879 (efi_fb_mod_CFLAGS): Rename this ...
13880 (efi_uga_mod_CFLAGS): ... to this.
13881 (efi_fb_mod_LDFLAGS): Rename this ...
13882 (efi_uga_mod_LDFLAGS): ... to this.
13883 * video/efi_fb.c: Move this ...
13884 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13885
13886 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13887
13888 * po/README: New file. Explain our PO file workflow.
13889
13890 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13891
13892 * po/ChangeLog: Remove. Move relevant entries back to ...
13893 * ChangeLog: ... here.
13894 * po/ca.po: Remove (now handled by TLP).
13895 * po/id.po: Likewise.
13896 * po/zh_CN.po: Likewise.
13897 * Makefile.in (LINGUAS): Initialize in a way that supports
13898 empty set.
13899
13900 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13901
13902 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13903 reliing on po/LINGUAS.
13904 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13905 (po/%.po): ... this.
13906
13907 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13908
13909 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13910 (main): Use `program_name' instead of nonexistent `progname'.
13911
13912 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13913
13914 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13915 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13916
13917 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13918
13919 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13920 commit.
13921 * conf/i386-efi.rmk: Likewise.
13922 * conf/i386-ieee1275.rmk: Likewise.
13923 * conf/powerpc-ieee1275.rmk: Likewise.
13924 * conf/sparc64-ieee1275.rmk: Likewise.
13925 * conf/x86_64-efi.rmk: Likewise.
13926
13927 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13928
13929 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13930
13931 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13932
13933 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13934
13935 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13936
13937 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13938 (grub_mkdevicemap_SOURCES): New variable.
13939 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13940 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13941 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13942 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13943 (grub_mkdevicemap_SOURCES): Remove.
13944 * conf/i386-efi.rmk: Likewise.
13945 * conf/i386-ieee1275.rmk: Likewise.
13946 * conf/i386-pc.rmk: Likewise.
13947 * conf/powerpc-ieee1275.rmk: Likewise.
13948 * conf/sparc64-ieee1275.rmk: Likewise.
13949 * conf/x86_64-efi.rmk: Likewise.
13950 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13951 (usage): Fix strings to use `program_name'.
13952 (main): Initialize gettext.
13953 * util/grub-editenv.c: Likewise.
13954 * util/grub-emu.c: Likewise.
13955 * util/grub-fstest.c: Likewise.
13956 * util/grub-mkdevicemap.c: Likewise.
13957 * util/grub-mkfont.c: Likewise.
13958 * util/grub-mkrelpath.c: Likewise.
13959 * util/grub-pe2elf.c: Likewise.
13960 * util/grub-probe.c: Likewise.
13961 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13962 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13963 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13964
13965 * util/misc.c: Include `"progname.h"'.
13966 (progname): Remove variable.
13967 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13968
13969 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13970
13971 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13972 printf and print a newline after the menuentry header line.
13973 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13974
13975 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13976
13977 autoconf >= 2.60 support $(localedir).
13978
13979 * INSTALL: Note that autoconf 2.60 is required.
13980 * configure.ac (AC_PREREQ): Bump to 2.60.
13981 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13982 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13983
13984 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13985
13986 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13987 aclocal is run.
13988
13989 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13990
13991 * normal/main.c (grub_normal_read_line): Fix off-by-one
13992 buffer overflow.
13993
13994 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13995
13996 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13997 "parser.grub" in grub_command_execute() call.
13998
13999 2009-11-24 Carles Pina i Estany <carles@pina.cat>
14000
14001 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14002 * conf/i386-efi.rmk: Likewise.
14003 * conf/i386-ieee1275.rmk: Likewise.
14004 * conf/i386-pc.rmk: Likewise.
14005 * conf/powerpc-ieee1275.rmk: Likewise.
14006 * conf/sparc64-ieee1275.rmk: Likewise.
14007 * conf/x86_64-efi.rmk: Likewise.
14008 * gettext/gettex.c: Include <grub/i18n.h>.
14009 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14010 here ...
14011 * include/grub/i18n.h: ... to here
14012 * include/grub/i18n.h: ... to here.
14013 * kern/misc.c: Include <grub/i18n.h>
14014 (grub_gettext_dummy): Move above user.
14015
14016 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14017
14018 * util/Makefile.in (install-local): Convert a `for' into a normal
14019 shell expansion.
14020
14021 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14022
14023 * autogen.sh: Add automake call.
14024 * config.guess: Remove.
14025 * config.sub: Likewise.
14026 * install-sh: Likewise.
14027
14028 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14029
14030 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14031
14032 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14033
14034 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14035 function to a normal shell `for'.
14036
14037 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14038
14039 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14040
14041 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14042
14043 * util/grub-mkrelpath.c: New file.
14044 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14045 (grub_mkrelpath_SOURCES): New variable.
14046 * include/grub/util/misc.h: New function prototype.
14047 * util/misc.c (make_system_path_relative_to_its_root): New function.
14048
14049 * util/grub-mkconfig_lib.in (bindir): New variable.
14050 (grub_mkrelpath): Likewise.
14051 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14052
14053 * util/probe.c (probe): Make the file path relative to its root.
14054 Change a info message to use the GRUB path. Enable again the
14055 check if we can read the file with GRUB facilities.
14056
14057 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14058 to its root.
14059
14060 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14061
14062 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14063 platform.
14064
14065 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14066
14067 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14068 strncmp().
14069
14070 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14071
14072 * util/getroot.c (grub_util_is_dmraid): New function.
14073 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14074 devices as normal ones, not as LVM.
14075
14076 2009-11-23 Carles Pina i Estany <carles@pina.cat>
14077
14078 * conf/common.rmk: Add grub-gettext_lib target and updates
14079 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14080 LDFLAGS.
14081 * gettext/gettext.c: New file. (Reads mo files).
14082 * include/grub/file.h (grub_file_pread): New prototype.
14083 * include/grub/i18n.h (_): New prototype.
14084 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14085 prototypes.
14086 * kern/misc.c (grub_gettext_dummy): New function.
14087 * normal/menu_text.c: Include <grub/i18n.h>.
14088 * normal/menu_text.c (print_timeout): Gettexttize string.
14089 * normal/menu_text.c (print_message): Gettexttize string.
14090 * po/POTFILES: Add `normal/menu_text.c'.
14091 * po/ca.po: Add new translations.
14092 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14093 gettext module and defines locale_dir and lang in grub.cfg.
14094 * NEWS: Add gettext support.
14095
14096 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14097
14098 * util/hostdisk.c: Include `<grub/i18n.h>'.
14099 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14100 (make_device_name): Rewrite using asprintf.
14101 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14102 (find_system_device): If a device is not found, generate one just
14103 by reusing the OS path name.
14104 (read_device_map): Make it permissible for device.map not to exist.
14105
14106 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14107
14108 * script/sh/execute.c: Move from here ...
14109 * script/execute.c: ... to here. Update all users.
14110 * script/sh/function.c: Move from here ...
14111 * script/function.c: ... to here. Update all users.
14112 * script/sh/lexer.c: Move from here ...
14113 * script/lexer.c: ... to here. Update all users.
14114 * script/sh/main.c: Move from here ...
14115 * script/main.c: ... to here. Update all users.
14116 * script/sh/parser.y: Move from here ...
14117 * script/parser.y: ... to here. Update all users.
14118 * script/sh/script.c: Move from here ...
14119 * script/script.c: ... to here. Update all users.
14120
14121 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14122
14123 * configure.ac: Detect all `emu' platforms. Define
14124 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14125 --enable-grub-emu logic. Disable include/grub/machine
14126 symlink on `emu' platforms.
14127
14128 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14129 * gensymlist.sh.in: Likewise.
14130
14131 * include/grub/i386/coreboot/machine.h: Remove file.
14132 * include/grub/i386/efi/machine.h: Likewise.
14133 * include/grub/i386/ieee1275/machine.h: Likewise.
14134 * include/grub/i386/pc/machine.h: Likewise.
14135 * include/grub/i386/qemu/machine.h: Likewise.
14136 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14137 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14138 * include/grub/x86_64/efi/machine.h: Likewise.
14139
14140 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14141 * commands/halt.c: Likewise.
14142 * commands/reboot.c: Likewise.
14143 * include/grub/autoefi.h: Likewise.
14144 * include/grub/i386/at_keyboard.h: Likewise.
14145 * include/grub/i386/kernel.h: Likewise.
14146 * include/grub/i386/loader.h: Likewise.
14147 * include/grub/i386/pc/memory.h: Likewise.
14148 * kern/dl.c: Likewise.
14149 * kern/i386/coreboot/init.c: Likewise.
14150 * loader/i386/bsd.c: Likewise.
14151 * loader/i386/linux.c: Likewise.
14152 * loader/multiboot_loader.c: Likewise.
14153 * term/i386/pc/serial.c: Likewise.
14154 * term/usb_keyboard.c: Likewise.
14155
14156 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14157 `<grub/machine/machine.h>'
14158 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14159 * util/misc.c: Remove `<grub/machine/machine.h>' and
14160 `<grub/machine/time.h>'.
14161
14162 * Makefile.in (enable_grub_emu): Remove variable.
14163 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14164
14165 * conf/any-emu.rmk: New file.
14166 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14167 (grub_emu_init.c): Move from here ...
14168 * conf/any-emu.rmk: ... to here.
14169
14170 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14171 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14172 * conf/any-emu.rmk: ... to here.
14173
14174 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14175
14176 * include/grub/parser.h (grub_parser_register): Document need
14177 of `name' parameter.
14178 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14179 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14180 "sh" to "grub".
14181
14182 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14183
14184 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14185 `$(XGETTEXT)'.
14186 * include/grub/i18n.h (N_): New macro.
14187 * util/mkisofs/mkisofs.h: Likewise.
14188 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14189 around N_().
14190 (usage): Use gettext() to translate help strings when printing them.
14191
14192 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14193
14194 Based on patch from Bean
14195 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14196
14197 * video/efi_fb.c: New file.
14198 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14199 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14200 variables.
14201 * conf/x86_64-efi.rmk: Likewise.
14202
14203 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14204
14205 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14206 * util/i386/pc/grub-setup.c: Likewise.
14207
14208 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14209
14210 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14211 <hurd/fs.h>
14212 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14213 file_get_storage_info to implement grub_guess_root_device.
14214
14215 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14216
14217 * Makefile.in (target): Use make's builtin $(shell) function
14218 instead of calling directly $(SHELL) to create the locale directories,
14219 inside the $(foreach) function.
14220
14221 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14222
14223 * util/grub-mkrescue.in: Print an error and usage if output option
14224 has not been given.
14225
14226 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14227
14228 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14229 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14230 root and /boot are on different devices.
14231
14232 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14233
14234 Fix build for srcdir != objdir.
14235
14236 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14237 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14238 $(srcdir).
14239 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14240 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14241 reference for input.
14242
14243 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14244
14245 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14246 or hardlinking it). Remove -J option, Joliet is not compatible with
14247 multiple source directories.
14248
14249 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14250 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14251
14252 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14253 (process_input_dir): New function. Process an arbitrary input
14254 directory.
14255 Misc adjustments to support both "override mode" and system-wide mode.
14256
14257 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14258
14259 * configure.ac (UNIFONT_BDF): Rename to ...
14260 (FONT_SOURCE): ... this. Update all users.
14261
14262 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14263
14264 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14265 to the list of unifont files to look for.
14266
14267 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14268
14269 Patch from Joe Auricchio <jauricchio@gmail.com>
14270 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14271 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14272 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14273
14274 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14275
14276 * Makefile.in (install-local): Add a missing backslash.
14277
14278 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14279
14280 * include/grub/x86_64/io.h: New file.
14281
14282 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14283
14284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14285 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14286 Include `"progname.h"'.
14287 (main): Initialize gettext.
14288 * util/i386/pc/grub-setup.c: Gettexttize.
14289 * util/i386/pc/grub-mkimage.c: Likewise.
14290
14291 * Makefile.in (po/*.po): Redefine as ...
14292 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14293
14294 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14295
14296 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14297
14298 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14299 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14300 (program_name): Remove.
14301 (main): Initialize gettext support.
14302 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14303 Include `<libintl.h>'.
14304 (_): New macro.
14305
14306 * util/mkisofs/eltorito.c: Gettexttize.
14307 * util/mkisofs/joliet.c: Likewise.
14308 * util/mkisofs/mkisofs.c: Likewise.
14309 * util/mkisofs/multi.c: Likewise.
14310 * util/mkisofs/rock.c: Likewise.
14311 * util/mkisofs/tree.c: Likewise.
14312 * util/mkisofs/write.c: Likewise.
14313
14314 * po/POTFILES: Update with new files.
14315
14316 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14317
14318 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14319 * util/mkisofs/iso9660.h: Likewise.
14320 * util/mkisofs/joliet.c: Likewise.
14321 * util/mkisofs/mkisofs.c: Likewise.
14322 * util/mkisofs/mkisofs.h: Likewise.
14323 * util/mkisofs/rock.c: Likewise.
14324 * util/mkisofs/tree.c: Likewise.
14325 * util/mkisofs/write.c: Likewise.
14326
14327 * util/mkisofs/eltorito.c (rcsid): Remove.
14328 * util/mkisofs/hash.c: Likewise.
14329 * util/mkisofs/joliet.c: Likewise.
14330 * util/mkisofs/name.c: Likewise.
14331 * util/mkisofs/rock.c: Likewise.
14332 * util/mkisofs/tree.c: Likewise.
14333 * util/mkisofs/write.c: Likewise.
14334
14335 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14336
14337 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14338 instead of static allocation.
14339 * util/mkisofs/match.h: Likewise.
14340
14341 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14342
14343 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14344 and `util/grub.d/10_linux.in'.
14345 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14346 translatable Shell files.
14347
14348 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14349
14350 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14351
14352 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14353
14354 * INSTALL: Document Automake is needed for bootstrap.
14355 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14356 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14357 Add gettext initialization.
14358 (kfreebsd_entry): Make menuentry output translatable.
14359
14360 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14361
14362 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14363 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14364 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14365 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14366 (LINGUAS): Auto-generate using `po/LINGUAS'.
14367 * po/LINGUAS: New file.
14368
14369 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14370
14371 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14372 other things).
14373 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14374 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14375 bindtextdomain() calls for gettext initialization.
14376
14377 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14378
14379 * gnulib/progname.c: New file (imported from Gnulib).
14380 * gnulib/progname.h: Likewise.
14381 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14382 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14383 (usage): Replace `progname' with `program_name'.
14384 (main): Use set_program_name() for program name initialization.
14385
14386 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14387
14388 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14389 from here ...
14390 * Makefile.in (CPPFLAGS): ... to here.
14391
14392 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14393
14394 * aclocal.m4: Move from here ...
14395 * acinclude.m4: ... to here.
14396 * autogen.sh: Add call to `aclocal'.
14397 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14398
14399 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14400
14401 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14402 (LINGUAS): New variable.
14403 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14404 (install-local): Install MO files.
14405 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14406 * include/grub/i18n.h: New file.
14407 * po/POTFILES: New file.
14408 * po/ca.po: New file.
14409 * util/grub.d/10_linux.in (bindir): New variable.
14410 Add gettext initialization.
14411 (linux_entry): Make menuentry output translatable.
14412 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14413 (usage): Make --help output translatable.
14414 (main): Initialize gettext.
14415
14416 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14417
14418 * import_gcry.py: New file (written by Vladimir with minor
14419 adjustments).
14420 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14421 ciphers.
14422 * INSTALL: Document that Python is required for bootstrap.
14423
14424 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14425
14426 Import ciphers from libgcrypt 1.4.4.
14427
14428 * lib/libgcrypt/cipher/ChangeLog
14429 * lib/libgcrypt/cipher/ac.c
14430 * lib/libgcrypt/cipher/arcfour.c
14431 * lib/libgcrypt/cipher/bithelp.h
14432 * lib/libgcrypt/cipher/blowfish.c
14433 * lib/libgcrypt/cipher/camellia-glue.c
14434 * lib/libgcrypt/cipher/camellia.c
14435 * lib/libgcrypt/cipher/camellia.h
14436 * lib/libgcrypt/cipher/cast5.c
14437 * lib/libgcrypt/cipher/cipher.c
14438 * lib/libgcrypt/cipher/crc.c
14439 * lib/libgcrypt/cipher/des.c
14440 * lib/libgcrypt/cipher/dsa.c
14441 * lib/libgcrypt/cipher/ecc.c
14442 * lib/libgcrypt/cipher/elgamal.c
14443 * lib/libgcrypt/cipher/hash-common.c
14444 * lib/libgcrypt/cipher/hash-common.h
14445 * lib/libgcrypt/cipher/hmac-tests.c
14446 * lib/libgcrypt/cipher/md.c
14447 * lib/libgcrypt/cipher/md4.c
14448 * lib/libgcrypt/cipher/md5.c
14449 * lib/libgcrypt/cipher/primegen.c
14450 * lib/libgcrypt/cipher/pubkey.c
14451 * lib/libgcrypt/cipher/rfc2268.c
14452 * lib/libgcrypt/cipher/rijndael-tables.h
14453 * lib/libgcrypt/cipher/rijndael.c
14454 * lib/libgcrypt/cipher/rmd.h
14455 * lib/libgcrypt/cipher/rmd160.c
14456 * lib/libgcrypt/cipher/rsa.c
14457 * lib/libgcrypt/cipher/seed.c
14458 * lib/libgcrypt/cipher/serpent.c
14459 * lib/libgcrypt/cipher/sha1.c
14460 * lib/libgcrypt/cipher/sha256.c
14461 * lib/libgcrypt/cipher/sha512.c
14462 * lib/libgcrypt/cipher/tiger.c
14463 * lib/libgcrypt/cipher/twofish.c
14464 * lib/libgcrypt/cipher/whirlpool.c
14465
14466 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14467
14468 Fix build for systems without error().
14469
14470 * gnulib/error.c: New file (imported from Gnulib).
14471 * gnulib/error.h: Likewise.
14472 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14473 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14474 (this variable is now used by error()).
14475
14476 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14477
14478 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14479 instead of relying that char is signed.
14480
14481 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14484 blocksize different from specified.
14485 (grub_pxefs_read): Likewise.
14486
14487 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14488
14489 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14490
14491 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14492 (grub_ata_readwrite): Likewise. Update 2 format strings.
14493 (grub_atapi_read): Likewise.
14494
14495 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14496 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14497 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14498 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14499 (ata_mod_LDFLAGS): Move from here ...
14500 * conf/i386.rmk: ... to here ...
14501 * conf/x86_64-efi.rmk: ... and here.
14502 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14503 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14504
14505 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14506
14507 Relicense multiboot.h, with RMS' blessing.
14508
14509 * include/multiboot.h: Change to X11 license.
14510
14511 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14512
14513 Support --version in grub-mkisofs.
14514
14515 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14516 (OPTION_VERSION): New macro.
14517 (ld_options): Recognize --version.
14518 (usage): Move `program_name' from here ...
14519 (program_name): ... to here. Add `static' qualifier.
14520 (main): Recognize `OPTION_VERSION'.
14521
14522 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14523
14524 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14525 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14526
14527 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14528
14529 Fix help2man generation for mkisofs.
14530
14531 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14532 (usage): Send output to stdout (rather than stderr).
14533
14534 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14535
14536 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14537 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14538 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14539 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14540 (bin_SCRIPTS): Add `grub-mkfloppy'.
14541 (grub_mkfloppy_SOURCES): New variable.
14542
14543 * util/grub-mkrescue.in: New file.
14544 * util/i386/pc/grub-mkfloppy.in: New file.
14545
14546 * util/i386/coreboot/grub-mkrescue.in: Remove.
14547 * util/i386/pc/grub-mkrescue.in: Remove.
14548
14549 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14550
14551 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14552 from here ...
14553 * include/multiboot.h (struct multiboot_header): ... to here. Update
14554 all users.
14555 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14556 from here ...
14557 * include/multiboot.h (struct multiboot_info): ... to here. Update
14558 all users.
14559 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14560 from here ...
14561 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14562 Update all users.
14563 * include/grub/multiboot.h (struct grub_mod_list): Move
14564 from here ...
14565 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14566 Update all users.
14567
14568 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14569
14570 * include/multiboot2.h (multiboot_word): Rename from this ...
14571 (multiboot2_word): ... to this. Update all users.
14572 (multiboot_header): Rename from this ...
14573 (multiboot2_header): ... to this. Update all users.
14574 (multiboot_tag_header): Rename from this ...
14575 (multiboot2_tag_header): ... to this. Update all users.
14576 (multiboot_tag_start): Rename from this ...
14577 (multiboot2_tag_start): ... to this. Update all users.
14578 (multiboot_tag_name): Rename from this ...
14579 (multiboot2_tag_name): ... to this. Update all users.
14580 (multiboot_tag_module): Rename from this ...
14581 (multiboot2_tag_module): ... to this. Update all users.
14582 (multiboot_tag_memory): Rename from this ...
14583 (multiboot2_tag_memory): ... to this. Update all users.
14584 (multiboot_tag_unused): Rename from this ...
14585 (multiboot2_tag_unused): ... to this. Update all users.
14586 (multiboot_tag_end): Rename from this ...
14587 (multiboot2_tag_end): ... to this. Update all users.
14588
14589 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14590
14591 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14592 this platform we should support Multiboot1 first.
14593
14594 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14595 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14596 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14597
14598 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14599
14600 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14601 of write calls (converting them to fwrite() if they aren't already).
14602 (get_torito_desc): Likewise.
14603 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14604
14605 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14606
14607 * util/i386/pc/grub-install.in: Move from here ...
14608 * util/grub-install.in: ... to here. Update all users.
14609
14610 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14611
14612 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14613
14614 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14615
14616 Support for El Torito without floppy emulation.
14617
14618 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14619 (init_boot_catalog): Improve error handling.
14620 (get_torito_desc): Don't use floppy emulation unless requested by
14621 user. Patch boot information table when requested via
14622 `-boot-info-table'.
14623 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14624 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14625 (use_boot_info_table): New variables.
14626 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14627 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14628 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14629 `--eltorito-emul-floppy'.
14630 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14631 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14632 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14633 (use_boot_info_table, get_731): New prototypes.
14634 * util/mkisofs/write.c (get_731): New function.
14635
14636 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14637
14638 Fix the generation of the man page.
14639
14640 * util/pc/i386/grub-install.in: Source
14641 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14642
14643 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14644
14645 Large file support for grub-mkisofs.
14646
14647 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14648 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14649 (session_start): Upgrade type to `uint64_t'. Update all users.
14650 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14651 (struct directory_entry): Upgrade type of `starting_block' and
14652 `size' to `uint64_t'. Update all users.
14653 (struct deferred): Remove unused structure.
14654 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14655 Update all users.
14656 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14657 file is larger than `UINT32_MAX'.
14658 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14659 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14660 return value.
14661 (struct deferred_write): Upgrade type of `extent' and `size' to
14662 `uint64_t'. Update all users.
14663 (last_extent_written): Upgrade type to `uint64_t'. Update all
14664 users.
14665 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14666 Update all users. Upgrade type of `remain' to `int64_t' and
14667 `use' to `size_t'. Use error() to handle fread() errors.
14668 (write_files): Rely on write_one_file() rather than calling
14669 xfwrite() directly.
14670
14671 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14672
14673 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14674
14675 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14676
14677 * util/mkisofs/fnmatch.c: Remove.
14678 * util/mkisofs/getopt1.c: Likewise.
14679 * util/mkisofs/getopt.c: Likewise.
14680 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14681 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14682 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14683 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14684 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14685
14686 * configure.ac: Detect `mingw32msvc' host_os.
14687 Check for lstat(), getuid() and getgid().
14688
14689 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14690 instances of `u_char' with `uint8_t'.
14691
14692 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14693 [!HAVE_GETUID] (getuid): New function (stub).
14694 [!HAVE_GETGID] (getgid): Likewise.
14695 [!HAVE_LSTAT] (lstat): Likewise.
14696 [!S_IROTH] (S_IROTH): New macro (dummy).
14697 [!S_IRGRP] (S_IRGRP): Likewise.
14698
14699 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14700
14701 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14702 conditional expression).
14703
14704 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14705
14706 Import from Gnulib.
14707
14708 * gnulib/fnmatch.c: New file.
14709 * gnulib/fnmatch.h: Likewise.
14710 * gnulib/fnmatch_loop.c: Likewise.
14711 * gnulib/getopt.c: Likewise.
14712 * gnulib/getopt.h: Likewise.
14713 * gnulib/getopt1.c: Likewise.
14714 * gnulib/getopt_int.h: Likewise.
14715 * gnulib/gettext.h: Likewise.
14716
14717 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14718
14719 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14720 * normal/handler.c (read_handler_list): Likewise.
14721
14722 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14723
14724 Misc cleanup.
14725
14726 * kern/command.c (grub_register_command_prio): Use
14727 grub_zalloc() instead of explicitly zeroing data.
14728 * kern/list.c: Include `<grub/mm.h>'.
14729 (grub_named_list_find): Replace `0' with `NULL'.
14730 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14731 (fs_module_list): Change type to `grub_named_list_t'. Update all
14732 users.
14733 * normal/dyncmd.c (read_command_list): Add space between function
14734 call and parenthesis.
14735 * normal/handler.c (read_handler_list): Likewise.
14736
14737 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14738
14739 * normal/auth.c (punishment_delay): Moved from here ...
14740 (grub_auth_strcmp): ... to here (inside function).
14741
14742 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14743
14744 * include/grub/list.h (struct grub_named_list): Remove `const'
14745 qualifier from `name'.
14746 (struct grub_prio_list): Likewise.
14747
14748 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14749
14750 * normal/auth.c: Include `<grub/time.h>'.
14751 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14752
14753 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14754
14755 * normal/auth.c (punishment_delay): New variable.
14756 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14757 (grub_auth_check_authentication): Punish failed login attempts with
14758 an incremental (2^N) delay.
14759
14760 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14761
14762 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14763 path with $(srcdir).
14764
14765 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14768
14769 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14770
14771 * util/i386/coreboot/grub-mkrescue.in: New file.
14772 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14773 variables.
14774
14775 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14776 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14777 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14778 requirements.
14779 * util/mkisofs/defaults.h: New file.
14780 * util/mkisofs/eltorito.c: Likewise.
14781 * util/mkisofs/exclude.h: Likewise.
14782 * util/mkisofs/fnmatch.c: Likewise.
14783 * util/mkisofs/getopt.c: Likewise.
14784 * util/mkisofs/getopt1.c: Likewise.
14785 * util/mkisofs/hash.c: Likewise.
14786 * util/mkisofs/include/fctldefs.h: Likewise.
14787 * util/mkisofs/include/mconfig.h: Likewise.
14788 * util/mkisofs/include/prototyp.h: Likewise.
14789 * util/mkisofs/include/statdefs.h: Likewise.
14790 * util/mkisofs/iso9660.h: Likewise.
14791 * util/mkisofs/joliet.c: Likewise.
14792 * util/mkisofs/match.c: Likewise.
14793 * util/mkisofs/match.h: Likewise.
14794 * util/mkisofs/mkisofs.c: Likewise.
14795 * util/mkisofs/mkisofs.h: Likewise.
14796 * util/mkisofs/multi.c: Likewise.
14797 * util/mkisofs/name.c: Likewise.
14798 * util/mkisofs/rock.c: Likewise.
14799 * util/mkisofs/tree.c: Likewise.
14800 * util/mkisofs/write.c: Likewise.
14801
14802 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14805 being insecure.
14806
14807 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14808
14809 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14810 `grub-mkimage' (and use $0 when possible).
14811
14812 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14813
14814 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14815 error message for excessively large memory map.
14816
14817 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14818
14819 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14820 executable bit.
14821
14822 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14825 message for coreboot users.
14826
14827 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14828
14829 Fix build with GNU gold.
14830
14831 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14832 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14833 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14834 link addresses.
14835 * aclocal.m4: Likewise.
14836
14837 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14838
14839 * configure.ac (AC_PREREQ): Bump to 2.59d.
14840 * INSTALL: Make it more clear when Autoconf and Ruby are
14841 needed and when to run `./autogen.sh'.
14842
14843 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14844
14845 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14846 OSes.
14847
14848 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14849
14850 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14851
14852 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14853
14854 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14855 giving it to GNU Mach.
14856
14857 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14858
14859 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14860 GNU partition number to get internal GRUB partition number.
14861
14862 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14863
14864 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14865 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14866
14867 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14870 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14871 case.
14872
14873 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14874
14875 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14876
14877 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14878
14879 Fix build problem.
14880
14881 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14882 `-isystem=$(srcdir)/include'.
14883
14884 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14885
14886 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14887 checked (grub-install doesn't currently rely on it).
14888
14889 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14890
14891 Revert SVN r2660.
14892
14893 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14894 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14895 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14896 * conf/i386-ieee1275.rmk: Likewise.
14897 * conf/i386-pc.rmk: Likewise.
14898 * conf/powerpc-ieee1275.rmk: Likewise.
14899 * conf/sparc64-ieee1275.rmk: Likewise.
14900 * conf/x86_64-efi.rmk: Likewise.
14901
14902 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14903
14904 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14905
14906 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14907
14908 * include/grub/misc.h: Stop checking for APPLE_CC.
14909
14910 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14911
14912 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14913 doesn't cause an infinite call loop.
14914
14915 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14916
14917 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14918 strings.
14919
14920 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14921
14922 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14923 variable.
14924 * Makefile.in: Likewise.
14925
14926 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14927
14928 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14929
14930 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14933
14934 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14935
14936 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14937
14938 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14939
14940 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14941 from here ...
14942 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14943
14944 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14945
14946 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14947 in $(MAKEINFO) invocation. This makes it clear in output that
14948 errors are being ignored.
14949
14950 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14951
14952 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14953 from here ...
14954 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14955 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14956 * conf/i386-ieee1275.rmk: Likewise.
14957 * conf/i386-pc.rmk: Likewise.
14958 * conf/powerpc-ieee1275.rmk: Likewise.
14959 * conf/sparc64-ieee1275.rmk: Likewise.
14960 * conf/x86_64-efi.rmk: Likewise.
14961
14962 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14963
14964 * util/grub-editenv.c (main): If only a command is given, use
14965 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14966 (usage): FILENAME is now optional and has a default.
14967
14968 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14969
14970 Improve grub-mkconfig performance when there are several menu
14971 entries on a single filesystem.
14972
14973 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14974 prepare_grub_to_access_device.
14975 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14976 * util/grub.d/30_os-prober.in: Likewise.
14977
14978 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14979
14980 * util/grub.d/10_freebsd.in: Remove.
14981 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14982 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14983
14984 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14985
14986 * docs/grub.cfg: Fix example usage of *BSD loaders.
14987
14988 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14989
14990 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14991 grub_util_error() call.
14992
14993 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14994
14995 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14996 `reserved_first_sector' member.
14997 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14998 `reserved_first_sector' to 1.
14999 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15000 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15001 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15002 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15003 filesystems which begin at first sector.
15004 (options): New option --skip-fs-probe.
15005 (main): Handle --skip-fs-probe and pass it to setup().
15006
15007 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15008
15009 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15010 (memset): Fix function prototype.
15011
15012 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15013 2009-10-25 Vasily Averin <vvs@parallels.com>
15014
15015 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15016 `dirent.direntlen == 0'.
15017
15018 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15019
15020 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15021 `cpio'.
15022 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15023
15024 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15025
15026 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15027 `__trampoline_setup' and `__ucmpdi2'.
15028 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15029 that libgcc provides.
15030
15031 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15032
15033 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15034 * include/grub/sparc64/libgcc.h (memset): Likewise.
15035 * include/grub/misc.h (memset, memcmp): New function prototypes.
15036
15037 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15038
15039 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15040 `cpio'.
15041 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15042
15043 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15044
15045 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15046 * docs/grub.cfg: Compensate for recent change in multiboot
15047 loader (since 2009-08-14 it won't pass filename to payload).
15048 * util/grub.d/10_hurd.in: Likewise.
15049
15050 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
15051
15052 * config.guess: Update to latest version from config git
15053 repository.
15054 * config.sub: Likewise.
15055
15056 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15057
15058 Fix build on sparc64.
15059
15060 * configure.ac: Perform checks for libgcc symbols before
15061 adding `-nostdlib' to LDFLAGS.
15062
15063 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 Let user specify OpenBSD root device.
15066
15067 * loader/i386/bsd.c (openbsd_root): New variable.
15068 (openbsd_opts): New option 'root'.
15069 (OPENBSD_ROOT_ARG): New macro.
15070 (grub_openbsd_boot): Use 'openbsd_root'.
15071 (grub_cmd_openbsd): Fill 'openbsd_root'.
15072
15073 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15074
15075 * NEWS: Misc adjustments.
15076
15077 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15080
15081 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15082
15083 * configure.ac: Bump version to 1.97.
15084
15085 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15088 -mno-3dnow on x86 architectures. Some toolchains enable these
15089 features by default, but they rely on registers that aren't enabled
15090 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15091
15092 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15093
15094 Make entry text a bit more readable.
15095
15096 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15097
15098 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15101
15102 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15105 operations.
15106
15107 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * configure.ac: Add missing dollar.
15110
15111 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15114
15115 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15116 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15117 exports.
15118 * include/grub/sparc64/libgcc.h: Likewise. Use
15119 preprocessor conditionals.
15120
15121 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15122
15123 * conf/common.rmk (grub-dumpbios): Remove rule.
15124 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15125 * util/grub-dumpbios.in: Remove file.
15126
15127 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15128
15129 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15130 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15131
15132 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15133 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15134 users.
15135
15136 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15137 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15138 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15139 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15140 users.
15141
15142 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15143
15144 * term/tparm.c: Switch to GPLv3.
15145
15146 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15147
15148 * include/grub/i386/cpuid.h: Add header protection.
15149
15150 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15151
15152 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15153
15154 * include/grub/i386/cpuid.h: New file.
15155 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15156 (has_longmode): Rename to ...
15157 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15158 `static' attribute.
15159 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15160 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15161 on a CPU that doesn't implement AMD64 instruction set.
15162
15163 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15164
15165 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15166 that version.texi is rebuilt on version number changes.
15167
15168 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15171 Fixes bug #27602.
15172
15173 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15174
15175 * util/i386/pc/grub-install.in: Source
15176 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15177 that the --grub-probe option will work.
15178 * util/sparc64/ieee1275/grub-install.in: Likewise.
15179
15180 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15181
15182 * configure.ac: Bump version to 1.97~beta4.
15183
15184 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15185
15186 Resync grub-mkdevicemap in x86_64-efi.
15187
15188 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15189 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15190 `util/devicemap.c'.
15191
15192 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15193
15194 * util/grub-editenv.c (create_envblk_file): Write new block with a
15195 .new suffix and then rename it into place, to ensure atomic
15196 creation.
15197
15198 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15199
15200 Do not automatically install headers.
15201
15202 * Makefile.in (include_DATA): Remove. Update all users.
15203
15204 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15205
15206 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15207 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15208
15209 * util/osdetect.lua: Remove.
15210 * script/lua/lauxlib.c: Likewise.
15211 * script/lua/ldebug.c: Likewise.
15212 * script/lua/grub_main.c: Likewise.
15213 * script/lua/lauxlib.h: Likewise.
15214 * script/lua/ldebug.h: Likewise.
15215 * script/lua/ltablib.c: Likewise.
15216 * script/lua/liolib.c: Likewise.
15217 * script/lua/lstrlib.c: Likewise.
15218 * script/lua/lualib.h: Likewise.
15219 * script/lua/ldo.c: Likewise.
15220 * script/lua/ldump.c: Likewise.
15221 * script/lua/ldo.h: Likewise.
15222 * script/lua/loslib.c: Likewise.
15223 * script/lua/lundump.c: Likewise.
15224 * script/lua/grub_lib.c: Likewise.
15225 * script/lua/ldblib.c: Likewise.
15226 * script/lua/lundump.h: Likewise.
15227 * script/lua/lmem.c: Likewise.
15228 * script/lua/grub_lib.h: Likewise.
15229 * script/lua/lmathlib.c: Likewise.
15230 * script/lua/lstate.c: Likewise.
15231 * script/lua/ltm.c: Likewise.
15232 * script/lua/lvm.c: Likewise.
15233 * script/lua/lmem.h: Likewise.
15234 * script/lua/lstate.h: Likewise.
15235 * script/lua/ltm.h: Likewise.
15236 * script/lua/ltable.c: Likewise.
15237 * script/lua/lvm.h: Likewise.
15238 * script/lua/llex.c: Likewise.
15239 * script/lua/lgc.c: Likewise.
15240 * script/lua/grub_lua.h: Likewise.
15241 * script/lua/loadlib.c: Likewise.
15242 * script/lua/lfunc.c: Likewise.
15243 * script/lua/lopcodes.c: Likewise.
15244 * script/lua/lparser.c: Likewise.
15245 * script/lua/ltable.h: Likewise.
15246 * script/lua/llex.h: Likewise.
15247 * script/lua/lgc.h: Likewise.
15248 * script/lua/lfunc.h: Likewise.
15249 * script/lua/lbaselib.c: Likewise.
15250 * script/lua/lopcodes.h: Likewise.
15251 * script/lua/lparser.h: Likewise.
15252 * script/lua/lzio.c: Likewise.
15253 * script/lua/linit.c: Likewise.
15254 * script/lua/lobject.c: Likewise.
15255 * script/lua/llimits.h: Likewise.
15256 * script/lua/lstring.c: Likewise.
15257 * script/lua/lzio.h: Likewise.
15258 * script/lua/lapi.c: Likewise.
15259 * script/lua/lcode.c: Likewise.
15260 * script/lua/lua.h: Likewise.
15261 * script/lua/lobject.h: Likewise.
15262 * script/lua/lstring.h: Likewise.
15263 * script/lua/lapi.h: Likewise.
15264 * script/lua/lcode.h: Likewise.
15265 * script/lua/luaconf.h: Likewise.
15266
15267 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15268
15269 * docs/grub.texi (Command-line and menu entry commands): Document
15270 date and echo commands.
15271
15272 2009-09-24 Pavel Roskin <proski@gnu.org>
15273
15274 * include/grub/kernel.h (struct grub_module_header): Remove
15275 `grub_module_header_types'. Make `type' unsigned. Make `size'
15276 32-bit on all platforms.
15277 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15278 8-bit field. Use grub_host_to_target32() for `size'.
15279 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15280 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15281 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15282
15283 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15284
15285 Fix "lost keypress" bug in at_keyboard.
15286
15287 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15288 Checks for readyness of input buffer (without flushing it).
15289 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15290 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15291
15292 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15293
15294 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15295 size check within GRUB_MACHINE_PCBIOS section.
15296
15297 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15298
15299 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15300 return value.
15301 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15302 KEYBOARD_ISREADY check.
15303 (grub_at_keyboard_checkkey): Rename to ...
15304 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15305 Remove gratuitous cast.
15306
15307 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15308
15309 * configure.ac: Call AC_PROG_MKDIR_P.
15310 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15311 version.texi in $(builddir) rather than $(srcdir).
15312 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15313 to makeinfo's @include search path.
15314
15315 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15316
15317 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15318
15319 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15320
15321 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15322 for `*.dpkg-new'.
15323
15324 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15325
15326 Build info documentation. Some code borrowed from Automake.
15327
15328 * configure.ac: Check for makeinfo.
15329 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15330 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15331 docs/version.texi.
15332 (MOSTLYCLEANFILES): Add vti.tmp.
15333 (docs/version.texi, docs/stamp-vti): Update automatically.
15334 (docs/grub.info): Build info documentation. Use --force and ignore
15335 errors for now.
15336 (all-local): Add $(INFOS).
15337 (install-local): Install info files.
15338 (uninstall): Uninstall info files.
15339 * docs/version.texi: Remove from revision control. This file is
15340 automatically generated on build now.
15341 * gendistlist.sh: Add `*.info'.
15342
15343 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15344
15345 * kern/term.c: Fix indentation.
15346
15347 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15348
15349 * util/hostdisk.c: Fix a comment.
15350
15351 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15352
15353 Fix regression introduced in r2539.
15354
15355 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15356 to 0xA1.
15357
15358 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15359
15360 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15361 os-prober. Under normal operation, it does not print anything to
15362 stderr; if it does, we need to debug it, and throwing away stderr
15363 makes that excessively difficult.
15364
15365 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15368
15369 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15370
15371 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15372 AC_LANG_PROGRAM from autoconf.
15373 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15374 prototypes (fixes warning).
15375
15376 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15377 `--disable-werror' was used.
15378
15379 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15380
15381 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15382 uninitialized `lastaddr'.
15383
15384 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15387
15388 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15389
15390 * commands/test.c (get_fileinfo): Return immediately if
15391 grub_fs_probe fails.
15392
15393 2009-09-14 José Martínez <xosemp@gmail.com>
15394
15395 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15396
15397 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15398
15399 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15400 output.
15401
15402 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15403
15404 * configure.ac: Remove --enable-grub-pe2elf. Only build
15405 grub-pe2elf when needed by the build system itself.
15406 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15407
15408 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15409
15410 * configure.ac: Bump version to 1.97~beta3.
15411 * docs/version.texi: Likewise.
15412
15413 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15414
15415 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15416 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15417 from here ...
15418 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15419 (grub_linux_setup_video): ... to here (with some adjustments).
15420
15421 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15422
15423 Fix memory corruption issue (spotted by Colin Watson).
15424
15425 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15426 causing returned size to be stored in an incorrect memory location.
15427 Fix use of uninitialized value when storing the returned size.
15428
15429 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15430
15431 Change clean rules to properly remove files
15432
15433 * genmk.rb: add new clean rules
15434 * Makefile.in (clean): add the new targets
15435 (mostlyclean): likewise
15436
15437 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15438
15439 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15440 to grub_uint64_t.
15441 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15442 non-resident files.
15443
15444 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15447 part of bug #27349.
15448
15449 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15450
15451 * util/grub-mkconfig.in: Make the created config mode 400 and
15452 print a warning if it fails.
15453
15454 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15455
15456 * util/grub.d/40_custom.in: Ask user to type custom entries below
15457 comment, rather than below 'exec tail' line.
15458
15459 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15462 visible in grub.cfg.
15463
15464 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15467 file.
15468
15469 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15470
15471 * docs/grub.cfg: Add an example menu entry for memtest86+.
15472
15473 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15474
15475 * config.guess: Update to latest version from config git.
15476 * config.sub: Likewise.
15477
15478 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15479
15480 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15481 unknown-command case. Fixes bug #27320.
15482
15483 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15484
15485 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15486 `help' if the command exists.
15487
15488 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15489
15490 * INSTALL: Require GCC 4.1.3 or later.
15491
15492 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15493
15494 * Makefile.in (RMKFILES): add i386-qemu.rmk
15495 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15496 $(srcdir)/stamp-h.in
15497
15498 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15499
15500 * util/grub-probe.c (probe): Comment out buggy codepath, which
15501 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15502 should be re-enabled after 1.97.
15503
15504 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15505
15506 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15507 find searches for.
15508
15509 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15512 unnecessary calls to grub_error.
15513
15514 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15515
15516 * NEWS: Mention `keystatus' and Unicode fonts.
15517
15518 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15519
15520 * configure.ac: Bump version to 1.97~beta2.
15521 * docs/version.texi: Likewise.
15522
15523 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15524
15525 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15526 containing unwind information in some cases where it previously did
15527 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15528 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15529 discussion.
15530
15531 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15532
15533 Embedding loadenv module into grub-emu
15534
15535 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15536 commands/loadenv.c
15537 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15538 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15541 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15542 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15543
15544 2009-09-03 Magnus Granberg <zorry@ume.nu>
15545
15546 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15547 include -fPIE in the default specs.
15548 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15549 to TARGET_CFLAGS.
15550
15551 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15552
15553 * INSTALL: Note that GNU Bison 2.3 or later is required.
15554
15555 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * kern/i386/pc/startup.S: Fix typo.
15558
15559 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15562 according to GCS.
15563
15564 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * docs/grub.texi (Naming convention): Describe one-based partition
15567 numbering.
15568 (Device syntax): Likewise.
15569 (File name syntax): Likewise.
15570 (Block list syntax): Likewise.
15571 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15572 menu.lst.
15573 (File name syntax): Likewise.
15574 (Command-line and menu entry commands): Document acpi, blocklist,
15575 crc, export, insmod, keystatus, ls, set, and unset commands.
15576
15577 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15578
15579 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15580 to avoid implying that only one of --shift, --ctrl, or --alt may be
15581 used.
15582
15583 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15586 rather than comparing against S_IFREG, which will almost never work.
15587
15588 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15591 (write_blocklists): Likewise.
15592
15593 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15594
15595 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15596 argument to grub_printf.
15597
15598 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15599
15600 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15601 non GNU test.
15602
15603 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * kern/file.c (grub_file_read): Spelling fix
15606
15607 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15610 loading of headers in some cases.
15611
15612 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15613
15614 * configure.ac: Bump version to 1.97~beta1.
15615 * docs/version.texi: Likewise.
15616
15617 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * include/grub/i386/xnu.h: Add license header.
15620 include grub/err.h explicitly.
15621
15622 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15623
15624 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15625 to `ufs' in the vfs.root.mountfrom kernel parameter.
15626
15627 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15628
15629 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15630
15631 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15632 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15633
15634 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15635 `ARRAY_SIZE' macro.
15636
15637 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * kern/file.c (grub_file_read): Check offset.
15640 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15641 * fs/jfs.c (grub_jfs_read_file): Likewise.
15642 * fs/ntfs.c (grub_ntfs_read): Likewise.
15643 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15644 * fs/minix.c (grub_minix_read_file): Correct offset check.
15645 * fs/ufs.c (grub_ufs_read_file): Likewise.
15646
15647 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15648
15649 * term/i386/pc/console.c (bios_data_area): Cast
15650 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15651
15652 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 1-bit optimised blitters.
15655
15656 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15657 prototype.
15658 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15659 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15660 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15661 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15662 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15663 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15664 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15665 function.
15666 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15667 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15668 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15669 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15670 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15671 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15672 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15673 when possible.
15674 * video/video.c (grub_video_get_blit_format): Return
15675 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15676
15677 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15678
15679 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15680 the first argument to grub_printf.
15681
15682 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15683 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15684
15685 Add `getkeystatus' terminal method. Add a new `keystatus' command
15686 to query it.
15687
15688 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15689 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15690 modifier key bitmasks.
15691 (struct grub_term_input): Add `getkeystatus' member.
15692 (grub_getkeystatus): Add prototype.
15693 * kern/term.c (grub_getkeystatus): New function.
15694
15695 * include/grub/i386/pc/memory.h
15696 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15697 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15698 Data Area layout.
15699 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15700 (grub_console_term_input): Set `getkeystatus' member.
15701 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15702 constants.
15703 (grub_usb_keyboard_getreport): Likewise.
15704 (grub_usb_keyboard_checkkey): Likewise.
15705 (grub_usb_keyboard_getkeystatus): New function.
15706 (grub_usb_keyboard_term): Set `getkeystatus' member.
15707
15708 * commands/keystatus.c: New file.
15709 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15710 (keystatus_mod_SOURCES): New variable.
15711 (keystatus_mod_CFLAGS): Likewise.
15712 (keystatus_mod_LDFLAGS): Likewise.
15713 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15714 commands/keystatus.c.
15715 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15717 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15719 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15721
15722 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Split befs.mod and afs.mod into *_be.mod and *.mod
15725
15726 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15727 (grub_fstest_SOURCES): Likewise.
15728 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15729 (afs_be_mod_SOURCES): New variable.
15730 (afs_be_mod_CFLAGS): Likewise.
15731 (afs_be_mod_LDFLAGS): Likewise.
15732 (befs_be_mod_SOURCES): Likewise.
15733 (befs_be_mod_CFLAGS): Likewise.
15734 (befs_be_mod_LDFLAGS): Likewise.
15735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15736 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15737 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15738 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15739 (grub_emu_SOURCES): Likewise.
15740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15741 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15742 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15743 * fs/afs_be.c: New file.
15744 * fs/befs_be.c: New file.
15745 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15746 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15747 (U16): Replaced with ...
15748 (grub_afs_to_cpu16): ...this. All users updated.
15749 (U32): Replaced with ...
15750 (grub_afs_to_cpu32): ...this. All users updated.
15751 (U64): Replaced with ...
15752 (grub_afs_to_cpu64): ...this. All users updated.
15753 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15754 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15755 (grub_afs_validate_sblock): Check only one endianness.
15756 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15757 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15758 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15759 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15760 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15761 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15762 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15763 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15764
15765 2009-08-26 Bean <bean123ch@gmail.com>
15766
15767 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15768 64-bit number.
15769 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15770 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15771 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15772
15773 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 NetBSD memory map support.
15776
15777 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15778 (grub_netbsd_btinfo_mmap_header): New structure.
15779 (grub_netbsd_btinfo_mmap_entry): Likewise.
15780 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15781
15782 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 Enable bsd.mod on coreboot.
15785
15786 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15787 (bsd_mod_SOURCES): New variable.
15788 (bsd_mod_CFLAGS): Likewise.
15789 (bsd_mod_LDFLAGS): Likewise.
15790 (bsd_mod_ASFLAGS): Likewise.
15791 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15792 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15793
15794 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 Cleanup NetBSD root support.
15797
15798 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15799 grub_bsd_get_device.
15800 Fix typo.
15801
15802 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15803
15804 * util/grub.d/00_header.in: Move check for the video backend of
15805 gfxterm from here ...
15806 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15807 a suitable video backend.
15808
15809 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 Fix breakage in grub-setup.
15812
15813 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15814 "msdos_partition_map".
15815
15816 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Fix breakage in normal/auth.c.
15819
15820 * normal/auth.c (grub_iswordseparator): New function.
15821
15822 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 Authentication support.
15825
15826 * commands/password.c: New file.
15827 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15828 (password_mod_SOURCES): New variable.
15829 (password_mod_CFLAGS): Likewise.
15830 (password_mod_LDFLAGS): Likewise.
15831 (normal_mod_SOURCES): Add normal/auth.c.
15832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15833 normal/auth.c.
15834 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15836 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15838 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15840 * include/grub/auth.h: New file.
15841 * include/grub/err.h (grub_err_t): New enum value
15842 GRUB_ERR_ACCESS_DENIED.
15843 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15844 'users'.
15845 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15846 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15847 users updated.
15848 * normal/auth.c: New file.
15849 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15850 (grub_cmdline_run): Don't allow to go to command line without
15851 authentication.
15852 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15853 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15854 menuentry without superuser rights.
15855 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15856 user isn't a superuser.
15857
15858 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 Save space by inlining misc.c functions.
15861
15862 * kern/misc.c (grub_iswordseparator): Made static.
15863 * kern/misc.c (grub_strcat): Moved from here ...
15864 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15865 * kern/misc.c (grub_strncat): Moved from here ...
15866 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15867 * kern/misc.c (grub_strcasecmp): Moved from here ...
15868 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15869 * kern/misc.c (grub_strncasecmp): Moved from here ...
15870 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15871 * kern/misc.c (grub_isalpha): Moved from here ...
15872 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15873 * kern/misc.c (grub_isdigit): Moved from here ...
15874 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15875 * kern/misc.c (grub_isgraph): Moved from here ...
15876 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15877 * kern/misc.c (grub_tolower): Moved from here ...
15878 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15879
15880 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * script/sh/function.c (grub_script_function_find): Cut error message
15883 not to flood terminal.
15884 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15885 limit.
15886 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15887
15888 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15889
15890 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15891 `report' grub_uint8_t *.
15892 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15893 Use a 50-millisecond timeout rather than just repeating
15894 grub_usb_keyboard_getreport 50 times.
15895 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15896
15897 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Rename *_partition_map to part_*
15900
15901 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15902 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15903 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15904 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15905 All users updated.
15906 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15907 All users updated.
15908 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15909 * util/grub-probe.c (probe_partmap): Don't transform partition name
15910 to get module name.
15911
15912 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 Fix OpenBSD and NetBSD support.
15915
15916 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15917 memory address conflict.
15918 (OPENBSD_MMAP_ACPI): New definition.
15919 (OPENBSD_MMAP_NVS): Likewise.
15920 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15921 and OPENBSD_MMAP_NVS.
15922 Add memory map terminator
15923 Explicit cast when calling grub_unix_real_boot.
15924 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15925
15926 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 Let user specify NetBSD root device.
15929
15930 * loader/i386/bsd.c (netbsd_root): New variable.
15931 (netbsd_opts): New option 'root'.
15932 (NETBSD_ROOT_ARG): New macro.
15933 (grub_netbsd_boot): Use 'netbsd_root'.
15934 (grub_bsd_unload): Free 'netbsd_root'.
15935 (grub_cmd_netbsd): Fill 'netbsd_root'.
15936
15937 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 Support for 64-bit NetBSD.
15940
15941 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15942 point when booting non-FreeBSD.
15943
15944 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 Support --no-smp and --no-acpi for NetBSD.
15947
15948 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15949 (NETBSD_AB_NOACPI): Likewise.
15950 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15951 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15952
15953 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15956 errors.
15957 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15958 errors. Call grub_error when needed.
15959
15960 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * commands/search.c (search_fs): Try searching without autoload first.
15963 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15964 filesystem module explicitly for faster booting.
15965
15966 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15967
15968 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15969
15970 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15971
15972 * util/grub.d/30_os-prober.in: Disable os-prober if
15973 `GRUB_DISABLE_OS_PROBER' was set to true.
15974
15975 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15976
15977 * partmap/pc.c: Rename to ...
15978 * partmap/msdos.c: ... this. Update all users.
15979 (grub_pc_partition_map): Rename to ...
15980 (grub_msdos_partition_map): ... this. Update all users.
15981
15982 * parttool/pcpart.c: Rename to ...
15983 * parttool/msdospart.c: ... this. Update all users.
15984
15985 * include/grub/pc_partition.h: Rename to ...
15986 * include/grub/msdos_partition.h: ... this. Update all users.
15987 (grub_pc_partition_bsd_entry): Rename to ...
15988 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15989 (grub_pc_partition_disk_label): Rename to ...
15990 (grub_msdos_partition_disk_label): ... this. Update all users.
15991 (grub_pc_partition_entry): Rename to ...
15992 (grub_msdos_partition_entry): ... this. Update all users.
15993 (grub_pc_partition_mbr): Rename to ...
15994 (grub_msdos_partition_mbr): ... this. Update all users.
15995 (grub_pc_partition): Rename to ...
15996 (grub_msdos_partition): ... this. Update all users.
15997 (grub_pc_partition_is_empty): Rename to ...
15998 (grub_msdos_partition_is_empty): ... this. Update all users.
15999 (grub_pc_partition_is_extended): Rename to ...
16000 (grub_msdos_partition_is_extended): ... this. Update all users.
16001 (grub_pc_partition_is_bsd): Rename to ...
16002 (grub_msdos_partition_is_bsd): ... this. Update all users.
16003
16004 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16005 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16006 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16007 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16008 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16009 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16010 (gpt_mod_LDFLAGS): Rename to ...
16011 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16012 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16013 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16014 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16015 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16016 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16017 (part_gpt_mod_LDFLAGS): ... this.
16018 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16019 `pcpart.mod' to `msdospart.mod'.
16020 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16021 to ...
16022 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16023 (msdospart_mod_LDFLAGS): ... this.
16024
16025 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16028 (openbsd_opts): Likewise.
16029 (netbsd_opts): Likewise.
16030 (freebsd_flags): Added 0 terminator.
16031 (openbsd_flags): Likewise.
16032 (netbsd_flags): Likewise.
16033 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16034 (grub_cmd_freebsd): Transformed into extended command.
16035 (grub_cmd_openbsd): Likewise.
16036 (grub_cmd_netbsd): Likewise.
16037 (cmd_freebsd): Changed type to grub_extcmd_t.
16038 (cmd_openbsd): Likewise.
16039 (cmd_netbsd): Likewise.
16040 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16041 grub_cmd_openbsd as extended commands.
16042 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16043 cmd_netbsd and cmd_openbsd
16044
16045 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16048
16049 2009-08-21 Pavel Roskin <proski@gnu.org>
16050
16051 * Makefile.in (install-local): When checking if a file is in the
16052 build directory, use "test -e" to detect symlinks.
16053
16054 * Makefile.in (install-local): Remove all files in
16055 $(DESTDIR)$(pkglibdir) before installing new files there.
16056
16057 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16058
16059 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16060 grub-mkelfimage.
16061
16062 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16063
16064 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16065 explicitly specified by the user.
16066
16067 2009-08-18 Pavel Roskin <proski@gnu.org>
16068
16069 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16070 grub_uint8_t pointer for data.
16071 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16072 Likewise.
16073 * video/fb/fbutil.c: Remove unnecessary casts.
16074
16075 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16076
16077 VBE cleanup.
16078
16079 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16080 (grub_vbe_set_video_mode): Save active mode info
16081 only after setting the mode.
16082 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16083 second argument.
16084
16085 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16086
16087 Rename variables for clarity.
16088
16089 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16090 (active_vbe_mode_info): ... this. All users updated.
16091 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16092 All users updated.
16093 (initial_mode): Rename to ...
16094 (initial_vbe_mode): ... this. All users updated.
16095 (mode_in_use): Rename to ..
16096 (vbe_mode_in_use): ... this. All users updated.
16097 (mode_list): Rename to ..
16098 (vbe_mode_list): ... this. All users updated.
16099 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16100 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16101 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16102 'mode_list_size' to 'vbe_mode_list_size'.
16103 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16104 'best_mode_info' to 'best_vbe_mode_info' and
16105 'best_mode' to 'best_vbe_mode'
16106
16107 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16108
16109 Remove duplicate grub_video_fb_get_video_ptr.
16110
16111 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16112 (grub_video_fb_get_video_ptr): ... this.
16113 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16114 * video/fb/fbutil.c: Add comment about addressing.
16115 (get_data_ptr): Rename to ...
16116 (grub_video_fb_get_video_ptr): ... this. All users updated.
16117 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16118
16119 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16120
16121 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16122 grub_dprintf() that was just added.
16123
16124 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16125
16126 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16127 (DEFAULT_VIDEO_MODE): Remove macros.
16128 (grub_linux_boot): Remove assumption that Linux has FB support,
16129 and use "text" as default video mode.
16130
16131 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16134 grub_dprintf.
16135 * fs/fat.c (grub_fat_read_data): Likewise.
16136
16137 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16140 payload.
16141 (grub_module): Likewise.
16142
16143 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16146 mbi->cmdline but free playground.
16147
16148 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 Handle group offset on UFS1.
16151
16152 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16153 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16154
16155 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 Split ufs.mod into ufs1.mod and ufs2.mod.
16158
16159 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16160 (grub_fstest_SOURCES): Likewise.
16161 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16162 (ufs_mod_SOURCES): Remove.
16163 (ufs_mod_CFLAGS): Likewise.
16164 (ufs_mod_LDFLAGS): Likewise.
16165 (ufs1_mod_SOURCES): New variable.
16166 (ufs1_mod_CFLAGS): Likewise.
16167 (ufs1_mod_LDFLAGS): Likewise.
16168 (ufs2_mod_SOURCES): New variable.
16169 (ufs2_mod_CFLAGS): Likewise.
16170 (ufs2_mod_LDFLAGS): Likewise.
16171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16172 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16173 Likewise.
16174 (grub_emu_SOURCES): Likewise.
16175 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16176 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16177 (grub_setup_SOURCES): Likewise.
16178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16179 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16180 (grub_setup_SOURCES): Likewise.
16181 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16182 Likewise.
16183 * fs/ufs2.c: New file.
16184 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16185
16186 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 Framebuffer split.
16189
16190 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16191 subsystem at the end.
16192 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16193 (video_fb_mod_SOURCES): New variable.
16194 (video_fb_mod_CFLAGS): Likewise.
16195 (video_fb_mod_LDFLAGS): Likewise.
16196 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16197 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16198 * video/i386/pc/vbeblit.c: Moved from here ...
16199 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16200 * video/i386/pc/vbefill.c: Moved from here ...
16201 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16202 * video/i386/pc/vbeutil.c: Moved from here ...
16203 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16204 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16205 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16206 * include/grub/i386/pc/vbefill.h: Moved from here ...
16207 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16208 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16209 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16210 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16211 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16212 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16213 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16214 (grub_video_adapter): Added 'get_info_and_fini'.
16215 (grub_video_get_info_and_fini): New prototype.
16216 (grub_video_set_mode): make modestring const char *.
16217 * loader/i386/linux.c (grub_linux_setup_video): Use
16218 grub_video_get_info_and_fini.
16219 (grub_linux_boot): Move modesetting just before booting.
16220 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16221 grub_video_get_info_and_fini.
16222 * video/i386/pc/vbe.c: Moved framebuffer part ...
16223 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16224 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16225 grub_video_fbstd_colors and grub_video_fb_set_palette.
16226 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16227 grub_video_fb_init.
16228 (grub_video_vbe_fini): Use grub_video_fb_fini.
16229 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16230 render_target and use grub_video_fb_set_active_render_target and
16231 grub_video_fb_set_palette.
16232 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16233 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16234 (grub_video_vbe_adapter): Use framebuffer.
16235 * video/video.c (grub_video_get_info_and_fini): New function.
16236 (grub_video_set_mode): Make modestring const char *.
16237 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16238 values are already initialised.
16239
16240 2009-08-14 Pavel Roskin <proski@gnu.org>
16241
16242 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16243 ABS and APPLE_CC.
16244 * boot/i386/pc/diskboot.S: Likewise.
16245 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16246 sectors allow compilation on MacOSX.
16247 * conf/i386-pc.rmk: Enable unconditional compilation of
16248 lnxboot.img.
16249
16250 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16251
16252 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16253 * util/grub.d/00_header.in: Enter interruptible sleep if
16254 GRUB_HIDDEN_TIMEOUT is set.
16255
16256 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16257
16258 * include/grub/symbol.h: Add the LOCAL macro.
16259 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16260 starting with "L_".
16261
16262 2009-08-13 Pavel Roskin <proski@gnu.org>
16263
16264 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16265 any modern compilers we support.
16266
16267 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16268 Use local labels starting with "L_" so that Apple assembler
16269 knows they are local.
16270
16271 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16272
16273 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16274 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16275 (bsd_kernel_types): ... this enum.
16276
16277 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16278 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16279 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16280
16281 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16282 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16283 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16284 messages.
16285
16286 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16287
16288 * util/grub-dumpdevtree: Moved from here ...
16289 * util/i386/efi/grub-dumpdevtree: ... to here.
16290 (hexify): New function. Converts a string to its hex version.
16291 Generate hex versions of "efi" and "device-properties" by calling
16292 hexify() on the ASCII strings rather than by hardcoding numbers.
16293
16294 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16295
16296 * fs/jfs.c: Update copyright year.
16297
16298 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16299
16300 * util/grub.d/00_header.in: Fix a comment.
16301 * util/grub.d/10_linux.in: Likewise.
16302 * util/grub.d/10_windows.in: Likewise.
16303 * util/grub.d/10_hurd.in: Likewise.
16304
16305 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16306
16307 * util/grub-mkconfig.in: Allow the user to specify the used font
16308 with GRUB_FONT.
16309
16310 2009-08-08 Pavel Roskin <proski@gnu.org>
16311
16312 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16313 available, xfs.mod needs it now.
16314
16315 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16316 the "g" modifier in sed when the intention is to strip something
16317 once. This fixes comparison of kernels with multiple dashes.
16318
16319 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16320 on it. Add missing space before closing bracket. Fix
16321 misleading formatting.
16322
16323 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16324
16325 * docs/grub.texi: Major overhaul. Remove all sections that are
16326 specific to GRUB Legacy, or mostly composed of Legacy-specific
16327 information.
16328
16329 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16330
16331 * docs/version.texi: New file. Provides version information for
16332 grub.texi.
16333
16334 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16335
16336 * docs/grub.texi: Update CVS information to SVN.
16337 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16338
16339 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16340
16341 * util/grub-mkconfig.in: Remove a wrong `fi'.
16342
16343 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16344
16345 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16346 (grub_jfs_uuid): New function.
16347 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16348
16349 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16350
16351 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16352 of it to ...
16353 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16354 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16355
16356 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16357
16358 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16359 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16360 Update all users.
16361
16362 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16363 not just "vmlinu[zx]".
16364 Moved from here ...
16365 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16366 all users.
16367
16368 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16369 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16370 all users.
16371
16372 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16373
16374 * util/grub.d/10_freebsd.in: Use an absolute device path for
16375 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16376
16377 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16378
16379 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16380 handling of multiple abstraction modules.
16381
16382 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16383
16384 Fix a bug resulting in black screen when loading Linux using a
16385 packed video mode.
16386
16387 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16388 function.
16389
16390 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16391 (grub_vbe_bios_getset_dac_palette_width): New function.
16392 (grub_vbe_bios_get_dac_palette_width)
16393 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16394 grub_vbe_bios_getset_dac_palette_width()).
16395
16396 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16397 check for return status.
16398 (grub_vbe_get_video_mode_info): When getting information for a packed
16399 mode (<= 8 bpp), obtain DAC palette width using
16400 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16401 {red,green,blue}_mark_size.
16402
16403 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16404
16405 * commands/search.c (options): Fix help output to match actual code.
16406
16407 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16410 of homegrown code.
16411
16412 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16415 on XFS or ReiserFS.
16416
16417 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 Support Apple partition map with sector size different from 512 bytes.
16420
16421 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16422 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16423 and 'apart.partmap_size'.
16424
16425 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16426 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 Fix cpuid command.
16429
16430 * commands/i386/cpuid.c (options): New variable.
16431 (grub_cmd_cpuid): Return real error.
16432 (GRUB_MOD_INIT(cpuid)): Declare options.
16433
16434 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16437 valid.
16438
16439 2009-07-31 Bean <bean123ch@gmail.com>
16440
16441 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16442 log2_inode.
16443 (grub_fshelp_node): Move inode field to the end.
16444 (grub_xfs_data): Remove inode field.
16445 (grub_xfs_inode_block): Calculate inode size using sblock.
16446 (grub_xfs_inode_offset): Likewise.
16447 (grub_xfs_read_inode): Calculate inode size using sblock.
16448 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16449 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16450 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16451 to match inode size.
16452 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16453 not accessible when data is null.
16454 (grub_xfs_open): Likewise.
16455
16456 2009-07-31 Bean <bean123ch@gmail.com>
16457
16458 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16459 Don't change pv->disk if it's already set.
16460
16461 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16462 (grub_raid_register): ... here.
16463 (grub_raid_rescan): Removed.
16464
16465 * include/grub/raid.h (grub_raid_rescan): Removed.
16466
16467 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16468 (fstest): Replace grub_raid_rescan with module fini function followed
16469 by init function.
16470
16471 * util/grub-probe.c: Add include file <grub/raid.h>.
16472 (probe_raid_level): New function.
16473 (probe): Detect abstraction by walking the disk device, support two
16474 level of abstraction (LVM on RAID) when detecting partition map.
16475
16476 2009-07-31 Pavel Roskin <proski@gnu.org>
16477
16478 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16479 to grub_zalloc(), it was erroneous.
16480 Reported by Bean <bean123ch@gmail.com>
16481
16482 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16485 embedding zone, not only the first one.
16486
16487 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16488
16489 * term/gfxterm.c (clear_char): New function.
16490 (grub_virtual_screen_setup): Use clear_char.
16491 (scroll_up): Likewise.
16492 (grub_virtual_screen_cls): Likewise.
16493
16494 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16495
16496 * util/deviceiter.c (get_acceleraid_disk_name): New static
16497 function.
16498 (grub_util_iterate_devices): Handle Accelraid devices.
16499 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16500
16501 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16502
16503 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16504 separator for the suggested gfxpayload string (';' collides with the
16505 parser and needs escaping).
16506
16507 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16510 Clear direction flag before jumping to OS.
16511 (grub_multiboot2_real_boot): Likewise.
16512
16513 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16514
16515 * util/i386/pc/grub-install: Fix parsing of --disk-module
16516 option.
16517
16518 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16519
16520 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16521 when embedding.
16522
16523 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16524
16525 * util/grub-mkconfig.in (package_version): New variable.
16526 Use it do display the version.
16527
16528 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16529
16530 * kern/file.c (grub_file_open): Revert to previous check with
16531 grub_errno.
16532
16533 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16536 from help line. It's out of sync with code.
16537
16538 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16541 entries on failed boot.
16542
16543 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16544
16545 * kern/file.c (grub_file_open): Fix an error check.
16546
16547 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16550 partition map couldn't be identified.
16551
16552 2009-07-23 Pavel Roskin <proski@gnu.org>
16553
16554 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16555 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16556 case of little endian words becomes just an optimization.
16557 Respect const modifier.
16558 (md5_final): Use code that doesn't depend on endianness.
16559
16560 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16561 to avoid loss of upper bits if align is unsigned and shorter
16562 than addr.
16563
16564 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 UUID support for UFS
16567
16568 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16569 (grub_ufs_uuid): New function.
16570 (grub_ufs_fs): add .uuid
16571
16572 2009-07-21 Pavel Roskin <proski@gnu.org>
16573
16574 * kern/dl.c (grub_dl_check_header): Make static.
16575
16576 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16577
16578 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16579 add drivemap for Vista. It breaks Windows 7.
16580
16581 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16584 128 bytes
16585
16586 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 Add BFS support
16589
16590 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16591 (grub_fstest_SOURCES): Likewise.
16592 (pkglib_MODULES): Add befs.mod.
16593 (befs_mod_SOURCES): New variable.
16594 (befs_mod_CFLAGS): Likewise.
16595 (befs_mod_LDFLAGS): Likewise.
16596 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16598 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16599 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16600 (grub_setup_SOURCES): Likewise.
16601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16602 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16603 (grub_setup_SOURCES): Likewise.
16604 * fs/befs.c: New file.
16605 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16606 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16607 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16608 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16609 (B_KEY_INDEX_ALIGN): New declaration.
16610 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16611 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16612 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16613 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16614 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16615 (grub_afs_mount) [MODE_BFS]: Likewise.
16616 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16617 (grub_afs_fs): Use GRUB_AFS_FSNAME
16618 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16619 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16620 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16621 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16622
16623 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16624
16625 * util/getroot.c (find_root_device): Add support for MacOSX.
16626 * util/hostdisk.c: Likewise.
16627
16628 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * font/font.c (find_glyph): Check whether a font is present to avoid
16631 segmentation fault.
16632
16633 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16634
16635 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16636
16637 2009-07-20 Pavel Roskin <proski@gnu.org>
16638
16639 * configure.ac: Trim excessively wordy excuses.
16640
16641 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Add symlink, mtime and label support to AtheFS.
16644
16645 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16646 (grub_afs_iterate_dir): Handle symlinks.
16647 (grub_afs_open): Use grub_afs_read_symlink.
16648 (grub_afs_dir): Likewise.
16649 Pass mtime.
16650 (grub_afs_label): New function.
16651 (grub_afs_fs): Add grub_afs_label.
16652 (grub_afs_read_symlink): New function.
16653
16654 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 Fix AtheFS support.
16657
16658 * fs/afs.c: Fix comments style.
16659 (grub_afs_blockrun): Declare as packed.
16660 (grub_afs_datastream): Likewise.
16661 (grub_afs_bnode): Likewise.
16662 (grub_afs_btree): Likewise.
16663 (grub_afs_sblock): Likewise.
16664 Declare `name' as char.
16665 (grub_afs_inode): Declare as packed.
16666 Change void *vnode to grub_uint32_t unused.
16667 (grub_afs_iterate_dir): Check that key_size is positive.
16668 (grub_afs_mount): Don't read superblock twice.
16669 (grub_afs_dir): Don't free node in case of error,
16670 grub_fshelp_find_file already handles this.
16671 (grub_afs_open): Likewise.
16672
16673 2009-07-19 Pavel Roskin <proski@gnu.org>
16674
16675 * Makefile.in: Remove LIBLZO and enable_lzo.
16676 * conf/i386-pc.rmk: Remove lzo support.
16677 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16678 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16679 support.
16680 * kern/i386/pc/lzo1x.S: Remove.
16681 * kern/i386/pc/startup.S: Remove lzo support.
16682 * util/i386/pc/grub-mkimage.c: Likewise.
16683
16684 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16687 * fs/xfs.c (grub_xfs_dir): Likewise.
16688 * fs/afs.c (grub_afs_dir): Likewise.
16689 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16690 (grub_iso9660_open): Likewise.
16691 * fs/jfs.c (grub_jfs_open): Likewise.
16692 * fs/ext2.c (grub_ext2_dir): Likewise.
16693 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16694 * script/sh/lexer.c (grub_script_yylex): Likewise.
16695
16696 2009-07-16 Pavel Roskin <proski@gnu.org>
16697
16698 * configure.ac: Never add "-c" to CFLAGS.
16699
16700 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16701
16702 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16703 grub_cv_cc_efiemu should be used.
16704
16705 * configure.ac: Typo fixes.
16706
16707 * kern/mm.c (grub_zalloc): New function.
16708 (grub_debug_zalloc): Likewise.
16709 * include/grub/mm.h: Declare grub_zalloc() and
16710 grub_debug_zalloc().
16711 * util/misc.c (grub_zalloc): New function.
16712 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16713 instead of grub_malloc(), remove unneeded initializations.
16714 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16715 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16716 * commands/parttool.c (grub_cmd_parttool): Likewise.
16717 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16718 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16719 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16720 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16721 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16722 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16723 (grub_cmd_efiemu_pnvram): Likewise.
16724 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16725 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16726 (grub_iso9660_iterate_dir): Likewise.
16727 * fs/jfs.c (grub_jfs_opendir): Likewise.
16728 * fs/ntfs.c (list_file): Likewise.
16729 (grub_ntfs_mount): Likewise.
16730 * kern/disk.c (grub_disk_open): Likewise.
16731 * kern/dl.c (grub_dl_load_core): Likewise.
16732 * kern/elf.c (grub_elf_file): Likewise.
16733 * kern/env.c (grub_env_context_open): Likewise.
16734 (grub_env_set): Likewise.
16735 (grub_env_set_data_slot): Likewise.
16736 * kern/file.c (grub_file_open): Likewise.
16737 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16738 * loader/i386/multiboot.c (grub_module): Likewise.
16739 * loader/xnu.c (grub_xnu_create_key): Likewise.
16740 (grub_xnu_create_value): Likewise.
16741 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16742 (read_config_file): Likewise.
16743 * normal/menu_entry.c (make_screen): Likewise.
16744 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16745 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16746 * script/sh/script.c (grub_script_parse): Likewise.
16747 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16748 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16749 * video/readers/png.c (grub_png_output_byte): Likewise.
16750 (grub_video_reader_png): Likewise.
16751
16752 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 Enable all targets that can be built by default
16755
16756 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16757 grub-mkfont and grub-fstest if they can be built
16758
16759 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 Fix hang and segmentation fault in grub-emu-usb
16762
16763 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16764 * util/usb.c (grub_libusb_devices): likewise
16765 (grub_libusb_init): rename to ...
16766 (GRUB_MOD_INIT (libusb)):...this
16767 (grub_libusb_fini): rename to ..
16768 (GRUB_MOD_FINI (libusb)):...this
16769 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16770 * include/grub/disk.h (grub_raid_init): removed, it's useless
16771 (grub_raid_fini): likewise
16772 (grub_lvm_init): likewise
16773 (grub_lvm_fini): likewise
16774 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16775 by grub_init_all
16776
16777 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 Fix libusb
16780
16781 * Makefile.in (LIBUSB): new macro
16782 * genmk.rb (Utility/print_tail): new method
16783 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16784 (top level): call util.print_tail at the end.
16785
16786 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 Make FreeBSD accept zpool.cache
16789
16790 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16791 type is /boot/zfs/zpool.cache
16792
16793 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 Fix 64-bit efiemu
16796
16797 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16798 correct wrong typedef
16799 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16800
16801 2009-07-15 Pavel Roskin <proski@gnu.org>
16802
16803 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16804 * kern/disk.c (struct grub_disk_cache): Likewise.
16805
16806 * commands/probe.c (options): Typo fix.
16807
16808 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16809 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16810 accordingly.
16811 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16812
16813 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16814 the end of "Error" to make the message more readable.
16815
16816 * boot/i386/pc/boot.S (kernel_segment): Remove.
16817 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16818 for destination.
16819
16820 * boot/i386/pc/boot.S (boot_version): Remove.
16821 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16822 Remove.
16823
16824 * include/grub/i386/pc/boot.h: Sort all offsets.
16825 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16826 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16827 * boot/i386/pc/boot.S: Assert location of every offset listed in
16828 include/grub/i386/pc/boot.h.
16829
16830 2009-07-13 Pavel Roskin <proski@gnu.org>
16831
16832 * include/grub/i386/coreboot/machine.h: Rename
16833 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16834 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16835 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16836
16837 * kern/dl.c: Force native word size to suppress warnings when
16838 compiling grub-emu.
16839
16840 * kern/device.c (grub_device_iterate): Change struct part_ent to
16841 hold the name, not a pointer to it. Use one grub_malloc() per
16842 partition, not two. Free partition_name if grub_malloc() fails.
16843 Set ents to NULL only before grub_partition_iterate() is called.
16844
16845 2009-07-11 Bean <bean123ch@gmail.com>
16846
16847 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16848 childname.
16849
16850 2009-07-10 Bean <bean123ch@gmail.com>
16851 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16852
16853 * kern/ieee1275/openfw.c (grub_children_iterate)
16854 (grub_devalias_iterate): Fix size evaluation for property or path
16855 strings, which was broken since r2132.
16856
16857 2009-07-07 Pavel Roskin <proski@gnu.org>
16858
16859 * commands/search.c (search_file): Merge into ...
16860 (search_fs): ... this. Accept search type as argument.
16861 (grub_cmd_search): Pass search type to search_fs().
16862
16863 * include/grub/util/console.h: New file.
16864 * util/console.c: Use it instead of grub/machine/console.h.
16865 * util/grub-emu.c: Likewise.
16866
16867 * lib/arg.c (find_long_option): Remove.
16868 (find_long): Add `len' argument, make `s' const char *.
16869 (grub_arg_parse): Parse long options in place, not in a
16870 temporary buffer.
16871
16872 2009-07-06 Pavel Roskin <proski@gnu.org>
16873
16874 * commands/search.c (search_fs): Fix potential NULL pointer
16875 dereference.
16876
16877 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16878 function pointer.
16879
16880 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16881
16882 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16883 comparison.
16884
16885 2009-07-05 Pavel Roskin <proski@gnu.org>
16886
16887 * include/grub/i386/linux.h (struct linux_kernel_params):
16888 Restore padding3, it's still needed.
16889
16890 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16891 FreeBSD.
16892 * util/osdetect.lua: Likewise.
16893
16894 2009-07-05 Bean <bean123ch@gmail.com>
16895
16896 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16897
16898 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16899 (grub_lua_getenv): Likewise.
16900 (grub_lua_setenv): Likewise.
16901 (save_errno): New function.
16902 (push_result): Likewise.
16903 (grub_lua_enum_device): Likewise.
16904 (grub_lua_enum_file): Likewise.
16905 (grub_lua_file_open): Likewise.
16906 (grub_lua_file_close): Likewise.
16907 (grub_lua_file_seek): Likewise.
16908 (grub_lua_file_read): Likewise.
16909 (grub_lua_file_getline): Likewise.
16910 (grub_lua_file_getsize): Likewise.
16911 (grub_lua_file_getpos): Likewise.
16912 (grub_lua_file_eof): Likewise.
16913 (grub_lua_file_exist): Likewise.
16914 (grub_lua_add_menu): Likewise.
16915
16916 * script/lua/grub_lua.h (isupper): New inline function.
16917 (islower): Likewise.
16918 (ispunct): Likewise.
16919 (isxdigit): Likewise.
16920 (strcspn): Change to normal function.
16921 (strpbkr): New function declaration.
16922 (memchr): Likewise.
16923
16924 * script/lua/grub_main.c (scan_str): New function.
16925 (strcspn): Likewise.
16926 (strpbrk): Likewise.
16927 (memchr): Likewise.
16928
16929 * script/lua/linit.c (lualibs): Enable the string library.
16930
16931 * util/osdetect.lua: New file.
16932
16933 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16934
16935 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16936 `capabilities' member.
16937
16938 2009-07-02 Pavel Roskin <proski@gnu.org>
16939
16940 * genparttoollist.sh: Add missing newline at the end.
16941
16942 2009-07-01 Pavel Roskin <proski@gnu.org>
16943
16944 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16945
16946 * util/hostdisk.c (open_device): Remove `const' from
16947 `sysctl_size', as sysctlbyname() can change it (in this case it
16948 doesn't actually happen).
16949
16950 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16951 using signed long int constants.
16952
16953 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16954 constant to avoid a warning on FreeBSD.
16955
16956 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16957 where it's needed.
16958
16959 * Makefile.in: Install include/grub/machine symlink.
16960
16961 * Makefile.in: When installing symlinks, use "cp -fR", which
16962 works on FreeBSD and MacOSX.
16963 From Yves Blusseau <cl7m42e02@sneakemail.com>
16964
16965 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16966 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16967
16968 * util/misc.c: Move grub_reboot() and grub_halt() ...
16969 * util/grub-emu.c: ... here. Make main_env static.
16970 * include/grub/util/misc.h: Remove main_env.
16971
16972 * kern/mm.c: Use correct format to print size_t.
16973
16974 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16975 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16976 * kern/powerpc/dl.c: Likewise.
16977 * kern/sparc64/dl.c: Likewise.
16978 * kern/x86_64/dl.c: Likewise.
16979
16980 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16981
16982 Fix grub-emu build on sparc64-ieee1275.
16983
16984 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16986
16987 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16988
16989 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16990 (grub_reboot, grub_halt): New functions.
16991
16992 * util/i386/pc/misc.c: Delete. Update all users.
16993 * util/sparc64/ieee1275/misc.c: Likewise.
16994 * util/powerpc/ieee1275/misc.c: Likewise.
16995
16996 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16997
16998 * conf/i386.rmk (setjmp_mod_SOURCES)
16999 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17000 * conf/common.rmk (setjmp_mod_SOURCES)
17001 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17002 to use $(target_cpu).
17003 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17004 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17005 * conf/powerpc-ieee1275.rmk: Likewise.
17006 * conf/sparc64-ieee1275.rmk: Likewise.
17007
17008 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17009 $(target_cpu) for kern/$(target_cpu)/dl.c.
17010 * conf/i386-efi.rmk: Likewise.
17011 * conf/i386-ieee1275.rmk: Likewise.
17012 * conf/x86_64-efi.rmk: Likewise.
17013 * conf/i386-coreboot.rmk: Likewise.
17014 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17015 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17016 kern/$(target_cpu)/cache.S.
17017 * conf/sparc64-ieee1275.rmk: Likewise.
17018
17019 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17020
17021 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17022 type to `grub_uint8_t', and adjust `padding9' accordingly.
17023
17024 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17025
17026 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17027
17028 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17029 assembly in final jump, using register constraints.
17030
17031 (grub_linux_boot): For text mode, initialize `have_vga' using
17032 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17033
17034 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17035 right before the final jump.
17036
17037 Set `video_mode' to 0x3.
17038
17039 Document initialization of `video_page', `video_mode' and
17040 `video_ega_bx'.
17041
17042 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17043
17044 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17045 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
17046 and set GRUB_LINUX_FLAG_QUIET appropriately.
17047
17048 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17049
17050 Fix build on Debian / sparc.
17051
17052 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17053
17054 2009-06-28 Pavel Roskin <proski@gnu.org>
17055
17056 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17057 fix a warning.
17058
17059 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17060
17061 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17062
17063 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17064 `err'.
17065
17066 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17067
17068 Revert r2338.
17069
17070 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17071 file can't be opened. grub_file_open() is already supposed to set
17072 grub_errno / grub_errmsg appropriately.
17073 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17074
17075 2009-06-27 Pavel Roskin <proski@gnu.org>
17076 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17077
17078 * include/grub/dl.h: Include grub/elf.h.
17079 (struct grub_dl): Add symtab field.
17080 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17081 GRUB_MODULES_MACHINE_READONLY.
17082 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17083 of the header for read-only modules.
17084 (grub_dl_unload): Free mod->symtab for read-only modules.
17085 * kern/i386/dl.c: Use mod->symtab.
17086 * kern/powerpc/dl.c: Likewise.
17087 * kern/sparc64/dl.c: Likewise.
17088 * kern/x86_64/dl.c: Likewise.
17089
17090 * conf/i386-qemu.rmk: New file.
17091 * kern/i386/qemu/startup.S: Likewise.
17092 * kern/i386/qemu/mmap.c: Likewise.
17093 * boot/i386/qemu/boot.S: Likewise.
17094 * include/grub/i386/qemu/time.h: Likewise.
17095 * include/grub/i386/qemu/serial.h: Likewise.
17096 * include/grub/i386/qemu/kernel.h: Likewise.
17097 * include/grub/i386/qemu/console.h: Likewise.
17098 * include/grub/i386/qemu/boot.h: Likewise.
17099 * include/grub/i386/qemu/init.h: Likewise.
17100 * include/grub/i386/qemu/machine.h: Likewise.
17101 * include/grub/i386/qemu/loader.h: Likewise.
17102 * include/grub/i386/qemu/memory.h: Likewise.
17103
17104 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17105 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17106 [qemu] (pkglib_IMAGES): Add `boot.img'.
17107 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17108 [qemu] (boot_img_FORMAT): New variables.
17109 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17110 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17111 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17112 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17113 [qemu] (kernel_img_FORMAT): New variables.
17114
17115 * configure.ac: Recognise `i386-qemu'.
17116
17117 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17118 (for no compression).
17119 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17120 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17121 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17122 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17123 ifdefs).
17124
17125 2009-06-27 Pavel Roskin <proski@gnu.org>
17126
17127 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17128 read.
17129 * efiemu/prepare32.c: Likewise.
17130 * efiemu/prepare64.c: Likewise.
17131
17132 2009-06-26 Pavel Roskin <proski@gnu.org>
17133
17134 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17135 * include/grub/elf.h: Define symbols without "32" or "64" based
17136 on GRUB_TARGET_WORDSIZE.
17137 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17138 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17139 ELF definitions.
17140 * efiemu/loadcore64.c: Likewise.
17141 * loader/i386/bsd32.c: Likewise.
17142 * loader/i386/bsd64.c: Likewise.
17143 * kern/dl.c: Remove own ELF definitions.
17144 * util/i386/efi/grub-mkimage.c: Likewise.
17145
17146 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17147
17148 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17149 segment 0x0 unconditionally, because the reference generated by
17150 GAS is an absolute address.
17151
17152 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17153
17154 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17155 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17156
17157 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17158
17159 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17160 indexes. Check for -f explicitly.
17161 (search_file): Improve error message.
17162 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
17163
17164 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17165
17166 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17167 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17168
17169 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17170
17171 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17172 * conf/i386-ieee1275.rmk: Likewise.
17173 * conf/i386-coreboot.rmk: Likewise.
17174
17175 * kern/i386/pc/startup.S (grub_stop): Remove function.
17176 * kern/i386/ieee1275/startup.S: Likewise.
17177 * kern/i386/coreboot/startup.S: Likewise.
17178 * kern/i386/misc.S (grub_stop): New function.
17179
17180 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17181
17182 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17183 * kern/i386/realmode.S (real_to_prot): ... to here.
17184
17185 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17186
17187 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17188 with `kernel.img'.
17189 (kernel_elf_SOURCES): Rename to ...
17190 (kernel_img_SOURCES): ... this.
17191 (kernel_elf_HEADERS): Rename to ...
17192 (kernel_img_HEADERS): ... this. Update all users.
17193 (kernel_elf_ASFLAGS): Rename to ...
17194 (kernel_img_ASFLAGS): ... this.
17195 (kernel_elf_CFLAGS): Rename to ...
17196 (kernel_img_CFLAGS): ... this.
17197 (kernel_elf_LDFLAGS): Rename to ...
17198 (kernel_img_LDFLAGS): ... this.
17199 * conf/i386-coreboot.rmk: Likewise.
17200 * conf/powerpc-ieee1275.rmk: Likewise.
17201
17202 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17203 with "kernel.img".
17204
17205 2009-06-21 Pavel Roskin <proski@gnu.org>
17206
17207 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17208 to match nested functions.
17209 * loader/sparc64/ieee1275/linux.c: Likewise.
17210
17211 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17212
17213 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17216 all i386 platforms.
17217
17218 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17219
17220 Fix asm file handling on ELF, and remove workarounds.
17221
17222 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17223 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17224 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17225 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17226
17227 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Load BSD ELF modules
17230
17231 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17232 and loader/i386/bsd64.c
17233 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17234 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17235 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17236 (grub_freebsd_load_elfmodule32): New declaration
17237 (grub_freebsd_load_elfmoduleobj64): Likewise
17238 (grub_freebsd_load_elf_meta32): Likewise
17239 (grub_freebsd_load_elf_meta64): Likewise
17240 (grub_freebsd_add_meta): Likewise
17241 (grub_freebsd_add_meta_module): Likewise
17242 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17243 (grub_freebsd_add_meta_module): Likewise and move module-specific
17244 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17245 (grub_cmd_freebsd): Add elf-kernel specific parts
17246 based on grub_freebsd_add_meta_module
17247 (grub_cmd_freebsd_module): Add type parsing moved from
17248 grub_freebsd_add_meta_module
17249 (grub_cmd_freebsd_module_elf): New function
17250 (cmd_freebsd_module_elf): New variable
17251 (GRUB_MOD_INIT): Register freebsd_module_elf
17252 * loader/i386/bsd32.c: New file
17253 * loader/i386/bsd64.c: Likewise
17254 * loader/i386/bsdXX.c: Likewise
17255 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17256 (grub_elf64_load): Likewise
17257 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17258 All users updated
17259 (grub_elf64_load_hook_t): Likewise
17260
17261 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17262
17263 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17264 variable.
17265 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17266 don't write a menu entry for recovery mode.
17267
17268 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17269
17270 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17271 after it's no longer needed.
17272
17273 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17274
17275 * include/grub/i386/loader.h (grub_linux_prot_size)
17276 (grub_linux_tmp_addr, grub_linux_real_addr)
17277 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17278 GRUB_MACHINE_PCBIOS.
17279 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17280 common grub_util_info() call to ...
17281 (generate_image): ... here.
17282 Fix use of uninitialized memory, comparison of signed with
17283 unsigned integers and memory leak.
17284 Remove bogus module address message.
17285
17286 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17289 grub_raid_register
17290 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17291
17292 2009-06-19 Pavel Roskin <proski@gnu.org>
17293
17294 * configure.ac: Remove stray AC_MSG_CHECKING.
17295
17296 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17299
17300 2009-06-18 Pavel Roskin <proski@gnu.org>
17301
17302 * conf/common.rmk: Add fs_file.mod.
17303 * disk/fs_file.c: New file.
17304 * include/grub/disk.h (enum grub_disk_dev_id): Add
17305 GRUB_DISK_DEVICE_FILE_ID.
17306
17307 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 Fix build with Apple's toolchain. Part 2
17310
17311 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17312 a fake start
17313
17314 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 Fix build with Apple's toolchain. Part 1
17317
17318 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17319 for long calls
17320 * configure.ac: remove a leftover AC_MSG_RESULT
17321 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17322 Apple's toolchain
17323
17324 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 Fix warnings
17327
17328 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17329 (decomp_block): initialize ch
17330 use grub_memcpy instead of memcpy
17331
17332 2009-06-17 Pavel Roskin <proski@gnu.org>
17333
17334 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17335 version, use declarations needed to use vga_text as the startup
17336 console.
17337
17338 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17339 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17340 the kernel.
17341 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17342 and grub_at_keyboard_fini(), it's done on module load and
17343 unload.
17344
17345 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17346
17347 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17348 file can't be found.
17349 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17350
17351 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 Fix newline handling
17354
17355 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17356 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17357 (grub_script_yylex): don't segfault on unterminated script
17358 newline terminates command and variable
17359
17360 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 avoid double grub_adjust_range call. Bug reported by David Simner
17363
17364 * kern/disk.c (grub_disk_write): change to raw disk access before
17365 calling disk_read
17366
17367 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17368
17369 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17370 spaces, for the benefit of help2man.
17371 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17372
17373 2009-06-16 Pavel Roskin <proski@gnu.org>
17374
17375 * kern/i386/halt.c: Include grub/machine/init.h.
17376 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17377
17378 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17379
17380 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17381 drivemap menuentry.
17382
17383 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17384
17385 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17386 `echo' command.
17387
17388 2009-06-16 Pavel Roskin <proski@gnu.org>
17389
17390 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17391 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17392 save %dx, we only need %dl and we never change it.
17393 * boot/i386/pc/cdboot.S: Don't set the root drive.
17394 * boot/i386/pc/pxeboot.S: Likewise.
17395 * include/grub/i386/pc/boot.h: Remove
17396 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17397 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17398 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17399 * kern/i386/pc/init.c (make_install_device): Remove references
17400 to grub_root_drive.
17401 * kern/i386/pc/startup.S: Likewise.
17402 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17403
17404 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 xnu_uuid command
17407
17408 * commands/xnu_uuid.c: new file
17409 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17410 (xnu_uuid_mod_SOURCES): new variable
17411 (xnu_uuid_mod_CFLAGS): likewise
17412 (xnu_uuid_mod_LDFLAGS): likewise
17413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17414 * conf/i386-ieee1275.rmk: likewise
17415 * conf/i386-pc.rmk: likewise
17416 * conf/powerpc-ieee1275.rmk: likewise
17417 * conf/sparc64-ieee1275.rmk: likewise
17418 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17419
17420 2009-06-16 Pavel Roskin <proski@gnu.org>
17421
17422 * configure.ac: Avoid '==' in test command, it's not portable.
17423
17424 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Probe command
17427
17428 * commands/probe.c: new file
17429 * conf/common.rmk (pkglib_MODULES): add probe.mod
17430 (probe_mod_SOURCES): new variable
17431 (probe_mod_CFLAGS): likewise
17432 (probe_mod_LDFLAGS): likewise
17433 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17434 * conf/i386-ieee1275.rmk: likewise
17435 * conf/i386-pc.rmk: likewise
17436 * conf/powerpc-ieee1275.rmk: likewise
17437 * conf/sparc64-ieee1275.rmk: likewise
17438
17439 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17440
17441 Fix handling of string like \"hello\" and "a
17442 b"
17443
17444 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17445 (grub_script_yylex): fix parsing of quoting, escaping and newline
17446
17447 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17450 handling
17451
17452 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17453
17454 * util/grub-mkconfig.in: Fix parsing of --output option.
17455
17456 2009-06-12 Pavel Roskin <proski@gnu.org>
17457
17458 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17459 genmk.rb don't need to be generated or installed.
17460
17461 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * commands/i386/pc/drivemap_int13h.S: add more comments
17464
17465 2009-06-11 Pavel Roskin <proski@gnu.org>
17466
17467 * Makefile.in (uninstall): Uninstall manuals.
17468
17469 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17470 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17471 and update-grub_lib in two places.
17472 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17473
17474 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17475 a compiler warning.
17476
17477 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17478 `entry_lo' to fix variable shadowing.
17479
17480 2009-06-11 Christian Franke <franke@computer.org>
17481
17482 * kern/misc.c (__enable_execute_stack): Add missing return type
17483 to prevent gcc warning.
17484
17485 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17486
17487 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17488
17489 2009-06-11 Pavel Roskin <proski@gnu.org>
17490
17491 * Makefile.in: Don't rely on any scripts being executable.
17492 Always use $(SHELL) to run shell scripts.
17493
17494 * configure.ac: Always define ___main if using -nostdlib. This
17495 fixes tests on Cygwin.
17496
17497 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17498
17499 UDF fix
17500
17501 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17502 is in bytes and not in blocks
17503
17504 2009-06-11 Pavel Roskin <proski@gnu.org>
17505
17506 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17507 warning.
17508
17509 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17510
17511 * util/grub.d/30_os-prober.in: Fix a comment. Source
17512 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17513 to set the root device. Place drivemap command in the generated
17514 chain entry.
17515
17516 2009-06-11 Pavel Roskin <proski@gnu.org>
17517
17518 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17519 have long been resolved.
17520
17521 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17522
17523 * util/grub.d/10_linux.in: Capitalise "Linux".
17524
17525 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17526
17527 2009-06-11 Pavel Roskin <proski@gnu.org>
17528
17529 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17530 fix a gcc warning and ensure that the function won't ever exit.
17531
17532 * kern/i386/ieee1275/init.c: Add missing prototype for
17533 grub_stop_floppy().
17534
17535 * loader/ieee1275/multiboot2.c [__i386__]: Include
17536 grub/cpu/multiboot.h.
17537
17538 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17539 casts to short - they are not portable and cause warnings. Fix
17540 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17541
17542 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 Drivemap fixes
17545
17546 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17547 new function
17548 (grub_get_root_biosnumber_saved): new variable
17549 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17550 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17551 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17552 %dx after the call if necessary
17553 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17554 (boot_mod_SOURCES): remove
17555 (boot_mod_CFLAGS): remove
17556 (boot_mod_LDFLAGS): remove
17557 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17558 (boot_mod_SOURCES): new variable
17559 (boot_mod_CFLAGS): likewise
17560 (boot_mod_LDFLAGS): likewise
17561 * conf/i386-efi.rmk: likewise
17562 * conf/i386-ieee1275.rmk: likewise
17563 * conf/i386-pc.rmk: likewise
17564 * conf/powerpc-ieee1275.rmk: likewise
17565 * conf/sparc64-ieee1275.rmk: likewise
17566 * conf/x86_64-efi.rmk: likewise
17567 * include/grub/i386/pc/biosnum.h: new file
17568 * lib/i386/pc/biosnum.c: likewise
17569 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17570 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17571 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17572
17573 2009-06-10 Pavel Roskin <proski@gnu.org>
17574
17575 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17576 Use separate variables. Read only the file size at the end, but
17577 not the checksum that we don't use.
17578
17579 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17580 Adjust all callers.
17581
17582 * kern/ieee1275/openfw.c: Remove libc includes.
17583 * kern/ieee1275/cmain.c: Likewise.
17584 * include/grub/ieee1275/ieee1275.h: Likewise.
17585
17586 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17587 compiler warnings.
17588
17589 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17590
17591 * Makefile.in: Remove all trailing whitespace.
17592 * conf/i386-pc.rmk: Likewise.
17593 * conf/powerpc-ieee1275.rmk: Likewise.
17594 * conf/sparc64-ieee1275.rmk: Likewise.
17595 * docs/grub.texi: Likewise.
17596 * docs/texinfo.tex: Likewise.
17597 * disk/fs_uuid.c: Likewise.
17598 * disk/lvm.c: Likewise.
17599 * disk/scsi.c: Likewise.
17600 * disk/ata.c: Likewise.
17601 * disk/ieee1275/ofdisk.c: Likewise.
17602 * disk/i386/pc/biosdisk.c: Likewise.
17603 * disk/host.c: Likewise.
17604 * disk/raid.c: Likewise.
17605 * disk/efi/efidisk.c: Likewise.
17606 * disk/usbms.c: Likewise.
17607 * disk/memdisk.c: Likewise.
17608 * disk/loopback.c: Likewise.
17609 * kern/powerpc/dl.c: Likewise.
17610 * kern/device.c: Likewise.
17611 * kern/dl.c: Likewise.
17612 * kern/sparc64/dl.c: Likewise.
17613 * kern/ieee1275/ieee1275.c: Likewise.
17614 * kern/term.c: Likewise.
17615 * kern/fs.c: Likewise.
17616 * kern/i386/dl.c: Likewise.
17617 * kern/i386/pc/startup.S: Likewise.
17618 * kern/i386/pc/init.c: Likewise.
17619 * kern/i386/pc/mmap.c: Likewise.
17620 * kern/i386/pc/lzo1x.S: Likewise.
17621 * kern/i386/ieee1275/init.c: Likewise.
17622 * kern/i386/realmode.S: Likewise.
17623 * kern/i386/tsc.c: Likewise.
17624 * kern/partition.c: Likewise.
17625 * kern/corecmd.c: Likewise.
17626 * kern/file.c: Likewise.
17627 * kern/efi/efi.c: Likewise.
17628 * kern/efi/init.c: Likewise.
17629 * kern/efi/mm.c: Likewise.
17630 * kern/main.c: Likewise.
17631 * kern/err.c: Likewise.
17632 * kern/env.c: Likewise.
17633 * kern/disk.c: Likewise.
17634 * kern/generic/millisleep.c: Likewise.
17635 * kern/generic/rtc_get_time_ms.c: Likewise.
17636 * kern/misc.c: Likewise.
17637 * kern/parser.c: Likewise.
17638 * genmk.rb: Likewise.
17639 * configure.ac: Likewise.
17640 * boot/i386/pc/diskboot.S: Likewise.
17641 * boot/i386/pc/pxeboot.S: Likewise.
17642 * boot/i386/pc/boot.S: Likewise.
17643 * boot/i386/pc/lnxboot.S: Likewise.
17644 * boot/i386/pc/cdboot.S: Likewise.
17645 * parttool/pcpart.c: Likewise.
17646 * video/readers/tga.c: Likewise.
17647 * video/video.c: Likewise.
17648 * video/bitmap.c: Likewise.
17649 * lib/envblk.c: Likewise.
17650 * lib/i386/setjmp.S: Likewise.
17651 * fs/xfs.c: Likewise.
17652 * fs/afs.c: Likewise.
17653 * fs/fat.c: Likewise.
17654 * fs/ntfs.c: Likewise.
17655 * fs/udf.c: Likewise.
17656 * fs/affs.c: Likewise.
17657 * fs/iso9660.c: Likewise.
17658 * fs/hfs.c: Likewise.
17659 * fs/fshelp.c: Likewise.
17660 * fs/ext2.c: Likewise.
17661 * fs/jfs.c: Likewise.
17662 * fs/reiserfs.c: Likewise.
17663 * fs/hfsplus.c: Likewise.
17664 * fs/minix.c: Likewise.
17665 * fs/cpio.c: Likewise.
17666 * fs/sfs.c: Likewise.
17667 * fs/ufs.c: Likewise.
17668 * efiemu/prepare.c: Likewise.
17669 * efiemu/loadcore_common.c: Likewise.
17670 * efiemu/runtime/efiemu.sh: Likewise.
17671 * efiemu/runtime/efiemu.S: Likewise.
17672 * efiemu/runtime/efiemu.c: Likewise.
17673 * efiemu/pnvram.c: Likewise.
17674 * efiemu/main.c: Likewise.
17675 * efiemu/i386/pc/cfgtables.c: Likewise.
17676 * efiemu/i386/loadcore64.c: Likewise.
17677 * efiemu/i386/loadcore32.c: Likewise.
17678 * efiemu/loadcore.c: Likewise.
17679 * efiemu/symbols.c: Likewise.
17680 * efiemu/mm.c: Likewise.
17681 * include/grub/autoefi.h: Likewise.
17682 * include/grub/datetime.h: Likewise.
17683 * include/grub/term.h: Likewise.
17684 * include/grub/hfs.h: Likewise.
17685 * include/grub/lvm.h: Likewise.
17686 * include/grub/i386/tsc.h: Likewise.
17687 * include/grub/i386/linux.h: Likewise.
17688 * include/grub/i386/xnu.h: Likewise.
17689 * include/grub/i386/efiemu.h: Likewise.
17690 * include/grub/i386/pc/biosdisk.h: Likewise.
17691 * include/grub/i386/pc/memory.h: Likewise.
17692 * include/grub/i386/pc/vbe.h: Likewise.
17693 * include/grub/parttool.h: Likewise.
17694 * include/grub/video.h: Likewise.
17695 * include/grub/memory.h: Likewise.
17696 * include/grub/fs.h: Likewise.
17697 * include/grub/partition.h: Likewise.
17698 * include/grub/xnu.h: Likewise.
17699 * include/grub/efi/api.h: Likewise.
17700 * include/grub/efi/pe32.h: Likewise.
17701 * include/grub/efi/memory.h: Likewise.
17702 * include/grub/multiboot.h: Likewise.
17703 * include/grub/usbdesc.h: Likewise.
17704 * include/grub/multiboot2.h: Likewise.
17705 * include/grub/acpi.h: Likewise.
17706 * include/grub/efiemu/efiemu.h: Likewise.
17707 * include/grub/disk.h: Likewise.
17708 * include/grub/ieee1275/ieee1275.h: Likewise.
17709 * include/grub/net.h: Likewise.
17710 * include/grub/machoload.h: Likewise.
17711 * include/grub/macho.h: Likewise.
17712 * include/multiboot.h: Likewise.
17713 * genmoddep.awk: Likewise.
17714 * normal/main.c: Likewise.
17715 * normal/menu_entry.c: Likewise.
17716 * normal/menu_viewer.c: Likewise.
17717 * normal/completion.c: Likewise.
17718 * normal/cmdline.c: Likewise.
17719 * normal/misc.c: Likewise.
17720 * normal/datetime.c: Likewise.
17721 * bus/usb/usbtrans.c: Likewise.
17722 * bus/usb/ohci.c: Likewise.
17723 * bus/usb/uhci.c: Likewise.
17724 * bus/usb/usb.c: Likewise.
17725 * mmap/efi/mmap.c: Likewise.
17726 * mmap/i386/pc/mmap_helper.S: Likewise.
17727 * mmap/i386/pc/mmap.c: Likewise.
17728 * mmap/i386/mmap.c: Likewise.
17729 * mmap/i386/uppermem.c: Likewise.
17730 * mmap/mmap.c: Likewise.
17731 * commands/acpi.c: Likewise.
17732 * commands/echo.c: Likewise.
17733 * commands/blocklist.c: Likewise.
17734 * commands/loadenv.c: Likewise.
17735 * commands/usbtest.c: Likewise.
17736 * commands/boot.c: Likewise.
17737 * commands/parttool.c: Likewise.
17738 * commands/search.c: Likewise.
17739 * commands/cat.c: Likewise.
17740 * commands/i386/pc/play.c: Likewise.
17741 * commands/i386/pc/drivemap.c: Likewise.
17742 * commands/i386/pc/vbeinfo.c: Likewise.
17743 * commands/i386/pc/acpi.c: Likewise.
17744 * commands/i386/pc/vbetest.c: Likewise.
17745 * commands/ls.c: Likewise.
17746 * commands/cmp.c: Likewise.
17747 * commands/test.c: Likewise.
17748 * commands/efi/acpi.c: Likewise.
17749 * commands/gptsync.c: Likewise.
17750 * commands/help.c: Likewise.
17751 * partmap/amiga.c: Likewise.
17752 * partmap/apple.c: Likewise.
17753 * partmap/acorn.c: Likewise.
17754 * partmap/pc.c: Likewise.
17755 * partmap/sun.c: Likewise.
17756 * partmap/gpt.c: Likewise.
17757 * script/sh/lexer.c: Likewise.
17758 * script/sh/function.c: Likewise.
17759 * font/font.c: Likewise.
17760 * font/font_cmd.c: Likewise.
17761 * loader/powerpc/ieee1275/linux.c: Likewise.
17762 * loader/efi/chainloader.c: Likewise.
17763 * loader/multiboot_loader.c: Likewise.
17764 * loader/macho.c: Likewise.
17765 * loader/i386/multiboot.c: Likewise.
17766 * loader/i386/linux.c: Likewise.
17767 * loader/i386/pc/linux.c: Likewise.
17768 * loader/i386/pc/multiboot2.c: Likewise.
17769 * loader/i386/pc/chainloader.c: Likewise.
17770 * loader/i386/pc/xnu.c: Likewise.
17771 * loader/i386/bsd_trampoline.S: Likewise.
17772 * loader/i386/efi/linux.c: Likewise.
17773 * loader/i386/multiboot_elfxx.c: Likewise.
17774 * loader/i386/bsd_helper.S: Likewise.
17775 * loader/i386/bsd.c: Likewise.
17776 * loader/i386/linux_trampoline.S: Likewise.
17777 * loader/i386/xnu_helper.S: Likewise.
17778 * loader/i386/xnu.c: Likewise.
17779 * loader/i386/bsd_pagetable.c: Likewise.
17780 * loader/i386/multiboot_helper.S: Likewise.
17781 * loader/xnu.c: Likewise.
17782 * loader/xnu_resume.c: Likewise.
17783 * io/gzio.c: Likewise.
17784 * term/efi/console.c: Likewise.
17785 * term/terminfo.c: Likewise.
17786 * term/ieee1275/ofconsole.c: Likewise.
17787 * term/i386/pc/serial.c: Likewise.
17788 * term/i386/pc/vesafb.c: Likewise.
17789 * term/i386/pc/vga.c: Likewise.
17790 * term/usb_keyboard.c: Likewise.
17791 * term/gfxterm.c: Likewise.
17792 * aclocal.m4: Likewise.
17793 * util/lvm.c: Likewise.
17794 * util/grub.d/30_os-prober.in: Likewise.
17795 * util/grub.d/10_hurd.in: Likewise.
17796 * util/console.c: Likewise.
17797 * util/grub-macho2img.c: Likewise.
17798 * util/grub-probe.c: Likewise.
17799 * util/hostfs.c: Likewise.
17800 * util/i386/pc/grub-mkimage.c: Likewise.
17801 * util/i386/pc/grub-setup.c: Likewise.
17802 * util/i386/efi/grub-mkimage.c: Likewise.
17803 * util/grub-mkconfig.in: Likewise.
17804 * util/raid.c: Likewise.
17805 * util/resolve.c: Likewise.
17806 * util/grub-mkdevicemap.c: Likewise.
17807 * util/grub-emu.c: Likewise.
17808 * util/getroot.c: Likewise.
17809 * util/hostdisk.c: Likewise.
17810 * util/usb.c: Likewise.
17811 * util/grub-editenv.c: Likewise.
17812 * util/misc.c: Likewise.
17813
17814 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17815
17816 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17817 `genparttoollist.sh'.
17818 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17819 Add `*.sh' to the list find searches for and change `mdate.sh'
17820 to `mdate-sh'.
17821
17822 2009-06-10 Pavel Roskin <proski@gnu.org>
17823
17824 * include/grub/multiboot2.h: Provide compatibility defines for
17825 multiboot2.h.
17826 * include/multiboot2.h: Include stdint.h only if needed, using
17827 angle brackets.
17828 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17829 grub/multiboot2.h.
17830 * loader/ieee1275/multiboot2.c: Likewise.
17831 * loader/multiboot2.c: Likewise.
17832 * loader/multiboot_loader.c: Likewise.
17833
17834 * configure.ac: Use -nostdlib when probing for the target. It
17835 should not be required to have libc for the target.
17836
17837 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17838 they fail without libc headers for the target.
17839 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17840 exports.
17841 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17842 preprocessor conditionals.
17843
17844 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17845 build system doesn't need to be aware of the tar.c internals.
17846
17847 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17848
17849 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17850
17851 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17852
17853 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17854 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17855
17856 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17857
17858 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17859 aren't available if ata.mod gets used.
17860
17861 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17862
17863 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17864 initialising controller.
17865 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17866
17867 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17868
17869 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17870 to choose between ata and biosdisk module on i386-pc.
17871
17872 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17873
17874 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17875 Subclass and Programming Interface fields in terms of the 3 byte
17876 Class Code register.
17877 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17878
17879 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17880 interface is OHCI. Add grub_dprintf for symmetry with
17881 bus/usb/uhci.c.
17882 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17883 interface is UHCI. Add interf variable for programming
17884 interface. Print interface with class/subclass.
17885
17886 * bus/usb/ohci.c: Set interf with correct field.
17887
17888 * bus/usb/uhci.c: Remove unneeded doubled lines.
17889 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17890 Remove whitespace inside comment.
17891
17892 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17893
17894 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17895 as fallback an equivalent option without depth.
17896
17897 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 Not fail if unable to retrieve C/H/S on LBA disks
17900
17901 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17902 if unable to retrieve C/H/S on LBA disks
17903
17904 2009-06-08 Pavel Roskin <proski@gnu.org>
17905
17906 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17907 about aliasing.
17908
17909 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17910
17911 * Makefile.in (uninstall): Remove all $lib_DATA files.
17912
17913 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 Bugfix: install on partitionless device
17916
17917 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17918 is a whole disk
17919
17920 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17921
17922 * Makefile.in (uninstall): Remove all $include_DATA files.
17923
17924 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17925
17926 * commands/true.c: New file. Implement the true and false commands.
17927 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17928 (true_mod_SOURCES): New variable.
17929 (true_mod_CFLAGS): Likewise.
17930 (true_mod_LDFLAGS): Likewise.
17931
17932 2009-06-05 Colin D Bennett <colin@gibibit.com>
17933
17934 Optimized font character lookup using binary search instead of linear
17935 search. Fonts now are required to have the character index ordered by
17936 code point.
17937
17938 * font/font.c (load_font_index): Verify that fonts have ordered
17939 character indices.
17940 (find_glyph): Use binary search instead of linear search to find a
17941 character in a font.
17942
17943 2009-06-05 Michael Scherer <misc@mandriva.org>
17944
17945 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17946 uses case sensitive btree.
17947 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17948 only for case insensitive filesystems.
17949
17950 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17953 * conf/common.rmk (search_mod_CFLAGS): likewise
17954
17955 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17958 compensate a compiler bug
17959
17960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17963 instead of '\b'
17964
17965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 Definitions for creating asm symbols with Apple's CC
17968
17969 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17970 [APPLE_CC] (VARIABLE): likewise
17971
17972 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 Disable lnxboot.img when compiled
17975 with Apple's CC
17976
17977 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17978 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17979 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17980 [! APPLE_CC] (CODE_LENG): skip
17981 [! APPLE_CC] (setup_sects): likewise
17982 [! APPLE_CC]: skip filling
17983
17984 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 Address in trampolines based on 32-bit registers when compiled
17987 with Apple's CC
17988
17989 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17990 for addresses
17991 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17992
17993 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17996
17997 * kern/misc.c [APPLE_CC] (memcpy): new function
17998 [APPLE_CC] (memmove): likewise
17999 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
18000 (memcpy): define alias conditionally on !APPLE_CC
18001 (memset): likewise
18002 (abort): likewise
18003 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18004 APPLE_CC are defined
18005 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18006 (grub_assert_fail): make prototype conditional
18007
18008 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18011
18012 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18013 grub-macho2img
18014 (CLEANFILES): add grub-macho2img
18015 (grub_macho2img_SOURCES): new variable
18016 * kern/i386/pc/startup.S (bss_start): new variable
18017 (bss_end): likewise
18018 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18019 * util/grub-macho2img.c: new file
18020
18021 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Use objconv when compiling with Apple's CC
18024
18025 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18026 (efiemu64.o): likewise
18027 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18028 when compiling with Apple's CC
18029 (efiemu64_s.o): likewise
18030 * configure.ac: check for objconv when compiling with Apple's CC
18031 * genmk.rb: use objconv for modules when compiled with Apple's CC
18032
18033 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 Define segment as well as section when compiling with
18036 Apple's CC
18037
18038 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18039 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18040 (efiemu_convert_pointer): likewise
18041 (efiemu_set_virtual_address_map): likewise
18042 (efiemu_convert_pointer): likewise
18043 (efiemu_getcrc32): likewise
18044 (init_crc32_table): likewise
18045 (reflect): likewise
18046 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18047 (GRUB_MOD_DEP): likewise
18048
18049 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 Allow a compilation without -mcmodel=large
18052
18053 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18054 when compiled without -mcmodel=large
18055 (filter_memory_map): remove memory post 4 GiB when compiled
18056 without -mcmodel=large
18057 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
18058 TARGET_CFLAGS when -mcmodel=large isn't supported
18059
18060 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 Remove nested functions in efiemu core
18063
18064 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
18065
18066 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18069
18070 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18071 temporary storage
18072 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18073 using Apple's CC
18074 (grub_cpu_is_tsc_supported): likewise
18075 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
18076
18077 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 Absolute addressing through constant with Apple's cc
18080
18081 * kern/i386/pc/startup.S: Define necessary constants
18082 and address through it when using ABS with Apple's CC
18083 * boot/i386/pc/diskboot.S: likewise
18084 * boot/i386/pc/boot.S: likewise
18085 * boot/i386/pc/lnxboot.S: likewise
18086 * boot/i386/pc/cdboot.S: likewise
18087 * mmap/i386/pc/mmap_helper.S: likewise
18088 * commands/i386/pc/drivemap_int13h.S: likewise
18089
18090 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 Check if compiler is apple cc
18093
18094 * Makefile.in (ASFLAGS): new variable
18095 (TARGET_ASFLAGS): likewise
18096 (TARGET_MODULE_FORMAT): likewise
18097 (TARGET_APPLE_CC): likewise
18098 (OBJCONV): likewise
18099 (TARGET_IMG_CFLAGS): likewise
18100 (TARGET_CPPFLAGS): add includedir
18101 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18102 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18103 Check for linker script only if compiler isn't Apple's CC
18104 (TARGET_MODULE_FORMAT): set
18105 (TARGET_APPLE_CC): likewise
18106 (TARGET_ASFLAGS): likewise
18107 (ASFLAGS): likewise
18108 Check for objcopy only if compiler isn't Apple's CC
18109 Check for BSS symbol only if compiler isn't Apple's CC
18110 * genmk.rb: adapt nm options if we use Apple's utils
18111 * aclocal.m4 (grub_apple_cc): new test
18112 (grub_apple_target_cc): likewise
18113
18114 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 Simplify sed expressions and improve awk
18117
18118 * Makefile.in (install-local): simplify sed expression
18119 * gencmdlist.sh: likewise
18120 * genmoddep.awk: avoid adding module as a dependency of itself
18121
18122 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 Add missing start symbols
18125
18126 * boot/i386/pc/boot.S: add start
18127 * boot/i386/pc/pxeboot.S: likewise
18128
18129 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 Fix wrong assumptions with grub-mkimage on EFI
18132
18133 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
18134 (relocate_addresses): consider both r_addend and value at offset
18135 (make_mods_section): zerofill modinfo and header
18136 (convert_elf): write prefix here
18137
18138 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 Use .asciz instead of .string
18141
18142 * i386/pc/diskboot.S: use .asciz instead of .string
18143 * i386/pc/boot.S: likewise
18144 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18145 (GRUB_MOD_NAME): likewise
18146
18147 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 gfxpayload support
18150
18151 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18152 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18153 (grub_video_setup): remove
18154 (grub_video_set_mode): new prototype
18155 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18156 (vid_mode): remove
18157 (linux_vesafb_res): compile only on PCBIOS
18158 (grub_linux_boot): support gfxpayload
18159 * loader/i386/pc/xnu.c (video_hook): new function
18160 (grub_xnu_set_video): support gfxpayload
18161 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18162 (DEFAULT_VIDEO_HEIGHT): likewise
18163 (DEFAULT_VIDEO_FLAGS): likewise
18164 (DEFAULT_VIDEO_MODE): new definition
18165 (video_hook): new function
18166 (grub_gfxterm_init): use grub_video_set_mode
18167 * util/grub.d/30_os-prober.in: remove explicit modesetting before
18168 loading xnu
18169 * video/video.c (grub_video_setup): removed
18170 (grub_video_set_mode): new function based on grub_gfxterm_init and
18171 grub_video_setup
18172
18173 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 Avoid calling biosdisk in drivemap
18176
18177 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18178 (revparse_biosdisk): likewise
18179 (list_mappings): derive name from id directly
18180 (grub_cmd_drivemap): use tryparse_diskstring
18181
18182 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Script fixes
18185
18186 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18187 (grub_lexer_param): add tokenonhold
18188 (grub_script_create_cmdline): remove cmdline. All callers updated
18189 (grub_script_function_create): make functionname
18190 grub_script_arg. All callers updated
18191 (grub_script_execute_argument_to_string): new prototype
18192 * kern/parser.c (state_transitions): reorder
18193 (grub_parser_cmdline_state): fix a bug and make more compact
18194 * script/sh/execute.c (grub_script_execute_argument_to_string):
18195 make global
18196 (grub_script_execute_cmdline): use new format
18197 * script/sh/function.c (grub_script_function_create): make functionname
18198 grub_script_arg. All callers updated
18199 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18200 (grub_script_yylex): remove
18201 (grub_script_yylex2): renamed to ...
18202 (grub_script_yylex): ...renamed
18203 parse the expressions like a${b}c
18204 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18205 (GRUB_PARSER_TOKEN_VAR): remove
18206 (GRUB_PARSER_TOKEN_NAME): likewise
18207 ("if"): declare as typeless
18208 ("while"): likewise
18209 ("function"): likewise
18210 ("else"): likewise
18211 ("then"): likewise
18212 ("fi"): likewise
18213 (text): remove
18214 (argument): likewise
18215 (script): accept empty scripts and make exit on error
18216 (arguments): use GRUB_PARSER_TOKEN_ARG
18217 (function): likewise
18218 (command): move error handling to script
18219 (menuentry): move grub_script_lexer_ref before
18220 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18221 argument. All callers updated
18222
18223 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18224
18225 Prevent GRUB from probing floppies during boot.
18226
18227 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18228 * commands/search.c (options): Add --no-floppy.
18229 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18230 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18231 --no-floppy when searching for UUIDs.
18232
18233 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18234
18235 Simplify the code duplication in commands/search.c.
18236
18237 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18238 (search_fs): ... this. Update all users.
18239
18240 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18241
18242 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18243
18244 2009-05-28 Pavel Roskin <proski@gnu.org>
18245
18246 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18247 Remove the original symlink explicitly.
18248
18249 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18250 just one slash. That's how grub_fshelp_find_file() does it.
18251
18252 2009-05-26 Pavel Roskin <proski@gnu.org>
18253
18254 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18255 to `str'.
18256
18257 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18258 possibly unused.
18259
18260 2009-05-25 Christian Franke <franke@computer.org>
18261
18262 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18263 register.
18264 (grub_atapi_identify): Add wait after drive select.
18265 (grub_ata_identify): Do more strict status register check before
18266 calling grub_atapi_identify (). Suppress error message if status
18267 register is 0x00 after command failure. Add status register
18268 check after PIO read to avoid bogus identify due to stuck DRQ.
18269 Thanks to Pavel Roskin for testing.
18270 (grub_device_initialize): Remove unsafe status register check.
18271 Thanks to 'phcoder' for problem report and patch.
18272 Prevent sign extension in debug message.
18273
18274 2009-05-23 Colin D Bennett <colin@gibibit.com>
18275
18276 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18277 definition file, and functions defined in `normal/menu.c' have had
18278 their prototypes moved to `include/grub/menu.h' for consistency.
18279
18280 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18281 from normal.h.
18282 (grub_menu_get_entry): Likewise.
18283 (grub_menu_get_timeout): Likewise.
18284 (grub_menu_set_timeout): Likewise.
18285 (grub_menu_execute_entry): Likewise.
18286 (grub_menu_execute_with_fallback): Likewise.
18287 (grub_menu_entry_run): Likewise.
18288
18289 * include/grub/normal.h: Re-ordered and grouped function
18290 prototypes by file that the function is defined in.
18291 (grub_menu_execute_callback): Removed; moved to menu.h.
18292 (grub_menu_get_entry): Likewise.
18293 (grub_menu_get_timeout): Likewise.
18294 (grub_menu_set_timeout): Likewise.
18295 (grub_menu_execute_entry): Likewise.
18296 (grub_menu_execute_with_fallback): Likewise.
18297 (grub_menu_entry_run): Likewise.
18298 (grub_menu_addentry): Renamed from this ...
18299 (grub_normal_add_menu_entry): ... to this.
18300
18301 * normal/main.c (grub_menu_addentry): Renamed from this ...
18302 (grub_normal_add_menu_entry): ... to this.
18303
18304 * script/sh/execute.c (grub_script_execute_menuentry): Update
18305 reference to renamed grub_menu_addentry function.
18306
18307 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18308
18309 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18310
18311 2009-05-22 Pavel Roskin <proski@gnu.org>
18312
18313 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18314 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18315 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18316 compiling for the i386 targets, but not for the utilities.
18317
18318 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18319 to grub_uint8_t.
18320 (grub_root_drive): Likewise.
18321 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18322 remove alignment.
18323 (grub_root_drive): Change size to byte.
18324 (grub_start_addr): Remove.
18325 (grub_end_addr): Likewise.
18326 (grub_apm_bios_info): Likewise.
18327
18328 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18329
18330 * normal/i386: Remove.
18331 * normal/powerpc: Likewise.
18332 * normal/sparc64: Likewise.
18333 * normal/x86_64: Likewise.
18334
18335 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18338 * loader/i386/linux_trampoline.S: Fix indentation
18339 * loader/i386/xnu_helper.S: Likewise
18340
18341 2009-05-18 Colin D Bennett <colin@gibibit.com>
18342
18343 Display error messages when parsing a Lua statement fails.
18344 Previously, executing a syntactically invalid statement like
18345 ")foo" or "bar;" would silently fail.
18346
18347 * script/lua/grub_main.c (handle_lua_error): New function.
18348 (grub_lua_parse_line): Improved reporting of Lua parser and
18349 execution errors.
18350
18351 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 Remove -Werror which causes build to fail on some systems
18354
18355 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18356 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18357 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18358
18359 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 trampoline for linux on 64-bit platform
18362
18363 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18364 loader/i386/efi/linux_trampoline.S
18365 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18366 declaration
18367 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18368 here
18369 * loader/i386/linux_trampoline.S: moved here
18370 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18371 trampoline
18372 (jumpvector): removed
18373 (grub_linux_trampoline_start): new declaration
18374 (grub_linux_trampoline_end): likewise
18375 (grub_linux_boot): use trampoline when on 64-bit platform
18376 * loader/i386/linux.c: likewise
18377
18378 2009-05-16 Pavel Roskin <proski@gnu.org>
18379
18380 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18381 const to avoid a warning.
18382 (grub_lua_setenv): Likewise.
18383 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18384 lmsg to fix a warning.
18385
18386 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18387
18388 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18389 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18390 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18391 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18392 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18393 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18394 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18395 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18396
18397 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18398
18399 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18400
18401 2009-05-16 Bean <bean123ch@gmail.com>
18402
18403 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18404 (lua_mod_SOURCES): New variable.
18405 (lua_mod_CFLAGS): Likewise.
18406 (lua_mod_LDFLAGS): Likewise.
18407
18408 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18409 (setjmp_mod_SOURCES): New variable.
18410 (setjmp_mod_CFLAGS): Likewise.
18411 (setjmp_LDFLAGS): Likewise.
18412
18413 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18414 (setjmp_mod_SOURCES): New variable.
18415 (setjmp_mod_CFLAGS): Likewise.
18416 (setjmp_LDFLAGS): Likewise.
18417
18418 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18419 (setjmp_mod_SOURCES): New variable.
18420 (setjmp_mod_CFLAGS): Likewise.
18421 (setjmp_LDFLAGS): Likewise.
18422
18423 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18424 (setjmp_mod_SOURCES): New variable.
18425 (setjmp_mod_CFLAGS): Likewise.
18426 (setjmp_LDFLAGS): Likewise.
18427
18428 * normal/i386/setjmp.S: Moved from here ...
18429 * lib/i386/setjmp.S: ... Moved here
18430 * normal/x86_64/setjmp.S: Moved from here ...
18431 * lib/x86_64/setjmp.S: ... Moved here
18432 * normal/powerpc/setjmp.S: Moved from here ...
18433 * lib/powerpc/setjmp.S: ... Moved here
18434 * normal/sparc64/setjmp.S: Moved from here ...
18435 * lib/sparc64/setjmp.S: ... Moved here
18436
18437 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18438 returns_twice in mingw.
18439
18440 * script/lua/grub_lib.c: New file.
18441 * script/lua/grub_lib.h: Likewise.
18442 * script/lua/grub_lua.h: Likewise.
18443 * script/lua/grub_main.c: Likewise.
18444 * script/lua/lapi.c: Likewise.
18445 * script/lua/lapi.h: Likewise.
18446 * script/lua/lauxlib.c: Likewise.
18447 * script/lua/lauxlib.h: Likewise.
18448 * script/lua/lbaselib.c: Likewise.
18449 * script/lua/lcode.c: Likewise.
18450 * script/lua/lcode.h: Likewise.
18451 * script/lua/ldblib.c: Likewise.
18452 * script/lua/ldebug.c: Likewise.
18453 * script/lua/ldebug.h: Likewise.
18454 * script/lua/ldo.c: Likewise.
18455 * script/lua/ldo.h: Likewise.
18456 * script/lua/ldump.c: Likewise.
18457 * script/lua/lfunc.c: Likewise.
18458 * script/lua/lfunc.h: Likewise.
18459 * script/lua/lgc.c: Likewise.
18460 * script/lua/lgc.h: Likewise.
18461 * script/lua/linit.c: Likewise.
18462 * script/lua/liolib.c: Likewise.
18463 * script/lua/llex.c: Likewise.
18464 * script/lua/llex.h: Likewise.
18465 * script/lua/llimits.h: Likewise.
18466 * script/lua/lmathlib.c: Likewise.
18467 * script/lua/lmem.c: Likewise.
18468 * script/lua/lmem.h: Likewise.
18469 * script/lua/loadlib.c: Likewise.
18470 * script/lua/lobject.c: Likewise.
18471 * script/lua/lobject.h: Likewise.
18472 * script/lua/lopcodes.c: Likewise.
18473 * script/lua/lopcodes.h: Likewise.
18474 * script/lua/loslib.c: Likewise.
18475 * script/lua/lparser.c: Likewise.
18476 * script/lua/lparser.h: Likewise.
18477 * script/lua/lstate.c: Likewise.
18478 * script/lua/lstate.h: Likewise.
18479 * script/lua/lstring.c: Likewise.
18480 * script/lua/lstring.h: Likewise.
18481 * script/lua/lstrlib.c: Likewise.
18482 * script/lua/ltable.c: Likewise.
18483 * script/lua/ltable.h: Likewise.
18484 * script/lua/ltablib.c: Likewise.
18485 * script/lua/ltm.c: Likewise.
18486 * script/lua/ltm.h: Likewise.
18487 * script/lua/lua.h: Likewise.
18488 * script/lua/luaconf.h: Likewise.
18489 * script/lua/lualib.h: Likewise.
18490 * script/lua/lundump.c: Likewise.
18491 * script/lua/lundump.h: Likewise.
18492 * script/lua/lvm.c: Likewise.
18493 * script/lua/lvm.h: Likewise.
18494 * script/lua/lzio.c: Likewise.
18495 * script/lua/lzio.h: Likewise.
18496
18497 2009-05-16 Bean <bean123ch@gmail.com>
18498
18499 * include/grub/kernel.h (grub_module_header_types): Add type
18500 OBJ_TYPE_CONFIG.
18501
18502 * kern/main.c (grub_load_config): New function.
18503 (grub_main): Call grub_load_config to read boot config.
18504
18505 * grub-mkimage (generate_image): New parameter config_path.
18506 (options): New option --config.
18507 (main): Parse --config option, and pass it to generate_image.
18508
18509 2009-05-14 Christian Franke <franke@computer.org>
18510
18511 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18512 This fixes build on Cygwin.
18513
18514 2009-05-14 Pavel Roskin <proski@gnu.org>
18515
18516 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18517 jump. This saves two bytes, so the typical case of 2 swapped
18518 drives would fit 32 bytes.
18519
18520 2009-05-13 Pavel Roskin <proski@gnu.org>
18521
18522 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18523 grub_uint32_t to avoid a warning.
18524
18525 * loader/i386/linux.c (allocate_pages): When assigning
18526 real_mode_mem, cast through grub_size_t to fix a warning. The
18527 code already makes sure that the value would fit a pointer.
18528 (grub_linux_setup_video): Cast render_target->data to
18529 grub_size_t to fix a warning.
18530
18531 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18532
18533 * commands/i386/pc/drivemap.c: New file - implement drivemap
18534 command.
18535 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18536 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18537
18538 2009-05-13 Pavel Roskin <proski@gnu.org>
18539
18540 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18541 embedding_area_exists.
18542
18543 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18544
18545 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18546 it easier to understand / work with.
18547 Improve warning messages for cases where there's no embedding area,
18548 or when it is too small (or core.img too large).
18549
18550 2009-05-13 Pavel Roskin <proski@gnu.org>
18551
18552 * loader/i386/pc/multiboot2.c: Add necessary includes for
18553 grub_multiboot2_real_boot().
18554
18555 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18556 PX record is always little-endian. We only need the lower 2
18557 bytes of the mode.
18558
18559 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18560 facilitate code reuse.
18561 (grub_cpio_mount): Use "struct head", not a char buffer. This
18562 fixes a warning reported by gcc 4.4.
18563
18564 * kernel/disk.c (grub_disk_read): Use void pointer for the
18565 buffer.
18566 (grub_disk_write): Use const void pointer for the buffer.
18567 Adjust all callers. Remove unnecessary casts.
18568
18569 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18570
18571 * util/i386/pc/grub-install.in: Update copyright year.
18572
18573 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 gptsync
18576
18577 * commands/gptsync.c: new file
18578 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18579 (gptsync_mod_SOURCES): new variable
18580 (gptsync_mod_CFLAGS): likewise
18581 (gptsync_mod_LDFLAGS): likewise
18582 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18583 new definition
18584 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18586 * conf/i386-ieee1275.rmk: likewise
18587 * conf/i386-pc.rmk: likewise
18588 * conf/powerpc-ieee1275.rmk: likewise
18589
18590 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 Fixed grub-emu
18593
18594 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18595 (grub_dl_ref): likewise
18596
18597 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18598
18599 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18600 split in two functions (one for msdos and one for gpt).
18601
18602 2009-05-08 Pavel Roskin <proski@gnu.org>
18603
18604 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18605 not modified.
18606
18607 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18608 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18609 Initialize them with -1. Add sanity check for bad1. Eliminate
18610 nerr variable.
18611
18612 2009-05-08 David S. Miller <davem@davemloft.net>
18613
18614 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18615
18616 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18617
18618 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18619 existence.
18620
18621 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18622
18623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18624 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18625
18626 2009-05-05 David S. Miller <davem@davemloft.net>
18627
18628 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18629
18630 2009-05-05 Pavel Roskin <proski@gnu.org>
18631
18632 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18633 of grub_dl_ref() and grub_dl_unref().
18634 * commands/parttool.c: Remove preprocessor conditionals around
18635 grub_dl_ref() and grub_dl_unref().
18636 * fs/affs.c: Likewise.
18637 * fs/afs.c: Likewise.
18638 * fs/cpio.c: Likewise.
18639 * fs/ext2.c: Likewise.
18640 * fs/fat.c: Likewise.
18641 * fs/hfs.c: Likewise.
18642 * fs/hfsplus.c: Likewise.
18643 * fs/iso9660.c: Likewise.
18644 * fs/jfs.c: Likewise.
18645 * fs/minix.c: Likewise.
18646 * fs/ntfs.c: Likewise.
18647 * fs/reiserfs.c: Likewise.
18648 * fs/sfs.c: Likewise.
18649 * fs/udf.c: Likewise.
18650 * fs/ufs.c: Likewise.
18651 * fs/xfs.c: Likewise.
18652 * include/grub/dl.h: Likewise.
18653 * loader/xnu.c: Likewise.
18654
18655 2009-05-04 Pavel Roskin <proski@gnu.org>
18656
18657 * commands/acpi.c: Remove unused variable my_mod.
18658 * partmap/amiga.c: Likewise.
18659 * partmap/apple.c: Likewise.
18660 * partmap/gpt.c: Likewise.
18661 * partmap/pc.c: Likewise.
18662 * partmap/sun.c: Likewise.
18663 * term/gfxterm.c: Likewise.
18664 * term/i386/pc/vesafb.c: Likewise.
18665 * term/i386/pc/vga.c: Likewise.
18666
18667 2009-05-04 David S. Miller <davem@davemloft.net>
18668
18669 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18670 pointer args to grub_ieee1275_get_property().
18671
18672 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18673
18674 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18675 devices, and do not traverse down under controller nodes.
18676
18677 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18678 (grub_ofdisk_open): Use it to un-escape "," characters.
18679 * kern/disk.c (find_part_sep): New.
18680 (grub_disk_open): Use it to find the first non-escaped ','
18681 character in the disk name.
18682 * util/ieee1275/devicemap.c (escape_of_path): New.
18683 (grub_util_emit_devicemap_entry): Use it.
18684 * util/sparc64/ieee1275/grub-install.in: Update script to
18685 strip partition specifiers properly by not triggering on
18686 '\' escaped ',' characters.
18687
18688 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18689
18690 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18691 to 0x300.
18692 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18693 resolutions.
18694 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18695 on documentation from Wikipedia).
18696
18697 2009-05-04 Pavel Roskin <proski@gnu.org>
18698
18699 * disk/ata.c: Spelling fixes.
18700 * disk/raid.c: Likewise.
18701 * disk/usbms.c: Likewise.
18702 * disk/dmraid_nvidia.c: Likewise.
18703 * kern/ieee1275/openfw.c: Likewise.
18704 * kern/ieee1275/init.c: Likewise.
18705 * kern/ieee1275/cmain.c: Likewise.
18706 * boot/i386/pc/cdboot.S: Likewise.
18707 * video/readers/png.c: Likewise.
18708 * video/i386/pc/vbe.c: Likewise.
18709 * fs/udf.c: Likewise.
18710 * fs/hfs.c: Likewise.
18711 * fs/reiserfs.c: Likewise.
18712 * efiemu/runtime/efiemu.c: Likewise.
18713 * efiemu/main.c: Likewise.
18714 * efiemu/mm.c: Likewise.
18715 * include/grub/elf.h: Likewise.
18716 * include/grub/xnu.h: Likewise.
18717 * include/grub/usbdesc.h: Likewise.
18718 * include/grub/usb.h: Likewise.
18719 * include/grub/script_sh.h: Likewise.
18720 * include/grub/lib/LzmaEnc.h: Likewise.
18721 * include/grub/efiemu/efiemu.h: Likewise.
18722 * include/grub/command.h: Likewise.
18723 * normal/menu.c: Likewise.
18724 * normal/main.c: Likewise.
18725 * normal/datetime.c: Likewise.
18726 * bus/usb/uhci.c: Likewise.
18727 * mmap/i386/uppermem.c: Likewise.
18728 * mmap/mmap.c: Likewise.
18729 * commands/acpi.c: Likewise.
18730 * commands/test.c: Likewise.
18731 * partmap/apple.c: Likewise.
18732 * font/font.c: Likewise.
18733 * loader/sparc64/ieee1275/linux.c: Likewise.
18734 * loader/macho.c: Likewise.
18735 * loader/i386/bsd_trampoline.S: Likewise.
18736 * loader/i386/bsd.c: Likewise.
18737 * loader/xnu.c: Likewise.
18738 * term/i386/pc/vesafb.c: Likewise.
18739 * term/usb_keyboard.c: Likewise.
18740 * util/resolve.c: Likewise.
18741 * util/getroot.c: Likewise.
18742
18743 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18744
18745 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18746
18747 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18748
18749 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18750 build error.
18751
18752 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18753
18754 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18755 parameter only available on BIOS.
18756
18757 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 Removed wrong semicolon in declaration
18760
18761 * grub/misc.h (grub_dprintf): remove semicolon
18762
18763 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18764
18765 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18766 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18767 is done by grub_cmd_linux() now).
18768 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18769 restore video to text mode.
18770 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18771 indicates lack of "vga=" parameter. "vga=0" is mapped to
18772 `GRUB_LINUX_VID_MODE_NORMAL'.
18773
18774 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18775
18776 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18777 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18778 and `normal/script.c'. Add `kern/rescue_reader.c',
18779 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18780 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18781 `grub_script.tab.c'.
18782
18783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18784 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18786 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18788
18789 * Makefile.in: Remove duplicated 2008 in Copyright line.
18790
18791 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18792
18793 * util/misc.c (grub_util_warn): New function. Emits a warning
18794 unconditionally.
18795 * include/grub/util/misc.h (grub_util_warn): New declaration.
18796
18797 * util/i386/pc/grub-install.in: Understand --force and pass it down
18798 to grub-setup.
18799
18800 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18801 down to setup().
18802 (setup): Improve error messages and add warnings when requested to
18803 install in odd layouts. Refuse to install using blocklists unless
18804 --force was set.
18805
18806 2009-05-04 martin f. krafft <madduck@madduck.net>
18807
18808 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18809
18810 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 Updated copyright year
18813
18814 * fs/hfsplus.c: updated copyright year
18815
18816 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 HFS+ UUID
18819
18820 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18821 in the space previously used by unused3
18822 (grub_hfsplus_uuid): new function
18823 (grub_hfsplus_fs): added uuid field
18824
18825 2009-05-03 Pavel Roskin <proski@gnu.org>
18826
18827 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18828 suppress warnings. It's no longer needed.
18829 * disk/host.c: Likewise.
18830 * disk/ata_pthru.c: Likewise.
18831 * disk/loopback.c: Likewise.
18832 * hook/datehook.c: Likewise.
18833 * parttool/pcpart.c: Likewise.
18834 * fs/i386/pc/pxe.c: Likewise.
18835 * fs/ntfscomp.c: Likewise.
18836 * efiemu/main.c: Likewise.
18837 * mmap/mmap.c: Likewise.
18838 * commands/crc.c: Likewise.
18839 * commands/hexdump.c: Likewise.
18840 * commands/hdparm.c: Likewise.
18841 * commands/acpi.c: Likewise.
18842 * commands/echo.c: Likewise.
18843 * commands/minicmd.c: Likewise.
18844 * commands/blocklist.c: Likewise.
18845 * commands/memrw.c: Likewise.
18846 * commands/loadenv.c: Likewise.
18847 * commands/usbtest.c: Likewise.
18848 * commands/lsmmap.c: Likewise.
18849 * commands/boot.c: Likewise.
18850 * commands/parttool.c: Likewise.
18851 * commands/configfile.c: Likewise.
18852 * commands/search.c: Likewise.
18853 * commands/ieee1275/suspend.c: Likewise.
18854 * commands/cat.c: Likewise.
18855 * commands/i386/pc/pxecmd.c: Likewise.
18856 * commands/i386/pc/play.c: Likewise.
18857 * commands/i386/pc/halt.c: Likewise.
18858 * commands/i386/pc/vbeinfo.c: Likewise.
18859 * commands/i386/pc/vbetest.c: Likewise.
18860 * commands/lspci.c: Likewise.
18861 * commands/date.c: Likewise.
18862 * commands/handler.c: Likewise.
18863 * commands/ls.c: Likewise.
18864 * commands/test.c: Likewise.
18865 * commands/cmp.c: Likewise.
18866 * commands/efi/loadbios.c: Likewise.
18867 * commands/efi/fixvideo.c: Likewise.
18868 * commands/halt.c: Likewise.
18869 * commands/help.c: Likewise.
18870 * commands/reboot.c: Likewise.
18871 * hello/hello.c: Likewise.
18872 * script/sh/main.c: Likewise.
18873 * loader/xnu.c: Likewise.
18874 * term/terminfo.c: Likewise.
18875 * term/i386/pc/serial.c: Likewise.
18876 * term/usb_keyboard.c: Likewise.
18877
18878 2009-05-03 David S. Miller <davem@davemloft.net>
18879
18880 * normal/menu.c: Include grub/parser.h
18881
18882 2009-05-03 Pavel Roskin <proski@gnu.org>
18883
18884 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18885 not char*.
18886 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18887 Suggested by Javier Martín <lordhabbit@gmail.com>
18888
18889 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18890 efiemu??.o doesn't exist.
18891 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18892 copying.
18893
18894 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 FreeBSD 64-bit support
18897
18898 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18899 and loader/i386/bsd_trampoline.S
18900 (bsd_mod_ASFLAGS): new variable
18901 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18902 (FREEBSD_MODTYPE_KERNEL64): likewise
18903 (grub_bsd64_trampoline_start): likewise
18904 (grub_bsd64_trampoline_end): likewise
18905 (grub_bsd64_trampoline_selfjump): likewise
18906 (grub_bsd64_trampoline_gdt): likewise
18907 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18908 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18909 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18910 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18911 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18912 of "attrib" member
18913 * loader/i386/bsd_pagetable.c: new file
18914 * loader/i386/bsd_trampoline.S: likewise
18915 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18916 (ALIGN_VAR): likewise
18917 (entry_hi): new variable
18918 (kern_end_mdofs): likewise
18919 (is_64bit): likewise
18920 (grub_freebsd_add_meta): use ALIGN_VAR
18921 (grub_e820_mmap): new declaration
18922 (grub_freebsd_add_mmap): new function
18923 (grub_freebsd_add_meta_module): support 64 bit kernels
18924 (grub_freebsd_list_modules): use ALIGN_VAR
18925 (gdt_descriptor): new declaration
18926 (grub_freebsd_boot): support 64 bit kernels
18927 (grub_bsd_elf64_hook): new function
18928 (grub_bsd_load_elf): support elf64
18929
18930 2009-05-03 Bean <bean123ch@gmail.com>
18931
18932 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18933 after we get the result of if statement.
18934
18935 2009-05-03 Bean <bean123ch@gmail.com>
18936
18937 * Makefile.in (enable_efiemu): New variable.
18938
18939 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18940 set.
18941 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18942 path.
18943 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18944 path, add -mno-red-zone option.
18945 (efiemu64_s.o): Likewise.
18946 (efiemu64.o): Use macro $^ for source file.
18947
18948 * configure.ac (--enable-efiemu): New option.
18949
18950 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 xnu support
18953
18954 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18955 (pkglib_MODULES): add xnu.mod
18956 (xnu_mod_SOURCES): new variable
18957 (xnu_mod_CFLAGS): likewise
18958 (xnu_mod_LDFLAGS): likewise
18959 (xnu_mod_ASFLAGS): likewise
18960 * conf/i386-pc.rmk: likewise
18961 * conf/x86_64-efi.rmk: likewise
18962 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18963 new declaration
18964 * include/grub/i386/macho.h: new file
18965 * include/grub/i386/xnu.h: likewise
18966 * include/grub/macho.h: likewise
18967 * include/grub/machoload.h: likewise
18968 * include/grub/x86_64/macho.h: likewise
18969 * include/grub/x86_64/xnu.h: likewise
18970 * include/grub/xnu.h: likewise
18971 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18972 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18973 * loader/i386/efi/xnu.c: new file
18974 * loader/i386/pc/xnu.c: likewise
18975 * loader/i386/xnu.c: likewise
18976 * loader/i386/xnu_helper.S: likewise
18977 * loader/macho.c: likewise
18978 * loader/xnu.c: likewise
18979 * loader/xnu_resume.c: likewise
18980 * util/grub-dumpdevtree: likewise
18981 * include/grub/i386/pit.h: include grub/err.h
18982 (grub_pit_wait): export
18983 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18984
18985 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 Efiemu
18988
18989 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18990 _linux_efi, linux_efi.
18991 new files in grub-emu
18992 new targets efiemu32.o and efiemu64.o
18993 * loader/linux_normal_efiemu.c: likewise
18994 * loader/i386/efi/linux.c: added preliminary efiemu support
18995 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18996 files to copy
18997 * include/grub/autoefi.h: new file
18998 * include/grub/i386/efiemu.h: likewise
18999 * include/grub/i386/pc/efiemu.h: likewise
19000 * include/grub/efi/api.h: add LL suffix when necessary
19001 new definitions relating to tables
19002 * include/grub/efiemu/efiemu.h: new file
19003 * include/grub/efiemu/runtime.h: likewise
19004 * efiemu/prepare.c: likewise
19005 * efiemu/loadcore_common.c: likewise
19006 * efiemu/loadcore64.c: likewise
19007 * efiemu/runtime/efiemu.sh: likewise
19008 * efiemu/runtime/efiemu.S: likewise
19009 * efiemu/runtime/efiemu.c: likewise
19010 * efiemu/runtime/config.h: likewise
19011 * efiemu/prepare32.c: likewise
19012 * efiemu/main.c: likewise
19013 * efiemu/modules/pnvram.c: likewise
19014 * efiemu/modules/i386: likewise
19015 * efiemu/modules/i386/pc: likewise
19016 * efiemu/modules/acpi.c: likewise
19017 * efiemu/i386/pc/cfgtables.c: likewise
19018 * efiemu/i386/loadcore64.c: likewise
19019 * efiemu/i386/loadcore32.c: likewise
19020 * efiemu/prepare64.c: likewise
19021 * efiemu/loadcore.c: likewise
19022 * efiemu/symbols.c: likewise
19023 * efiemu/mm.c: likewise
19024 * efiemu/loadcore32.c: likewise
19025
19026 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 ACPI spoofing
19029
19030 * commands/acpi.c: new file
19031 * commands/i386/pc/acpi.c: likewise
19032 * commands/efi/acpi.c: likewise
19033 * include/grub/acpi.h: likewise
19034 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19035 (acpi_mod_SOURCES): new variable
19036 (acpi_mod_CFLAGS): likewise
19037 (acpi_mod_LDFLAGS): likewise
19038 * conf/i386-efi.rmk: likewise
19039 * conf/x86_64-efi.rmk: likewise
19040
19041 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 Missing part from mmap patch
19044
19045 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19046 (grub_mmap_unregister)
19047 (grub_mmap_free_and_unregister): use grub_mmap_register
19048
19049 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 Mmap services
19052
19053 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19054 * loader/i386/linux.c (find_mmap_size): likewise
19055 (allocate_pages): likewise
19056 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19057 (grub_fill_multiboot_mmap): likewise
19058 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19059 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19060 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19061 (OPENBSD_MMAP_RESERVED): likewise
19062 * include/grub/i386/pc/memory.h: include grub/memory.h
19063 (grub_lower_mem): removed
19064 (grub_upper_mem): likewise
19065 (GRUB_MACHINE_MEMORY_ACPI): new definition
19066 (GRUB_MACHINE_MEMORY_NVS): likewise
19067 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19068 (GRUB_MACHINE_MEMORY_HOLE): likewise
19069 (grub_machine_mmap_register): likewise
19070 (grub_machine_mmap_unregister): likewise
19071 (grub_machine_get_upper): likewise
19072 (grub_machine_get_lower): likewise
19073 (grub_machine_get_post64): likewise
19074 * include/grub/i386/efi/memory.h: new file
19075 * include/grub/x86_64/efi/memory.h: likewise
19076 * include/grub/efi/memory.h: likewise
19077 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19078 (mmap_mod_SOURCES): new variable
19079 (mmap_mod_LDFLAGS): likewise
19080 (mmap_mod_ASFLAGS): likewise
19081 * conf/i386-coreboot.rmk: likewise
19082 * conf/i386-ieee1275.rmk: likewise
19083 * conf/i386-efi.rmk: likewise
19084 * conf/x86_64-efi.rmk: likewise
19085 * include/grub/types.h (UINT_TO_PTR): new macro
19086 (PTR_TO_UINT32): likewise
19087 (PTR_TO_UINT64): likewise
19088 * include/grub/memory.h: new file
19089 * mmap/i386/pc/mmap.c: likewise
19090 * mmap/i386/pc/mmap_helper.S: likewise
19091 * mmap/i386/uppermem.c: likewise
19092 * mmap/mmap.c: likewise
19093 * mmap/efi/mmap.c: likewise
19094 * kern/i386/coreboot/init.c (grub_machine_init): don't use
19095 grub_upper_mem
19096 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19097 (grub_upper_mem): likewise
19098 (grub_machine_init): don't use grub_upper_mem,
19099 make grub_lower_mem local
19100 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19101 grub_mmap_iterate and grub_mmap_get_upper
19102 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19103
19104 2009-05-02 Bean <bean123ch@gmail.com>
19105
19106 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19107 script/sh/parser.y.
19108 (pkglib_MODULES): Add normal.mod and sh.mod.
19109 (normal_SOURCES): New variable.
19110 (normal_mod_CFLAGS): Likewise.
19111 (normal_mod_LDFLAGS): Likewise.
19112 (sh_mod_SOURCES): Likewise.
19113 (sh_mod_CFLAGS): Likewise.
19114 (sh_mod_LDFLAGS): Likewise.
19115
19116 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19117 script/sh/lexer.c_DEPENDENCIES.
19118 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19119 kern/rescue_reader.c and kern/rescue_parser.c.
19120 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19121 (grub_emu_SOURCES): Change source files.
19122 (pkglib_MODULES): Remove normal.mod.
19123 (normal_SOURCES): Removed.
19124 (normal_mod_CFLAGS): Likewise.
19125 (normal_mod_LDFLAGS): Likewise.
19126 * conf/i386-coreboot.rmk: Likewise.
19127 * conf/i386-efi.rmk: Likewise.
19128 * conf/i386-ieee1276.rmk: Likewise.
19129 * conf/powerpc-ieee1275.rmk: Likewise.
19130 * conf/sparc64-ieee1275.rmk: Likewise.
19131 * conf/x86_64-efi.rmk: Likewise.
19132
19133 * include/grub/command.h (grub_command_execute): New inline function.
19134
19135 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19136
19137 * include/grub/normal.h: Remove <grub/setjmp.h>.
19138 (grub_fs_module_list): Moved to normal/autofs.c.
19139 (grub_exit_env): Removed.
19140 (grub_command_execute): Likewise.
19141 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19142 parameter script.
19143 (read_command_list): New function declaration.
19144 (read_fs_list): Likewise.
19145
19146 * include/parser.h: Include <grub/reader.h>.
19147 (grub_parser_split_cmdline): Change type of getline parameter.
19148 (grub_parser): New structure.
19149 (grub_parser_class): New variable.
19150 (grub_parser_execute): New function declaration.
19151 (grub_register_rescue_parser): Likewise.
19152 (grub_parser_register): New inline function.
19153 (grub_parser_unregister): Likewise.
19154 (grub_parser_get_current): Likewise.
19155 (grub_parser_set_current): Likewise.
19156
19157 * include/grub/reader.h: New file.
19158 * kern/reader.c: Likewise.
19159 * kern/rescue_parser.c: Likewise.
19160 * kern/rescue_reader.c: Likewise.
19161 * normal/autofs.c: Likewise.
19162 * normal/dyncmd.c: Likewise.
19163
19164 * include/grub/rescue.h: Removed.
19165 * normal/command.h: Likewise.
19166
19167 * include/grub/script.h: Moved to ...
19168 * include/grub/script_sh.h: ... Moved here.
19169 * normal/execute.c: Moved to ...
19170 * script/sh/execute.c: ... Moved here.
19171 * normal/function.c: Moved to ...
19172 * script/sh/function.c: ... Moved here.
19173 * normal/lexer.c: Moved to ...
19174 * script/sh/lexer.c: ... Moved here.
19175 * normal/parser.y: Moved to ...
19176 * script/sh/parser.y: ... Moved here.
19177 * normal/script.c: Moved to ...
19178 * script/sh/script.c: ... Moved here.
19179
19180 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19181 <grub/reader.h>.
19182 (grub_exit_env): Removed.
19183 (fs_module_list): Moved to normal/autofs.c.
19184 (grub_file_getline): Don't handle comment here.
19185 (free_menu): Skip removed field entry->commands.
19186 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19187 script parameter.
19188 (read_config_file): Removed nested parameter, change getline function.
19189 (grub_enter_normal_mode): Removed.
19190 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19191 (read_command_list): Likewise.
19192 (autoload_fs_module): Moved to normal/autofs.c.
19193 (read_fs_list): Likewise.
19194 (reader_nested): New variable.
19195 (grub_normal_execute): Run parser.sh to switch to sh parser.
19196 (grub_cmd_rescue): Removed.
19197 (cmd_normal): Removed.
19198 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19199 rescue command.
19200 (grub_cmdline_run): New function.
19201 (grub_normal_reader_init): Likewise.
19202 (grub_normal_read_line): Likewise.
19203 (grub_env_write_pager): Likewise.
19204 (cmdline): New variable.
19205 (grub_normal_reader): Likewise.
19206 (GRUB_MOD_INIT): Register normal reader and set as current, register
19207 pager hook, register normal command with grub_register_command_prio,
19208 so that it won't show up in command.lst.
19209 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19210 grub_fs_autoload_hook.
19211
19212 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19213 (grub_menu_execute_entry): Replace grub_script_execute with
19214 grub_parser_execute, change parameter to grub_command_execute.
19215
19216 * normal/menu_text.c: Remove <grub/script.h>.
19217
19218 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19219 and <grub/parser.h>.
19220 (run): Change editor_getline to use new parser interface. Change
19221 parameter to grub_command_execute.
19222
19223 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19224 <grub/reader.h> and <grub/parser.h>.
19225 (grub_load_normal_mode): Execute normal command.
19226 (grub_main): Call grub_register_core_commands,
19227 grub_register_rescue_parser and grub_register_rescue_reader, use
19228 grub_reader_loop to enter input loop.
19229
19230 * kern/parser.c (grub_parser_split_cmdline): Change type of
19231 getline parameter.
19232 (grub_parser_class): New variable.
19233 (grub_parser_execute): New function.
19234
19235 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19236 * loader/multiboot2.c: Likewise.
19237 * loader/sparc64/ieee1275/linux.c: Likewise.
19238
19239 * util/grub-emu.c (read_command_list): New dummy function.
19240
19241 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19242
19243 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19244 count to 16 for CCISS and IDA.
19245
19246 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19247
19248 * normal/menu_text.c (grub_wait_after_message): Print a newline
19249 after waiting for user input.
19250
19251 * loader/i386/linux.c: Include `<grub/normal.h>'.
19252 (grub_cmd_linux): Improve the error message about `ask' mode, by
19253 waiting for user input so it's not missed (we can do this, since
19254 user requested interaction).
19255
19256 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 Added missing lst to grub-mkrescue
19259
19260 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19261 and ${input_dir}/parttool.lst
19262
19263 2009-04-30 David S. Miller <davem@davemloft.net>
19264
19265 * util/hostdisk.c (device_is_wholedisk): New function.
19266 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19267 zero only if device_is_wholedisk() returns true.
19268
19269 * util/hostdisk.c (convert_system_partition_to_system_disk):
19270 Handle virtual disk devices named /dev/vdiskX as found on sparc
19271 and powerpc.
19272
19273 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19274 lettered partition specifier is found, convert to numbered.
19275
19276 2009-04-29 David S. Miller <davem@davemloft.net>
19277
19278 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19279 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19280
19281 * normal/command.c: Add missing newline at end of file.
19282
19283 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19284 warnings.
19285 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19286 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19287 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19288 ihandles have a 32-bit type but need to be stored in a "void *".
19289
19290 2009-04-28 Pavel Roskin <proski@gnu.org>
19291
19292 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19293 not disk. Adjust all dependencies.
19294 (grub_fs_uuid_close): Use grub_device_close(), not
19295 grub_disk_close().
19296
19297 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19298 parent's partition, don't copy it by reference, as it gets freed
19299 on close.
19300
19301 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 Preboot hooks support
19304
19305 * commands/boot.c (struct grub_preboot_t): new declaration
19306 (preboots_head): new variable
19307 (preboots_tail): likewise
19308 (grub_loader_register_preboot_hook): new function
19309 (grub_loader_unregister_preboot_hook): likewise
19310 (grub_loader_set): launch preboot hooks
19311 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19312 (grub_loader_register_preboot_hook): new declaration
19313 (grub_loader_unregister_preboot_hook): likewise
19314
19315 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 Warning fix
19318
19319 * disk/scsi.c (grub_scsi_open): added missing cast when
19320 calling grub_dprintf
19321
19322 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 Bug and warning fixes
19325
19326 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19327 declaration
19328 * commands/test.c (test_parse): fixed bug with file tests and corrected
19329 declaration of find_file
19330
19331 2009-04-26 Pavel Roskin <proski@gnu.org>
19332
19333 * Makefile.in: Don't install empty manual pages if help2man is
19334 missing. Use help2man option for output, not shell redirection.
19335
19336 2009-04-26 David S. Miller <davem@davemloft.net>
19337
19338 * util/grub-mkdevicemap.c (make_device_map): Add missing
19339 NESTED_FUNC_ATTR to process_device().
19340
19341 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19342
19343 Test command
19344
19345 * commands/test.c: rewritten to use bash-like test
19346
19347 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Parttool autoloading and improvements
19350
19351 * Makefile.in (pkglib_DATA): add parttool.lst
19352 (parttool.lst): new target
19353 * genmk.rb: generate parttool-*
19354 (CLEANFILES): add #{parttool}
19355 (PARTTOOLFILES): new variable
19356 * genparttoollist.sh: new file
19357 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19358 (grub_pcpart_type): likewise
19359 * commands/parttool.c (helpmsg): new variable
19360 (grub_cmd_parttool): output help if not enough arguments are supplied
19361 autoload modules
19362 (GRUB_MOD_INIT(parttool)): use helpmsg
19363
19364 2009-04-24 David S. Miller <davem@davemloft.net>
19365
19366 Avoiding opening same device multiple times in device iterator.
19367
19368 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19369 and use it to build a list of partitions in iterate_disk() and
19370 iterate_partition().
19371
19372 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19373 on disk->data.
19374
19375 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19376 grub_devalias_iterate() result instead of unconditional 0.
19377 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19378 Also, capture hook return value, either directly or via
19379 grub_children_iterate(), and propagate to caller.
19380 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19381 grub_children_iterate): Return value is now 'int' instead of
19382 'grub_err_t'.
19383 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19384 like a proper iterator, stopping when hooks return non-zero.
19385 (grub_devalias_iterate): Likewise.
19386
19387 2009-04-23 David S. Miller <davem@davemloft.net>
19388
19389 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19390
19391 2009-04-22 David S. Miller <davem@davemloft.net>
19392
19393 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19394 is larger than address_cells, use that value for address_cells too.
19395
19396 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19397 IEEE1275_MAX_PATH_LEN): Define.
19398 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19399 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19400 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19401 'devtype'. Explicitly NULL terminate devalias expansion.
19402
19403 * util/sparc64/ieee1275/misc.c: New file.
19404 * util/sparc64/ieee1275/grub-setup.c: New file.
19405 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19406 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19407 * util/sparc64/ieee1275/grub-install.in: New file.
19408 * util/ieee1275/ofpath.c: New file.
19409 * util/ieee1275/devicemap.c: New file.
19410 * util/devicemap.c: New file.
19411 * util/deviceiter.c: New file.
19412 * kern/sparc64/ieee1275/init.c: New file.
19413 * include/grub/util/ofpath.h: New file.
19414 * include/grub/util/deviceiter.h: New file.
19415 * util/grub-mkdevicemap.c: Include deviceiter.h.
19416 Implement using grub_util_emit_devicemap_entry and
19417 grub_util_iterate_devices.
19418 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19419 util/devicemap.c into grub-mkdevicemap
19420 * conf/i386-efi.rmk: Likewise.
19421 * conf/i386-ieee1275.rmk: Likewise.
19422 * conf/i386-pc.rmk: Likewise.
19423 * conf/powerpc-ieee1275.rmk: Likewise.
19424 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19425 images and installation utilities. Build kernel as image
19426 instead of as elf binary. Use common rules as much as possible.
19427
19428 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Correct GPT definition
19431
19432 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19433 of "attrib" member
19434
19435 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19436
19437 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19438
19439 2009-04-19 David S. Miller <davem@davemloft.net>
19440
19441 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19442 (grub_rescue_cmd_linux): Rename to...
19443 (grub_cmd_linux): and fix prototype.
19444 (grub_rescue_cmd_initrd): Rename to...
19445 (grub_cmd_initrd): and fix prototype.
19446 (cmd_linux, cmd_initrd): New.
19447 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19448 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19449
19450 2009-04-17 Pavel Roskin <proski@gnu.org>
19451
19452 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19453 format.
19454 (grub_ohci_transfer): Likewise.
19455
19456 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19457
19458 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19459 return without a value. Fix inconsistent indentation.
19460
19461 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19462 match struct grub_fs.
19463
19464 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19465 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19466 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19467 * commands/lspci.c (grub_lspci_iter): Likewise.
19468
19469 2009-04-16 Bean <bean123ch@gmail.com>
19470
19471 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19472 value.
19473
19474 2009-04-15 Pavel Roskin <proski@gnu.org>
19475
19476 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19477 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19478 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19479 definitions.
19480
19481 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19482
19483 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19484 that no multiple data or metadata areas are supported and `Unknown
19485 metadata header'.
19486
19487 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 Move loader out of the kernel
19490
19491 * kern/loader.c: moved to ...
19492 * commands/boot.c: ... moved here
19493 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19494 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19495 * include/grub/kernel.h (grub_machine_fini): export
19496 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19497 (grub_loader_set): likewise
19498 (grub_loader_unset): likewise
19499 (grub_loader_boot): likewise
19500 * conf/common.rmk: new module boot.mod
19501 (pkglib_MODULES): add boot.mod
19502 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19503 (grub_emu_SOURCES): likewise
19504 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19505 (grub_emu_SOURCES): likewise
19506 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19507 (grub_emu_SOURCES): likewise
19508 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19509 (grub_emu_SOURCES): likewise
19510 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19511 (grub_emu_SOURCES): likewise
19512 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19513 (grub_emu_SOURCES): likewise
19514 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19515 (grub_emu_SOURCES): likewise
19516
19517 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19520
19521 * kern/misc.c (grub_itoa): Removed function
19522 (grub_ltoa): likewise
19523 (grub_vsprintf): use grub_lltoa
19524
19525 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 Restore grub-emu
19528
19529 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19530 * conf/i386-coreboot.rmk: likewise
19531 * conf/i386-ieee1275.rmk: likewise
19532 * conf/powerpc-ieee1275.rmk: likewise
19533
19534 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19535
19536 * INSTALL: Add that `./autogen.sh' needs to be run before
19537 `./configure.'.
19538
19539 2009-04-14 Bean <bean123ch@gmail.com>
19540
19541 * Makefile.in (pkglib_DATA): Add handler.lst.
19542 (handler.lst): New rule.
19543
19544 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19545 * conf/i386-coreboot.rmk: Likewise.
19546 * conf/i386-ieee1275.rmk: Likewise.
19547 * conf/i386-efi.rmk: Likewise.
19548 * conf/x86_64-efi.rmk: Likewise.
19549 * conf/powerpc-ieee1275.rmk: Likewise.
19550 * conf/sparc64-ieee1275.rmk: Likewise.
19551
19552 * genhandlerlist.sh: New file.
19553
19554 * genmk.rb: Add rules to generate handler.lst.
19555
19556 * include/grub/normal.h (grub_file_getline): New function definition.
19557 (read_handler_list): Likewise.
19558 (free_handler_list): Likewise.
19559
19560 * include/grub/term.h (grub_term_register_input): Add name parameter
19561 for auto generation of handler.lst.
19562 (grub_term_register_output): Likewise.
19563
19564 * normal/handler.c: New file.
19565
19566 * normal/main.c (get_line): Renamed to grub_file_getline.
19567 (read_config_file): Use the newly renamed grub_file_getline.
19568 (read_command_list): Likewise.
19569 (read_fs_list): Likewise.
19570 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19571 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19572
19573 * term/efi/console.c (grub_console_init): Add name parameter for auto
19574 generation of handler.lst.
19575 * term/gfxterm.c: Likewise.
19576 * term/i386/pc/at_keyboard.c: Likewise.
19577 * term/i386/pc/console.c: Likewise.
19578 * term/i386/pc/serial.c: Likewise.
19579 * term/i386/pc/vesafb.c: Likewise.
19580 * term/i386/pc/vga.c: Likewise.
19581 * term/i386/pc/vga_text.c: Likewise.
19582 * term/ieee1275/ofconsole.c: Likewise.
19583 * term/usb_keyboard.c: Likewise.
19584
19585 2009-04-14 Bean <bean123ch@gmail.com>
19586
19587 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19588 properly with null character.
19589
19590 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19591
19592 * configure: Remove.
19593 * config.h.in: Likewise.
19594 * stamp-h.in: Likewise.
19595 * DISTLIST: Likewise.
19596 * conf/common.mk: Likewise.
19597 * conf/i386-coreboot.mk: Likewise.
19598 * conf/i386-efi.mk: Likewise.
19599 * conf/i386-ieee1275.mk: Likewise.
19600 * conf/i386.mk: Likewise.
19601 * conf/i386-pc.mk: Likewise.
19602 * conf/powerpc-ieee1275.mk: Likewise.
19603 * conf/sparc64-ieee1275.mk: Likewise.
19604 * conf/x86_64-efi.mk: Likewise.
19605
19606 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19607 develop on GRUB.
19608
19609 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19610 David S. Miller <davem@davemloft.net>
19611
19612 * util/hostdisk.c (make_device_name): Fix buffer length
19613 calculations.
19614
19615 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19616
19617 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19618 <sys/param.h> and <sys/sysctl.h>.
19619 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19620 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19621 opening the device and reset them afterwards.
19622
19623 2009-04-13 Pavel Roskin <proski@gnu.org>
19624
19625 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19626 Reported by John Stanley <jpsinthemix@verizon.net>
19627
19628 2009-04-13 Robert Millan <rmh@aybabtu.com>
19629
19630 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19631 that name for menuentries when appropriate.
19632
19633 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19634
19635 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19636
19637 2009-04-13 Robert Millan <rmh@aybabtu.com>
19638
19639 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19640 to Linux, simply abort telling the user it's no longer supported.
19641
19642 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19643
19644 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19645 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19646 `freebsd_loadenv' only when devices.hints exist.
19647
19648 2009-04-13 Pavel Roskin <proski@gnu.org>
19649
19650 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19651
19652 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19653
19654 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19655 partition number.
19656 (grub_drive): Likewise.
19657
19658 2009-04-13 David S. Miller <davem@davemloft.net>
19659
19660 * kern/sparc64/ieee1275/ieee1275.c: New file.
19661 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19662 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19663 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19664 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19665 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19666 grub_ieee1275_alloc_physmem): Declare new exported functions.
19667
19668 * include/grub/sparc64/ieee1275/loader.h: New file.
19669 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19670 * include/grub/sparc64/kernel.h: Likewise.
19671 * loader/sparc64/ieee1275/linux.c: Likewise.
19672
19673 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19674 (grub_fstest_SOURCES): Likewise.
19675
19676 * util/hostdisk.c (make_device_name): Do not make any assumptions
19677 about the length of drive names.
19678
19679 * kern/dl.c (grub_dl_load_file): Close file immediately when
19680 we are done using it.
19681
19682 2009-04-12 David S. Miller <davem@davemloft.net>
19683
19684 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19685 values. Noticed by Pavel Roskin.
19686
19687 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19688 target compiler.
19689
19690 * genmk.rb: Add more flexible image type specification, also
19691 pass --strip-unneeded to objcopy.
19692 * conf/i386-pc.rmk: Use *_FORMAT.
19693 * conf/i386-pc.mk: Rebuilt.
19694
19695 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19696 (OFDISK_HASH_SZ): Define.
19697 (ofdisk_hash): New hash table.
19698 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19699 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19700 instead of device phandle which is not unique.
19701
19702 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19703 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19704 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19705 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19706 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19707 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19708 GRUB_KERNEL_MACHINE_DATA_END): Define.
19709 (grub_kernel_image_size, grub_total_module_size): Declare.
19710
19711 2009-04-12 Pavel Roskin <proski@gnu.org>
19712
19713 * configure.ac: Change the logic when we check for target tools.
19714 Do it when the target is specified and it's different from the
19715 specified value of the host.
19716
19717 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19718
19719 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19720 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19721 GNU/kFreeBSD. Check if a device is a character device. Use
19722 DIOCGMEDIASIZE to get the size.
19723 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19724 support for GNU/kFreeBSD.
19725 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19726 is a character device instead of a block device. Add support for
19727 FreeBSD device names.
19728
19729 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19730 is a character device instead of a block device.
19731
19732 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19733 is a character device instead of a block device.
19734
19735 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19736
19737 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19738 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19739 FreeBSD. Check if a device is a character device. Use
19740 DIOCGMEDIASIZE to get the size.
19741 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19742 support for FreeBSD.
19743 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19744 is a character device instead of a block device. Add support for
19745 FreeBSD device names.
19746
19747 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19748 a character device instead of a block device.
19749 (grub_util_check_char_device): New function.
19750
19751 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19752 a character device instead of a block device.
19753
19754 * include/grub/util/getroot.h (grub_util_check_char_device): New
19755 prototype.
19756
19757 2009-04-11 David S. Miller <davem@davemloft.net>
19758
19759 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19760 static libgcc.
19761 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19762 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19763 function, if present.
19764 (__bswapdi2): Likewise.
19765
19766 * include/grub/sparc64/ieee1275/boot.h: New file.
19767 * boot/sparc64/ieee1275/boot.S: Likewise.
19768 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19769
19770 * kern/misc.c (grub_ltoa): New function.
19771 (grub_vsprintf): Use it to format 'long' integers.
19772
19773 2009-04-10 David S. Miller <davem@davemloft.net>
19774
19775 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19776 slots are of type grub_ieee1275_cell_t.
19777 (grub_nand_read): Likewise.
19778 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19779 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19780 macros are used to compare values in arg/ret block of the call.
19781 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19782 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19783 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19784 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19785 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19786 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19787 grub_ieee1275_close, grub_ieee1275_set_property,
19788 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19789 grub_ieee1275_cell_t.
19790 * kern/ieee1275/openfw.c (grub_map): Likewise.
19791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19792 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19793
19794 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19795 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19796 (grub_devalias_iterate): Likewise.
19797
19798 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 UFS improvements
19801
19802 * fs/ufs.c (INODE_NBLOCKS): new definition
19803 (struct grub_ufs_dirent): added fields for non-BSD dirents
19804 (grub_ufs_get_file_block): fixed double indirect handling
19805 (grub_ufs_lookup_symlink): use more robust way to determine whether
19806 symlink is inline
19807 (grub_ufs_find_file): support for non-BSD dirents
19808 (grub_ufs_dir): support for non-BSD dirents
19809
19810 2009-04-10 Bean <bean123ch@gnail.com>
19811
19812 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19813 attribute, otherwise the size would be wrong for i386 platform.
19814
19815 * include/grub/pci.h (grub_pci_read_word): New inline function.
19816 (grub_pci_read_byte): Likewise.
19817 (grub_pci_write): Likewise.
19818 (grub_pci_write_word): Likewise.
19819 (grub_pci_write_byte): Likewise.
19820
19821 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19822
19823 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19824 (find_framebuf): Scan pci to locate the frame buffer address.
19825
19826 * commands/efi/fixvideo.c: New file.
19827
19828 * commands/efi/loadbios.c: Likewise.
19829
19830 * commands/memrw.c: Likewise.
19831
19832 * util/grub-dumpbios.in: Likewise.
19833
19834 * conf/common.rmk (grub-dumpbios): New utility.
19835 (pkglib_MODULES): New module memrw.mod.
19836 (memrw_mod_SOURCE): New macro.
19837 (memrw_mod_CFLAGS): Likewise.
19838 (memrw_mod_LDFLAGS): Likewise.
19839
19840 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19841 fixvideo.mod.
19842 (loadbios_mod_SOURCE): New macro.
19843 (loadbios_mod_CFLAGS): Likewise.
19844 (loadbios_mod_LDFLAGS): Likewise.
19845 (fixvideo_mod_SOURCE): Likewise.
19846 (fixvideo_mod_CFLAGS): Likewise.
19847 (fixvideo_mod_LDFLAGS): Likewise.
19848
19849 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19850 fixvideo.mod.
19851 (loadbios_mod_SOURCE): New macro.
19852 (loadbios_mod_CFLAGS): Likewise.
19853 (loadbios_mod_LDFLAGS): Likewise.
19854 (fixvideo_mod_SOURCE): Likewise.
19855 (fixvideo_mod_CFLAGS): Likewise.
19856 (fixvideo_mod_LDFLAGS): Likewise.
19857
19858 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19859
19860 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19861
19862 2009-04-07 David S. Miller <davem@davemloft.net>
19863
19864 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19865 support for R_SPARC_OLO10 relocations. Fix compile warning for
19866 R_SPARC_WDISP30 case.
19867 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19868
19869 2009-04-06 Pavel Roskin <proski@gnu.org>
19870
19871 * include/grub/misc.h (ARRAY_SIZE): New macro.
19872 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19873 New macro.
19874 * loader/i386/linux.c (allocate_pages): Use free_pages().
19875 (grub_linux_unload): Don't use free_pages().
19876 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19877 wrong index. Treat all other modes as text modes.
19878 (grub_cmd_linux): Initialize vid_mode unconditionally to
19879 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19880
19881 * commands/help.c (print_command_help): Use cmd->prio, not
19882 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19883
19884 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 Parttool
19887
19888 * parttool/pcpart.c: new file
19889 * commands/parttool.c: likewise
19890 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19891 (parttool_mod_SOURCES): new variable
19892 (parttool_mod_CFLAGS): likewise
19893 (parttool_mod_LDFLAGS): likewise
19894 (pcpart_mod_SOURCES): likewise
19895 (pcpart_mod_CFLAGS): likewise
19896 (pcpart_mod_LDFLAGS): likewise
19897 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19898 and parttool/pcpart.c
19899 * conf/i386-efi.rmk: likewise
19900 * conf/i386-ieee1275.rmk: likewise
19901 * conf/i386-pc.rmk: likewise
19902 * conf/powerpc-ieee1275.rmk: likewise
19903 * conf/sparc64-ieee1275.rmk: likewise
19904 * conf/x86_64-ieee1275.rmk: likewise
19905
19906 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 Support for mtime and further expandability of dir command
19909
19910 * include/grub/lib/datetime.h: moved to ...
19911 * include/grub/datetime.h: ... moved here and added
19912 declaration of grub_unixtime2datetime. All users updated
19913 * include/grub/fs.h: new syntax for dir and mtime functions in
19914 struct grub_fs
19915 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19916 and GRUB_FSHELP_FLAGS_MASK
19917 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19918 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19919 (grub_ext2_mtime): new function
19920 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19921 (grub_hfsplus_mtime): new function
19922 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19923 (GRUB_UFS_ATTR_FILE): likewise
19924 (GRUB_UFS_ATTR_LNK): likewise
19925 (struct grub_ufs_sblock): new fields mtime
19926 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19927 all users updated
19928 (grub_ufs_dir): mtime support
19929 (grub_ufs_mtime): new function
19930 * fs/affs.c (grub_affs_dir): use new dir syntax
19931 * fs/afs.c (grub_afs_dir): likewise
19932 * fs/cpio.c (grub_cpio_dir): likewise
19933 * fs/fat.c (grub_fat_find_dir): likewise
19934 * fs/hfs.c (grub_hfs_dir): likewise
19935 * fs/iso9660.c (grub_iso9660_dir): likewise
19936 * fs/jfs.c (grub_jfs_dir): likewise
19937 * fs/minix.c (grub_minix_dir): likewise
19938 * fs/ntfs.c (grub_ntfs_dir): likewise
19939 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19940 * fs/sfs.c (grub_sfs_dir): likewise
19941 * fs/xfs.c (grub_xfs_dir): likewise
19942 * util/hostfs.c (grub_hostfs_dir): likewise
19943 * lib/datetime.c: moved to ...
19944 * normal/datetime.c: ... moved here
19945 (grub_unixtime2datetime): new function
19946 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19947 * normal/completion.c (iterate_dir): use new dir syntax
19948 * normal/misc.c (grub_normal_print_device_info): tell the
19949 last modification time of a volume
19950 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19951 * conf/common.rmk: added lib/datetime.c to ls.mod
19952 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19953 (normal_mod_SOURCES): likewise
19954 (datetime_mod_SOURCES): Removed lib/datetime.c
19955 * conf/i386-efi.rmk: likewise
19956 * conf/i386-ieee1275.rmk: likewise
19957 * conf/i386-pc.rmk: likewise
19958 * conf/powerpc-ieee1275.rmk: likewise
19959 * conf/sparc64-ieee1275.rmk: likewise
19960 * conf/x86_64-efi.rmk: likewise
19961
19962 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 Trim trailing spaces in FAT label and support mtools-like labels
19965
19966 * fs/fat.c (grub_fat_iterate_dir): New function based
19967 on grub_fat_find_dir
19968 (grub_fat_find_dir): use grub_fat_iterate_dir
19969 (grub_fat_label): likewise
19970
19971 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19974 and command.h
19975 remove extraneous kernel_elf_HEADERS
19976
19977 2009-04-04 Bean <bean123ch@gnail.com>
19978
19979 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19980
19981 * util/misc.c: Likewise.
19982
19983 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19984
19985 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19986 instead of grub_printf.
19987
19988 2009-04-03 Robert Millan <rmh@aybabtu.com>
19989
19990 * loader/i386/linux.c (grub_linux_setup_video): Fill
19991 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19992 values from `mode info' structure instead of hardcoded
19993 values.
19994
19995 2009-04-01 Pavel Roskin <proski@gnu.org>
19996
19997 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19998 unused now.
19999 * genmk.rb: Likewise.
20000 * configure.ac: Likewise.
20001
20002 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20003
20004 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20005 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20006
20007 2009-04-01 David S. Miller <davem@davemloft.net>
20008
20009 * normal/sparc64/setjmp.S: Fix setjmp implementation.
20010 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
20011 (grub_setjmp): Mark with 'returns_twice' attribute.
20012 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20013 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20014 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20015
20016 2009-04-01 Robert Millan <rmh@aybabtu.com>
20017
20018 Reapply fix from 2008-07-28 which was accidentally reverted; also
20019 perform the same fix to a similar check in same function.
20020
20021 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20022 with the same number are found, just use issue a warning with
20023 grub_dprintf(), as this error has been reported to be non-fatal.
20024
20025 2009-03-31 Pavel Roskin <proski@gnu.org>
20026
20027 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20028 for cross-compilation.
20029
20030 2009-03-30 Robert Millan <rmh@aybabtu.com>
20031
20032 Fix i386-ieee1275 build.
20033
20034 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20035 Remove declaration.
20036
20037 2009-03-30 Pavel Roskin <proski@gnu.org>
20038
20039 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20040 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20041 zero-terminated, rely only on the strlen value. Fix comparison
20042 of strings differing in length.
20043
20044 2009-03-30 Robert Millan <rmh@aybabtu.com>
20045
20046 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20047 checking for abi version. Improve error messages on BIOS to notify
20048 user about `linux16' command.
20049
20050 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20051
20052 Leak fixes
20053
20054 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20055 in case of collision
20056 * disk/scsi.c (grub_scsi_open): free scsi in case of error
20057
20058 2009-03-29 Robert Millan <rmh@aybabtu.com>
20059
20060 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20061 set `vid_mode' accordingly.
20062 (grub_linux_boot): Process `vid_mode' and set video mode.
20063
20064 2009-03-29 Robert Millan <rmh@aybabtu.com>
20065
20066 * util/grub.d/10_linux.in (linux_entry): New function.
20067 Factorize generation of Linux boot entries.
20068
20069 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20070
20071 Make the format of Environment Block plain text. The boot loader
20072 part is not tested well yet.
20073
20074 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20075 (buffer): Removed.
20076 (envblk): Likewise.
20077 (usage): Remove "info" and "clear". Add "unset". Update the
20078 description of "set", as this does not delete variables any
20079 longer.
20080 (create_envblk_file): Complete rewrite.
20081 (open_envblk_file): Likewise.
20082 (cmd_info): Removed.
20083 (cmd_list): Likewise.
20084 (cmd_set): Likewise.
20085 (cmd_clear): Likewise.
20086 (list_variables): New function.
20087 (write_envblk): Likewise.
20088 (set_variables): Likewise.
20089 (unset_variables): Likewise.
20090 (main): Complete rewrite.
20091
20092 * commands/loadenv.c (buffer): Removed.
20093 (envblk): Likewise.
20094 (open_envblk_file): New function.
20095 (read_envblk_file): Complete rewrite.
20096 (grub_cmd_load_env): Likewise.
20097 (grub_cmd_list_env): Likewise.
20098 (struct blocklist): New struct.
20099 (free_blocklists): New function.
20100 (check_blocklists): Likewise.
20101 (write_blocklists): Likewise.
20102 (grub_cmd_save_env): Complete rewrite.
20103
20104 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20105 a plain text signature.
20106 (GRUB_ENVBLK_MAXLEN): Removed.
20107 (struct grub_envblk): Complete rewrite.
20108 (grub_envblk_find): Removed.
20109 (grub_envblk_insert): Likewise.
20110 (grub_envblk_open): New prototype.
20111 (grub_envblk_set): Likewise.
20112 (grub_envblk_delete): Put const to VALUE.
20113 (grub_envblk_iterate): Put const to NAME and VALUE.
20114 (grub_envblk_close): New prototype.
20115 (grub_envblk_buffer): New inline function.
20116 (grub_envblk_size): Likewise.
20117
20118 * lib/envblk.c: Include grub/mm.h.
20119 (grub_env_find): Removed.
20120 (grub_envblk_open): New function.
20121 (grub_envblk_close): Likewise.
20122 (escaped_value_len): Likewise.
20123 (find_next_line): Likewise.
20124 (grub_envblk_insert): Removed.
20125 (grub_envblk_set): New function.
20126 (grub_envblk_delete): Complete rewrite.
20127 (grub_envblk_iterate): Likewise.
20128
20129 2009-03-28 Robert Millan <rmh@aybabtu.com>
20130
20131 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20132 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20133 variables. Use 16-bit loader.
20134 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20135 loader.
20136 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20137 (grub_linux16_boot): ... this. Update all users.
20138 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20139 (grub_linux_boot): ... this. Update all users.
20140
20141 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20142 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20143 commands to `linux16' and `initrd16'.
20144 (GRUB_MOD_FINI(linux)): Rename to ...
20145 (GRUB_MOD_FINI(linux16)): ... this.
20146
20147 2009-03-24 Pavel Roskin <proski@gnu.org>
20148
20149 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20150 not just for compilation.
20151
20152 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 Move multiboot helper out of kernel
20155
20156 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20157 `loader/i386/multiboot_helper.S'.
20158 * conf/i386-coreboot.rmk: Likewise
20159 * conf/i386-ieee1275.rmk: Likewise
20160
20161 * kern/i386/loader.S: Move multiboot helpers from here...
20162 * loader/i386/multiboot_helper.S: ...moved here
20163 * include/grub/i386/loader.h: Move declarations of multiboot
20164 helpers from here...
20165 * include/grub/i386/multiboot.h: ...moved here
20166 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20167
20168 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20169
20170 * kern/env.c (grub_env_context_open): Added an argument to specify
20171 whether a new context inherits exported variables from current
20172 one. This is useful when making a sandbox to interpret a config
20173 file.
20174 All callers updated.
20175
20176 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20177
20178 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20179
20180 * kern/env.c (grub_env_context_close): Fix memory leaks.
20181
20182 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20183
20184 * normal/main.c (grub_normal_execute): Added an argument
20185 BATCH to specify if an interactive interface should be provided
20186 after reading a config file.
20187 All callers updated.
20188 (read_command_list): Prevent being executed twice.
20189 (read_fs_list): Likewise.
20190
20191 * include/grub/normal.h (grub_normal_execute): Updated the
20192 prototype.
20193
20194 2009-03-22 Pavel Roskin <proski@gno.org>
20195
20196 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20197 _start.
20198 * kern/i386/pc/startup.S: Likewise.
20199 * kern/i386/efi/startup.S: Likewise.
20200 * kern/i386/ieee1275/startup.S: Likewise.
20201 * kern/i386/coreboot/startup.S: Likewise.
20202 * kern/x86_64/efi/startup.S: Likewise.
20203
20204 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20205 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20206 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20207
20208 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20211
20212 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20213 limit detection.
20214 Use vaddr of correct segment for entry_point.
20215
20216 2009-03-21 Bean <bean123ch@gmail.com>
20217
20218 * commands/blocklist.c: Add include file <grub/command.h>, remove
20219 <grub/normal.h> and <grub/arg.h>.
20220 (grub_cmd_blocklist): Use the new command interface.
20221 (GRUB_MOD_INIT): Likewise.
20222 (GRUB_MOD_FINI): Likewise.
20223 * commands/boot.c: Likewise.
20224 * commands/cat.c: Likewise.
20225 * commands/cmp.c: Likewise.
20226 * commands/configfile.c: Likewise.
20227 * commands/crc.c: Likewise.
20228 * commands/echo.c: Likewise.
20229 * commands/halt.c: Likewise.
20230 * commands/handler.c: Likewise.
20231 * commands/hdparm.c: Likewise.
20232 * commands/help.c: Likewise.
20233 * commands/hexdump.c: Likewise.
20234 * commands/loadenv.c: Likewise.
20235 * commands/ls.c: Likewise.
20236 * commands/lsmmap.c: Likewise.
20237 * commands/lspci.c: Likewise.
20238 * commands/loadenv.c: Likewise.
20239 * commands/read.c: Likewise.
20240 * commands/reboot.c: Likewise.
20241 * commands/search.c: Likewise.
20242 * commands/sleep.c: Likewise.
20243 * commands/test.c: Likewise.
20244 * commands/usbtest.c: Likewise.
20245 * commands/videotest.c: Likewise.
20246 * commands/i386/cpuid.c: Likewise.
20247 * commands/i386/pc/halt.c: Likewise.
20248 * commands/i386/pc/play.c: Likewise.
20249 * commands/i386/pc/pxecmd.c: Likewise.
20250 * commands/i386/pc/vbeinfo.c: Likewise.
20251 * commands/i386/pc/vbetest.c: Likewise.
20252 * commands/ieee1275/suspend.c: Likewise.
20253 * disk/loopback.c: Likewise.
20254 * font/font_cmd.c: Likewise.
20255 * hello/hello.c: Likewise.
20256 * loader/efi/appleloader.c: Likewise.
20257 * loader/efi/chainloader.c: Likewise.
20258 * loader/i386/bsd.c: Likewise.
20259 * loader/i386/efi/linux.c: Likewise.
20260 * loader/i386/ieee1275/linux.c: Likewise.
20261 * loader/i386/linux.c: Likewise.
20262 * loader/i386/pc/chainloader.c: Likewise.
20263 * loader/i386/pc/linux.c: Likewise.
20264 * loader/powerpc/ieee1275/linux.c: Likewise.
20265 * loader/multiboot_loader.c: Likewise.
20266 * term/gfxterm.c: Likewise.
20267 * term/i386/pc/serial.c: Likewise.
20268 * term/terminfo.c: Likewise.
20269
20270 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20271 * term/i386/pc/vga.c: Likewise.
20272 * video/readers/jpeg.c: Likewise.
20273 * video/readers/png.c: Likewise.
20274 * video/readers/tga.c: Likewise.
20275
20276 * util/grub-fstest (cmd_loopback): Removed.
20277 (cmd_blocklist): Likewise.
20278 (cmd_ls): Likewise.
20279 (grub_register_command): Likewise.
20280 (grub_unregister_command): Likewise.
20281 (execute_command): Use grub_command_find to locate command and execute
20282 it.
20283
20284 * include/grub/efi/chainloader.h: Removed.
20285 * loader/efi/chainloader_normal.c: Likewise.
20286 * loader/i386/bsd_normal.c: Likewise.
20287 * loader/i386/pc/chainloader_normal.c: Likewise.
20288 * loader/i386/pc/multiboot_normal.c: Likewise.
20289 * loader/linux_normal.c: Likewise.
20290 * loader/multiboot_loader_normal.c: Likewise.
20291 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20292
20293 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20294 and grub_register_command_p1.
20295
20296 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20297 kern/command.c, lib/arg.c and commands/extcmd.c.
20298 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20299 (minicmd_mod_SOURCES): New variable.
20300 (minicmd_mod_CFLAGS): Likewise.
20301 (minicmd_mod_LDFLAGS): Likewise.
20302 (extcmd_mod_SOURCES): Likewise.
20303 (extcmd_mod_CFLAGS): Likewise.
20304 (extcmd_mod_LDFLAGS): Likewise.
20305 (boot_mod_SOURCES): Removed.
20306 (boot_mod_CFLAGS): Likewise.
20307 (boot_mod_LDFLAGS): Likewise.
20308
20309 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20310 kern/corecmd.c.
20311 (kernel_img_HEADERS): Add command.h.
20312 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20313 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20314 and lib/arg.c.
20315 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20316 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20317 remove the corresponding normal mode command.
20318 (normal_mod_SOURCES): Remove normal/arg.c.
20319 * conf/i386-coreboot.rmk: Likewise.
20320 * conf/i386-efi.rmk: Likewise.
20321 * conf/i386-ieee1275.rmk: Likewise.
20322 * conf/powerpc-ieee1275.rmk: Likewise.
20323 * conf/x86_64-efi.rmk: Likewise.
20324
20325 * include/grub/arg.h: Move from here ...
20326 * include/grub/lib/arg.h: ... to here.
20327
20328 * normal/arg.c: Move from here ...
20329 * lib/arg.c: ... to here.
20330
20331 * commands/extcmd.c: New file.
20332 * commands/minicmd.c: Likewise.
20333 * include/grub/command.h: Likewise.
20334 * include/grub/extcmd.h: Likewise.
20335 * kern/command.c: Likewise.
20336 * kern/corecmd.c: Likewise.
20337
20338 * kern/list.c (grub_list_iterate): Return int instead of void.
20339 (grub_list_insert): New function.
20340 (grub_prio_list_insert): Likewise.
20341
20342 * kern/rescue.c (grub_rescue_command): Removed.
20343 (grub_rescue_command_list): Likewise.
20344 (grub_rescue_register_command): Likewise.
20345 (grub_rescue_unregister_command): Likewise.
20346 (grub_rescue_cmd_boot): Move to minicmd.c
20347 (grub_rescue_cmd_help): Likewise.
20348 (grub_rescue_cmd_info): Likewise.
20349 (grub_rescue_cmd_boot): Likewise.
20350 (grub_rescue_cmd_testload): Likewise.
20351 (grub_rescue_cmd_dump): Likewise.
20352 (grub_rescue_cmd_rmmod): Likewise.
20353 (grub_rescue_cmd_lsmod): Likewise.
20354 (grub_rescue_cmd_exit): Likewise.
20355 (grub_rescue_print_devices): Moved to corecmd.c.
20356 (grub_rescue_print_files): Likewise.
20357 (grub_rescue_cmd_ls): Likewise.
20358 (grub_rescue_cmd_insmod): Likewise.
20359 (grub_rescue_cmd_set): Likewise.
20360 (grub_rescue_cmd_unset): Likewise.
20361 (attempt_normal_mode): Use grub_command_find to get normal module.
20362 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20363 commands, remove grub_rescue_register_command calls.
20364
20365 * normal/command.c (grub_register_command): Removed.
20366 (grub_unregister_command): Likewise.
20367 (grub_command_find): Likewise.
20368 (grub_iterate_commands): Likewise.
20369 (rescue_command): Likewise.
20370 (export_command): Moved to corecmd.c.
20371 (set_command): Removed.
20372 (unset_command): Likewise.
20373 (insmod_command): Likewise.
20374 (rmmod_command): Likewise.
20375 (lsmod_command): Likewise.
20376 (grub_command_init): Likewise.
20377
20378 * normal/completion.c (iterate_command): Use cmd->prio to check for
20379 active command.
20380 (complete_arguments): Use grub_extcmd_t structure to find options.
20381 (grub_normal_do_completion): Change function grub_iterate_commands to
20382 grub_command_iterate.
20383
20384 * normal/execute.c (grub_script_execute_cmd): No need to parse
20385 argument here.
20386
20387 * normal/main.c (grub_dyncmd_dispatcher): New function.
20388 (read_command_list): Register unload commands as dyncmd.
20389 (grub_cmd_normal): Use new command interface, register rescue,
20390 unregister normal at entry, register normal, unregister rescue at exit.
20391
20392 * include/grub/list.h (grub_list_test_t): New type.
20393 (grub_list_iterate): Return int instead of void.
20394 (grub_list_insert): New function.
20395 (GRUB_AS_NAMED_LIST_P): New macro.
20396 (GRUB_AS_PRIO_LIST): Likewise.
20397 (GRUB_AS_PRIO_LIST_P): Likewise.
20398 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20399 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20400 (grub_prio_list): New structure.
20401 (grub_prio_list_insert): New function.
20402 (grub_prio_list_remove): New inline function.
20403
20404 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20405 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20406 (GRUB_COMMAND_FLAG_MENU): Likewise.
20407 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20408 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20409 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20410 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20411 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20412 (grub_command): Likewise.
20413 (grub_register_command): Likewise.
20414 (grub_command_find): Likewise.
20415 (grub_iterate_commands): Likewise.
20416 (grub_command_init): Likewise.
20417 (grub_arg_parse): Likewise.
20418 (grub_arg_show_help): Likewise.
20419
20420 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20421 (grub_rescue_unregister_command): Likewise.
20422
20423 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20424 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20425 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20426
20427 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20428 grub_rescue_cmd_initrd.
20429 * include/grub/i386/loader.h: Likewise.
20430 * include/grub/x86_64/loader.h: Likewise.
20431
20432 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20433
20434 2009-03-21 Bean <bean123ch@gmail.com>
20435
20436 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20437 instead of stat in mingw environment.
20438
20439 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20440
20441 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20442
20443 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20444 AC_CONFIG_LINKS.
20445
20446 2009-03-21 Bean <bean123ch@gmail.com>
20447
20448 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20449 out of range error.
20450
20451 2009-03-18 Michel Dänzer <michel@daenzer.net>
20452
20453 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20454 checking inode flags for EXT4_EXTENTS_FLAG.
20455
20456 2009-03-18 Robert Millan <rmh@aybabtu.com>
20457
20458 * loader/i386/linux.c: Include `<grub/video.h>' and
20459 `<grub/i386/pc/vbe.h>'..
20460 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20461 (grub_linux32_boot): Attempt to configure video settings with
20462 grub_linux_setup_video().
20463 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20464 to avoid grub_console_fini() which would step out of graphical mode
20465 unconditionally.
20466
20467 2009-03-14 Robert Millan <rmh@aybabtu.com>
20468
20469 Fix build on powerpc.
20470 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20471
20472 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20475 background image command.
20476
20477 2009-03-12 Colin D Bennett <colin@gibibit.com>
20478
20479 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20480 (grub_gfxterm_putchar): Extract pairs of identical calls to
20481 draw_cursor out of conditional blocks.
20482
20483 2009-03-11 Pavel Roskin <proski@gnu.org>
20484
20485 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20486 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20487
20488 2009-03-11 Robert Millan <rmh@aybabtu.com>
20489
20490 * loader/i386/multiboot_elfxx.c
20491 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20492
20493 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20494
20495 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20496 `kern/handler.c'.
20497
20498 2009-03-11 Robert Millan <rmh@aybabtu.com>
20499
20500 * loader/i386/multiboot.c (code_size): New variable.
20501 (grub_multiboot): Define offsets by adding to `code_size' rather
20502 than subtracting from `grub_multiboot_payload_size'. Provide
20503 4-byte alignment to MBI and others by increasing
20504 `boot_loader_name_length' appropriately.
20505
20506 * loader/i386/multiboot_elfxx.c
20507 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20508
20509 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20510
20511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20512 `fs/ext2.c'.
20513
20514 2009-03-08 Robert Millan <rmh@aybabtu.com>
20515
20516 Make loader/i386/linux.c usable on i386-pc again.
20517
20518 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20519 memory to heap.
20520 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20521 `#error' stanza.
20522
20523 2009-03-07 Bean <bean123ch@gmail.com>
20524
20525 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20526 allocation.
20527
20528 2009-03-06 Robert Millan <rmh@aybabtu.com>
20529
20530 Fix display issue on terminals with screen size other than 80x25
20531 (e.g. gfxterm with resolution higher than 640x480).
20532
20533 * normal/main.c (grub_normal_init_page): Display title text in a
20534 position relative to the center of the terminal instead of relying
20535 on a hardcoded offset.
20536
20537 2009-03-04 Robert Millan <rmh@aybabtu.com>
20538
20539 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20540 installed.
20541
20542 * Makefile.in (host_kernel): New variable.
20543 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20544 scripts instead of just the windows one.
20545 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20546
20547 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20548
20549 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20550 `kern/handler.c'.
20551 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20552 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20555 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20556 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20557
20558 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20559
20560 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20561 or if there's no space for the disk label and print the partition number on a
20562 invalid magic.
20563
20564 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20565
20566 * util/misc.c: Include <time.h>.
20567 (grub_millisleep): New function.
20568
20569 2009-03-04 Bean <bean123ch@gmail.com>
20570
20571 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20572 another option -mno-red-zone.
20573
20574 * commands/handler.c: Change module description.
20575
20576 * kern/handler.c: Add missing space at the end of description line.
20577
20578 * kern/list.c: Likewise.
20579
20580 2009-03-03 Robert Millan <rmh@aybabtu.com>
20581
20582 Move more components to the relocation area, and fix mbi pointer
20583 handling to use the destination rather than the origin (thanks to
20584 Vladimir Serbinenko for spotting).
20585
20586 * loader/i386/multiboot.c (mbi_dest): New variable.
20587 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20588 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20589 relocation area.
20590
20591 2009-03-01 Bean <bean123ch@gmail.com>
20592
20593 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20594 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20595 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20596 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20597
20598 * loader/i386/efi/linux.c (acpi_guid): New variable.
20599 (acpi_guid): Likewise.
20600 (EBDA_SEG_ADDR): New constant.
20601 (LOW_MEM_ADDR): Likewise.
20602 (FAKE_EBDA_SEG): Likewise.
20603 (fake_bios_data): New function.
20604 (grub_linux_boot): Call fake_bios_data.
20605
20606 2009-03-01 Bean <bean123ch@gmail.com>
20607
20608 * commands/terminal.c: Removed.
20609
20610 * commands/handler.c: New file.
20611
20612 * include/grub/list.h: Likewise.
20613
20614 * include/grub/handler.h: Likewise.
20615
20616 * kern/list.c: Likewise.
20617
20618 * kern/handler.c: Likewise.
20619
20620 * kern/term.h: Include header file <grub/handler.h>.
20621 (grub_term_input): Move next field to the beginning.
20622 (grub_term_output): Likewise.
20623 (grub_term_input_class): New variable.
20624 (grub_term_output_class): Likewise.
20625 (grub_term_register_input): Changed to inline function.
20626 (grub_term_register_output): Likewise.
20627 (grub_term_unregister_input): Likewise.
20628 (grub_term_unregister_output): Likewise.
20629 (grub_term_set_current_input): Likewise.
20630 (grub_term_set_current_output): Likewise.
20631 (grub_term_get_current_input): Likewise.
20632 (grub_term_get_current_output): Likewise.
20633 (grub_term_iterate_input): Removed.
20634 (grub_term_iterate_output): Likewise.
20635
20636 * kern/term.c (grub_term_list_input): Removed.
20637 (grub_term_list_output): Likewise.
20638 (grub_term_input_class): New variable.
20639 (grub_term_output_class): Likewise.
20640 (grub_cur_term_input): Change variable as macro.
20641 (grub_cur_term_output): Likewise.
20642 (grub_term_register_input): Removed.
20643 (grub_term_register_output): Likewise.
20644 (grub_term_unregister_input): Likewise.
20645 (grub_term_unregister_output): Likewise.
20646 (grub_term_set_current_input): Likewise.
20647 (grub_term_set_current_output): Likewise.
20648 (grub_term_iterate_input): Likewise.
20649 (grub_term_iterate_output): Likewise.
20650 (grub_term_get_current_input): Likewise.
20651 (grub_term_get_current_output): Likewise.
20652
20653 * util/grub-editenv.c: Include header file <grub/handler.h>.
20654 (grub_term_get_current_input): Removed.
20655 (grub_term_get_current_output): Likewise.
20656 (grub_term_input_class): New variable.
20657 (grub_term_output_class): Likewise.
20658
20659 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20660 (grub_term_get_current_output): Likewise.
20661 (grub_term_input_class): New variable.
20662 (grub_term_output_class): Likewise.
20663
20664 * util/grub-probe.c (grub_term_get_current_input): Removed.
20665 (grub_term_get_current_output): Likewise.
20666 (grub_term_input_class): New variable.
20667 (grub_term_output_class): Likewise.
20668
20669 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20670 (grub_term_get_current_output): Likewise.
20671 (grub_term_input_class): New variable.
20672 (grub_term_output_class): Likewise.
20673
20674 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20675 (terminal_mod_SOURCES): Likewise.
20676 (terminal_mod_CFLAGS): Likewise.
20677 (terminal_mod_LDFLAGS): Likewise.
20678
20679 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20680 handler.c.
20681 (kernel_img_SOURCES): Add list.c and handler.c.
20682 (kernel_img_HEADERS): Add list.h and handler.h.
20683
20684 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20685 handler.c.
20686 (kernel_mod_SOURCES): Add list.c and handler.c.
20687 (kernel_mod_HEADERS): Add list.h and handler.h.
20688
20689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20690 handler.c.
20691 (kernel_elf_SOURCES): Add list.c and handler.c.
20692 (kernel_elf_HEADERS): Add list.h and handler.h.
20693
20694 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20695 handler.c.
20696 (kernel_elf_SOURCES): Add list.c and handler.c.
20697 (kernel_elf_HEADERS): Add list.h and handler.h.
20698
20699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20700 handler.c.
20701 (kernel_mod_SOURCES): Add list.c and handler.c.
20702 (kernel_mod_HEADERS): Add list.h and handler.h.
20703
20704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20705 handler.c.
20706 (kernel_elf_SOURCES): Add list.c and handler.c.
20707 (kernel_elf_HEADERS): Add list.h and handler.h.
20708
20709 2009-02-27 Robert Millan <rmh@aybabtu.com>
20710
20711 Factorize elf32 / elf64 code in Multiboot loader. This will
20712 prevent it from getting out of sync again.
20713
20714 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20715 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20716 grub_multiboot_load_elf64): Move from here ...
20717 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20718 grub_multiboot_load_elf): ... to here (new file).
20719
20720 2009-02-27 Robert Millan <rmh@aybabtu.com>
20721
20722 * util/grub.d/10_linux.in: Rename "single-user mode" to
20723 "recovery mode".
20724
20725 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 Don't leak in SCSI code.
20728 * disk/scsi.c (grub_scsi_close): free `scsi'.
20729
20730 2009-02-27 Robert Millan <rmh@aybabtu.com>
20731
20732 * loader/i386/pc/multiboot.c: Move from here ...
20733 * loader/i386/multiboot.c: ... to here. Update all users.
20734
20735 2009-02-27 Robert Millan <rmh@aybabtu.com>
20736
20737 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20738 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20739
20740 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20741
20742 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20743 b-tree.
20744
20745 2009-02-27 Robert Millan <rmh@aybabtu.com>
20746
20747 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20748 `0x' qualifier as 0 when base is specified as parameter).
20749
20750 2009-02-24 Bean <bean123ch@gmail.com>
20751
20752 * configure.ac: Check for -mcmodel=large in x86_64 target.
20753
20754 * include/grub/efi/api.h (efi_call_10): New macro.
20755 (efi_wrap_10): New function.
20756
20757 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20758 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20759 (GRUB_PE32_REL_BASED_LOW): Likewise.
20760 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20761 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20762 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20763 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20764 (GRUB_PE32_REL_BASED_REL): Likewise.
20765 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20766 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20767 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20768
20769 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20770 issue.
20771
20772 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20773 (efi_wrap_10): New function.
20774
20775 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20776
20777 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20778 MB/MBP model (NV chipset).
20779 (devdata_devs): Add devpath_5 to the list.
20780
20781 * load/i386/efi/linux.c (video_base): Remove variable.
20782 (RGB_MASK): New macro.
20783 (RGB_MAGIC): Likewise.
20784 (LINE_MIN): Likewise.
20785 (LINE_MAX): Likewise.
20786 (FBTEST_STEP): Likewise.
20787 (FBTEST_COUNT): Likewise.
20788 (fb_list): New variable.
20789 (grub_find_video_card): Remove function.
20790 (find_framebuf): New function.
20791 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20792 line length.
20793
20794 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20795 problem for x86_64.
20796
20797 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20798
20799 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20800
20801 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20802 coding tool name.
20803
20804 2009-02-22 Robert Millan <rmh@aybabtu.com>
20805
20806 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20807 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20808 in our relocation, instead of using it directly from heap. Also
20809 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20810
20811 2009-02-21 Robert Millan <rmh@aybabtu.com>
20812
20813 Implement USB keyboard support (based on patch by Marco Gerards)
20814
20815 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20816 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20817 (usb_keyboard_mod_LDFLAGS): New variables.
20818
20819 * term/usb_keyboard.c: New file.
20820
20821 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20822
20823 Corrected wrong declaration
20824
20825 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20826
20827 2009-02-14 Christian Franke <franke@computer.org>
20828
20829 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20830 (grub_lspci_iter): Print class code and programming interface byte.
20831
20832 2009-02-14 Christian Franke <franke@computer.org>
20833
20834 * gendistlist.sh: Ignore `.svn' directories.
20835
20836 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20837
20838 * fs/fat.c: Add 2009 to Copyright line.
20839
20840 2009-02-14 Christian Franke <franke@computer.org>
20841
20842 * commands/hdparm.c: New file. Provides `hdparm' command
20843 which sends ATA commands via grub_disk_ata_pass_through ().
20844
20845 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20846
20847 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20848 and <grub/cpu/io.h> to include/grub/ata.h.
20849 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20850 (GRUB_CDROM_SECTOR_SIZE): Remove.
20851 (GRUB_ATA_*): Move to include/grub/ata.h.
20852 (GRUB_ATAPI_*): Likewise.
20853 (enum grub_ata_commands): Likewise.
20854 (enum grub_ata_timeout_milliseconds): Likewise.
20855 (struct grub_ata_device): Likewise.
20856 (grub_ata_regset): Likewise.
20857 (grub_ata_regget): Likewise.
20858 (grub_ata_regset2): Likewise.
20859 (grub_ata_regget2): Likewise.
20860 (grub_ata_check_ready): Likewise.
20861 (grub_ata_wait_not_busy): Remove static, exported in
20862 include/grub/ata.h.
20863 (grub_ata_wait_drq): Likewise.
20864 (grub_ata_pio_read): Likewise.
20865
20866 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20867 function for hdparm.mod.
20868
20869 * include/grub/ata.h: New file, contains declarations from
20870 disk/ata.c.
20871 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20872
20873 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20874 (grub_disk_ata_pass_through): New exported variable.
20875
20876 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20877
20878 2009-02-13 Colin D Bennett <colin@gibibit.com>
20879
20880 Support multiple fallback entries, and provide an API to support
20881 executing default+fallback menu entries. Renamed the `terminal' menu
20882 viewer to `text'.
20883
20884 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20885 variable declaration.
20886 (grub_menu_execute_callback): New structure declaration.
20887 (grub_menu_execute_callback_t): New typedef.
20888 (grub_menu_execute_with_fallback): New function declaration.
20889 (grub_menu_get_entry): Likewise.
20890 (grub_menu_get_timeout): Likewise.
20891 (grub_menu_set_timeout): Likewise.
20892
20893 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20894
20895 * normal/menu.c (grub_wait_after_message): Moved to
20896 `normal/menu_text.c'.
20897 (draw_border): Likewise.
20898 (print_message): Likewise.
20899 (print_entry): Likewise.
20900 (print_entries): Likewise.
20901 (grub_menu_init_page): Likewise.
20902 (get_entry_number): Likewise.
20903 (print_timeout): Likewise.
20904 (run_menu): Likewise.
20905 (grub_menu_execute_entry): Likewise.
20906 (show_text_menu): Likewise.
20907 (get_and_remove_first_entry_number): New function.
20908 (grub_menu_execute_with_fallback): Likewise.
20909 (get_entry): Renamed to ...
20910 (grub_menu_get_entry): .. this and made it global.
20911 (get_timeout): Renamed to ...
20912 (grub_menu_get_timeout): ... this and made it global.
20913 (set_timeout): Renamed to ...
20914 (grub_menu_set_timeout): ... this and made it global.
20915 (grub_normal_terminal_menu_viewer): Renamed to ...
20916 (grub_normal_text_menu_viewer): ... this.
20917
20918 * normal/menu_text.c: New file. Extracted text-menu-specific code
20919 from normal/menu.c.
20920
20921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20922 (normal_mod_SOURCES): Likewise.
20923
20924 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20925 (normal_mod_SOURCES): Likewise.
20926
20927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20928 (normal_mod_SOURCES): Likewise.
20929
20930 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20931 (normal_mod_SOURCES): Likewise.
20932
20933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20934 (normal_mod_SOURCES): Likewise.
20935
20936 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20937 (normal_mod_SOURCES): Likewise.
20938
20939 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20940 (normal_mod_SOURCES): Likewise.
20941
20942 2009-02-11 Robert Millan <rmh@aybabtu.com>
20943
20944 * util/grub.d/00_header.in: Update old reference to `font' command.
20945
20946 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20947
20948 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20949
20950 Based on patch from Javier Martín.
20951
20952 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20953
20954 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20955 to avoid false positives with FAT.
20956 (grub_fstest_SOURCES): Likewise.
20957 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20961 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20963
20964 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20965
20966 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20967 bpb.version_specific.fat12_or_fat16.fstype and
20968 bpb.version_specific.fat32.fstype.
20969
20970 2009-02-08 Robert Millan <rmh@aybabtu.com>
20971
20972 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20973
20974 2009-02-08 Robert Millan <rmh@aybabtu.com>
20975
20976 * Makefile.in (host_os, host_cpu): New variables.
20977 (target_os): Remove. Update all users.
20978
20979 2009-02-08 Marco Gerards <marco@gnu.org>
20980
20981 * Makefile.in (enable_grub_emu_usb): New variable.
20982 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20983 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20984 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20985 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20986 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20987 `usbtest.mod' and `usbms.mod'.
20988 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20989 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20990 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20991 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20992 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20993 variables.
20994
20995 * disk/usbms.c: New file.
20996
20997 * include/grub/usb.h: Likewise.
20998
20999 * include/grub/usbtrans.h: Likewise.
21000
21001 * include/grub/usbdesc.h: Likewise.
21002
21003 * bus/usb/usbtrans.c: Likewise.
21004
21005 * bus/usb/ohci.c: Likewise.
21006
21007 * bus/usb/uhci.c: Likewise.
21008
21009 * bus/usb/usbhub.c: Likewise.
21010
21011 * bus/usb/usb.c: Likewise.
21012
21013 * commands/usbtest.c: Likewise.
21014
21015 * util/usb.c: Likewise.
21016
21017 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21018
21019 * configure.ac: Test for libusb presence.
21020
21021 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21022
21023 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21024
21025 * kern/mm.c: Add more comments.
21026
21027 2009-02-08 Robert Millan <rmh@aybabtu.com>
21028
21029 Patch from Javier Martín.
21030 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21031 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21032
21033 2009-02-08 Robert Millan <rmh@aybabtu.com>
21034
21035 * fs/cpio.c: Split tar functionality to ...
21036 * fs/tar.c: ... here (new file). Update all users.
21037
21038 2009-02-07 Robert Millan <rmh@aybabtu.com>
21039
21040 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21041 backward-incompatible features.
21042
21043 Based on patch from Javier Martín, with some adjustments.
21044
21045 2009-02-07 Michael Scherer <misc@mandriva.org>
21046
21047 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21048
21049 2009-02-07 Robert Millan <rmh@aybabtu.com>
21050
21051 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21052 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21053 after the RAID stuff.
21054
21055 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21056
21057 Fixes problem when running vbetest command as reported by
21058 Vladimir Serbinenko <phcoder@gmail.com>.
21059
21060 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21061
21062 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
21063
21064 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21065 /dev/md/NpN style mdraid devices.
21066
21067 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21068
21069 * util/unifont2pff.rb: Remove.
21070
21071 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21072
21073 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21074 `#'.
21075
21076 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21077
21078 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21079 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21080 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21081 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21084 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21085
21086 2009-02-02 Christian Franke <franke@computer.org>
21087
21088 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21089
21090 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
21091
21092 * INSTALL: Note that we now require at least autoconf 2.59 and
21093 that LZO is optional.
21094
21095 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21096
21097 Base on patch on bug #24154 created by Tomas Tintera
21098 <trosos@seznam.cz>.
21099
21100 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21101
21102 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21103
21104 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
21105 <bero@arklinux.org>.
21106
21107 * normal/parser.y (script_init): Add missing semicolon.
21108
21109 2009-01-31 Colin D Bennett <colin@gibibit.com>
21110
21111 * normal/main.c: Add include to grub/menu_viewer.h.
21112 (free_menu_entry_classes): Added.
21113 (grub_normal_menu_addentry): Added class property handling.
21114 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21115 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21116
21117 * normal/menu_viewer.c: New file.
21118
21119 * normal/menu.c (run_menu_entry): Renamed to ...
21120 (grub_menu_execute_entry): ... this and made it as global.
21121 (grub_menu_run): Renamed to ...
21122 (show_text_menu): ... this and made it local.
21123 (show_text_menu): Adapt to new function names.
21124 (grub_normal_terminal_menu_viewer): New global variable.
21125
21126 * include/grub/menu.h: New file.
21127
21128 * include/grub/menu_viewer.h: New file.
21129
21130 * include/grub/normal.h: Added include to grub/menu.h.
21131 (grub_menu_entry): Moved to include/grub/menu.h.
21132 (grub_menu_entry_t): Likewise.
21133 (grub_menu): Likewise.
21134 (grub_menu_t): Likewise.
21135 (grub_normal_terminal_menu_viewer): Added.
21136 (grub_menu_execute_entry): Likewise.
21137 (grub_menu_run): Removed.
21138
21139 * DISTLIST: Added include/grub/menu.h.
21140 Added include/grub/menu_viewer.h.
21141 Added normal/menu_viewer.c.
21142
21143 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21144
21145 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21146 arglist for menutitle arguments.
21147
21148 * normal/main.c (grub_normal_menu_addentry): Likewise.
21149
21150 * normal/parser.y (menuentry): Likewise.
21151
21152 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21153
21154 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21155 (grub_script_create_cmdmenu): Likewise.
21156
21157 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21158
21159 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21160 changes.
21161
21162 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21163
21164 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21165
21166 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21167
21168 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21169
21170 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21171
21172 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21173
21174 2009-01-30 Christian Franke <franke@computer.org>
21175
21176 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21177 in option help text.
21178
21179 2009-01-27 Pavel Roskin <proski@gnu.org>
21180
21181 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21182
21183 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21184
21185 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21186
21187 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21188
21189 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21190 unregister function.
21191
21192 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21193
21194 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21195
21196 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21197
21198 * util/grub-mkfont.c (usage): Fix typo.
21199
21200 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21201
21202 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21203
21204 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21205
21206 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21207
21208 * kern/misc.c (grub_strcasecmp): New function.
21209 (grub_strcasecmp): Use grub_size_t instead of int for length.
21210 Fix return value.
21211 * include/grub/misc.h: Update function prototypes.
21212
21213 2009-01-26 Robert Millan <rmh@aybabtu.com>
21214
21215 * configure.ac: Fix cross-compilation check.
21216
21217 2009-01-22 Christian Franke <franke@computer.org>
21218
21219 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21220 (precision) digit string. Allow `.format2' without `format1' (width).
21221 Limit input chars for `%s' output to `format2' if specified. This is
21222 compatible with standard printf ().
21223
21224 2009-01-22 Christian Franke <franke@computer.org>
21225
21226 * disk/ata.c (grub_ata_wait_status): Replace by ...
21227 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21228 other status bits may be invalid while BSY is asserted.
21229 (grub_ata_check_ready): New function.
21230 (grub_ata_cmd): Removed.
21231 (grub_ata_wait_drq): New function.
21232 (grub_ata_strncpy): Remove inline.
21233 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21234 and error check now done by grub_ata_wait_drq ().
21235 (grub_ata_pio_write): Likewise.
21236 (grub_atapi_identify): Set DEV before check for !BSY. Use
21237 grub_ata_wait_drq () to wait for data.
21238 (grub_ata_device_initialize): Add status register check to
21239 detect missing SATA slave devices. Add debug messages.
21240 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21241 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21242 transfer loop by grub_ata_pio_write ().
21243 (grub_ata_identify): Set DEV before check for !BSY. Use
21244 grub_ata_wait_drq () to wait for data.
21245 (grub_ata_setaddress): Set DEV before check for !BSY.
21246 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21247 read/write in one loop. Fix invalid command on write. Fix incomplete
21248 command on (size % batch) == 0. Add missing error check after write of
21249 last block. Add debug messages.
21250 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21251
21252 2009-01-19 Christian Franke <franke@computer.org>
21253
21254 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21255 (GRUB_ATAPI_IREASON_*): Likewise.
21256 (grub_ata_pio_write): Fix timeout error return.
21257 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21258 (grub_atapi_wait_drq): New function.
21259 (grub_atapi_packet): New parameter `size'.
21260 Use grub_atapi_wait_drq () and direct write instead of
21261 grub_ata_pio_write ().
21262 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21263 reads the number of bytes requested by the device for each DRQ
21264 assertion.
21265 (grub_atapi_write): Remove old implementation, return not
21266 implemented instead.
21267
21268 2009-01-19 Christian Franke <franke@computer.org>
21269
21270 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21271 of 512 to calculate data size.
21272 (grub_scsi_read12): Likewise.
21273 (grub_scsi_write10): Likewise.
21274 (grub_scsi_write12): Likewise.
21275 (grub_scsi_read): Adjust size according to blocksize.
21276 Add checks for invalid blocksize and unaligned transfer.
21277
21278 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21279
21280 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21281
21282 * term/gfxterm.c (write_char): Fix background rendering for wide
21283 width glyphs.
21284
21285 2009-01-19 Robert Millan <rmh@aybabtu.com>
21286
21287 * config.guess: Update to latest version from config git.
21288 * config.sub: Likewise.
21289
21290 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21291
21292 * Makefile.in: Change font compilation to use new grub-mkfont instead
21293 of java version.
21294
21295 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21296 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21297 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21298 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21299 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21300 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21301 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21302 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21303 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21304
21305 2009-01-16 Christian Franke <franke@computer.org>
21306
21307 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21308 (enum grub_ata_timeout_milliseconds): New enum.
21309 (grub_ata_wait_status): Add parameter milliseconds.
21310 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21311 recovery from timed-out commands.
21312 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21313 return grub_errno instead of REG_ERROR.
21314 (grub_ata_pio_write): Add parameter milliseconds.
21315 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21316 Pass milliseconds to grub_ata_wait_status () and
21317 grub_ata_pio_read ().
21318 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21319 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21320 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21321 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21322 It is not suitable for device detection, because DEV bit is ignored,
21323 the command may run too long, and not all devices set the signature
21324 properly.
21325 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21326 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21327 Fix device selection, DEV bit must be set first to address the registers
21328 of the correct device.
21329 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21330 grub_ata_pio_read/write ().
21331 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21332 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21333
21334 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21335
21336 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21337
21338 2009-01-13 Bean <bean123ch@gmail.com>
21339
21340 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21341
21342 2009-01-13 Bean <bean123ch@gmail.com>
21343
21344 * Makefile.in: (enable_grub_mkfont): New variable.
21345 (freetype_cflags): Likewise.
21346 (freetype_libs): Likewise.
21347
21348 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21349 (grub_mkfont_SOURCES): New variable.
21350 (grub_mkfont_CFLAGS): Likewise.
21351 (grub_mkfont_LDFLAGS): Likewise.
21352
21353 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21354 library if `--enable-grub-mkfont' is requested.
21355 (enable_grub_mkfont): New variable.
21356 (freetype_cflags): Likewise.
21357 (freetype_libs): Likewise.
21358
21359 * util/grub-mkfont.c: New file.
21360
21361 2009-01-12 Christian Franke <franke@computer.org>
21362
21363 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21364 mode check. Fix setting of compat_use[].
21365
21366 2009-01-10 Robert Millan <rmh@aybabtu.com>
21367
21368 Update a few copyright years which we forgot to do in 2008 (only for
21369 files whose changes made in 2008 were copyright-significant)
21370
21371 * Makefile.in: Add 2008 to Copyright line.
21372 * disk/ieee1275/ofdisk.c: Likewise.
21373 * disk/efi/efidisk.c: Likewise.
21374 * kern/dl.c: Likewise.
21375 * kern/sparc64/ieee1275/init.c: Likewise.
21376 * kern/mm.c: Likewise.
21377 * kern/efi/mm.c: Likewise.
21378 * boot/i386/pc/boot.S: Likewise.
21379 * genfslist.sh: Likewise.
21380 * fs/iso9660.c: Likewise.
21381 * fs/hfs.c: Likewise.
21382 * fs/jfs.c: Likewise.
21383 * fs/minix.c: Likewise.
21384 * fs/ufs.c: Likewise.
21385 * gensymlist.sh.in: Likewise.
21386 * genkernsyms.sh.in: Likewise.
21387 * include/grub/misc.h: Likewise.
21388 * include/grub/types.h: Likewise.
21389 * include/grub/symbol.h: Likewise.
21390 * include/grub/elf.h: Likewise.
21391 * include/grub/kernel.h: Likewise.
21392 * include/grub/disk.h: Likewise.
21393 * include/grub/dl.h: Likewise.
21394 * include/grub/i386/linux.h: Likewise.
21395 * include/grub/i386/pc/biosdisk.h: Likewise.
21396 * include/grub/efi/api.h: Likewise.
21397 * include/grub/efi/pe32.h: Likewise.
21398 * include/grub/util/misc.h: Likewise.
21399 * normal/execute.c: Likewise.
21400 * normal/arg.c: Likewise.
21401 * normal/completion.c: Likewise.
21402 * normal/lexer.c: Likewise.
21403 * normal/parser.y: Likewise.
21404 * normal/misc.c: Likewise.
21405 * commands/i386/pc/vbeinfo.c: Likewise.
21406 * commands/hexdump.c: Likewise.
21407 * commands/terminal.c: Likewise.
21408 * commands/ls.c: Likewise.
21409 * commands/help.c: Likewise.
21410 * partmap/pc.c: Likewise.
21411 * loader/efi/chainloader.c: Likewise.
21412 * loader/multiboot_loader.c: Likewise.
21413 * loader/i386/pc/multiboot2.c: Likewise.
21414 * term/efi/console.c: Likewise.
21415 * term/i386/pc/serial.c: Likewise.
21416 * util/lvm.c: Likewise.
21417 * util/console.c: Likewise.
21418 * util/i386/efi/grub-mkimage.c: Likewise.
21419 * util/raid.c: Likewise.
21420
21421 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21422
21423 * commands/videotest.c: Removed include to grub/machine/memory.h.
21424
21425 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21426 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21427 (video_mod_SOURCES): Removed.
21428 (video_mod_CFLAGS): Likewise.
21429 (video_mod_LDFLAGS): Likewise.
21430 (gfxterm_mod_SOURCES): Likewise.
21431 (gfxterm_mod_CFLAGS): Likewise.
21432 (gfxterm_mod_LDFLAGS): Likewise.
21433 (videotest_mod_SOURCES): Likewise.
21434 (videotest_mod_CFLAGS): Likewise.
21435 (videotest_mod_LDFLAGS): Likewise.
21436 (bitmap_mod_SOURCES): Likewise.
21437 (bitmap_mod_CFLAGS): Likewise.
21438 (bitmap_mod_LDFLAGS): Likewise.
21439 (tga_mod_SOURCES): Likewise.
21440 (tga_mod_CFLAGS): Likewise.
21441 (tga_mod_LDFLAGS): Likewise.
21442 (jpeg_mod_SOURCES): Likewise.
21443 (jpeg_mod_CFLAGS): Likewise.
21444 (jpeg_mod_LDFLAGS): Likewise.
21445 (png_mod_SOURCES): Likewise.
21446 (png_mod_CFLAGS): Likewise.
21447 (png_mod_LDFLAGS): Likewise.
21448
21449 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21450 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21451 (video_mod_SOURCES): Added.
21452 (video_mod_CFLAGS): Likewise.
21453 (video_mod_LDFLAGS): Likewise.
21454 (videotest_mod_SOURCES): Likewise.
21455 (videotest_mod_CFLAGS): Likewise.
21456 (videotest_mod_LDFLAGS): Likewise.
21457 (bitmap_mod_SOURCES): Likewise.
21458 (bitmap_mod_CFLAGS): Likewise.
21459 (bitmap_mod_LDFLAGS): Likewise.
21460 (tga_mod_SOURCES): Likewise.
21461 (tga_mod_CFLAGS): Likewise.
21462 (tga_mod_LDFLAGS): Likewise.
21463 (jpeg_mod_SOURCES): Likewise.
21464 (jpeg_mod_CFLAGS): Likewise.
21465 (jpeg_mod_LDFLAGS): Likewise.
21466 (png_mod_SOURCES): Likewise.
21467 (png_mod_CFLAGS): Likewise.
21468 (png_mod_LDFLAGS): Likewise.
21469 (gfxterm_mod_SOURCES): Likewise.
21470 (gfxterm_mod_CFLAGS): Likewise.
21471 (gfxterm_mod_LDFLAGS): Likewise.
21472
21473 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21474 grub/machine/console.h.
21475
21476 2009-01-04 Jerone Young <jerone@gmail.com>
21477
21478 Make on screen instructions clearer
21479
21480 Based on patch created by Jidanni <jidanni@jidanni.org>
21481
21482 * normal/menu.c: print clearer instructions on the screen
21483
21484 2009-01-02 Colin D Bennett <colin@gibibit.com>
21485
21486 New font engine.
21487
21488 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21489 build system and fixed gfxterm.c to work with different sized fonts.
21490
21491 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21492
21493 * configure: Re-generated.
21494
21495 * DISTLIST: Removed font/manager.c.
21496 Added font/font.c.
21497 Added font/font_cmd.c.
21498
21499 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21500 compilation.
21501
21502 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21503
21504 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21505
21506 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21507
21508 * normal/menu.c: Likewise.
21509
21510 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21511 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21512
21513 * include/grub/font.h: Replaced with new file.
21514
21515 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21516 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21517 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21518 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21519 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21520 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21521 fg_red, fg_green, fg_blue, fg_alpha.
21522 (grub_video_adapter): Removed blit_glyph.
21523 (grub_video_blit_glyph): Removed.
21524
21525 * font/manager.c: Removed file.
21526
21527 * font/font.c: New file.
21528
21529 * font/font_cmd.c: Likewise.
21530
21531 * video/video.c (grub_video_blit_glyph): Removed.
21532
21533 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21534 (grub_video_vbe_map_rgba): Likewise.
21535 (grub_video_vbe_unmap_color_int): Likewise.
21536 (grub_video_vbe_blit_glyph): Removed.
21537 (grub_video_vbe_adapter): Removed blit_glyph.
21538
21539 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21540 (get_pixel): Likewise.
21541 (set_pixel): Likewise.
21542
21543 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21544
21545 * term/gfxterm.c: Adapted to new font engine.
21546
21547 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21548
21549 * term/i386/pc/vga.c: Likewise.
21550
21551 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21552
21553 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21554
21555 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21556
21557 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21558
21559 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21560
21561 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21562
21563 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21564
21565 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21566
21567 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21568
21569 * util/grub.d/00_header.in: Changed to use new loadfont command.
21570
21571 * util/grub-mkconfig_lib.in: Changed font extension.
21572
21573 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21574
21575 * util/getroot.c (grub_util_get_grub_dev): Add support for
21576 /dev/md/dNNpNN style partitionable mdraid devices.
21577
21578 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21579
21580 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21581 at a time limit of the PXE TFTP API correctly.
21582 (grub_pxefs_close): Likewise.
21583
21584 2008-11-29 Robert Millan <rmh@aybabtu.com>
21585
21586 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21587 grub_ata_device_initialize() calls.
21588
21589 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21590
21591 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21592 iteration failed.
21593 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21594
21595 2008-11-28 Robert Millan <rmh@aybabtu.com>
21596
21597 Fix build on powerpc-ieee1275. Based on patch created by
21598 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21599 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21600 `kern/ieee1275/mmap.c'.
21601 * include/grub/powerpc/ieee1275/memory.h: New file.
21602
21603 Provide grub-install on coreboot.
21604 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21605 (grub_install_SOURCES): New variable.
21606 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21607 usable on coreboot.
21608
21609 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21610
21611 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21612 to `grub_term_input_t'.
21613 (grub_term_get_current_output): Change return type to
21614 `grub_term_output_t'.
21615
21616 2008-11-22 Robert Millan <rmh@aybabtu.com>
21617
21618 Fix breakage on coreboot due to declaration mismatch.
21619 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21620 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21621 grub_vga_text_cls().
21622
21623 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21624 comments. Avoid copying one more byte than necessary (just in case).
21625
21626 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21627 to 0x200000 (avoids trouble with some OFW implementations, and matches
21628 with the one in Yaboot).
21629 Reported by Manoel Abranches
21630
21631 2008-11-20 Robert Millan <rmh@aybabtu.com>
21632
21633 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21634 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21635
21636 * util/grub-mkconfig_lib.in (grub_warn): New function.
21637 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21638 warnings, to obtain consistent formatting.
21639 * util/grub.d/00_header.in: Likewise.
21640 * util/update-grub_lib.in: Likewise.
21641
21642 * loader/i386/linux.c (allocate_pages): Fix a warning.
21643 Move comment text to `#error' stanza.
21644
21645 Harmonize ieee1275's grub_available_iterate() with the generic
21646 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21647 build problem on i386-ieee1275):
21648 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21649 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21650 parameter `type'. Update all users of this function.
21651 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21652 `kern/ieee1275/mmap.c'.
21653 * kern/ieee1275/init.c
21654 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21655 with ...
21656 (grub_machine_mmap_iterate): ... this.
21657 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21658 return type to `grub_err_t'. Update all implementations of this
21659 function prototype.
21660 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21661 Likewise.
21662
21663 Add `lsmmap' command (lists firmware-provided memory map):
21664 * commands/lsmmap.c: New file.
21665 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21666 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21667 variables.
21668 * conf/powerpc-ieee1275.rmk: Likewise.
21669 * conf/i386-coreboot.rmk: Likewise.
21670 * conf/i386-ieee1275.rmk: Likewise.
21671
21672 2008-11-19 Robert Millan <rmh@aybabtu.com>
21673
21674 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21675 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21676 constraints to initrd allocation (based on code from
21677 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21678 for Linux to find it.
21679
21680 2008-11-14 Robert Millan <rmh@aybabtu.com>
21681
21682 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21683 order to cope with duplicate slashes.
21684
21685 2008-11-14 Robert Millan <rmh@aybabtu.com>
21686
21687 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21688 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21689 don't want to mess with lower memory, because it is used in the Linux
21690 loader.
21691
21692 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21693 an appropriate place in lower memory, between 0x10000 and 0x90000,
21694 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21695 is in our heap (probably as a result of it being corrupted during
21696 decompression). Add #error instance with comment to explain why this
21697 loader isn't currently usable on PC/BIOS.
21698
21699 2008-11-14 Robert Millan <rmh@aybabtu.com>
21700
21701 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21702 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21703
21704 2008-11-12 Robert Millan <rmh@aybabtu.com>
21705
21706 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21707
21708 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21709 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21710 from here ...
21711 * include/grub/i386/pc/memory.h: ... to here.
21712
21713 2008-11-12 Robert Millan <rmh@aybabtu.com>
21714
21715 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21716 split).
21717
21718 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21719 (grub_console_cur_color, grub_console_real_putchar)
21720 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21721 (grub_console_setcolorstate, grub_console_setcolor)
21722 (grub_console_getcolor): Move from here ...
21723 * include/grub/i386/vga_common.h: ... to here (new file).
21724
21725 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21726 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21727 `<grub/i386/io.h>'.
21728 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21729 `<grub/i386/vga_common.h>'.
21730
21731 2008-11-12 Robert Millan <rmh@aybabtu.com>
21732
21733 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21734 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21735 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21736 variables.
21737 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21738 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21739
21740 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21741 grub_console_init() with call to grub_vga_text_init().
21742 (grub_machine_fini): Replace call to
21743 grub_console_fini() with call to grub_vga_text_fini() and
21744 grub_at_keyboard_fini().
21745
21746 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21747 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21748 (grub_console_setcolorstate, grub_console_setcolor)
21749 (grub_console_getcolor): New function prototypes.
21750
21751 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21752 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21753 (grub_vga_text_setcursor): Static-ize.
21754 (grub_vga_text_term): New structure.
21755 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21756
21757 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21758 (grub_console_cur_color, grub_console_standard_color)
21759 (grub_console_normal_color, grub_console_highlight_color)
21760 (map_char, grub_console_putchar, grub_console_getcharwidth)
21761 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21762 (grub_console_getcolor): Move from here ...
21763 * term/i386/vga_common.c: ... to here (same function names).
21764
21765 2008-11-12 Robert Millan <rmh@aybabtu.com>
21766
21767 Use newly-added Multiboot support in coreboot.
21768
21769 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21770 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21771
21772 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21773 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21774 (codestart): Store the MBI in `startup_multiboot_info' when we're
21775 being loaded using Multiboot.
21776
21777 * kern/i386/coreboot/init.c (grub_machine_init): Move
21778 grub_at_keyboard_init() call to beginning of function (useful for
21779 debugging). Call grub_machine_mmap_init() before attempting to use
21780 grub_machine_mmap_iterate().
21781 (grub_lower_mem, grub_upper_mem): Move from here ...
21782 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21783 here (new file).
21784
21785 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21786 function prototype.
21787
21788 2008-11-12 Robert Millan <rmh@aybabtu.com>
21789
21790 Fix a regression introduced by the at_keyboard.mod split. Because
21791 some terminals are default on some platforms and non-default on
21792 others, the first terminal being registered determines which is
21793 going to be default.
21794
21795 * kern/term.c (grub_term_register_input): If this is the first
21796 terminal being registered, set it as the current one.
21797 (grub_term_register_output): Likewise.
21798
21799 * term/efi/console.c (grub_console_init): Do not call
21800 grub_term_set_current_output() or grub_term_set_current_input().
21801 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21802 * term/i386/pc/console.c (grub_console_init): Likewise.
21803 (grub_console_fini): Do not call grub_term_set_current_input()
21804 (but leave grub_term_set_current_output() to restore text mode).
21805
21806 2008-11-10 Robert Millan <rmh@aybabtu.com>
21807
21808 * util/grub.d/00_header.in: Add backward compatibility check for
21809 versions of terminal.mod that don't understand `terminal_input' or
21810 `terminal_output'.
21811
21812 2008-11-09 Robert Millan <rmh@aybabtu.com>
21813
21814 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21815 `terminal_input' / `terminal_output', not `terminal'.
21816
21817 2008-11-08 Robert Millan <rmh@aybabtu.com>
21818
21819 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21820 (DISTCLEANFILES): Add `build_env.mk'.
21821
21822 2008-11-08 Robert Millan <rmh@aybabtu.com>
21823
21824 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21825 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21826 members. Update all users.
21827 * util/console.c (grub_ncurses_term): Split in ...
21828 (grub_ncurses_term_input): ... this, and ...
21829 (grub_ncurses_term_output): ... this. Update all users.
21830 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21831
21832 2008-11-08 Robert Millan <rmh@aybabtu.com>
21833
21834 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21835 (PKGDATA): Add $(pkgdata_SRCDIR).
21836 (pkglib_BUILDDIR): New variable.
21837 (pkgdata_SRCDIR): New variable.
21838 (build_env.mk): New target.
21839 (include_DATA): New variable.
21840 (install-local): Install $(include_DATA) files in $(includedir).
21841
21842 2008-11-07 Pavel Roskin <proski@gnu.org>
21843
21844 * gendistlist.sh: Use C locale for sorting to ensure consistent
21845 output on all systems.
21846
21847 * util/grub.d/00_header.in: Remove incorrect space before
21848 "serial".
21849
21850 2008-11-07 Robert Millan <rmh@aybabtu.com>
21851
21852 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21853 per specification.
21854 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21855 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21856 (based on find_multi_boot1_header).
21857 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21858 using find_multi_boot2_header(), and abort if neither Multiboot or
21859 Multiboot headers were found.
21860
21861 2008-11-07 Robert Millan <rmh@aybabtu.com>
21862
21863 Modularize at_keyboard.mod:
21864
21865 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21866 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21867 (at_keyboard_mod_LDFLAGS): New variables.
21868
21869 Actual terminal split:
21870
21871 * include/grub/term.h (struct grub_term): Split in ...
21872 (struct grub_term_input): ... this, and ...
21873 (struct grub_term_output): ... this. Update all users.
21874 (grub_term_set_current): Split in ...
21875 (grub_term_set_current_input): ... this, and ...
21876 (grub_term_set_current_output): ... this.
21877 (grub_term_get_current): Split in ...
21878 (grub_term_get_current_input): ... this, and ...
21879 (grub_term_get_current_output): ... this.
21880 (grub_term_register): Split in ...
21881 (grub_term_register_input): ... this, and ...
21882 (grub_term_register_output): ... this.
21883 (grub_term_unregister): Split in ...
21884 (grub_term_unregister_input): ... this, and ...
21885 (grub_term_unregister_output): ... this.
21886 (grub_term_iterate): Split in ...
21887 (grub_term_iterate_input): ... this, and ...
21888 (grub_term_iterate_output): ... this.
21889
21890 * kern/term.c (grub_term_list): Split in ...
21891 (grub_term_list_input): ... this, and ...
21892 (grub_term_list_output): ... this. Update all users.
21893 (grub_cur_term): Split in ...
21894 (grub_cur_term_input): ... this, and ...
21895 (grub_cur_term_output): ... this. Update all users.
21896 (grub_term_set_current): Split in ...
21897 (grub_term_set_current_input): ... this, and ...
21898 (grub_term_set_current_output): ... this.
21899 (grub_term_get_current): Split in ...
21900 (grub_term_get_current_input): ... this, and ...
21901 (grub_term_get_current_output): ... this.
21902 (grub_term_register): Split in ...
21903 (grub_term_register_input): ... this, and ...
21904 (grub_term_register_output): ... this.
21905 (grub_term_unregister): Split in ...
21906 (grub_term_unregister_input): ... this, and ...
21907 (grub_term_unregister_output): ... this.
21908 (grub_term_iterate): Split in ...
21909 (grub_term_iterate_input): ... this, and ...
21910 (grub_term_iterate_output): ... this.
21911
21912 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21913 a check for input and one for output (and only attempt to get keys
21914 from user when input works).
21915
21916 * util/grub-probe.c (grub_term_get_current): Split in ...
21917 (grub_term_get_current_input): ... this, and ...
21918 (grub_term_get_current_output): ... this.
21919 * util/grub-fstest.c: Likewise.
21920 * util/i386/pc/grub-setup.c: Likewise.
21921 * util/grub-editenv.c: Likewise.
21922
21923 Portability adjustments:
21924
21925 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21926 `term/i386/pc/at_keyboard.c'.
21927 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21928 grub_keyboard_controller_init() (now handled by terminal .init).
21929 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21930 grub_at_keyboard_init().
21931 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21932 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21933 at_keyboard.mod via input terminal interface).
21934 * include/grub/i386/coreboot/console.h: Convert into a stub for
21935 `<grub/i386/pc/console.h>'.
21936
21937 Migrate full terminals to new API:
21938
21939 * term/efi/console.c (grub_console_term): Split into ...
21940 (grub_console_term_input): ... this, and ...
21941 (grub_console_term_output): ... this. Update all users.
21942 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21943 (grub_ofconsole_init): Split into ...
21944 (grub_ofconsole_init_input): ... this, and ...
21945 (grub_ofconsole_init_output): ... this.
21946 (grub_ofconsole_term): Split into ...
21947 (grub_ofconsole_term_input): ... this, and ...
21948 (grub_ofconsole_term_output): ... this. Update all users.
21949 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21950 (grub_serial_term_input): ... this, and ...
21951 (grub_serial_term_output): ... this. Update all users.
21952 * term/i386/pc/console.c (grub_console_term): Split into ...
21953 (grub_console_term_input): ... this, and ...
21954 (grub_console_term_output): ... this. Update all users.
21955 (grub_console_term_input): Only enable it on PC/BIOS platform.
21956 (grub_console_init): Remove grub_keyboard_controller_init() call.
21957
21958 Migrate input terminals to new API:
21959
21960 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21961 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21962 i386-specific anyway).
21963 (grub_console_checkkey): Rename to ...
21964 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21965 users.
21966 (grub_keyboard_controller_orig): New variable.
21967 (grub_console_getkey): Rename to ...
21968 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21969 users.
21970 (grub_keyboard_controller_init): Static-ize. Save original
21971 controller value so that it can be restored ...
21972 (grub_keyboard_controller_fini): ... here (new function).
21973 (grub_at_keyboard_term): New structure.
21974 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21975 functions.
21976
21977 Migrate output terminals to new API:
21978
21979 * term/i386/pc/vga.c (grub_vga_term): Change type to
21980 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21981 members. Update all users.
21982 * term/gfxterm.c (grub_video_term): Change type to
21983 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21984 members. Update all users.
21985 * include/grub/i386/pc/console.h (grub_console_checkkey)
21986 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21987 etc).
21988
21989 Migrate `terminal' command and userland tools to new API:
21990
21991 * commands/terminal.c (grub_cmd_terminal): Split into ...
21992 (grub_cmd_terminal_input): ... this, and ...
21993 (grub_cmd_terminal_output): ... this.
21994 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21995 `terminal_input' and `terminal_output'.
21996 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21997 `terminal_input' / `terminal_output' API.
21998 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21999 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22000 provided ${GRUB_TERMINAL}, convert it).
22001
22002 2008-11-04 Robert Millan <rmh@aybabtu.com>
22003
22004 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22005 for FreeBSD.
22006 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22007
22008 2008-11-03 Bean <bean123ch@gmail.com>
22009
22010 * kern/elf.c (grub_elf32_load): Revert to previous code.
22011 (grub_elf64_load): Likewise.
22012
22013 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22014
22015 2008-11-01 Robert Millan <rmh@aybabtu.com>
22016
22017 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22018 (TARGET_CPPFLAGS): Likewise.
22019 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22020
22021 2008-11-01 Carles Pina i Estany <carles@pina.cat>
22022
22023 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22024
22025 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22026
22027 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22028 addition of objects until the code is not going to be able to fail.
22029
22030 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22031
22032 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22033 (add a missing NULL check, and correct them by moving the pointer
22034 operations after the actual check).
22035
22036 2008-10-29 Robert Millan <rmh@aybabtu.com>
22037
22038 * util/i386/pc/grub-install.in: Handle empty string as output from
22039 make_system_path_relative_to_its_root().
22040
22041 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22042
22043 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22044 circular metadata worst case scenario. If the metadata is circular
22045 then copy the wrap in place.
22046 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22047 project lib/format_text/layout.h
22048 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22049
22050 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22051
22052 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
22053
22054 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22055
22056 * util/update-grub_lib.in: Mention filename in warning message.
22057
22058 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22059
22060 * NEWS: Update for rename of update-grub to grub-mkconfig.
22061
22062 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22063
22064 * util/update-grub_lib.in: Copy to ...
22065 * util/grub-mkconfig_lib.in: ... this. Update all users.
22066 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
22067 * util/update-grub.in: Rename to ...
22068 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22069 option. Add `--output' option to allow users to specify the generated
22070 configuration file. Default to stdout.
22071 (update_grub_dir): Rename to ...
22072 (grub_mkconfig_dir): ... this.
22073 (grub_cfg): Default to an empty string.
22074 * conf/common.rmk (update-grub): Rename to ...
22075 (grub-mkconfig): ... this.
22076 (update-grub_lib): Copy to ...
22077 (grub-mkconfig_lib): ... this.
22078 (update-grub_SCRIPTS): Copy to ...
22079 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22080 (update-grub_DATA): Rename to ...
22081 (grub-mkconfig_DATA): ... this.
22082
22083 2008-09-28 Robert Millan <rmh@aybabtu.com>
22084
22085 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22086 to `modified'. Add the real `created' field.
22087 (grub_iso9660_uuid): Use `modified' rather than `created' for
22088 constructing the UUID.
22089
22090 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
22091
22092 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22093 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22094
22095 2008-09-28 Bean <bean123ch@gmail.com>
22096
22097 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22098 Thanks to Christian Franke for finding this bug.
22099
22100 2008-09-25 Robert Millan <rmh@aybabtu.com>
22101
22102 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22103 instances of grub_util_get_disk_name() (see previous commit).
22104
22105 2008-09-25 Robert Millan <rmh@aybabtu.com>
22106
22107 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22108 `util/i386/get_disk_name.c'.
22109 * conf/i386-efi.rmk: Likewise.
22110 * conf/x86_64-efi.rmk: Likewise.
22111 * conf/i386-coreboot.rmk: Likewise.
22112 * conf/i386-ieee1275.rmk: Likewise.
22113 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22114 `util/ieee1275/get_disk_name.c'.
22115 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22116 * util/ieee1275/get_disk_name.c: Remove file.
22117 * util/i386/get_disk_name.c: Remove file.
22118 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22119 "hd%d" for device.map entries, rather than using
22120 grub_util_get_disk_name().
22121
22122 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22123
22124 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22125 warning.
22126 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22127
22128 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22129
22130 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22131 Changed to 0x5100.
22132 (GRUB_TERM_PPAGE): Changed to 0x4900.
22133
22134 2008-09-24 Robert Millan <rmh@aybabtu.com>
22135
22136 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22137 macros (they were i386-pc specific).
22138 * include/grub/sparc64/ieee1275/console.h: Likewise.
22139 * include/grub/efi/console.h: Likewise.
22140
22141 2008-09-22 Bean <bean123ch@gmail.com>
22142
22143 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22144 resident and in attribute list.
22145
22146 * include/grub/ntfs.h (BMP_LEN): Removed.
22147
22148 2008-09-22 Bean <bean123ch@gmail.com>
22149
22150 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
22151 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22152
22153 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22154 error occurs, as grub_disk_open will call grub_disk_close, which will
22155 call p->close (scsi).
22156
22157 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22158
22159 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22160 (AC_PREREQ): Bumped to 2.59.
22161 (AC_TRY_COMPILE): Replace obsolete macro with ...
22162 (AC_COMPILE_IFELSE): ... this.
22163 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22164 (AC_LINK_IFELSE): ... this.
22165
22166 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22167
22168 * autogen.sh: Add a call to `gendistlist.sh'.
22169
22170 2008-09-19 Christian Franke <franke@computer.org>
22171
22172 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22173 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22174 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22175 Export __enable_execute_stack() to modules.
22176 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22177 New function.
22178
22179 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22180
22181 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22182 Sort the list.
22183
22184 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22185
22186 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22187 #include <grub/util/hostdisk.h>.
22188
22189 2008-09-08 Robert Millan <rmh@aybabtu.com>
22190
22191 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22192 segments when their filesz is zero (grub_file_read() interprets
22193 zero-size as "read until EOF", which results in memory corruption).
22194 Use `lowest_segment' rather than 0 for calculating the current
22195 segment load address.
22196
22197 2008-09-08 Robert Millan <rmh@aybabtu.com>
22198
22199 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22200 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22201 clobbered useful information.
22202
22203 2008-09-08 Robert Millan <rmh@aybabtu.com>
22204
22205 * include/grub/util/biosdisk.h: Move to ...
22206 * include/grub/util/hostdisk.h: ... here. Update all users.
22207 * util/biosdisk.c: Move to ...
22208 * util/hostdisk.c: ... here. Update all users.
22209
22210 2008-09-07 Robert Millan <rmh@aybabtu.com>
22211
22212 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22213 variables.
22214 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22215 and length can be stored directly in the `mbi->mmap_addr' and
22216 `mbi->mmap_length' struct fields.
22217
22218 2008-09-07 Robert Millan <rmh@aybabtu.com>
22219
22220 * conf/i386.rmk: New file. Provides declaration for building
22221 `cpuid.mod'.
22222 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22223 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22224 variables.
22225 Include `conf/i386.mk'.
22226 * conf/i386-efi.rmk: Likewise.
22227 * conf/x86_64-efi.rmk: Likewise.
22228 * conf/i386-coreboot.rmk: Likewise.
22229 * conf/i386-ieee1275.rmk: Likewise.
22230
22231 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22232
22233 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22234 Adds optimization support for BGR based modes.
22235
22236 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22237 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22239 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22240 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22241 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22242 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22243 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22244 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22245 (grub_video_i386_vbeblit_index_index): Likewise.
22246 (grub_video_i386_vbeblit_replace_directN): Added.
22247 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22248 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22249 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22250 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22251 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22252 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22253 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22254 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22255 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22256 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22257 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22258 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22259 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22260
22261 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22262 (grub_video_i386_vbefill_R8G8B8): Likewise.
22263 (grub_video_i386_vbefill_index): Likewise.
22264 (grub_video_i386_vbefill_direct32): Added.
22265 (grub_video_i386_vbefill_direct24): Likewise.
22266 (grub_video_i386_vbefill_direct16): Likewise.
22267 (grub_video_i386_vbefill_direct8): Likewise.
22268
22269 * include/grub/video.h (grub_video_blit_format): Removed
22270 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22271 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22272 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22273 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22274 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22275
22276 * video/video.c (grub_video_get_blit_format): Updated to use new
22277 blit formats. Added handling for 16 bit color modes.
22278
22279 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22280 fillers.
22281 (common_blitter): Updated to use new blitters.
22282
22283 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22284 Removed.
22285 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22287 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22288 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22289 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22290 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22292 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22293 (grub_video_i386_vbeblit_index_index): Likewise.
22294 (grub_video_i386_vbeblit_replace_directN): Added.
22295 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22296 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22297 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22298 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22299 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22300 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22301 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22302 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22303 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22304 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22305 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22306 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22307 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22308
22309 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22310 (grub_video_i386_vbefill_R8G8B8): Likewise.
22311 (grub_video_i386_vbefill_index): Likewise.
22312 (grub_video_i386_vbefill_direct32): Added.
22313 (grub_video_i386_vbefill_direct24): Likewise.
22314 (grub_video_i386_vbefill_direct16): Likewise.
22315 (grub_video_i386_vbefill_direct8): Likewise.
22316
22317 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22318 types.
22319
22320 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22321 types.
22322
22323 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22324 blitter types.
22325
22326 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22327 types.
22328
22329 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22330
22331 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22332 RAID level 1.
22333
22334 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22335
22336 * fs/iso9660.c (grub_iso9660_date): New structure.
22337 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22338 (grub_iso9660_uuid): New function.
22339
22340 2008-09-05 Bean <bean123ch@gmail.com>
22341
22342 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22343
22344 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22345 insensitive bit for names in Win32 and Win32 & DOS namespace.
22346
22347 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22348
22349 * include/grub/types.h (LONG_MAX): Likewise.
22350
22351 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22352
22353 * util/getroot.c: Include <config.h>.
22354 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22355 add support for /dev/md/N devices and handle LVM double dash escaping.
22356
22357 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22358
22359 * config.guess: Update to latest version from config git.
22360 * config.sub: Likewise.
22361
22362 2008-09-03 Robert Millan <rmh@aybabtu.com>
22363
22364 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22365 `disk->total_sectors'.
22366
22367 2008-09-01 Colin D Bennett <colin@gibibit.com>
22368
22369 * include/grub/normal.h: Fixed incorrect comment for
22370 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22371
22372 2008-09-01 Colin D Bennett <colin@gibibit.com>
22373
22374 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22375 values with defines.
22376
22377 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22378 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22379 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22380 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22381 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22382 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22383 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22384 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22385 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22386 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22387 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22388 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22389 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22390 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22391 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22392 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22393 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22394 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22395 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22396
22397 2008-08-31 Robert Millan <rmh@aybabtu.com>
22398
22399 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22400 declaration.
22401 (grub_multiboot): Fix a few warnings.
22402
22403 2008-08-31 Robert Millan <rmh@aybabtu.com>
22404
22405 * loader/i386/pc/multiboot.c: Update comment not to say that
22406 boot_device support is unimplemented.
22407
22408 2008-08-31 Robert Millan <rmh@aybabtu.com>
22409
22410 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22411 or memory map support are unimplemented.
22412
22413 2008-08-31 Colin D Bennett <colin@gibibit.com>
22414
22415 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22416
22417 2008-08-31 Colin D Bennett <colin@gibibit.com>
22418
22419 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22420 total video memory in 'vbeinfo' output; show color format details for
22421 each video mode.
22422
22423 2008-08-30 Pavel Roskin <proski@gnu.org>
22424
22425 * util/genmoddep.c: Remove for real this time.
22426 * DISTLIST: Remove util/genmoddep.c.
22427
22428 2008-08-30 Robert Millan <rmh@aybabtu.com>
22429
22430 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22431 as required by Multiboot spec (it was already 4-byte aligned, but
22432 only by chance).
22433
22434 2008-08-29 Pavel Roskin <proski@gnu.org>
22435
22436 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22437 * kern/powerpc/ieee1275/startup.S: ... this.
22438 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22439 * DISTLIST: Likewise.
22440
22441 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22442 grub/cpu/kernel.h. Add start label for consistency with other
22443 platforms. Add grub_prefix immediately after start. Add jump
22444 to the code after grub_prefix.
22445 * include/grub/powerpc/kernel.h: Provide valid values for
22446 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22447
22448 2008-08-29 Bean <bean123ch@gmail.com>
22449
22450 * configure.ac: Change host_os to cygwin for mingw.
22451 (asprintf): New check for function.
22452
22453 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22454 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22455
22456 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22457 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22458 sync, sleep and grub_util_get_disk_size for mingw.
22459
22460 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22461 to get size in mingw.
22462 (open_device): Use flag O_BINARY if it's defined.
22463 (find_root_device): Add dummy code for mingw.
22464
22465 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22466 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22467 (get_scsi_disk_name): Return 0 for mingw.
22468
22469 * util/hostfs.c: #include <grub/util/misc.h>.
22470 (grub_hostfs_open): Use "rb" flag to open file, use
22471 grub_util_get_disk_size to get disk size for mingw.
22472
22473 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22474 (asprintf): New function if HAVE_ASPRINTF is not set.
22475 (sync): New function for mingw.
22476 (sleep): Likewise.
22477 (grub_util_get_disk_size): Likewise.
22478
22479 2008-08-28 Pavel Roskin <proski@gnu.org>
22480
22481 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22482 kern/time.c.
22483
22484 2008-08-28 Robert Millan <rmh@aybabtu.com>
22485
22486 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22487
22488 2008-08-28 Robert Millan <rmh@aybabtu.com>
22489
22490 Change find_grub_drive() syntax so it doesn't prevent it from
22491 detecting NULL names as errors.
22492
22493 * util/biosdisk.c (find_grub_drive): Move free slot search code
22494 from here ...
22495 (find_free_slot): ... to here.
22496 (read_device_map): Use find_free_slot() to search for free slots.
22497
22498 2008-08-27 Marco Gerards <marco@gnu.org>
22499
22500 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22501 (scsi_mod_SOURCES): New variable.
22502 (scsi_mod_CFLAGS): Likewise
22503 (scsi_mod_LDFLAGS): Likewise.
22504
22505 * disk/scsi.c: New file.
22506
22507 * include/grub/scsi.h: Likewise.
22508
22509 * include/grub/scsicmd.h: Likewise.
22510
22511 * disk/ata.c: Include <grub/scsi.h>.
22512 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22513 instead.
22514 (grub_ata_iterate): Skip ATAPI devices.
22515 (grub_ata_open): Only handle ATAPI devices.
22516 (struct grub_atapi_read): Removed.
22517 (grub_atapi_readsector): Likewise.
22518 (grub_ata_read): No longer handle ATAPI devices.
22519 (grub_ata_write): Likewise.
22520 (grub_atapi_iterate): New function.
22521 (grub_atapi_read): Likewise.
22522 (grub_atapi_write): Likewise.
22523 (grub_atapi_open): Likewise.
22524 (grub_atapi_close): Likewise.
22525 (grub_atapi_dev): New variable.
22526 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22527 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22528
22529 * include/grub/disk.h (enum grub_disk_dev_id): Add
22530 `GRUB_DISK_DEVICE_SCSI_ID'.
22531
22532 2008-08-26 Robert Millan <rmh@aybabtu.com>
22533
22534 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22535 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22536 descriptive.
22537
22538 2008-08-23 Bean <bean123ch@gmail.com>
22539
22540 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22541 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22542 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22543 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22544 dm_nv.mod.
22545 (raid5rec_mod_SOURCES): New macro.
22546 (raid5rec_mod_CFLAGS): Likewise.
22547 (raid5rec_mod_LDFLAGS): Likewise.
22548 (raid6rec_mod_SOURCES): Likewise.
22549 (raid6rec_mod_CFLAGS): Likewise.
22550 (raid6rec_mod_LDFLAGS): Likewise.
22551 (mdraid_mod_SOURCES): Likewise.
22552 (mdraid_mod_CFLAGS): Likewise.
22553 (mdraid_mod_LDFLAGS): Likewise.
22554 (dm_nv_mod_SOURCES): Likewise.
22555 (dm_nv_mod_CFLAGS): Likewise.
22556 (dm_nv_mod_LDFLAGS): Likewise.
22557
22558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22559 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22560 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22561
22562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22563 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22564
22565 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22566
22567 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22568
22569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22570
22571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22572
22573 * disk/raid5_recover.c: New file.
22574
22575 * disk/raid6_recover.c: Likewise.
22576
22577 * disk/mdraid_linux.c: Likewise.
22578
22579 * disk/dmraid_nvidia.c: Likewise.
22580
22581 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22582 ULONG_MAX.
22583
22584 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22585 calculate the size of raid device.
22586 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22587 different layout of raid5.
22588 (grub_raid_scan_device): Remove code specific to mdraid.
22589 (grub_raid_list): New variable.
22590 (free_array): New function.
22591 (grub_raid_register): Likewise.
22592 (grub_raid_unregister): Likewise.
22593 (grub_raid_rescan): Likewise.
22594 (GRUB_MOD_INIT): Don't iterate device here.
22595 (GRUB_MOD_FINI): Use free_array to release resource.
22596
22597 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22598 (grub_raid5_recover_func_t): New function variable type.
22599 (grub_raid6_recover_func_t): Likewise.
22600 (grub_raid5_recover_func): New variable.
22601 (grub_raid6_recover_func): Likewise.
22602 (grub_raid_register): New function.
22603 (grub_raid_unregister): Likewise.
22604 (grub_raid_rescan): Likewise.
22605 (grub_raid_block_xor): Likewise.
22606
22607 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22608 (CMD_CRC): New macro.
22609 (part): Removed.
22610 (read_file): Handle device as well as file.
22611 (cmd_crc): New function.
22612 (fstest): Handle multiple disks.
22613 (options): Remove part, raw and long, add root and diskcount.
22614 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22615 (main): Find the first non option entry and ignore subsequent options,
22616 add handling for the new options, support multiple disks.
22617
22618 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22619
22620 2008-08-23 Bean <bean123ch@gmail.com>
22621
22622 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22623
22624 * genfslist.sh: Ignore kernel.mod.
22625
22626 * genpartmaplist.sh: Likewise.
22627
22628 2008-08-23 Robert Millan <rmh@aybabtu.com>
22629
22630 * util/getroot.c (find_root_device): Skip anything that starts with
22631 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22632
22633 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22634
22635 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22636 * util/grub.d/00_header.in: Allow the administrator to change default
22637 gfxmode via ${GRUB_GFXMODE}.
22638
22639 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22640
22641 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22642
22643 2008-08-21 Robert Millan <rmh@aybabtu.com>
22644
22645 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22646 loader.
22647 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22648 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22649
22650 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22651
22652 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22653 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22654
22655 2008-08-19 Robert Millan <rmh@aybabtu.com>
22656
22657 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22658 (struct grub_virtual_screen): Remove `cursor_color'.
22659 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22660 initialization.
22661 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22662
22663 2008-08-18 Robert Millan <rmh@aybabtu.com>
22664
22665 Unify (identical) linux_normal.c files.
22666 * loader/i386/efi/linux_normal.c: Move from here ...
22667 * loader/linux_normal.c: ... to here. Update all users.
22668 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22669 * loader/i386/ieee1275/linux_normal.c: Likewise.
22670
22671 2008-08-18 Robert Millan <rmh@aybabtu.com>
22672
22673 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22674 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22675 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22676 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22677 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22678 New macros.
22679 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22680 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22681 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22682 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22683 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22684 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22685 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22686 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22687 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22688 portably using grub_getxy().
22689 Replace `-EFI' with `-bzImage' in boot message.
22690
22691 2008-08-17 Robert Millan <rmh@aybabtu.com>
22692
22693 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22694
22695 2008-08-17 Robert Millan <rmh@aybabtu.com>
22696
22697 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22698
22699 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22700 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22701 (grub_machine_mmap_iterate): New function declaration.
22702 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22703 structure.
22704 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22705 macros.
22706
22707 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22708 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22709 Move e820 parsing from here ...
22710 * kern/i386/pc/mmap.c: New file.
22711 (grub_machine_mmap_iterate): ... to here.
22712
22713 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22714 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22715 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22716 (grub_available_iterate): Redeclare to return `void', and redeclare
22717 its hook to use grub_uint64_t as addr and size parameters, and rename
22718 to ...
22719 (grub_machine_mmap_iterate): ... this. Update all users.
22720
22721 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22722 to make it more readable. Rename to ...
22723 (grub_machine_mmap_iterate): ... this.
22724
22725 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22726 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22727 (grub_multiboot): Allocate an extra region after the payload, and fill
22728 it with a Multiboot memory map. Adjust a.out loader to calculate size
22729 with the extra space.
22730 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22731 with the extra space.
22732
22733 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22734
22735 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22736
22737 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22738
22739 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22740 mdate-sh to the list `find' searches for.
22741 * DISTLIST: Regenerated.
22742
22743 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22744
22745 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22746 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22747 genmoddep.awk, gensymlist.sh.in.
22748 (DISTDIRS): Add bus, docs, hook, lib.
22749 * DISTLIST: Regenerated.
22750 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22751
22752 2008-08-16 Robert Millan <rmh@aybabtu.com>
22753
22754 * disk/raid.c (grub_raid_init): Handle/report errors set by
22755 grub_device_iterate().
22756 * disk/lvm.c (grub_lvm_init): Likewise.
22757
22758 2008-08-15 Bean <bean123ch@gmail.com>
22759
22760 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22761 and datehook.mod.
22762 (datetime_mod_SOURCES): New macro.
22763 (datetime_mod_CFLAGS): Likewise.
22764 (datetime_mod_LDFLAGS): Likewise.
22765 (date_mod_SOURCES): Likewise.
22766 (date_mod_CFLAGS): Likewise.
22767 (date_mod_LDFLAGS): Likewise.
22768 (datehook_mod_SOURCES): Likewise.
22769 (datehook_mod_CFLAGS): Likewise.
22770 (datehook_mod_LDFLAGS): Likewise.
22771
22772 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22773 and datehook.mod.
22774 (datetime_mod_SOURCES): New macro.
22775 (datetime_mod_CFLAGS): Likewise.
22776 (datetime_mod_LDFLAGS): Likewise.
22777 (date_mod_SOURCES): Likewise.
22778 (date_mod_CFLAGS): Likewise.
22779 (date_mod_LDFLAGS): Likewise.
22780 (datehook_mod_SOURCES): Likewise.
22781 (datehook_mod_CFLAGS): Likewise.
22782 (datehook_mod_LDFLAGS): Likewise.
22783
22784 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22785 and datehook.mod.
22786 (datetime_mod_SOURCES): New macro.
22787 (datetime_mod_CFLAGS): Likewise.
22788 (datetime_mod_LDFLAGS): Likewise.
22789 (date_mod_SOURCES): Likewise.
22790 (date_mod_CFLAGS): Likewise.
22791 (date_mod_LDFLAGS): Likewise.
22792 (datehook_mod_SOURCES): Likewise.
22793 (datehook_mod_CFLAGS): Likewise.
22794 (datehook_mod_LDFLAGS): Likewise.
22795
22796 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22797 and datehook.mod.
22798 (datetime_mod_SOURCES): New macro.
22799 (datetime_mod_CFLAGS): Likewise.
22800 (datetime_mod_LDFLAGS): Likewise.
22801 (date_mod_SOURCES): Likewise.
22802 (date_mod_CFLAGS): Likewise.
22803 (date_mod_LDFLAGS): Likewise.
22804 (datehook_mod_SOURCES): Likewise.
22805 (datehook_mod_CFLAGS): Likewise.
22806 (datehook_mod_LDFLAGS): Likewise.
22807
22808 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22809 and datehook.mod.
22810 (datetime_mod_SOURCES): New macro.
22811 (datetime_mod_CFLAGS): Likewise.
22812 (datetime_mod_LDFLAGS): Likewise.
22813 (date_mod_SOURCES): Likewise.
22814 (date_mod_CFLAGS): Likewise.
22815 (date_mod_LDFLAGS): Likewise.
22816 (datehook_mod_SOURCES): Likewise.
22817 (datehook_mod_CFLAGS): Likewise.
22818 (datehook_mod_LDFLAGS): Likewise.
22819
22820 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22821
22822 * commands/date.c: New file.
22823
22824 * hook/datehook.c: Likewise.
22825
22826 * include/grub/lib/datetime.h: Likewise.
22827
22828 * include/grub/i386/cmos.h: Likewise.
22829
22830 * lib/datetime.c: Likewise.
22831
22832 * lib/i386/datetime.c: Likewise.
22833
22834 * lib/efi/datetime.c: Likewise.
22835
22836 2008-08-14 Robert Millan <rmh@aybabtu.com>
22837
22838 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22839 (grub_mkelfimage_SOURCES): New variable.
22840 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22841
22842 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22843 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22844 * conf/powerpc-ieee1275.rmk: Likewise.
22845 * conf/i386-ieee1275.rmk: Likewise.
22846
22847 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22848 * kern/i386/coreboot/init.c: Likewise.
22849
22850 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22851 with `<grub/cpu/kernel.h>'.
22852 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22853 to ...
22854 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22855 * kern/i386/coreboot/startup.S: Likewise.
22856
22857 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22858 (GRUB_MOD_GAP): Remove.
22859 * include/grub/powerpc/kernel.h: New file.
22860 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22861 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22862 * include/grub/i386/kernel.h: New file.
22863 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22864 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22865 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22866
22867 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22868 `grub-mkelfimage'.
22869 Use --directory when invoking grub_mkimage.
22870
22871 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22872 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22873 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22874 and GRUB_KERNEL_CPU_PREFIX.
22875
22876 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22877
22878 * include/grub/err.h (grub_err_printf): New function prototype.
22879 * util/misc.c (grub_err_printf): New function.
22880 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22881 grub_printf.
22882 * kern/err.c (grub_print_error): Use grub_err_printf.
22883
22884 2008-08-13 Robert Millan <rmh@aybabtu.com>
22885
22886 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22887
22888 2008-08-13 Robert Millan <rmh@aybabtu.com>
22889
22890 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22891 boot entry.
22892
22893 2008-08-12 Robert Millan <rmh@aybabtu.com>
22894
22895 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22896 of the relocation code from here ...
22897 (grub_multiboot): ... to here.
22898 (forward_relocator, backward_relocator): Move from here ...
22899 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22900 (grub_multiboot_backward_relocator): ... to here.
22901 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22902 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22903 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22904 (grub_multiboot_forward_relocator_end)
22905 (grub_multiboot_backward_relocator)
22906 (grub_multiboot_backward_relocator_end): New variables.
22907
22908 2008-08-12 Bean <bean123ch@gmail.com>
22909
22910 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22911
22912 2008-08-11 Robert Millan <rmh@aybabtu.com>
22913
22914 * kern/i386/linuxbios/startup.S: Move from here ...
22915 * kern/i386/coreboot/startup.S: ... to here.
22916
22917 * kern/i386/linuxbios/init.c: Move from here ...
22918 * kern/i386/coreboot/init.c: ... to here.
22919
22920 * kern/i386/linuxbios/table.c: Move from here ...
22921 * kern/i386/coreboot/mmap.c: ... to here.
22922
22923 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22924
22925 2008-08-11 Robert Millan <rmh@aybabtu.com>
22926
22927 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22928 errors. Leave it to the upper layer to handle them.
22929
22930 2008-08-09 Christian Franke <franke@computer.org>
22931
22932 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22933 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22934 Install `grub.d/10_windows' only on Cygwin.
22935 * configure.ac: Add subst of `target_os'.
22936 Check `target_os' also before setting TARGET_OBJ2ELF.
22937 Add `--enable-grub-pe2elf'.
22938
22939 2008-08-08 Robert Millan <rmh@aybabtu.com>
22940
22941 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22942 (grub_last_time): Change type to grub_uint64_t.
22943 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22944 (grub_disk_close): Likewise.
22945
22946 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22947 (run_menu): Migrate code from to using grub_get_time_ms().
22948
22949 * util/misc.c (grub_get_time_ms): New function.
22950
22951 2008-08-08 Marco Gerards <marco@gnu.org>
22952
22953 * disk/ata.c (grub_ata_regget): Change return type to
22954 `grub_uint8_t'.
22955 (grub_ata_regget2): Likewise.
22956 (grub_ata_wait_status): New function.
22957 (grub_ata_wait_busy): Removed function, updated all users to use
22958 `grub_ata_wait_status'.
22959 (grub_ata_wait_drq): Likewise.
22960 (grub_ata_cmd): New function.
22961 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22962 error handling.
22963 (grub_ata_pio_write): Add error handling.
22964 (grub_atapi_identify): Likewise.
22965 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22966 handling.
22967 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22968 handling. Actually use the detected registers. Reorder the
22969 detection logic such that it is easier to read.
22970 (grub_ata_pciinit): Do not assign the same ID to each controller.
22971 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22972 handling.
22973 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22974
22975 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22976
22977 2008-08-08 Marco Gerards <marco@gnu.org>
22978
22979 * NEWS: Update.
22980
22981 2008-08-07 Bean <bean123ch@gmail.com>
22982
22983 * include/grub/x86_64/pci.h: New file.
22984
22985 2008-08-07 Christian Franke <franke@computer.org>
22986
22987 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22988 (TIMER2_GATE): Likewise.
22989 (grub_pit_wait): Add enable/disable of the timer2 gate
22990 bit of port 0x61. This fixes a possible infinite loop.
22991
22992 2008-08-07 Bean <bean123ch@gmail.com>
22993
22994 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22995 kern/i386/tsc.c and kern/i386/pit.c.
22996
22997 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22998 x86_64 platform.
22999
23000 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23001 <grub/i386/tsc.h>.
23002
23003 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23004
23005 2008-08-07 Bean <bean123ch@gmail.com>
23006
23007 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23008
23009 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23010
23011 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23012 multiple inclusion. Add #include <grub/types.h>.
23013
23014 2008-08-06 Christian Franke <franke@computer.org>
23015
23016 * conf/common.rmk: Build and install `10_windows'.
23017 * util/grub.d/10_windows.in: New script.
23018
23019 2008-08-06 Pavel Roskin <proski@gnu.org>
23020
23021 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23022
23023 2008-08-06 Robert Millan <rmh@aybabtu.com>
23024
23025 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23026 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23027
23028 2008-08-06 Bean <bean123ch@gmail.com>
23029
23030 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23031 (grub_pxefs_fs_int): Remove dummy definition.
23032 (grub_pxefs_open): Use data->block_size to store the current block
23033 size setting.
23034 (grub_pxefs_read): Use block size stored in data->block_size. As the
23035 value of grub_pxe_blksize can be changed after the file is opened.
23036
23037 2008-08-06 Bean <bean123ch@gmail.com>
23038
23039 * fs/i386/pc/pxe.c (curr_file): new variable.
23040 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23041 require the dummy internal file system anymore.
23042 (grub_pxefs_read): Removed.
23043 (grub_pxefs_close): Likewise.
23044 (grub_pxefs_fs_int): Likewise.
23045 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23046 connection when we switch file.
23047 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23048
23049 2008-08-06 Robert Millan <rmh@aybabtu.com>
23050
23051 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23052 `halt.mod'.
23053 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23054 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23055
23056 * kern/i386/halt.c: New file.
23057 * kern/i386/reboot.c: Likewise.
23058 * include/grub/i386/reboot.h: Likewise.
23059 * include/grub/i386/halt.h: Likewise.
23060
23061 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23062 Include `<grub/cpu/halt.h>'.
23063 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23064 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23065
23066 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23067 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23068 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23069 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23070 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23071 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23072 from here ...
23073 * include/grub/i386/at_keyboard.h: ... to here.
23074
23075 2008-08-05 Robert Millan <rmh@aybabtu.com>
23076
23077 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23078 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23079 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23080 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23081 `kern/generic/millisleep.c'.
23082
23083 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23084 instead of grub_get_rtc().
23085 (grub_tsc_init): Initialize `tsc_boot_time'.
23086
23087 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23088 (grub_machine_init): Use grub_tsc_init() rather than
23089 installing an RTC-based handler via grub_install_get_time_ms().
23090
23091 * kern/i386/pit.c: New file.
23092 * include/grub/i386/pit.h: Likewise.
23093
23094 2008-08-05 Bean <bean123ch@gmail.com>
23095
23096 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23097
23098 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23099 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23100 (pxe_mod_SOURCES): New macro.
23101 (pxe_mod_CFLAGS): Likewise.
23102 (pxe_mod_LDFLAGS): Likewise.
23103 (pxecmd_mod_SOURCES): Likewise.
23104 (pxecmd_mod_CFLAGS): Likewise.
23105 (pxecmd_mod_LDFLAGS): Likewise.
23106
23107 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23108 (grub_pxe_call): Likewise.
23109
23110 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23111
23112 * commands/i386/pc/pxecmd.c: New file.
23113
23114 * fs/i386/pc/pxe.c: Likewise.
23115
23116 * include/grub/i386/pc/pxe.h: Likewise.
23117
23118 2008-08-05 Bean <bean123ch@gmail.com>
23119
23120 * util/console.c (grub_console_cur_color): New variable.
23121 (grub_console_standard_color): Likewise.
23122 (grub_console_normal_color): Likewise.
23123 (grub_console_highlight_color): Likewise.
23124 (color_map): Likewise.
23125 (use_color): Likewise.
23126 (NUM_COLORS): New macro.
23127 (grub_ncurses_setcolorstate): Handle color properly.
23128 (grub_ncurses_setcolor): Don't change color here, just remember the
23129 settings, color will be set in grub_ncurses_setcolorstate.
23130 (grub_ncurses_getcolor): New function.
23131 (grub_ncurses_init): Initialize color pairs.
23132 (grub_ncurses_term): New member grub_ncurses_getcolor.
23133
23134 2008-08-05 Colin D Bennett <colin@gibibit.com>
23135
23136 High resolution timer support. Implemented for x86 CPUs using TSC.
23137 Extracted generic grub_millisleep() so it's linked in only as needed.
23138 This requires a Pentium compatible CPU; if the RDTSC instruction is
23139 not supported, then it falls back on the generic grub_get_time_ms()
23140 implementation that uses the machine's RTC.
23141
23142 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23143 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23144 `kern/generic/millisleep.c'.
23145
23146 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23147 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23148
23149 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23150 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23151
23152 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23153
23154 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23155 `kern/generic/millisleep.c'.
23156
23157 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23158
23159 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23160
23161 * kern/generic/rtc_get_time_ms.c: New file.
23162
23163 * kern/generic/millisleep.c: New file.
23164
23165 * kern/misc.c: Don't include
23166 <kern/time.h> anymore.
23167 (grub_millisleep_generic): Removed.
23168
23169 * commands/sleep.c (grub_interruptible_millisleep): Uses
23170 grub_get_time_ms() instead of grub_get_rtc().
23171
23172 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23173 function.
23174 (grub_cpu_is_cpuid_supported): New inline function.
23175 (grub_cpu_is_tsc_supported): New inline function.
23176 (grub_tsc_init): New function prototype.
23177 (grub_tsc_get_time_ms): New function prototype.
23178
23179 * kern/i386/tsc.c (grub_get_time_ms): New file.
23180
23181 * include/grub/time.h: Include <grub/types.h.
23182 (grub_millisleep_generic): Removed.
23183 (grub_get_time_ms): New prototype.
23184 (grub_install_get_time_ms): New prototype.
23185 (grub_rtc_get_time_ms): New prototype.
23186
23187 * kern/time.c (grub_get_time_ms): New function.
23188 (grub_install_get_time_ms): New function.
23189
23190 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23191 <grub/time.h> anymore.
23192 (grub_millisleep): Removed.
23193 (grub_machine_init): Call grub_tsc_init.
23194
23195 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23196 get_time_ms() implementation.
23197
23198 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23199 (ieee1275_get_time_ms): New function.
23200 (grub_machine_init): Install get_time_ms() implementation.
23201
23202 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23203 (grub_machine_init): Call grub_tsc_init().
23204 (grub_millisleep): Removed.
23205
23206 * kern/ieee1275/init.c (grub_millisleep): Removed.
23207 (grub_machine_init): Install ieee1275_get_time_ms()
23208 implementation.
23209 (ieee1275_get_time_ms): New function.
23210 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23211 real work.
23212
23213 2008-08-05 Marco Gerards <marco@gnu.org>
23214
23215 * disk/ata.c: Include <grub/pci.h>.
23216 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23217 (grub_ata_initialize): Rewritten.
23218 (grub_ata_device_initialize): New function.
23219
23220 2008-08-04 Pavel Roskin <proski@gnu.org>
23221
23222 * kern/main.c: Include grub/mm.h.
23223
23224 2008-08-04 Robert Millan <rmh@aybabtu.com>
23225
23226 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23227 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23228 corruption problem).
23229
23230 2008-08-04 Robert Millan <rmh@aybabtu.com>
23231
23232 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23233 warnings introduced in my last commit.
23234
23235 2008-08-03 Robert Millan <rmh@aybabtu.com>
23236
23237 Make PCI available on all i386 architectures.
23238
23239 * include/grub/i386/pc/pci.h: Move from here ...
23240 * include/grub/i386/pci.h: ... to here.
23241
23242 * include/grub/i386/pc/pci.h: Remove.
23243 * include/grub/i386/efi/pci.h: Remove.
23244 * include/grub/x86_64/efi/pci.h: Remove.
23245
23246 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23247 `<grub/cpu/pci.h>'.
23248
23249 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23250 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23251 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23252
23253 * conf/i386-ieee1275.rmk: Likewise.
23254
23255 2008-08-03 Robert Millan <rmh@aybabtu.com>
23256
23257 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23258 (grub_console_setcursor): Make it possible to set cursor off.
23259
23260 2008-08-03 Robert Millan <rmh@aybabtu.com>
23261
23262 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23263 of modules instead of assuming which platform provides what.
23264 * util/update-grub.in: Likewise.
23265
23266 2008-08-03 Robert Millan <rmh@aybabtu.com>
23267
23268 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23269 instead of `grub_install_dos_part' to determine whether a drive needs
23270 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23271 because it can be overridden when loading GRUB via Multiboot).
23272
23273 2008-08-02 Robert Millan <rmh@aybabtu.com>
23274
23275 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23276
23277 2008-08-02 Robert Millan <rmh@aybabtu.com>
23278
23279 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23280 of informational grub_dprintf() calls.
23281
23282 2008-08-02 Robert Millan <rmh@aybabtu.com>
23283
23284 * disk/memdisk.c (memdisk_size): Don't initialize.
23285 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23286
23287 * include/grub/i386/pc/kernel.h
23288 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23289 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23290 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23291 (grub_arch_memdisk_size): Remove.
23292
23293 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23294 field (was only used to transfer a constant). Add `type' field to
23295 support multiple module types.
23296 (grub_module_iterate): New function.
23297
23298 * kern/device.c (grub_device_open): Do not hide error messages
23299 when grub_disk_open() fails. Use grub_print_error() instead.
23300
23301 * kern/i386/pc/init.c (grub_arch_modules_addr)
23302 (grub_arch_memdisk_size): Remove functions.
23303 (grub_arch_modules_addr): Return the module address in high memory
23304 (now that it isn't copied anymore).
23305
23306 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23307 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23308 decompression routine (grub_total_module_size already includes that
23309 now). Don't copy modules back to low memory.
23310
23311 * kern/main.c: Include `<grub/mm.h>'.
23312 (grub_load_modules): Split out (and use) ...
23313 (grub_module_iterate): ... this function, which iterates through
23314 module objects and runs a hook.
23315 Comment out grub_mm_init_region() call, as it would cause non-ELF
23316 modules to be overwritten.
23317
23318 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23319 the memdisk image in its own region, make it part of the module list.
23320 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23321 (main): Parse --memdisk|-m option, and pass user-provided path as
23322 parameter to generate_image().
23323 (add_segments): Pass `memdisk_path' down to load_modules().
23324 (load_modules): Embed memdisk image in module section when requested.
23325 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23326 `header.type' instead of `header.offset'.
23327
23328 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23329 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23330 (memdisk_mod_LDFLAGS): New variables.
23331 * conf/i386-coreboot.rmk: Likewise.
23332 * conf/i386-ieee1275.rmk: Likewise.
23333
23334 2008-08-02 Robert Millan <rmh@aybabtu.com>
23335
23336 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23337 (backward_relocator): New variables. Used to allocate and relocate
23338 the payload, respectively.
23339 (grub_multiboot_load_elf32): Load into heap instead of requested
23340 address, install the appropriate relocator code in each bound of
23341 the payload, and set the entry point such that
23342 grub_multiboot_real_boot() will jump to one of them.
23343
23344 * kern/i386/loader.S (grub_multiboot_payload_size)
23345 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23346 (grub_multiboot_payload_entry_offset): New variables.
23347 (grub_multiboot_real_boot): Set cpu context to what the relocator
23348 expects, and jump to the relocator instead of the payload.
23349
23350 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23351 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23352 (grub_multiboot_payload_entry_offset): Export.
23353
23354 2008-08-01 Bean <bean123ch@gmail.com>
23355
23356 * normal/menu_entry.c (editor_getline): Don't return the original
23357 string as result, as it will be released by lexer once it has done
23358 using it.
23359
23360 2008-08-01 Robert Millan <rmh@aybabtu.com>
23361
23362 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23363 within menuentries, not before them.
23364 util/grub.d/10_hurd.in: Likewise.
23365
23366 2008-08-01 Bean <bean123ch@gmail.com>
23367
23368 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23369 (bufio_mod_SOURCES): New macro.
23370 (bufio_mod_CFLAGS): Likewise.
23371 (bufio_mod_LDFLAGS): Likewise.
23372
23373 * include/grub/bufio.h: New file.
23374
23375 * io/bufio.c: Likewise.
23376
23377 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23378 (grub_video_reader_png): Use grub_buffile_open to open file.
23379
23380 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23381 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23382
23383 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23384 (grub_video_reader_tga): Use grub_buffile_open to open file.
23385
23386 * font/manager.c: Include <grub/bufio.h>.
23387 (add_font): Use grub_buffile_open to open file.
23388
23389 2008-07-31 Robert Millan <rmh@aybabtu.com>
23390
23391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23392 ELF segments, use a macro for arbitrarily accessing any of them instead
23393 of preparing a pointer that allows access to one at a time.
23394 (grub_multiboot_load_elf64): Likewise.
23395
23396 2008-07-31 Bean <bean123ch@gmail.com>
23397
23398 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23399 GRUB_KERNEL_MACHINE_DATA_END.
23400
23401 2008-07-30 Robert Millan <rmh@aybabtu.com>
23402
23403 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23404 Increase from 0x50 to 0x60.
23405 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23406 use UUIDs to identify the root drive for them. If that's not
23407 possible, abort.
23408 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23409 check, for cross-disk installs.
23410
23411 2008-07-30 Robert Millan <rmh@aybabtu.com>
23412
23413 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23414 is non-empty, use it to set the `prefix' environment variable instead
23415 of the usual approach.
23416 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23417 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23418 environment variable instead of dummy make_install_device().
23419
23420 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23421 (start): Insert a data section, with `grub_prefix' variable.
23422 * kern/i386/linuxbios/startup.S: Likewise.
23423
23424 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23425 New variable reference.
23426 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23427 New macro. Defines offset of `grub_prefix' within startup.S (relative
23428 to `start').
23429 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23430 section within startup.S (relative to `start').
23431 * include/grub/i386/coreboot/kernel.h: Likewise.
23432
23433 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23434 Overwrite grub_prefix with its contents, at the beginning of the
23435 first segment.
23436 (main): Understand -p|--prefix.
23437
23438 2008-07-30 Robert Millan <rmh@aybabtu.com>
23439
23440 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23441
23442 2008-07-30 Robert Millan <rmh@aybabtu.com>
23443
23444 * term/i386/pc/vga_text.c (grub_console_cls): Use
23445 grub_console_gotoxy() to go back to beginning of the screen.
23446 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23447
23448 2008-07-29 Christian Franke <franke@computer.org>
23449
23450 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23451 Add conversion of emulated mount points on Cygwin.
23452
23453 2008-07-29 Christian Franke <franke@computer.org>
23454
23455 * util/update-grub.in: Add a check for admin
23456 group on Cygwin.
23457 Remove old `grub.cfg.new' before creation.
23458 Add `-f' to `mv' to handle the different filesystem
23459 semantics of Windows.
23460
23461 2008-07-29 Bean <bean123ch@gmail.com>
23462
23463 * normal/main.c (get_line): Fix buffer overflow bug.
23464
23465 2008-07-28 Robert Millan <rmh@aybabtu.com>
23466
23467 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23468 (struct grub_apple_header): New struct. Describes the layout of
23469 the partmap header.
23470 (apple_partition_map_iterate): Check the header magic as well as the
23471 partition magic (which was already being checked).
23472
23473 2008-07-28 Pavel Roskin <proski@gnu.org>
23474
23475 * genmk.rb: Add a warning to the beginning of the output that
23476 it's a generated file and should not be edited.
23477
23478 2008-07-28 Robert Millan <rmh@aybabtu.com>
23479
23480 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23481 with the same number are found, just use issue a warning with
23482 grub_dprintf(), as this error has been reported to be non-fatal.
23483
23484 2008-07-27 Robert Millan <rmh@aybabtu.com>
23485
23486 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23487 information.
23488
23489 2008-07-27 Bean <bean123ch@gmail.com>
23490
23491 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23492 (grub_fat_find_dir): Ignore case when comparing filename.
23493
23494 2008-07-27 Bean <bean123ch@gmail.com>
23495
23496 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23497 smallino, as it's more descriptive, and i8count can be confused with
23498 the other field count.
23499 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23500 inode type.
23501
23502 2008-07-27 Bean <bean123ch@gmail.com>
23503
23504 * commands/crc.c: New file.
23505
23506 * lib/crc.c: Likewise.
23507
23508 * include/grub/lib/crc.h: Likewise.
23509
23510 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23511
23512 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23513 (hexdump): Move this function to ...
23514
23515 * lib/hexdump.c: ... here.
23516
23517 * include/grub/hexdump.h: Renamed to ...
23518
23519 * include/grub/lib/hexdump.h: ... this.
23520
23521 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23522
23523 * util/grub-editenv.c: Likewise.
23524
23525 * include/envblk.h: Renamed to ...
23526
23527 * include/lib/envblk.h: ... this.
23528
23529 * util/envblk.c: Renamed to ...
23530
23531 * lib/envblk.c: ... this.
23532
23533 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23534 lib/hexdump.c.
23535 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23536 (pkglib_MODULES): Add crc.mod.
23537 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23538 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23539 (crc_mod_SOURCES): New macro.
23540 (crc_mod_CFLAGS): Likewise.
23541 (crc_mod_LDFLAGS): Likewise.
23542
23543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23544
23545 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23546
23547 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23548
23549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23550
23551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23552
23553 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23554
23555 * commands/help.c: Include <grub/term.h>.
23556 (TERM_WIDTH): Removed. Updated all users.
23557
23558 2008-07-27 Pavel Roskin <proski@gnu.org>
23559
23560 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23561 spurious warnings about a comment within a comment.
23562
23563 2008-07-25 Robert Millan <rmh@aybabtu.com>
23564
23565 * util/getroot.c (find_root_device): Skip devices that match
23566 /dev/dm-[0-9]. This lets the real device be found for any type of
23567 abstraction (LVM, EVMS, RAID..).
23568 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23569 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23570 device is found first, find_root_device() will now skip it.
23571
23572 2008-07-24 Pavel Roskin <proski@gnu.org>
23573
23574 * include/grub/types.h: Use __builtin_bswap32() and
23575 __builtin_bswap64() with gcc 4.3 and newer.
23576
23577 2008-07-24 Christian Franke <franke@computer.org>
23578
23579 * util/i386/pc/grub-install.in: If `--debug' is specified,
23580 pass `--verbose' to grub-setup.
23581 Abort script if make_system_path_relative_to_its_root() fails.
23582
23583 2008-07-24 Bean <bean123ch@gmail.com>
23584
23585 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23586 variable `target_platform' should be `platform'.
23587
23588 2008-07-24 Bean <bean123ch@gmail.com>
23589
23590 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23591 (grub_png_init_fixed_block): New function.
23592 (grub_png_decode_image_data): Handle fixed huffman code compression.
23593
23594 2008-07-24 Bean <bean123ch@gmail.com>
23595
23596 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23597 (grub_pe2elf_SOURCES): New macro.
23598 (CLEANFILES): Add grub-pe2elf.
23599
23600 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23601 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23602 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23603 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23604 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23605 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23606 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23607 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23608 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23609 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23610 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23611 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23612 (GRUB_PE32_DT_FUNCTION): Likewise.
23613 (GRUB_PE32_REL_I386_DIR32): Likewise.
23614 (GRUB_PE32_REL_I386_REL32): Likewise.
23615 (grub_pe32_symbol): New structure.
23616 (grub_pe32_reloc): Likewise.
23617
23618 * util/grub-pe2elf.c: New file.
23619
23620 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23621 start symbol in non pc platform.
23622
23623 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23624
23625 The following patches are from Christian Franke.
23626
23627 * include/grub/dl.h: Remove .previous, gas supports this only
23628 for ELF format.
23629
23630 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23631 Remove .type, gas supports this only for ELF format.
23632
23633 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23634 nullbytes in symbol table. This fixes an infinite loop if table is
23635 zero filled.
23636
23637 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23638 TARGET_IMG_LDFLAGS and EXEEXT.
23639
23640 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23641 TARGET_IMG_LDFLAGS_AC.
23642 (grub_CHECK_STACK_ARG_PROBE): New function.
23643
23644 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23645
23646 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23647
23648 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23649 to set TARGET_IMG_LD* accordingly.
23650 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23651 Add call to grub_CHECK_STACK_ARG_PROBE.
23652 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23653
23654 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23655
23656 * genmk.rb: Add EXEEXT to CLEANFILES.
23657
23658 2008-07-23 Robert Millan <rmh@aybabtu.com>
23659
23660 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23661 define the codes for arrows and lines used for the menu).
23662 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23663 as well.
23664
23665 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23666 fonts, because the latter are too slow.
23667
23668 2008-07-21 Bean <bean123ch@gmail.com>
23669
23670 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23671 a20. Run keyboard test last, as it will cause macbook to halt.
23672
23673 2008-07-18 Pavel Roskin <proski@gnu.org>
23674
23675 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23676 load foreign architecture modules correctly anyway. Keep
23677 support for loading host architecture modules, whether we
23678 compile them or not.
23679
23680 2008-07-17 Pavel Roskin <proski@gnu.org>
23681
23682 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23683 change target_cpu. The compiler default can mismatch target_cpu
23684 in any case.
23685
23686 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23687 * kern/efi/efi.c: Likewise.
23688
23689 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23690 target compiler is functional.
23691 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23692 are set up.
23693
23694 * configure.ac: Default to efi platform for x86_64-apple. Allow
23695 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23696 adjustments from the rest, only do them if target is not
23697 explicitly given. Merge other adjustments with the final sanity
23698 check. Remove an extraneous check for supported CPU. Be
23699 specific which CPU and which platform is not supported.
23700
23701 * configure.ac: Default to pc platform for x86_64.
23702
23703 2008-07-17 Robert Millan <rmh@aybabtu.com>
23704
23705 Partial LinuxBIOS -> Coreboot rename.
23706
23707 * conf/i386-linuxbios.rmk: Renamed to ...
23708 * conf/i386-coreboot.rmk: ... this.
23709 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23710 * configure.ac: Accept "coreboot" as input platform (but maintain
23711 compatibility with "linuxbios").
23712 * include/grub/i386/linuxbios: Renamed to ...
23713 * include/grub/i386/coreboot: ... this.
23714
23715 2008-07-17 Bean <bean123ch@gmail.com>
23716
23717 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23718 (appleldr_mod_SOURCE): New variable.
23719 (appleldr_mod_CFLAGS): Likewise.
23720 (appleldr_mod_LDFLAGS): Likewise.
23721 (pci_mod_SOURCES): Likewise.
23722 (pci_mod_CFLAGS): Likewise.
23723 (pci_mod_LDFLAGS): Likewise.
23724 (lspci_mod_SOURCES): Likewise.
23725 (lspci_mod_CFLAGS): Likewise.
23726 (lspci_mod_LDFLAGS): Likewise.
23727
23728 * conf/x86_64-efi.rmk: New file.
23729
23730 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23731 macro.
23732 (grub_efidisk_write): Likewise.
23733
23734 * include/efi/api.h (efi_call_0): New macro.
23735 (efi_call_1): Likewise.
23736 (efi_call_2): Likewise.
23737 (efi_call_3): Likewise.
23738 (efi_call_4): Likewise.
23739 (efi_call_5): Likewise.
23740 (efi_call_6): Likewise.
23741
23742 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23743 grub_rescue_cmd_chainloader.
23744
23745 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23746 (grub_pe32_optional_header): Change some fields based on i386 or
23747 x86_64 platform.
23748 (GRUB_PE32_PE32_MAGIC): Likewise.
23749
23750 * include/grub/efi/uga_draw.h: New file.
23751
23752 * include/grub/elf.h (STN_ABS): New constant.
23753 (R_X86_64_NONE): Relocation constant for x86_64.
23754 (R_X86_64_64): Likewise.
23755 (R_X86_64_PC32): Likewise.
23756 (R_X86_64_GOT32): Likewise.
23757 (R_X86_64_PLT32): Likewise.
23758 (R_X86_64_COPY): Likewise.
23759 (R_X86_64_GLOB_DAT): Likewise.
23760 (R_X86_64_JUMP_SLOT): Likewise.
23761 (R_X86_64_RELATIVE): Likewise.
23762 (R_X86_64_GOTPCREL): Likewise.
23763 (R_X86_64_32): Likewise.
23764 (R_X86_64_32S): Likewise.
23765 (R_X86_64_16): Likewise.
23766 (R_X86_64_PC16): Likewise.
23767 (R_X86_64_8): Likewise.
23768 (R_X86_64_PC8): Likewise.
23769
23770 * include/grub/i386/efi/pci.h: New file.
23771
23772 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23773 Change it value based on platform.
23774 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23775 (GRUB_E820_RAM): Likewise.
23776 (GRUB_E820_RESERVED): Likewise.
23777 (GRUB_E820_ACPI): Likewise.
23778 (GRUB_E820_NVS): Likewise.
23779 (GRUB_E820_EXEC_CODE): Likewise.
23780 (GRUB_E820_MAX_ENTRY): Likewise.
23781 (grub_e820_mmap): New structure.
23782 (linux_kernel_header): Change the efi field according to different
23783 kernel version, also field from linux_kernel_header.
23784
23785 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23786
23787 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23788 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23789 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23790 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23791 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23792 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23793 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23794 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23795 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23796 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23797
23798 * include/grub/x86_64/efi/kernel.h: New file.
23799
23800 * include/grub/x86_64/efi/loader.h: Likewise.
23801
23802 * include/grub/x86_64/efi/machine.h: Likewise.
23803
23804 * include/grub/x86_64/efi/pci.h: Likewise.
23805
23806 * include/grub/x86_64/efi/time.h: Likewise.
23807
23808 * include/grub/x86_64/linux.h: Likewise.
23809
23810 * include/grub/x86_64/setjmp.h: Likewise.
23811
23812 * include/grub/x86_64/time.h: Likewise.
23813
23814 * include/grub/x86_64/types.h: Likewise.
23815
23816 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23817 GRUB_TARGET_SIZEOF_VOID_P.
23818
23819 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23820 (grub_efi_locate_handle): Likewise.
23821 (grub_efi_open_protocol): Likewise.
23822 (grub_efi_set_text_mode): Likewise.
23823 (grub_efi_stall): Likewise.
23824 (grub_exit): Likewise.
23825 (grub_reboot): Likewise.
23826 (grub_halt): Likewise.
23827 (grub_efi_exit_boot_services): Likewise.
23828 (grub_get_rtc): Likewise.
23829
23830 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23831 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23832 (grub_efi_allocate_pages): Wrap efi calls.
23833 (grub_efi_free_pages): Wrap efi calls.
23834 (grub_efi_get_memory_map): Wrap efi calls.
23835
23836 * kern/x86_64/dl.c: New file.
23837
23838 * kern/x86_64/efi/callwrap.S: Likewise.
23839
23840 * kern/x86_64/efi/startup.S: Likewise.
23841
23842 * loader/efi/appleloader.c: Likewise.
23843
23844 * loader/efi/chainloader.c (cmdline): New variable.
23845 (grub_chainloader_unload): Wrap efi calls.
23846 (grub_chainloader_boot): Likewise.
23847 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23848 command line.
23849
23850 * loader/efi/chainloader_normal.c (chainloader_command):
23851 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23852 command line.
23853
23854 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23855 method.
23856 (grub_e820_add_region): New function.
23857 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23858 booting.
23859 (grub_find_video_card): New function.
23860 (grub_linux_setup_video): New function.
23861 (grub_rescue_cmd_linux): Probe for video information.
23862
23863 * normal/x86_64/setjmp.S: New file.
23864
23865 * term/efi/console.c (map_char): New function.
23866 (grub_console_putchar): Map unicode char.
23867 (grub_console_checkkey): Wrap efi calls.
23868 (grub_console_getkey): Likewise.
23869 (grub_console_getwh): Likewise.
23870 (grub_console_gotoxy): Likewise.
23871 (grub_console_cls): Likewise.
23872 (grub_console_setcolorstate): Likewise.
23873 (grub_console_setcursor): Likewise.
23874
23875 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23876
23877 2008-07-16 Pavel Roskin <proski@gnu.org>
23878
23879 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23880 format strings.
23881
23882 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23883 pointer, not an integer. This fixes a warning and prevents
23884 precision loss on 64-bit systems.
23885 (relocate_addresses): Remove unneeded cast.
23886
23887 2008-07-15 Pavel Roskin <proski@gnu.org>
23888
23889 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23890
23891 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23892
23893 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23894 Fix comparison between signed and unsigned.
23895
23896 * include/grub/i386/ieee1275/console.h: Declare
23897 grub_console_init() and grub_console_fini().
23898
23899 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23900 It's empty and unused.
23901
23902 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23903 beginning to avoid warnings with some compilers.
23904
23905 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23906 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23907
23908 2008-07-14 Pavel Roskin <proski@gnu.org>
23909
23910 * kern/env.c (grub_register_variable_hook): Don't copy empty
23911 string, it leaks memory. Pass "" to grub_env_set(), it should
23912 handle constant strings.
23913
23914 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23915 * commands/cmp.c (grub_cmd_cmp): Likewise.
23916 * kern/dl.c (grub_dl_flush_cache): Likewise.
23917 (grub_dl_load_core): Likewise.
23918 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23919 (grub_elf64_load_phdrs): Likewise.
23920
23921 2008-07-13 Pavel Roskin <proski@gnu.org>
23922
23923 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23924 between signed and unsigned.
23925 (LzmaEnc_Finish): Fix warning about an unused parameter.
23926
23927 2008-07-13 Bean <bean123ch@gmail.com>
23928
23929 * Makefile.in (enable_lzo): New rule.
23930
23931 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23932
23933 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23934
23935 * boot/i386/pc/lnxboot.S: #include <config.h>.
23936
23937 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23938 its value according to the compression algorithm used, lzo or lzma.
23939
23940 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23941 compression algorithm according to configure macro.
23942
23943 * kern/i386/pc/startup.S (codestart): Likewise.
23944
23945 * kern/i386/pc/lzma_decode.S: New file.
23946
23947 * include/grub/lib/LzFind.h: Likewise.
23948
23949 * include/grub/lib/LzHash.h: Likewise.
23950
23951 * include/grub/lib/LzmaDec.h: Likewise.
23952
23953 * include/grub/lib/LzmaEnc.h: Likewise.
23954
23955 * include/grub/lib/LzmaTypes.h: Likewise.
23956
23957 * lib/LzFind.c: Likewise.
23958
23959 * lib/LzmaDec.c: Likewise.
23960
23961 * lib/LzmaEnc.c: Likewise.
23962
23963 2008-07-13 Bean <bean123ch@gmail.com>
23964
23965 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23966 (grub_ext4_extent_header): New structure.
23967 (grub_ext4_extent): Likewise.
23968 (grub_ext4_extent_idx): Likewise.
23969 (grub_ext4_find_leaf): New function.
23970 (grub_ext2_read_block): Handle extents.
23971
23972 2008-07-12 Robert Millan <rmh@aybabtu.com>
23973
23974 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23975
23976 2008-07-11 Robert Millan <rmh@aybabtu.com>
23977
23978 * util/grub.d/40_custom.in: New file. Example on how to add custom
23979 entries to /etc/grub.d.
23980 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23981 40_custom (implicitly, by merging all the grub.d rules).
23982
23983 2008-07-11 Pavel Roskin <proski@gnu.org>
23984
23985 * commands/read.c (grub_getline): Fix invalid memory access.
23986 Don't add newline to the variable value.
23987
23988 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23989 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23990 (serial_hw_get_port): Check validity of the port number.
23991 (grub_cmd_serial): Check return value of serial_hw_get_port().
23992
23993 2008-07-07 Pavel Roskin <proski@gnu.org>
23994
23995 * boot/i386/pc/diskboot.S (notification_string): Replace
23996 "Loading kernel" with just "loading". This is shorter, less
23997 confusing and saves a few bytes for possible future changes.
23998
23999 2008-07-05 Pavel Roskin <proski@gnu.org>
24000
24001 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24002 size for ATAPI devices, they are undefined. Output sector
24003 number in decimal form.
24004
24005 * disk/ata.c: Use named constants for status bits.
24006
24007 2008-07-04 Pavel Roskin <proski@gnu.org>
24008
24009 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24010 grub_addr_t before casting it to the void pointer to fix a
24011 warning. Non-addressable regions are discarded earlier.
24012 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24013 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24014 (check_signature): Don't shadow table_header.
24015 (grub_linuxbios_table_iterate): Cast numeric constants to
24016 grub_linuxbios_table_header_t.
24017 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24018 grub_stop().
24019
24020 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24021 prevent warnings.
24022
24023 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24024 pointer, which can cause warnings. Support 64-bit addresses.
24025
24026 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24027 of sizeof(long). This fixes PowerPC image generation on x86_64.
24028
24029 2008-07-04 Robert Millan <rmh@aybabtu.com>
24030
24031 This fixes a performance issue when pc & gpt partmap iterators
24032 didn't abort iteration even after our hook found what it was
24033 looking for (often causing expensive probes of non-existent drives).
24034
24035 Some callers relied on previous buggy behaviour, since they would
24036 raise an error when their own hooks caused early abortion of its
24037 iteration.
24038
24039 * kern/device.c (grub_device_open): Improve error message.
24040 * disk/lvm.c (grub_lvm_open): Likewise.
24041 * disk/raid.c (grub_raid_open): Likewise.
24042
24043 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24044 when hook requests it, independently of grub_errno.
24045 (pc_partition_map_probe): Do not fail when find_func() caused
24046 early abortion of pc_partition_map_iterate().
24047
24048 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24049 when hook requests it, independently of grub_errno.
24050 (gpt_partition_map_probe): Do not fail when find_func() caused
24051 early abortion of gpt_partition_map_iterate().
24052
24053 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24054 when hook requests it, independently of grub_errno. Do not fail when
24055 part_map_iterate_hook() caused early abortion of p->iterate().
24056
24057 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24058 when grub_partition_iterate() returned with non-zero.
24059
24060 2008-07-03 Pavel Roskin <proski@gnu.org>
24061
24062 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24063 like we do in grub_ata_pio_read().
24064 (grub_ata_readwrite): Always write individual sectors. Fix the
24065 sector count for the remainder.
24066 (grub_ata_write): Enable writing to ATA devices. Correctly
24067 report error for ATAPI devices.
24068
24069 2008-07-02 Pavel Roskin <proski@gnu.org>
24070
24071 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24072 warning.
24073
24074 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24075 for every read sector, we already increment it for the whole
24076 batch. This fixes reading more than 256 sectors at once.
24077
24078 * util/grub-editenv.c (cmd_info): Cast argument to long
24079 explicitly. ptrdiff_t reduces to int on i386.
24080
24081 * util/grub-editenv.c (main): Be specific which parameter is
24082 missing.
24083
24084 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24085 (memdisk): Make memdisk_orig_addr a pointer.
24086
24087 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24088 for file offsets, use grub_off_t instead. Fix printf format
24089 warnings.
24090
24091 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24092 there. Real unexpected warnings should not drown in the noise
24093 about known problems.
24094
24095 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24096 grub_disk_addr_t for memory addresses.
24097
24098 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24099 explicitly to fix a warning.
24100
24101 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24102
24103 * Makefile.in (MODULE_LDFLAGS): New variable.
24104 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24105 the linker accepts --build-id=none.
24106 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24107 MODULE_LDFLAGS.
24108 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24109
24110 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24111 those in Linux XFS code. Provide a way to access 64-bit parent
24112 inode.
24113 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24114 the end of struct grub_xfs_dir_header.
24115
24116 2008-07-02 Bean <bean123ch@gmail.com>
24117
24118 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24119 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24120 and GRUB_IEEE1275_FLAG_NO_ANSI.
24121
24122 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24123 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24124 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24125
24126 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24127 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24128
24129 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24130 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24131
24132 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24133 esc sequence on non ANSI terminal.
24134 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24135
24136 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24137 beginning of file.
24138
24139 2008-07-02 Bean <bean123ch@gmail.com>
24140
24141 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24142 (grub_editenv_SOURCES): New variable.
24143 (pkglib_MODULES): Add loadenv.mod.
24144 (loadenv_mod_SOURCES): New variable.
24145 (loadenv_mod_CFLAGS): Likewise.
24146 (loadenv_mod_LDFLAGS): Likewise.
24147
24148 * include/grub/envblk.h: New file.
24149
24150 * util/envblk.c: New file.
24151
24152 * util/grub-editenv.c: New file.
24153
24154 * commands/loadenv.c: New file.
24155
24156 2008-07-01 Pavel Roskin <proski@gnu.org>
24157
24158 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24159 not unsigned char. This fixes warnings and is consistent with
24160 other tags.
24161
24162 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24163
24164 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24165
24166 * term/tparm.c (analyze): Always set *popcount.
24167
24168 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24169 cast to fix a warning.
24170
24171 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24172 cast to suppress a warning.
24173
24174 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24175 grub_fshelp_read_file() expects.
24176
24177 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24178 write uuid as a 32-bit value in CPU byte order, so declare and
24179 use it as such.
24180
24181 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24182 long if the format specifier expects it.
24183 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24184 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24185 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24186 long to fix a warning.
24187 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24188 grub_dprintf() arguments to fix warnings.
24189
24190 2008-06-30 Pavel Roskin <proski@gnu.org>
24191
24192 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24193 install_bsd_part immediately before core.img is embedded or
24194 modified on disk. This fixes core.img verification if core.img
24195 cannot be embedded.
24196
24197 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24198 core_path to calculate the blocklist.
24199 Patch from Javier Martín <lordhabbit@gmail.com>
24200
24201 2008-06-29 Robert Millan <rmh@aybabtu.com>
24202
24203 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24204 block to disk block.
24205 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24206 Patch from Niels Böhm <bitbucket@arcor.de>
24207
24208 2008-06-29 Robert Millan <rmh@aybabtu.com>
24209
24210 * util/update-grub_lib.in (font_path): Search for fonts in
24211 /boot/grub first, which is more likely to be readable (we aren't
24212 deciding where fonts live, just looking for them).
24213
24214 2008-06-26 Pavel Roskin <proski@gnu.org>
24215
24216 * util/biosdisk.c (read_device_map): Don't leave dead map
24217 entries for devices failing stat() check.
24218
24219 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24220 core_path_dev for the core.img path on the target device.
24221
24222 2008-06-26 Robert Millan <rmh@aybabtu.com>
24223
24224 * disk/fs_uuid.c: New file.
24225 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24226 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24227 (fs_uuid_mod_LDFLAGS): New variables.
24228 * include/grub/disk.h (grub_disk_dev_id): Add
24229 `GRUB_DISK_DEVICE_UUID_ID'.
24230 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24231 implement iterate().
24232
24233 2008-06-26 Robert Millan <rmh@aybabtu.com>
24234
24235 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24236 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24237 Linux image includes no initrd.
24238
24239 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24240
24241 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24242 call to resolve the core image location that effectively appended the
24243 name twice.
24244
24245 2008-06-21 Robert Millan <rmh@aybabtu.com>
24246
24247 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24248 call from here ...
24249
24250 * util/grub.d/10_hurd.in: ... to here ...
24251 * util/grub.d/10_linux.in: ... and here.
24252
24253 2008-06-19 Robert Millan <rmh@aybabtu.com>
24254
24255 * kern/main.c (grub_main): Export `prefix' variable immediately
24256 after it has been set by grub_machine_set_prefix().
24257
24258 2008-06-19 Robert Millan <rmh@aybabtu.com>
24259
24260 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24261 search result when not saving to variable, not the other way around.
24262 When saving to variable, abort iteration as soon as a match is found.
24263
24264 2008-06-19 Robert Millan <rmh@aybabtu.com>
24265
24266 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24267 check for partition that provides /boot/grub. Its logic is flawed,
24268 as it prevents prepare_grub_to_access_device() from being called
24269 multiple times.
24270
24271 2008-06-19 Robert Millan <rmh@aybabtu.com>
24272
24273 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24274 "insmod" command directly when abstraction modules are needed,
24275 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24276 since it had already been processed).
24277
24278 2008-06-19 Pavel Roskin <proski@gnu.org>
24279
24280 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24281 changed. This is needed in case GRUB_LIBDIR changes.
24282 * conf/i386-ieee1275.rmk: Likewise.
24283 * conf/i386-linuxbios.rmk: Likewise.
24284 * conf/i386-pc.rmk: Likewise.
24285 * conf/powerpc-ieee1275.rmk: Likewise.
24286
24287 2008-06-18 Pavel Roskin <proski@gnu.org>
24288
24289 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24290 kernel_elf_symlist.c to symlist.c for consistency with other
24291 architectures. Update all users.
24292 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24293
24294 2008-06-18 Robert Millan <rmh@aybabtu.com>
24295
24296 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24297 it in prefix.
24298
24299 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24300 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24301 a RAID device, run setup() for all members independently on whether
24302 LVM abstraction is being used.
24303 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24304 If grub-mkimage has set `*install_dos_part == -2', don't override this
24305 value.
24306 Perform *install_dos_part adjustments independently on whether
24307 we're embedding or not.
24308 Clarify error message when image is too big for embedding.
24309 Remove duplicate *install_dos_part stanza.
24310
24311 2008-06-17 Robert Millan <rmh@aybabtu.com>
24312
24313 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24314 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24315 variables.
24316 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24317 values in grub_ofconsole_normal_color and
24318 grub_ofconsole_highlight_color (they're not directly related to
24319 background and foreground).
24320 (grub_ofconsole_setcolorstate): Extract background and foreground
24321 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24322
24323 2008-06-17 Robert Millan <rmh@aybabtu.com>
24324
24325 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24326 /boot/grub for the check in last commit, not /boot (they could be
24327 different partitions).
24328
24329 2008-06-16 Robert Millan <rmh@aybabtu.com>
24330
24331 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24332 asked to setup access for the same partition that provides /boot,
24333 don't bother using UUIDs since our root already has the value we
24334 want.
24335
24336 2008-06-16 Robert Millan <rmh@aybabtu.com>
24337
24338 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24339 I2O devices.
24340 Patch from Sven Mueller <sven@debian.org>.
24341
24342 2008-06-16 Robert Millan <rmh@aybabtu.com>
24343
24344 * util/update-grub.in: Check for $EUID instead of $UID.
24345 Reported by Vincent Zweije.
24346
24347 2008-06-16 Bean <bean123ch@gmail.com>
24348
24349 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24350 (grub_ext2_read_block): Likewise.
24351 (grub_ext2_read_inode): Likewise.
24352 (grub_ext2_mount): Likewise.
24353 (grub_ext2_close): Likewise.
24354 (grub_ext3_get_journal): Removed.
24355
24356 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24357 (grub_reiserfs_read_symlink): Likewise.
24358 (grub_reiserfs_mount): Likewise.
24359 (grub_reiserfs_open): Likewise.
24360 (grub_reiserfs_read): Likewise.
24361 (grub_reiserfs_close): Likewise.
24362 (grub_reiserfs_get_journal): Removed.
24363
24364 * fs/fshelp.c (grub_fshelp_read): Removed.
24365 (grub_fshelp_map_block): Likewise.
24366
24367 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24368 (grub_fshelp_journal): Likewise.
24369 (grub_fshelp_read): Likewise.
24370 (grub_fshelp_map_block): Likewise.
24371
24372 2008-06-16 Pavel Roskin <proski@gnu.org>
24373
24374 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24375 floating point anymore.
24376 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24377
24378 2008-06-15 Pavel Roskin <proski@gnu.org>
24379
24380 * commands/ls.c (grub_ls_list_files): Use integer calculations
24381 for human readable format, avoid floating point use.
24382 * kern/misc.c (grub_ftoa): Remove.
24383 (grub_vsprintf): Remove floating point support.
24384
24385 2008-06-15 Robert Millan <rmh@aybabtu.com>
24386
24387 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24388 devices.
24389 Reported by Max Vozeler.
24390
24391 2008-06-15 Robert Millan <rmh@aybabtu.com>
24392
24393 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24394 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24395 skipped later.
24396 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24397 the beginning of the prefix.
24398
24399 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24400 It is assumed that if we have a memdisk, grub-mkimage has set
24401 grub_prefix to include the "(memdisk)" drive in it.
24402
24403 2008-06-15 Robert Millan <rmh@aybabtu.com>
24404
24405 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24406 Initialize keyboard controller after registering the terminal, so that
24407 grub_printf() can be called from grub_keyboard_controller_init().
24408
24409 2008-06-15 Robert Millan <rmh@aybabtu.com>
24410
24411 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24412 extent-btree which is written as big endian on disk.
24413 Reported by Alain Greppin <al@chilibi.org>.
24414
24415 2008-06-14 Robert Millan <rmh@aybabtu.com>
24416
24417 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24418 * util/i386/pc/grub-install.in (modules): Likewise.
24419
24420 2008-06-13 Pavel Roskin <proski@gnu.org>
24421
24422 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24423
24424 2008-06-13 Bean <bean123ch@gmail.com>
24425
24426 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24427
24428 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24429
24430 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24431 to indicate sparse block.
24432
24433 2008-06-12 Pavel Roskin <proski@gnu.org>
24434
24435 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24436 number, grub_fshelp_read() does it for us.
24437
24438 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24439 linear disk read with journal translation.
24440 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24441 * include/grub/fshelp.h: Declare grub_fshelp_read().
24442
24443 2008-06-09 Pavel Roskin <proski@gnu.org>
24444
24445 * fs/minix.c (grub_minix_mount): Handle error reading
24446 superblock.
24447
24448 2008-06-08 Robert Millan <rmh@aybabtu.com>
24449
24450 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24451 don't append the RAID prefix afterwards.
24452 Reported by Clint Adams.
24453
24454 2008-06-08 Robert Millan <rmh@aybabtu.com>
24455
24456 Based on description from Pavel:
24457 * kern/disk.c (grub_disk_check_range): Rename to ...
24458 (grub_disk_adjust_range): ... this. Add a comment explaining the
24459 tasks performed by this function.
24460
24461 2008-06-08 Robert Millan <rmh@aybabtu.com>
24462
24463 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24464 `num_serial' (for consistency with other variables).
24465 (struct grub_ntfs_data): Add `uuid' member.
24466 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24467 (grub_ntfs_uuid): New function.
24468 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24469
24470 2008-06-07 Pavel Roskin <proski@gnu.org>
24471
24472 * util/biosdisk.c (open_device): Revert last change to the
24473 function, it broke installation. The sector needs to be
24474 different dependent on which device is opened.
24475
24476 2008-06-06 Robert Millan <rmh@aybabtu.com>
24477
24478 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24479 rest of GRUB, and breakage doesn't happen if its value were modified.
24480
24481 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24482 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24483 a constant (same value).
24484 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24485 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24486
24487 2008-06-06 Robert Millan <rmh@aybabtu.com>
24488
24489 * util/biosdisk.c (open_device): Do not modify sector offset when
24490 accessing a partition. kern/disk.c already handles this for us.
24491
24492 2008-06-06 Robert Millan <rmh@aybabtu.com>
24493
24494 * util/grub-emu.c (grub_machine_init): Move code in this function from
24495 here ...
24496 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24497 segfault in case grub_printf() is called).
24498
24499 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24500 grub_probe. Update all users not to explicitly add it again.
24501 (grub_device): New variable; contains corresponding device for grubdir.
24502 (fs_module, partmap_module, devabstraction_module): Pass
24503 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24504 every time.
24505
24506 2008-06-05 Robert Millan <rmh@aybabtu.com>
24507
24508 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24509 is found, print it (same layout as with labels).
24510
24511 2008-06-04 Robert Millan <rmh@aybabtu.com>
24512
24513 * util/biosdisk.c (get_drive): Rename to ...
24514 (find_grub_drive): ... this. Update all users.
24515
24516 (get_os_disk): Rename to ...
24517 (convert_system_partition_to_system_disk): ... this. Update all users.
24518
24519 (find_drive): Rename to ...
24520 (find_system_device): ... this. Update all users.
24521
24522 2008-06-04 Robert Millan <rmh@aybabtu.com>
24523
24524 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24525 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24526 (make_device_map): Likewise.
24527
24528 2008-06-01 Robert Millan <rmh@aybabtu.com>
24529
24530 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24531 before dereferencing it.
24532
24533 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24534 union with fat12/fat16-specific ones. Add some new fields, including
24535 `num_serial' for both versions.
24536 (struct grub_fat_data): Add `uuid' member.
24537 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24538 names. Initialize `data->uuid' using `num_serial'.
24539 (grub_fat_uuid): New function.
24540 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24541
24542 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24543 (grub_reiserfs_uuid): New function.
24544 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24545 member.
24546
24547 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24548 (grub_xfs_uuid): New function.
24549 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24550
24551 2008-06-01 Robert Millan <rmh@aybabtu.com>
24552
24553 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24554 code that is backward compatible with pre-uuid search command.
24555
24556 2008-05-31 Robert Millan <rmh@aybabtu.com>
24557
24558 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24559 floppies after everything else, to ensure floppy drive isn't accessed
24560 unnecessarily (patch from Bean).
24561
24562 2008-05-31 Robert Millan <rmh@aybabtu.com>
24563
24564 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24565 not print device names when we were asked to set a variable.
24566
24567 2008-05-31 Robert Millan <rmh@aybabtu.com>
24568
24569 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24570 using "cursor-on" and "cursor-off" commands (understood at least by
24571 the Open Firmware flavour on OLPC).
24572
24573 2008-05-31 Michael Gorven <michael@gorven.za.net>
24574
24575 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24576 on and off sequences.
24577
24578 2008-05-31 Robert Millan <rmh@aybabtu.com>
24579
24580 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24581 * util/update-grub.in: Likewise.
24582
24583 2008-05-30 Pavel Roskin <proski@gnu.org>
24584
24585 * util/biosdisk.c (linux_find_partition): Simplify logic and
24586 make the code more universal. Keep special processing for
24587 devfs, but use a simple rule for all other devices. If the
24588 device ends with a number, append 'p' and the partition number.
24589 Otherwise, append only the partition number.
24590
24591 2008-05-30 Robert Millan <rmh@aybabtu.com>
24592
24593 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24594 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24595 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24596 the `root' parameter to Linux.
24597
24598 2008-05-30 Robert Millan <rmh@aybabtu.com>
24599
24600 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24601 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24602 --fs_uuid with --fs-uuid.
24603 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24604 all filesystems support them).
24605
24606 2008-05-30 Robert Millan <rmh@aybabtu.com>
24607
24608 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24609 grub_printf() flags, since we're printing in units of 2 bytes.
24610
24611 2008-05-30 Robert Millan <rmh@aybabtu.com>
24612
24613 * util/grub.d/00_header.in: Remove obsolete comment referencing
24614 convert_system_path_to_grub_path().
24615 * util/update-grub.in: Likewise.
24616 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24617 (convert_system_path_to_grub_path): Add a warning message explaining
24618 that this function is deprecated. Rely on is_path_readable_by_grub()
24619 for the readability checks.
24620 (font_path): Use is_path_readable_by_grub() for the readability
24621 check rather than convert_system_path_to_grub_path().
24622
24623 2008-05-30 Robert Millan <rmh@aybabtu.com>
24624
24625 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24626 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24627 converting it first.
24628 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24629 grub.cfg for access to font file, and afterwards call it again to set
24630 the root device.
24631
24632 2008-05-30 Robert Millan <rmh@aybabtu.com>
24633
24634 * commands/search.c (options): Add --fs_uuid option.
24635 (search_fs_uuid): New function.
24636 (grub_cmd_search): Fix --set argument passing.
24637 Use search_fs_uuid() when requested via --fs_uuid.
24638 (grub_search_init): Update help message.
24639 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24640 and redeclare it as an array of 16-bit words.
24641 (grub_ext2_uuid): New function.
24642 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24643 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24644 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24645 (GRUB_DEVICE_BOOT_UUID): New variables.
24646 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24647 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24648 whenever possible.
24649 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24650 just assume `root' variable has the right value.
24651 * util/grub.d/10_linux.in: Likewise.
24652 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24653 via PRINT_FS_UUID.
24654 (main): Recognise `-t fs_uuid' argument.
24655
24656 2008-05-30 Robert Millan <rmh@aybabtu.com>
24657
24658 * util/biosdisk.c (map): Redefine structure to hold information
24659 about GRUB drive name.
24660 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24661 drive names.
24662 (call_hook): Remove.
24663 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24664 member. Assume drive has partitions.
24665 (grub_util_biosdisk_open): Access device names via `.device' struct
24666 member.
24667 (open_device): Likewise.
24668 (find_drive): Likewise.
24669 (read_device_map): Adjust map[] usage to match the new struct
24670 definition. Don't check for duplicates (still possible, but not cheap
24671 anymore).
24672 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24673 (make_device_name): Remove assumption of BIOS-like drive names.
24674
24675 2008-05-30 Pavel Roskin <proski@gnu.org>
24676
24677 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24678 compiling execute.c doesn't need grub_script.tab.h anymore.
24679 (normal/command.c_DEPENDENCIES): Likewise.
24680 (normal/function.c_DEPENDENCIES): Likewise.
24681 * conf/i386-ieee1275.rmk: Likewise.
24682 * conf/i386-linuxbios.rmk: Likewise.
24683 * conf/i386-pc.rmk: Likewise.
24684 * conf/powerpc-ieee1275.rmk: Likewise.
24685 * conf/sparc64-ieee1275.rmk: Likewise.
24686
24687 2008-05-29 Pavel Roskin <proski@gnu.org>
24688
24689 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24690 when scanning metadata for volume group name.
24691
24692 * include/grub/script.h: Don't include grub_script.tab.h. It's
24693 a generated file, which may only be included from the files with
24694 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24695 use union YYSTYPE, as the later allows forward declaration.
24696 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24697
24698 2008-05-29 Robert Millan <rmh@aybabtu.com>
24699
24700 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24701 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24702 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24703 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24704 scan codes.
24705
24706 2008-05-29 Robert Millan <rmh@aybabtu.com>
24707
24708 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24709 control key combinations.
24710
24711 2008-05-29 Robert Millan <rmh@aybabtu.com>
24712
24713 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24714 * util/ieee1275/grub-install.in: ... to here.
24715 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24716 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24717 (grub_install_SOURCES): Likewise.
24718
24719 2008-05-29 Robert Millan <rmh@aybabtu.com>
24720
24721 * fs/affs.c: Update copyright year.
24722 * fs/ext2.c: Likewise.
24723 * fs/fshelp.c: Likewise.
24724 * fs/hfsplus.c: Likewise.
24725 * fs/ntfs.c: Likewise.
24726 * fs/xfs.c: Likewise.
24727 * include/grub/fshelp.h: Likewise.
24728 * util/grub-mkdevicemap.c: Likewise.
24729
24730 2008-05-28 Robert Millan <rmh@aybabtu.com>
24731
24732 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24733 might need to be fatfs to support some firmware implementations
24734 (e.g. OFW or EFI).
24735
24736 2008-05-28 Robert Millan <rmh@aybabtu.com>
24737
24738 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24739 devices.
24740 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24741 (make_device_map): Likewise.
24742
24743 2008-05-20 Bean <bean123ch@gmail.com>
24744
24745 * fs/fshelp.c (grub_fshelp_map_block): New function.
24746 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24747 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24748
24749 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24750 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24751 (grub_fshelp_journal): New structure.
24752 (grub_fshelp_map_block): New function prototype.
24753 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24754 (grub_fshelp_map_block): Likewise.
24755
24756 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24757 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24758 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24759 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24760 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24761 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24762 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24763 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24764 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24765 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24766 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24767 (grub_ext2_sblock): New members for journal support.
24768 (grub_ext3_journal_header): New structure.
24769 (grub_ext3_journal_revoke_header): Likewise.
24770 (grub_ext3_journal_block_tag): Likewise.
24771 (grub_ext3_journal_sblock): Likewise.
24772 (grub_fshelp_node): New members logfile and journal.
24773 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24774 grub_fshelp_map_block to get real block number.
24775 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24776 number.
24777 (grub_ext2_read_inode): Likewise.
24778 (grub_ext3_get_journal): New function.
24779 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24780 (grub_ext2_close): Release memory used by journal.
24781
24782 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24783 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24784 (grub_reiserfs_transaction_header): Renamed to
24785 grub_reiserfs_description_block, replace field data with real_blocks.
24786 (grub_reiserfs_commit_block): New structure.
24787 (grub_reiserfs_data): New member journal.
24788 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24789 number.
24790 (grub_reiserfs_read_symlink): Likewise.
24791 (grub_reiserfs_iterate_dir): Likewise.
24792 (grub_reiserfs_open): Likewise.
24793 (grub_reiserfs_read): Likewise.
24794 (grub_reiserfs_get_journal): New function.
24795 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24796 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24797 using grub_reiserfs_get_journal.
24798 (grub_reiserfs_close): Release memory used by journal.
24799
24800 * fs/affs.c (grub_affs_read_block): Change block type to
24801 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24802
24803 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24804
24805 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24806
24807 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24808
24809 * fs/udf.c (grub_udf_read_block): Change block type to
24810 grub_disk_addr_t. Use type cast to avoid warning.
24811
24812 * fs/xfs.c (grub_xfs_read_block): Likewise.
24813
24814 2008-05-16 Christian Franke <franke@computer.org>
24815
24816 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24817 to ensure that break with ESC will always work.
24818 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24819 Remove ESC from keyboard queue.
24820
24821 2008-05-16 Christian Franke <franke@computer.org>
24822
24823 * util/biosdisk.c: [__CYGWIN__] Add includes.
24824 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24825 (get_os_disk): Move variable declarations to OS specific
24826 parts to avoid warning.
24827 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24828 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24829 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24830 Cygwin.
24831 * util/getroot.c: [__CYGWIN__] Add includes.
24832 (strip_extra_slashes): Fix "/" case.
24833 [__CYGWIN__] (get_win32_path): New function.
24834 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24835 [__CYGWIN__] (find_root_device): Disable.
24836 [__CYGWIN__] (get_bootsec_serial): New function.
24837 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24838 [__linux__] (grub_guess_root_device): Add early returns to simplify
24839 structure.
24840 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24841 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24842 check for Linux only.
24843
24844 2008-05-15 Bean <bean123ch@gmail.com>
24845
24846 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24847 keyboard hang problem in apple's intel mac.
24848
24849 2008-05-09 Robert Millan <rmh@aybabtu.com>
24850
24851 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24852 devices.
24853 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24854 (make_device_map): Likewise.
24855 Reported by Aurelien Jarno <aurel32@debian.org>
24856
24857 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24858
24859 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24860 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24861 (make_device_map): Output entries for xvd type disks.
24862
24863 2008-05-07 Robert Millan <rmh@aybabtu.com>
24864
24865 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24866 devices.
24867 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24868 (make_device_map): Likewise.
24869 Reported by Roland Dreier <rdreier@cisco.com>
24870
24871 2008-05-07 Robert Millan <rmh@aybabtu.com>
24872
24873 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24874 grub_strstr() call. Correct a few mistakes in failure path handling.
24875
24876 2008-05-06 Robert Millan <rmh@aybabtu.com>
24877
24878 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24879 Do not print a trailing slash (therefore, the root directory is an
24880 empty string).
24881 (convert_system_path_to_grub_path): Do not remove trailing slash
24882 from make_system_path_relative_to_its_root() output.
24883
24884 * util/i386/pc/grub-install.in: Add trailing slash to output from
24885 make_system_path_relative_to_its_root().
24886
24887 2008-05-06 Robert Millan <rmh@aybabtu.com>
24888
24889 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24890 ensures that output lines aren't intermangled with those sent to
24891 stderr (via grub_util_info()).
24892 * util/grub-probe.c (grub_refresh): Likewise.
24893 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24894
24895 2008-05-05 Christian Franke <franke@computer.org>
24896
24897 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24898 Add Cygwin device names.
24899 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24900 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24901 (check_device): Return error instead of success on empty name.
24902 (make_device_map): Move label inside linux specific code to
24903 prevent compiler warning.
24904
24905 2008-04-30 Robert Millan <rmh@aybabtu.com>
24906
24907 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24908 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24909 first boot option.
24910 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24911
24912 2008-04-29 Robert Millan <rmh@aybabtu.com>
24913
24914 * docs/grub.cfg: New file (example GRUB configuration).
24915
24916 2008-04-26 Robert Millan <rmh@aybabtu.com>
24917
24918 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24919 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24920 and `disk/ieee1275/nand.c'.
24921
24922 2008-04-25 Bean <bean123ch@gmail.com>
24923
24924 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24925 i386-linuxbios.
24926
24927 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24928 change the buffer size to 4096 for cdrom device.
24929
24930 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24931 and nand.mod.
24932 (_linux_mod_SOURCES): New variable.
24933 (_linux_mod_CFLAGS): Likewise.
24934 (_linux_mod_LDFLAGS): Likewise.
24935 (linux_mod_SOURCES): Likewise.
24936 (linux_mod_CFLAGS): Likewise.
24937 (linux_mod_LDFLAGS): Likewise.
24938 (nand_mod_SOURCES): Likewise.
24939 (nand_mod_CFLAGS): Likewise.
24940 (nand_mod_LDFLAGS): Likewise.
24941
24942 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24943 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24944 type property. (nand device in olpc don't have this property)
24945
24946 * include/grub/disk.h (grub_disk_dev_id): New macro
24947 GRUB_DISK_DEVICE_NAND_ID.
24948
24949 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24950 function prototype.
24951 (grub_rescue_cmd_initrd): Likewise.
24952
24953 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24954 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24955 ofw_cif_handler and ofw_idt, adjust padding number.
24956
24957 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24958 GRUB_MACHINE_IEEE1275 is defined.
24959
24960 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24961 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24962
24963 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24964 on nested function heap_init.
24965 (grub_upper_mem): New variable for i386-ieee1275.
24966 (grub_get_extended_memory): New function for i386-ieee1275.
24967 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24968
24969 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24970 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24971 property.
24972
24973 * loader/i386/ieee1275/linux.c: New file.
24974
24975 * loader/i386/ieee1275/linux_normal.c: New file.
24976
24977 * disk/ieee1275/nand.c: New file.
24978
24979 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24980
24981 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24982 value.
24983 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24984
24985 2008-04-18 Robert Millan <rmh@aybabtu.com>
24986
24987 Restructures early code path on ieee1275 to unify grub_main() as
24988 the first C function that is executed in every platform.
24989
24990 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24991 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24992 cmain().
24993 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24994 * kern/ieee1275/cmain.c (cmain): Rename to ...
24995 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24996 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24997 at the beginning.
24998
24999 2008-04-18 Robert Millan <rmh@aybabtu.com>
25000
25001 * util/update-grub.in: Fix syntax error when setting
25002 `GRUB_PRELOAD_MODULES'.
25003 Reported by Stephane Chazelas <stephane@artesyncp.com>
25004
25005 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25006
25007 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25008 section into account, newer toolchains generate unique build ids
25009 * configure.ac: remove the test for --build-id=none acceptance,
25010 we want build ids to be preserved
25011 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25012 far from other sections don't cause the raw binary images grow
25013 size
25014
25015 2008-04-15 Robert Millan <rmh@aybabtu.com>
25016
25017 * disk/lvm.c: Update copyright year.
25018 * kern/misc.c: Likewise.
25019
25020 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25021
25022 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
25023 there is no memory left for physical volume name.
25024
25025 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25026
25027 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25028 volume name mapping to support bigger than 9 character names properly.
25029
25030 2008-04-13 Robert Millan <rmh@aybabtu.com>
25031
25032 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25033 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25034
25035 2008-04-13 Christian Franke <franke@computer.org>
25036
25037 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25038 to create a floppy emulation boot CD when non emulation mode
25039 does not work.
25040 Enable Joliet CD filesystem extension.
25041
25042 2008-04-13 Robert Millan <rmh@aybabtu.com>
25043
25044 * kern/misc.c (grub_strncat): Fix off-by-one error.
25045 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25046
25047 * kern/env.c (grub_env_context_close): Clear current context, not
25048 previous one.
25049 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25050
25051 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25052
25053 2008-04-13 Robert Millan <rmh@aybabtu.com>
25054
25055 Improve robustness when handling LVM.
25056
25057 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
25058 (and leave `*p' unmodified).
25059 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25060 through it.
25061 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25062 iterating through it.
25063 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25064 through it.
25065 (grub_lvm_scan_device): Check the return value (and fail gracefully
25066 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25067 Don't assume `vg->pvs != NULL' when iterating through it.
25068
25069 2008-04-13 Robert Millan <rmh@aybabtu.com>
25070
25071 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25072 * genmk.rb (partmap): New variable.
25073 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25074 (#{partmap}): New target rule.
25075 * genpartmaplist.sh: New file.
25076 * Makefile.in (pkglib_DATA): Add partmap.lst.
25077 (partmap.lst): New target rule.
25078 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25079 modules (including all partition maps), instead of preloading them.
25080
25081 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25082
25083 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25084 `linux-boot-prober' (if installed) to detect other operating
25085 systems which are installed on the computer and add them to
25086 the boot menu.
25087 * conf/common.rmk: Build and install 30_os-prober.
25088
25089 2008-04-12 Robert Millan <rmh@aybabtu.com>
25090
25091 * kern/powerpc/ieee1275/init.c: Move from here ...
25092 * kern/ieee1275/init.c: ... to here. Update all users.
25093
25094 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25095 * kern/ieee1275/cmain.c: ... to here. Update all users.
25096
25097 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25098 * kern/ieee1275/openfw.c: ... to here. Update all users.
25099
25100 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25101 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25102
25103 2008-04-10 Pavel Roskin <proski@gnu.org>
25104
25105 * configure.ac: Always use "_cv_" in cache variables for
25106 compatibility with Autoconf 2.62.
25107
25108 2008-04-07 Robert Millan <rmh@aybabtu.com>
25109
25110 Revert grub/machine/init.h addition by Pavel (since it breaks on
25111 i386-ieee1275 and others):
25112 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25113 * util/powerpc/ieee1275/misc.c: Likewise.
25114
25115 2008-04-07 Robert Millan <rmh@aybabtu.com>
25116
25117 * util/grub-probe.c (probe): Improve error message.
25118
25119 2008-04-07 Robert Millan <rmh@aybabtu.com>
25120
25121 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25122 (this prevents the presence of a bogus entry from ruining the whole
25123 thing).
25124
25125 2008-04-06 Pavel Roskin <proski@gnu.org>
25126
25127 * util/biosdisk.c: Include grub/util/biosdisk.h.
25128 * util/grub-fstest.c (execute_command): Make static.
25129 * util/grub-mkdevicemap.c (check_device): Likewise.
25130 * util/i386/pc/misc.c: Include grub/machine/init.h.
25131 * util/powerpc/ieee1275/misc.c: Likewise.
25132 * util/lvm.c: Include grub/util/lvm.h.
25133 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25134 grub/cache.h.
25135 * util/raid.c: Include grub/util/raid.h.
25136 (grub_util_getdiskname): Make static.
25137
25138 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25139 grub_hostfs_fini(), as they are called from grub_init_all() and
25140 grub_fini_all() respectively. This fixes an infinite loop in
25141 grub-fstest due to double registration of hostfs.
25142 Reported by Christian Franke <Christian.Franke@t-online.de>
25143
25144 2008-04-05 Pavel Roskin <proski@gnu.org>
25145
25146 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25147 all 8 functions. Otherwise, probe function 0 only.
25148
25149 2008-04-04 Pavel Roskin <proski@gnu.org>
25150
25151 * commands/lspci.c (grub_lspci_iter): Print the bus number
25152 correctly.
25153
25154 * commands/lspci.c (grub_pci_classes): Fix typos.
25155 (grub_lspci_iter): Don't print func twice. Print vendor ID
25156 before device ID, as it's normally done.
25157
25158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25159 Fix signedness warnings.
25160 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25161 Likewise.
25162 * util/ieee1275/get_disk_name.c: Include config.h so that
25163 _GNU_SOURCE is defined and getline() is declared. Mark an
25164 unused argument as such. Fix a signedness warning.
25165
25166 2008-04-02 Pavel Roskin <proski@gnu.org>
25167
25168 * genkernsyms.sh.in: Use more robust assignments for CC and
25169 srcdir. Quote srcdir.
25170 * gensymlist.sh.in: Likewise. Assert at the compile time that
25171 the symbol table is not empty.
25172
25173 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25174 * fs/cpio.c (grub_cpio_read): Likewise.
25175
25176 2008-04-01 Pavel Roskin <proski@gnu.org>
25177
25178 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25179 * disk/host.c (grub_host_open): Likewise.
25180 * disk/loopback.c (grub_loopback_open): Likewise.
25181 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25182 disk->id as in disk/host.c, not a multi-character constant.
25183
25184 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25185 later is obsolete, potentially dangerous and sets a bad example.
25186 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25187 * util/misc.c (grub_util_get_image_size): Likewise.
25188
25189 * disk/loopback.c (options): Improve help for "--partitions".
25190
25191 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25192 options to align them with the short options, e.g. "echo -e".
25193
25194 2008-03-31 Bean <bean123ch@gmail.com>
25195
25196 * video/reader/png.c (grub_png_data): New member is_16bit and
25197 image_data.
25198 (grub_png_decode_image_header): Detect 16 bit png image.
25199 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25200 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25201 (grub_video_reader_png): Release memory occupied by image_data.
25202
25203 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25204 4096 bytes.
25205 (grub_nfs_mount): Skip the test for sector per cluster.
25206
25207 * include/grub/ntfs.h (MAX_SPC): Removed.
25208
25209 2008-03-31 Bean <bean123ch@gmail.com>
25210
25211 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25212 (grub_probe_SOURCES): Add fs/afs.c.
25213 (grub_fstest_SOURCES): Likewise.
25214 (afs_mod_SOURCES): New variable.
25215 (afs_mod_CFLAGS): Likewise.
25216 (afs_mod_LDFLAGS): Likewise.
25217
25218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25219 (grub_emu_SOURCES): Likewise.
25220
25221 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25222
25223 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25224
25225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25226
25227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25228
25229 * fs/afs.c: New file.
25230
25231 2008-03-30 Pavel Roskin <proski@gnu.org>
25232
25233 * disk/host.c: Include grub/misc.h to fix a warning.
25234 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25235 warnings about implicit declarations.
25236
25237 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25238 variable.
25239 * include/grub/i386/loader.h: Change declaration of
25240 grub_linux_boot() to match what grub_loader_set() expects.
25241 * util/getroot.c (grub_guess_root_device): Return const char* to
25242 fix a warning.
25243 * util/grub-probe.c (probe): Fix a warning about uninitialized
25244 abstraction_name variable.
25245 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25246 second argument as unused to fix a warning.
25247
25248 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25249 missing grub_error() call.
25250
25251 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25252 2.60 and newer uses it to define datadir.
25253
25254 * commands/sleep.c: Fix warning about implicit declaration.
25255 * disk/memdisk.c: Likewise.
25256 * loader/aout.c: Likewise.
25257 * loader/i386/bsd_normal.c: Likewise.
25258 * util/grub-probe.c: Likewise.
25259
25260 * commands/i386/cpuid.c (has_longmode): Make static.
25261 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25262 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25263
25264 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25265 GDT. This is more robust, as %ds can change.
25266 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25267 calling real_to_prot().
25268 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25269
25270 2008-03-28 Pavel Roskin <proski@gnu.org>
25271
25272 * kern/i386/pc/startup.S: Assert that uncompressed functions
25273 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25274 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25275 code, as they push parts of the code (error handlers) beyond
25276 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25277 code as correctness and size.
25278
25279 2008-03-28 Pavel Roskin <proski@gnu.org>
25280
25281 * kern/i386/pc/startup.S
25282 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25283 data block address to the real mode, keep offset minimal. This
25284 works around a bug in AWARD BIOS on old Athlon systems, which
25285 makes CD detection hang.
25286
25287 2008-03-26 Pavel Roskin <proski@gnu.org>
25288
25289 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25290 const.
25291 * include/grub/normal.h: Add grub_parse_color_name_pair()
25292 declaration.
25293
25294 2008-03-24 Bean <bean123ch@gmail.com>
25295
25296 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25297 (cd_count): Removed.
25298 (cd_drive): New variable.
25299 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25300 (grub_biosdisk_call_hook): Likewise.
25301 (grub_biosdisk_iterate): Change cdrom detection method.
25302 (grub_biosdisk_open): Replace cd_start with cd_drive.
25303 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25304 detect cdrom device.
25305
25306 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25307 Removed.
25308 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25309 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25310 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25311 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25312 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25313 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25314 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25315 (grub_biosdisk_cdrp): New structure.
25316 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25317
25318 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25319
25320 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25321 device.
25322
25323 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25324 New function.
25325
25326 2008-03-20 Robert Millan <rmh@aybabtu.com>
25327
25328 Remove 2 TiB limit in ata.mod.
25329 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25330 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25331 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25332 grub_uint64_t instead of grub_uint32_t.
25333
25334 2008-03-05 Bean <bean123ch@gmail.com>
25335
25336 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25337 (grub_multiboot): Set boot device.
25338
25339 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25340
25341 2008-03-02 Bean <bean123ch@gmail.com>
25342
25343 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25344 symlink_buffer.
25345
25346 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25347
25348 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25349 texinfo.tex.
25350
25351 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25352 modified.
25353
25354 * docs/fdl.texi: New file.
25355
25356 * docs/mdate-sh: New file. Copied from gnulib.
25357 * docs/texinfo.tex: Likewise.
25358
25359 * config.guess: Updated from gnulib.
25360 * install-sh: Likewise.
25361
25362 2008-02-28 Robert Millan <rmh@aybabtu.com>
25363
25364 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25365 (aout_mod_SOURCES): New variable.
25366 (aout_mod_CFLAGS): Likewise.
25367 (aout_mod_LDFLAGS): Likewise.
25368
25369 * conf/i386-ieee1275.rmk: Likewise.
25370
25371 2008-02-28 Robert Millan <rmh@aybabtu.com>
25372
25373 * util/update-grub.in: Reorganise terminal validity check. Accept
25374 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25375 Based on suggestion by Franklin PIAT.
25376
25377 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25378
25379 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25380 function.
25381 * util/getroot.c (grub_util_check_block_device): New function that
25382 returns the given argument if it is a block device and returns NULL else.
25383 * util/grub-probe.c (argument_is_device): New variable.
25384 (probe): Promote device_name from a variable to an argument. Receive
25385 device_name from grub_util_check_block_device() if path is NULL and from
25386 grub_guess_root_device() else. Do not free() device_name anymore.
25387 (options): Introduce new parameter '-d, --device'.
25388 (main): Add description of the new parameter to the help screen.
25389 Rename path variable to argument. Set argument_is_device if the '-d'
25390 option is given. Pass argument to probe() depending on
25391 argument_is_device.
25392
25393 2008-02-24 Bean <bean123ch@gmail.com>
25394
25395 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25396 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25397 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25398 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25399 (GRUB_ISO9660_VOLDESC_END): Likewise.
25400 (grub_iso9660_primary_voldesc): New member escape.
25401 (grub_iso9660_data): New member joliet.
25402 (grub_iso9660_convert_string): New function.
25403 (grub_iso9660_mount): Detect joliet extension.
25404 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25405 (grub_iso9660_iso9660_label): Likewise.
25406
25407 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25408 (grub_setup_SOURCES): Add fs/udf.c.
25409 (grub_fstest_SOURCES): Likewise.
25410 (udf_mod_SOURCES): New variable.
25411 (udf_mod_CFLAGS): Likewise.
25412 (udf_mod_LDFLAGS): Likewise.
25413
25414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25415 (grub_emu_SOURCES): Likewise.
25416
25417 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25418
25419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25420
25421 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25422
25423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25424
25425 * fs/udf.c: New file.
25426
25427 2008-02-24 Robert Millan <rmh@aybabtu.com>
25428
25429 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25430 (normal/lexer.c_DEPENDENCIES): New variables.
25431 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25432 (normal/lexer.c_DEPENDENCIES): Likewise.
25433 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25434 (normal/lexer.c_DEPENDENCIES): Likewise.
25435 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25436 (normal/lexer.c_DEPENDENCIES): Likewise.
25437 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25438 (normal/lexer.c_DEPENDENCIES): Likewise.
25439 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25440 (normal/lexer.c_DEPENDENCIES): Likewise.
25441
25442 2008-02-23 Robert Millan <rmh@aybabtu.com>
25443
25444 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25445 since they were intended to be in hex. This didn't break previously
25446 because of a bug in gpt_partition_map_iterate() (see below).
25447
25448 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25449 when checking the validity of GPT header.
25450 Remove `partno', since it always provides the same information as `i'.
25451
25452 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25453
25454 * include/grub/efi/time.h: Fix a wrong comment.
25455
25456 2008-02-19 Pavel Roskin <proski@gnu.org>
25457
25458 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25459 message.
25460
25461 2008-02-19 Bean <bean123ch@gmail.com>
25462
25463 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25464 (aout_mod_SOURCES): New variable.
25465 (aout_mod_CFLAGS): Likewise.
25466 (aout_mod_LDFLAGS): Likewise.
25467 (_bsd_mod_SOURCES): New variable.
25468 (_bsd_mod_CFLAGS): Likewise.
25469 (_bsd_mod_LDFLAGS): Likewise.
25470 (bsd_mod_SOURCES): New variable.
25471 (bsd_mod_CFLAGS): Likewise.
25472 (bsd_mod_LDFLAGS): Likewise.
25473
25474 * include/grub/aout.h: New file.
25475
25476 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25477
25478 * include/grub/i386/bsd.h: New file.
25479
25480 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25481 to make it public.
25482
25483 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25484 function is called, so that it's possible to change it inside the hook.
25485 (grub_elf64_load): Likewise.
25486 (grub_elf_file): Don't close the file if elf header is not found.
25487 (grub_elf_close): Close the file if grub_elf_file fails (The new
25488 grub_elf_file won't close it).
25489 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25490 (grub_elf64_size): Likewise.
25491
25492 * kern/i386/loader.S (grub_unix_real_boot): New function.
25493
25494 * loader/aout.c: New file.
25495
25496 * loader/i386/bsd.c: New file.
25497
25498 * loader/i386/bsd_normal.c: New file.
25499
25500 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25501
25502 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25503 can test other formats.
25504
25505 2008-02-19 Robert Millan <rmh@aybabtu.com>
25506
25507 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25508 (grub_gpt_partition_type_empty): Redefine with macro from
25509 `<grub/gpt_partition.h>'.
25510 (gpt_partition_map_iterate): Adjust partition type comparison.
25511
25512 Export `entry' as partmap-specific `part.data' struct.
25513 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25514
25515 * include/grub/gpt_partition.h (grub_gpt_header)
25516 (grub_gpt_partentry): ... to here (new file).
25517
25518 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25519
25520 (grub_gpt_partition_type_bios_boot): New const variable, defined
25521 with macro from `<grub/gpt_partition.h>'.
25522
25523 (setup): Replace `first_start' with `embed_region', which keeps
25524 track of the embed region (and is partmap-agnostic).
25525
25526 Replace find_first_partition_start() with find_usable_region(),
25527 which finds a usable region for embedding using partmap-specific
25528 knowledge (supports PC/MSDOS and GPT).
25529
25530 Fix all assumptions that the embed region start at sector 1, using
25531 `embed_region.start' from now on. Similarly, use `embed_region.end'
25532 rather than `first_start' to calculate available size.
25533
25534 In grub_util_info() message, replace "into after the MBR" with an
25535 indication of the specific sector our embed region starts at.
25536
25537 2008-02-19 Robert Millan <rmh@aybabtu.com>
25538
25539 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25540 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25541 `commands/reboot.c'.
25542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25543 (halt_mod_SOURCES): Likewise.
25544 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25545 (halt_mod_SOURCES): Likewise.
25546
25547 2008-02-17 Christian Franke <franke@computer.org>
25548
25549 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25550
25551 2008-02-17 Robert Millan <rmh@aybabtu.com>
25552
25553 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25554 set `first_start' to 0 for non-PC/MSDOS partition maps.
25555
25556 2008-02-16 Robert Millan <rmh@aybabtu.com>
25557
25558 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25559 do not assume partition map is PC/MSDOS before performing checks that
25560 are specific to that layout.
25561
25562 2008-02-13 Robert Millan <rmh@aybabtu.com>
25563
25564 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25565 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25566 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25567
25568 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25569
25570 * configure.ac: Only a cosmetic change on the handling of
25571 -fno-stack-protector.
25572
25573 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25574
25575 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25576 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25577 reboot.c.
25578 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25579 (halt_mod_SOURCES): New variable.
25580 (halt_mod_CFLAGS): Likewise.
25581 (halt_mod_LDFLAGS): Likewise.
25582 (reboot_mod_SOURCES): Likewise.
25583 (reboot_mod_CFLAGS): Likewise.
25584 (reboot_mod_LDFLAGS): Likewise.
25585
25586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25587 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25588 reboot.c.
25589 (halt_mod_SOURCES): Likewise.
25590 (reboot_mod_SOURCES): Likewise.
25591
25592 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25593 commands/i386/pc/reboot.c by commands/reboot.c.
25594 (reboot_mod_SOURCES): Likewise.
25595
25596 * commands/i386/pc/reboot.c: merge this file ...
25597
25598 * commands/ieee1275/reboot.c: ... and this file ...
25599
25600 * commands/reboot.c: ... to this file.
25601 Add some precompiler directive to include the correct header for
25602 each machine.
25603
25604 * commands/ieee1275/halt.c: move this file ...
25605
25606 * commands/halt.c: ... to here.
25607 Add some precompiler directive to include the correct header for
25608 each machine.
25609
25610 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25611 (grub_halt): Likewise.
25612
25613 * kern/efi/efi.c (grub_reboot): New function.
25614 (grub_halt): Likewise.
25615
25616 2008-02-12 Robert Millan <rmh@aybabtu.com>
25617
25618 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25619 /dev (like it is done for /dev/mapper). This doesn't provide support
25620 for EVMS, but at least it is now easy to identify the problem when it
25621 arises.
25622
25623 2008-02-11 Robert Millan <rmh@aybabtu.com>
25624
25625 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25626 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25627 comparing it with -1, not 0.
25628
25629 2008-02-10 Robert Millan <rmh@aybabtu.com>
25630
25631 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25632 `disk/lvm.c'.
25633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25634 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25635
25636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25637 `disk/lvm.c' to the end of the list.
25638 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25640
25641 2008-02-10 Robert Millan <rmh@aybabtu.com>
25642
25643 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25644 grub_print_error() instead. This will let user know why we're entering
25645 rescue mode.
25646 Based on suggestions from Sam Morris.
25647
25648 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25649
25650 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25651 on remaining N args, instead of "--" arg N times.
25652
25653 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25654
25655 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25656 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25657 pattern for unknown glyphs.
25658
25659 2008-02-09 Robert Millan <rmh@aybabtu.com>
25660
25661 * configure.ac: Probe for `help2man'.
25662 * Makefile.in (builddir): New variable.
25663 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25664 or otherwise add a few flags/options to it.
25665 (install-local): For every executable utility or script that is
25666 installed, invoke $(HELP2MAN) to install a manpage based on --help
25667 output.
25668
25669 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25670 that it doesn't prevent --help from working in build tree.
25671
25672 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25673 with `bug-grub@gnu.org'.
25674 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25675 * util/update-grub.in (usage): New function.
25676 Implement proper argument check, with support for --help and --version
25677 (as well as existing -y).
25678
25679 2008-02-09 Christian Franke <franke@computer.org>
25680
25681 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25682 avoid overwriting previous output.
25683 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25684
25685 2008-02-09 Robert Millan <rmh@aybabtu.com>
25686
25687 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25688 drawing the menu.
25689
25690 2008-02-09 Robert Millan <rmh@aybabtu.com>
25691
25692 * commands/sleep.c: New file.
25693 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25694 (sleep_mod_SOURCES): New variable.
25695 (sleep_mod_CFLAGS): Likewise.
25696 (sleep_mod_LDFLAGS): Likewise.
25697
25698 2008-02-09 Robert Millan <rmh@aybabtu.com>
25699
25700 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25701 situations in which we can deduce the RAID size and the superblock
25702 doesn't match it.
25703
25704 2008-02-09 Robert Millan <rmh@aybabtu.com>
25705
25706 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25707 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25708 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25709
25710 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25711 and return a grub_diskmemberlist_t composed of physical array members.
25712 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25713
25714 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25715 prototype.
25716 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25717 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25718 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25719
25720 * util/grub-probe.c (probe): Move partmap probing code from here ...
25721 (probe_partmap): ... to here.
25722 (probe): Use probe_partmap() once for the disk we're probing, and
25723 additionally, when such disk contains a memberlist() struct member,
25724 once for each disk that is contained in the structure returned by
25725 memberlist().
25726
25727 2008-02-09 Robert Millan <rmh@aybabtu.com>
25728
25729 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25730 environment variable to 'all' in order to obtain debug output from
25731 non-util/ code.
25732 * util/i386/pc/grub-setup.c (main): Likewise.
25733
25734 2008-02-08 Robert Millan <rmh@aybabtu.com>
25735
25736 * disk/raid.c (grub_raid_scan_device): Check for
25737 `array->device[sb.this_disk.number]' rather than for
25738 `array->device[sb.this_disk.number]->name', since the latter is not
25739 guaranteed to be accessible.
25740
25741 2008-02-08 Robert Millan <rmh@aybabtu.com>
25742
25743 * disk/raid.c: Update copyright.
25744 * fs/cpio.c: Likewise.
25745 * include/grub/raid.h: Likewise.
25746 * loader/i386/pc/multiboot.c: Likewise.
25747 * util/hostfs.c: Likewise.
25748
25749 2008-02-08 Robert Millan <rmh@aybabtu.com>
25750
25751 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25752 to a grub_disk_t array.
25753 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25754 `device[x]'.
25755 (grub_raid_scan_device): Replace `device[x].name' accesses with
25756 `device[x]->name'. Simplify initialization of `array->device[x]'.
25757
25758 2008-02-08 Robert Millan <rmh@aybabtu.com>
25759
25760 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25761 grub_dprintf() calls.
25762 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25763 error message.
25764
25765 2008-02-07 Christian Franke <franke@computer.org>
25766
25767 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25768 instead of fseek and ftell to support large files.
25769 (grub_hostfs_read): Likewise.
25770
25771 2008-02-07 Robert Millan <rmh@aybabtu.com>
25772
25773 Patch from Jeroen Dekkers.
25774 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25775 failure, since successfully reading all array members might not be
25776 required.
25777
25778 2008-02-06 Robert Millan <rmh@aybabtu.com>
25779
25780 * util/grub-probe.c (probe): Simplify partmap probing (with the
25781 assumption that the first word up to the underscore equals to
25782 the module name).
25783
25784 2008-02-06 Christian Franke <franke@computer.org>
25785
25786 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25787 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25788 last block of a cpio or tar stream.
25789 Check for "TRAILER!!!" instead of any empty data
25790 block to detect last block of a cpio stream.
25791 (grub_cpio_dir): Fix constness of variable np.
25792 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25793 cpio or tar trailer is detected. This fixes a crash
25794 on open of a non existing file.
25795
25796 2008-02-05 Bean <bean123ch@gmail.com>
25797
25798 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25799 address of entry.
25800 (grub_multiboot_load_elf64): Likewise.
25801 (grub_multiboot): Initialize mbi structure.
25802
25803 * util/grub-fstest.c: Don't include unused header file script.h.
25804
25805 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25806 of file.
25807 (grub_fstest_SOURCES): Likewise.
25808
25809 2008-02-05 Robert Millan <rmh@aybabtu.com>
25810
25811 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25812 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25813 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25814 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25815
25816 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25817 (translation_table): Replace hardcoded values with macros
25818 provided by `<grub/term.h>'.
25819
25820 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25821 (keyboard_map): Correct/add a few values, with macros provided
25822 by `<grub/term.h>'.
25823 (keyboard_map_shift): Zero values that don't differ from their
25824 `keyboard_map' equivalents.
25825 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25826 Discard the second scan code that is always sent by Caps lock.
25827 Only use `keyboard_map_shift' when it provides a non-zero value,
25828 otherwise fallback to `keyboard_map'.
25829
25830 2008-02-04 Bean <bean123ch@gmail.com>
25831
25832 * Makefile.in (enable_grub_fstest): New variable.
25833
25834 * conf/common.rmk (grub_fstest_init.lst): New rule.
25835 (grub_fstest_init.h): Likewise.
25836 (grub_fstest_init.c): Likewise.
25837 (util/grub-fstest.c_DEPENDENCIES): New variable.
25838 (grub_fstest_SOURCES): Likewise.
25839
25840 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25841
25842 * util/grub-fstest.c: New file.
25843
25844 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25845
25846 Make grub-setup handle a separate root device.
25847
25848 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25849 so that the root device can be compared with the destination
25850 device.
25851 When embedding the core image, if the root and destination devices
25852 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25853 0xFF.
25854 When not embedding, set ROOT_DRIVE to 0xFF.
25855
25856 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25857
25858 Add support for having a grub directory in a different drive. This
25859 is still only the data handling part.
25860
25861 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25862 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25863 (grub_root_drive): New variable.
25864
25865 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25866 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25867 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25868 as it was.
25869
25870 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25871
25872 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25873 macro.
25874 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25875
25876 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25877 is bogus, because PXE booting does not specify any drive
25878 correctly.
25879
25880 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25881 am not sure if this is really correct.
25882
25883 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25884 is always identical to the boot drive when booting from a CD.
25885
25886 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25887 longer.
25888 (root_drive): New variable.
25889 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25890 (setup_sectors): Push %dx right after popping it, because %dh will
25891 be modified later.
25892 (copy_buffer): Restore %dx.
25893
25894 2008-02-03 Robert Millan <rmh@aybabtu.com>
25895
25896 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25897 use `cdboot.img' for cdrom images.
25898
25899 2008-02-03 Robert Millan <rmh@aybabtu.com>
25900
25901 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25902 only setup gfxterm when `font' command has succeeded.
25903
25904 2008-02-03 Robert Millan <rmh@aybabtu.com>
25905
25906 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25907 (grub_rescue_cmd_multiboot_loader)
25908 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25909
25910 2008-02-03 Pavel Roskin <proski@gnu.org>
25911
25912 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25913 %edx and %esi from stack only after grub_gate_a20() is called.
25914 grub_gate_a20() clobbers %edx.
25915
25916 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25917
25918 * configure.ac (AC_INIT): Bumped to 1.96.
25919
25920 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25921 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25922 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25923 video/readers/png.c.
25924
25925 2008-02-03 Bean <bean123ch@gmail.com>
25926
25927 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25928 (cdboot_img_SOURCES): New variable.
25929 (cdboot_img_ASFLAGS): New variable.
25930 (cdboot_img_LDFLAGS): New variable.
25931
25932 * boot/i386/pc/cdboot.S: New file.
25933
25934 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25935 (cd_count): Likewise.
25936 (grub_biosdisk_get_drive): Add support for cd device.
25937 (grub_biosdisk_call_hook): Likewise.
25938 (grub_biosdisk_iterate): Likewise.
25939 (grub_biosdisk_open): Likewise.
25940 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25941 (grub_biosdisk_rw): Support reading from cd device.
25942 (GRUB_MOD_INIT): Iterate cd devices.
25943
25944 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25945 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25946 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25947
25948 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25949
25950 2008-02-02 Robert Millan <rmh@aybabtu.com>
25951
25952 * commands/read.c: New file.
25953 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25954 (read_mod_SOURCES): New variable.
25955 (read_mod_CFLAGS): Likewise.
25956 (read_mod_LDFLAGS): Likewise.
25957
25958 2008-02-02 Robert Millan <rmh@aybabtu.com>
25959
25960 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25961 determining whether menu has to be displayed.
25962
25963 2008-02-02 Marco Gerards <marco@gnu.org>
25964
25965 * bus/pci.c: New file.
25966
25967 * include/grub/pci.h: Likewise.
25968
25969 * include/grub/i386/pc/pci.h: Likewise.
25970
25971 * commands/lspci.c: Likewise.
25972
25973 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25974 `lspci.mod'.
25975 (pci_mod_SOURCES): New variable.
25976 (pci_mod_CFLAGS): Likewise.
25977 (pci_mod_LDFLAGS): Likewise.
25978 (lspci_mod_SOURCES): Likewise.
25979 (lspci_mod_CFLAGS): Likewise.
25980 (lspci_mod_LDFLAGS): Likewise.
25981
25982 2008-02-02 Bean <bean123ch@gmail.com>
25983
25984 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25985 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25986
25987 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25988 (grub_xfs_btree_node): New structure.
25989 (grub_xfs_btree_root): New structure.
25990 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25991 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25992 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25993 (GRUB_XFS_EXTENT_SIZE): Likewise.
25994 (grub_xfs_read_block): Support btree format type.
25995 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25996 Use directory block as basic unit.
25997
25998 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25999
26000 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26001 __attribute__ ((__regparm__ (1))).
26002
26003 2008-02-01 Robert Millan <rmh@aybabtu.com>
26004
26005 Correct a mistake in previous commit.
26006
26007 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26008 top.
26009 (normal/command.c_DEPENDENCIES): New variable.
26010
26011 2008-02-01 Robert Millan <rmh@aybabtu.com>
26012
26013 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26014 top.
26015 (normal/command.c_DEPENDENCIES): New variable.
26016 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26017 * conf/i386-ieee1275.rmk: Likewise.
26018 * conf/i386-linuxbios.rmk: Likewise.
26019 * conf/i386-pc.rmk: Likewise.
26020 * conf/sparc64-ieee1275.rmk: Likewise.
26021 * conf/powerpc-ieee1275.rmk: Likewise.
26022 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26023
26024 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26025
26026 2008-02-01 Robert Millan <rmh@aybabtu.com>
26027
26028 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26029 call at beginning of function.
26030
26031 2008-01-31 Pavel Roskin <proski@gnu.org>
26032
26033 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
26034 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26035 (grub_mkrescue_SOURCES): Likewise.
26036 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26037
26038 2008-01-30 Robert Millan <rmh@aybabtu.com>
26039
26040 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26041 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26042 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26043 (grub_probe_SOURCES): ... to here.
26044
26045 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26046 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26047 * conf/i386-ieee1275.rmk: Likewise.
26048 * conf/i386-linuxbios.rmk: Likewise.
26049 * conf/powerpc-ieee1275.rmk: Likewise.
26050
26051 2008-01-30 Tristan Gingold <gingold@free.fr>
26052
26053 * kern/rescue.c: Silently accept empty lines.
26054
26055 2008-01-29 Bean <bean123ch@gmail.com>
26056
26057 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26058 (real_code_2): Code cleanup and change comment style.
26059 (move_memory): Avoid using 32-bit address mode.
26060
26061 2008-01-29 Bean <bean123ch@gmail.com>
26062
26063 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26064 (png_mod_SOURCES): New variable.
26065 (png_mod_CFLAGS): Likewise.
26066 (png_mod_LDFLAGS): Likewise.
26067
26068 * video/readers/png.c: New file.
26069
26070 2008-01-28 Robert Millan <rmh@aybabtu.com>
26071
26072 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26073 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26074 `ifndef GRUB_MOD_GAP' hack.
26075 * util/elf/grub-mkimage.c (add_segments): Likewise.
26076
26077 2008-01-27 Robert Millan <rmh@aybabtu.com>
26078
26079 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26080 `GRUB_MOD_GAP' for platforms in which it's not defined.
26081 * util/elf/grub-mkimage.c (add_segments): Likewise.
26082
26083 2008-01-27 Robert Millan <rmh@aybabtu.com>
26084
26085 Get grub-emu to build again (including parallel builds).
26086
26087 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26088 Split into ...
26089 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26090 (normal/execute.c_DEPENDENCIES): ... this, ...
26091 (grub-emu_DEPENDENCIES): ... and this.
26092
26093 * conf/i386-efi.rmk: Likewise.
26094 * conf/i386-linuxbios.rmk: Likewise.
26095 * conf/i386-ieee1275.rmk: Likewise.
26096 * conf/powerpc-ieee1275.rmk: Likewise.
26097 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26098
26099 2008-01-27 Robert Millan <rmh@aybabtu.com>
26100
26101 * NEWS: Add a few items.
26102
26103 2008-01-27 Robert Millan <rmh@aybabtu.com>
26104
26105 Fix parallel builds with grub-emu. Based on earlier commit for
26106 grub-probe and grub-setup.
26107
26108 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26109 (util/grub-emu.c_DEPENDENCIES): ... this.
26110 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26111 (util/grub-emu.c_DEPENDENCIES): ... this.
26112 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26113 (util/grub-emu.c_DEPENDENCIES): ... this.
26114 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26115 (util/grub-emu.c_DEPENDENCIES): ... this.
26116 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26117 (util/grub-emu.c_DEPENDENCIES): ... this.
26118
26119 2008-01-27 Pavel Roskin <proski@gnu.org>
26120
26121 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26122 to create a gap between _end and the modules added to the image
26123 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26124 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26125 * util/elf/grub-mkimage.c (add_segments): Likewise.
26126
26127 2008-01-26 Pavel Roskin <proski@gnu.org>
26128
26129 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26130 just return an error.
26131
26132 2008-01-26 Bean <bean123ch@gmail.com>
26133
26134 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26135 (grub_reiserfs_get_item): Save offset of the next item.
26136 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26137
26138 2008-01-25 Robert Millan <rmh@aybabtu.com>
26139
26140 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26141 make all filesystem sources appear together (possibly fixing omissions
26142 while at it).
26143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26145 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26147
26148 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26149 add `kern/file.c'.
26150 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26151 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26152 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26153 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26154
26155 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26156 (probe): Add a sanity check to make sure of our ability to read
26157 requested files when probing for filesystem type.
26158
26159 * genmk.rb: Update copyright year (2007).
26160
26161 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26162 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26163 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26164 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26165 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26166 : Remove function prototypes.
26167
26168 2008-01-25 Robert Millan <rmh@aybabtu.com>
26169
26170 Revert my previous commits (based on wrong assumption of how grub_errno
26171 works).
26172
26173 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
26174 * kern/file.c (grub_file_open): Likewise.
26175
26176 2008-01-24 Pavel Roskin <proski@gnu.org>
26177
26178 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26179 that hang if GRUB tries to setup colors.
26180 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26181 colors for firmwares that don't support it.
26182 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26183 Recognize Open Hack'Ware, set flags to work around its
26184 limitations.
26185
26186 2008-01-24 Robert Millan <rmh@aybabtu.com>
26187
26188 * kern/file.c (grub_file_open): Do not account previous failures of
26189 unrelated functions when grub_errno is checked for.
26190 Reported by Oleg Strikov.
26191
26192 2008-01-24 Bean <bean123ch@gmail.com>
26193
26194 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26195 (grub_ufs_sblock): New member volume name.
26196 (grub_ufs_find_file): Fix string copy bug.
26197 (grub_ufs_label): Implement this function properly.
26198
26199 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26200 (grub_hfs_iterate_records): Use the correct file number for extents
26201 and catalog file. Fix problem in next index calculation.
26202 (grub_hfs_find_node): Replace recursive function call with loop.
26203 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26204
26205 2008-01-23 Robert Millan <rmh@aybabtu.com>
26206
26207 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26208 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26209 (grub_multiboot2_real_boot): New function prototype.
26210
26211 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26212 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26213
26214 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26215 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26216
26217 2008-01-23 Robert Millan <rmh@aybabtu.com>
26218
26219 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26220 #ifdef'ed out grub_printf().
26221
26222 2008-01-23 Robert Millan <rmh@aybabtu.com>
26223
26224 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26225 grub_dprintf calls, since they make "debug=all" mode unusable.
26226 (grub_console_checkkey): Likewise.
26227
26228 2008-01-23 Robert Millan <rmh@aybabtu.com>
26229
26230 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26231 `term/i386/pc/at_keyboard.c'.
26232 (pkglib_MODULES): Add `serial.mod'.
26233 (serial_mod_SOURCES): New variable.
26234 (serial_mod_CFLAGS): Likewise.
26235 (serial_mod_LDFLAGS): Likewise.
26236
26237 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26238 `<grub/powerpc/ieee1275/console.h>'.
26239 (grub_keyboard_controller_init): New function prototype.
26240 (grub_console_checkkey): Likewise.
26241 (grub_console_getkey): Likewise.
26242
26243 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26244 keyboard on i386.
26245
26246 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26247 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26248
26249 2008-01-23 Robert Millan <rmh@aybabtu.com>
26250
26251 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26252 present, "(memdisk)/boot/grub" becomes the default prefix.
26253
26254 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26255 a memdisk tarball with all the modules. Add --overlay=DIR option that
26256 allows users to overlay additional files into the image.
26257
26258 2008-01-23 Robert Millan <rmh@aybabtu.com>
26259
26260 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26261 and `machine/memory.h'.
26262 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26263 (_multiboot_mod_SOURCES): New variable.
26264 (_multiboot_mod_CFLAGS): Likewise.
26265 (_multiboot_mod_LDFLAGS): Likewise.
26266 (multiboot_mod_SOURCES): Likewise.
26267 (multiboot_mod_CFLAGS): Likewise.
26268 (multiboot_mod_LDFLAGS): Likewise.
26269
26270 * include/grub/i386/ieee1275/loader.h: New file.
26271
26272 * include/grub/i386/ieee1275/machine.h: Likewise.
26273
26274 * include/grub/i386/ieee1275/memory.h: Likewise.
26275
26276 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26277 variable declaration.
26278 (grub_os_area_size): Likewise.
26279
26280 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26281 (grub_lower_mem, grub_upper_mem): New variables.
26282 (grub_stop_floppy): New function (just to make
26283 grub_multiboot2_real_boot() happy).
26284
26285 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26286 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26287 (grub_stop): New function.
26288 Include `"../realmode.S"' and `"../loader.S"'.
26289
26290 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26291 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26292
26293 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26294 rely on grub_multiboot2_real_boot() for final boot.
26295
26296 2008-01-22 Robert Millan <rmh@aybabtu.com>
26297
26298 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26299 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26300 device that doesn't look like an SD card.
26301 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26302 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26303 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26304 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26305 found.
26306
26307 2008-01-22 Robert Millan <rmh@aybabtu.com>
26308
26309 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26310 avoid claiming over our own code.
26311
26312 2008-01-22 Bean <bean123ch@gmail.com>
26313
26314 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26315 (jpeg_mod_SOURCES): New variable.
26316 (jpeg_mod_CFLAGS): Likewise.
26317 (jpeg_mod_LDFLAGS): Likewise.
26318
26319 * video/readers/jpeg.c : New file.
26320
26321 2008-01-22 Bean <bean123ch@gmail.com>
26322
26323 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26324 there are no more items.
26325
26326 2008-01-21 Robert Millan <rmh@aybabtu.com>
26327
26328 * kern/mm.c (grub_mm_init_region): Improve debug message.
26329
26330 2008-01-21 Robert Millan <rmh@aybabtu.com>
26331
26332 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26333 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26334 address.
26335 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26336 a C macro.
26337 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26338 Indicates start of upper memory.
26339 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26340 (generate_image): Abort when image size is big enough to corrupt
26341 upper memory.
26342
26343 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26344 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26345 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26346 instead of hardcoding 0xA0000.
26347 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26348 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26349 instead of hardcoding 0xA0000.
26350
26351 2008-01-21 Robert Millan <rmh@aybabtu.com>
26352
26353 * disk/memdisk.c (memdisk_size): New variable.
26354 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26355 `memdisk_size'.
26356 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26357 image to dynamic memory.
26358 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26359 `memdisk_size'. Free memdisk block.
26360
26361 2008-01-21 Robert Millan <rmh@aybabtu.com>
26362
26363 Fix detection of very small filesystems (like tar).
26364
26365 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26366 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26367 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26368 a problem with this disk).
26369
26370 2008-01-21 Robert Millan <rmh@aybabtu.com>
26371
26372 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26373 on grub_biosdisk_rw_standard() error.
26374
26375 2008-01-21 Robert Millan <rmh@aybabtu.com>
26376
26377 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26378 recent changes.
26379 * kern/elf.c: Likewise.
26380 * kern/ieee1275/ieee1275.c: Likewise.
26381 * kern/powerpc/ieee1275/openfw.c: Likewise.
26382 * term/ieee1275/ofconsole.c: Likewise.
26383
26384 2008-01-21 Robert Millan <rmh@aybabtu.com>
26385
26386 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26387
26388 * include/grub/kernel.h (grub_arch_memdisk_addr)
26389 (grub_arch_memdisk_size): Moved from here ...
26390
26391 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26392 (grub_arch_memdisk_size): ... to here.
26393
26394 2008-01-21 Robert Millan <rmh@aybabtu.com>
26395
26396 Mostly based on bugfix from Bean.
26397
26398 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26399 attribute with hook() parameter.
26400 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26401 declaration.
26402 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26403 attribute with hook() parameter.
26404 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26405 declaration.
26406
26407 2008-01-21 Robert Millan <rmh@aybabtu.com>
26408
26409 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26410 (pkglib_MODULES): Add `memdisk.mod'.
26411 (memdisk_mod_SOURCES): New variable.
26412 (memdisk_mod_CFLAGS): Likewise.
26413 (memdisk_mod_LDFLAGS): Likewise.
26414
26415 * disk/memdisk.c: New file.
26416
26417 * include/grub/disk.h (grub_disk_dev_id): Add
26418 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26419
26420 * include/grub/i386/pc/kernel.h
26421 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26422 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26423 (grub_kernel_image_size): New variable declaration.
26424 (grub_total_module_size): Likewise.
26425 (grub_memdisk_image_size): Likewise.
26426
26427 * include/grub/i386/pc/memory.h
26428 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26429
26430 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26431 (grub_arch_memdisk_addr): New variable declaration.
26432 (grub_arch_memdisk_size): Likewise.
26433
26434 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26435 (grub_arch_memdisk_size): Likewise.
26436
26437 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26438 (codestart): Replace hardcoded `0x100000' with
26439 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26440
26441 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26442 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26443 not NULL, append the contents of the file it refers to, at the end of
26444 the compressed kernel image. Initialize `grub_memdisk_image_size'
26445 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26446 (options): Add "memdisk"|'m' option.
26447 (main): Parse --memdisk|-m option, and pass user-provided path as
26448 parameter to generate_image().
26449
26450 2008-01-20 Robert Millan <rmh@aybabtu.com>
26451
26452 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26453 grub_dprintf() calls from here ...
26454 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26455
26456 2008-01-20 Robert Millan <rmh@aybabtu.com>
26457
26458 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26459
26460 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26461 declaration.
26462 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26463 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26464 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26465 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26466 property).
26467 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26468 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26469
26470 2008-01-19 Robert Millan <rmh@aybabtu.com>
26471
26472 Get rid of confusing function (superseded by
26473 `grub_ieee1275_get_integer_property')
26474 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26475 prototype.
26476 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26477 function.
26478 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26479 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26480 in native endianness from grub_ieee1275_get_integer_property().
26481
26482 2008-01-19 Robert Millan <rmh@aybabtu.com>
26483
26484 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26485 command after "shut-down", since implementations differ on which
26486 the command for halt is.
26487
26488 2008-01-19 Robert Millan <rmh@aybabtu.com>
26489
26490 * include/grub/i386/linuxbios/console.h: Add header protection.
26491 (grub_keyboard_controller_init): New function prototype.
26492 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26493 (KEYBOARD_COMMAND_READ): Likewise.
26494 (KEYBOARD_COMMAND_WRITE): Likewise.
26495 (KEYBOARD_SCANCODE_SET1): Likewise.
26496 (grub_keyboard_controller_write): New function.
26497 (grub_keyboard_controller_read): Likewise.
26498 (grub_keyboard_controller_init): Likewise.
26499
26500 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26501 (grub_console_init): On coreboot/LinuxBIOS, call
26502 grub_keyboard_controller_init().
26503
26504 2008-01-19 Robert Millan <rmh@aybabtu.com>
26505
26506 PowerPC changes provided by Pavel Roskin.
26507
26508 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26509 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26510 don't rely on cmain() doing it.
26511 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26512 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26513
26514 2008-01-16 Robert Millan <rmh@aybabtu.com>
26515
26516 * include/grub/i386/linuxbios/memory.h
26517 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26518 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26519 receive `table_header' as argument. Instead, probe for it in the
26520 known memory ranges where it can be present.
26521 (grub_available_iterate): Do not pass a fixed `table_header' address
26522 to grub_linuxbios_table_iterate().
26523
26524 2008-01-15 Robert Millan <rmh@aybabtu.com>
26525
26526 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26527 * conf/i386-ieee1275.rmk: New file.
26528 * include/grub/i386/ieee1275/console.h: Likewise.
26529 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26530 * include/grub/i386/ieee1275/kernel.h: Likewise.
26531 * include/grub/i386/ieee1275/time.h: Likewise.
26532 * kern/i386/ieee1275/init.c: Likewise.
26533 * kern/i386/ieee1275/startup.S: Likewise.
26534
26535 2008-01-15 Robert Millan <rmh@aybabtu.com>
26536
26537 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26538 when pointers are 32-bit (but still do set it to one when they are
26539 64-bit).
26540
26541 2008-01-15 Robert Millan <rmh@aybabtu.com>
26542
26543 * include/grub/ieee1275/ieee1275.h
26544 (grub_ieee1275_get_integer_property): New function prototype.
26545
26546 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26547 (grub_ieee1275_get_integer_property): New function. Wraps around
26548 grub_ieee1275_get_property() to handle endianness.
26549
26550 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26551 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26552 where appropriate.
26553 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26554 (grub_map): Likewise.
26555 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26556
26557 2008-01-15 Bean <bean123ch@gmail.com>
26558
26559 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26560 (grub_script_execute_cmdline): Reset grub_errno.
26561
26562 * normal/main.c (read_config_file): Reset grub_errno.
26563
26564 * normal/parse.y (script_init): New.
26565 (script): Move function and menuentry here.
26566 (delimiter): New.
26567 (command): Add delimiter at the end of command.
26568 (commands): Adjust to match the new command.
26569 (commandblock): Remove grub_script_lexer_record_start.
26570 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26571 (if): Use the new commands.
26572
26573 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26574
26575 2008-01-15 Robert Millan <rmh@aybabtu.com>
26576
26577 * normal/menu.c (run_menu): Move timeout message from here ...
26578 (print_timeout): ... to here.
26579 (run_menu): Use print_timeout() once during initial draw to print
26580 the whole message, and again in every clock tick to update only
26581 the number of seconds.
26582
26583 2008-01-15 Robert Millan <rmh@aybabtu.com>
26584
26585 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26586 actual size of `available' from grub_ieee1275_get_property(), and
26587 restrict parsing to that bound.
26588
26589 2008-01-15 Christian Franke <franke@computer.org>
26590
26591 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26592 (argp_program_version): Remove variable.
26593 (argp_program_bug_address): Likewise.
26594 (options): Convert from struct argp_option to struct option.
26595 (struct arguments): Remove.
26596 (parse_opt): Remove.
26597 (usage): New function.
26598 (main): Replace struct args members by simple variables.
26599 Replace argp_parse() by getopt_long().
26600 Add switch to evaluate options.
26601 Add missing "(...)" around root_dev in prefix string.
26602
26603 2008-01-14 Robert Millan <rmh@aybabtu.com>
26604
26605 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26606 for grub_ieee1275_exit(), in order to improve portability.
26607
26608 2008-01-14 Robert Millan <rmh@aybabtu.com>
26609
26610 * util/grub.d/10_linux.in (prefix): Define.
26611 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26612
26613 2008-01-13 Pavel Roskin <proski@gnu.org>
26614
26615 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26616 grub_errno if no errors have been detected.
26617
26618 2008-01-12 Robert Millan <rmh@aybabtu.com>
26619
26620 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26621 (grub_util_get_dev_abstraction): New function prototype.
26622
26623 * util/getroot.c: Include `<grub/util/getroot.h>'
26624 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26625 (grub_util_get_dev_abstraction): ... here (new function).
26626
26627 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26628 `PRINT_ABSTRACTION'.
26629 (probe): Probe for abstraction type when requested.
26630 (main): Understand `--target=abstraction'.
26631
26632 * util/i386/efi/grub-install.in: Add abstraction module to core
26633 image when it is found to be necessary.
26634 * util/i386/pc/grub-install.in: Likewise.
26635 * util/powerpc/ieee1275/grub-install.in: Likewise.
26636
26637 * util/update-grub_lib.in (font_path): Return system path without
26638 converting to GRUB path.
26639 * util/update-grub.in: Convert system path returned by font_path()
26640 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26641 abstraction module is needed for loading fonts (if any). Export
26642 that as `GRUB_PRELOAD_MODULES'.
26643 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26644 insmod commands).
26645
26646 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26647
26648 Remove some unused code from reiserfs.
26649
26650 * fs/reiserfs.c (struct grub_reiserfs_key)
26651 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26652 (struct grub_reiserfs_node_body): Removed.
26653 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26654 Likewise.
26655 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26656 Likewise.
26657 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26658 Likewise.
26659 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26660 Likewise.
26661 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26662 Likewise.
26663 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26664 Likewise.
26665 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26666 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26667 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26668
26669 2008-01-10 Robert Millan <rmh@aybabtu.com>
26670
26671 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26672 Determines if a file is garbage left by packaging systems, etc.
26673 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26674 for processing /etc/grub.d scripts.
26675 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26676 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26677 as a condition for processing Linux images.
26678
26679 2008-01-10 Pavel Roskin <proski@gnu.org>
26680
26681 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26682 to compile reiserfs.c on PowerPC.
26683
26684 2008-01-10 Robert Millan <rmh@aybabtu.com>
26685
26686 * kern/device.c (grub_device_iterate): Do not abort device iteration
26687 when one of the devices cannot be opened.
26688 * kern/disk.c (grub_disk_open): Do not account previous failures of
26689 unrelated functions when grub_errno is checked for.
26690
26691 2008-01-08 Robert Millan <rmh@aybabtu.com>
26692
26693 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26694 `! grub_linux_is_bzimage', change order of address comparison to make
26695 it more intuitive, and improve "too big zImage" error message.
26696
26697 2008-01-08 Robert Millan <rmh@aybabtu.com>
26698
26699 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26700 `$(update-grub_DATA)'.
26701 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26702 targets.
26703
26704 2008-01-07 Robert Millan <rmh@aybabtu.com>
26705
26706 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26707 which instruction is modified by grub-setup during installation
26708 (since it wasn't obvious by only looking at this file).
26709
26710 2008-01-07 Robert Millan <rmh@aybabtu.com>
26711
26712 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26713 listing actual TODO items.
26714
26715 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26716
26717 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26718 correctly.
26719 (grub_reiserfs_get_key_offset): Likewise.
26720 (grub_reiserfs_set_key_offset): Likewise.
26721 (grub_reiserfs_set_key_type): Likewise.
26722 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26723
26724 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26725 better to remove the bitfield version completely.
26726
26727 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26728
26729 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26730 allocated from the heap, due to the fshelp implementation.
26731 (grub_reiserfs_dir): Free NODE, due to the same reason.
26732
26733 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26734
26735 Mostly from Vincent Pelletier:
26736
26737 * fs/reiserfs.c: New file.
26738
26739 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26740 (reiserfs_mod_SOURCES): New variable.
26741 (reiserfs_mod_CFLAGS): Likewise.
26742 (reiserfs_mod_LDFLAGS): Likewise.
26743
26744 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26745 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26746 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26747 normal/color.c.
26748
26749 2008-01-06 Robert Millan <rmh@aybabtu.com>
26750
26751 * normal/color.c: Remove `<grub/env.h>'.
26752
26753 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26754
26755 * include/grub/normal.h: Include <grub/env.h>.
26756
26757 2008-01-05 Robert Millan <rmh@aybabtu.com>
26758
26759 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26760 usage example with `(hd0,1)'.
26761 Reported by Samuel Thibault.
26762
26763 2008-01-05 Robert Millan <rmh@aybabtu.com>
26764
26765 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26766 (grub_linux_boot_zimage): Rename to ...
26767 (grub_linux_boot): ... this.
26768 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26769 (grub_linux_boot_zimage): Conditionalize zImage copy.
26770
26771 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26772 (grub_linux_boot_bzimage): Remove prototype.
26773 (grub_linux_boot_zimage): Rename to ...
26774 (grub_linux_boot): ... this.
26775
26776 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26777 (grub_linux_boot): Remove function.
26778
26779 2008-01-05 Robert Millan <rmh@aybabtu.com>
26780
26781 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26782 (grub_env_write_color_highlight): Likewise.
26783 (grub_wait_after_message): Likewise.
26784
26785 * normal/color.c: New file.
26786
26787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26788 (normal_mod_DEPENDENCIES): Likewise.
26789
26790 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26791 (normal_mod_DEPENDENCIES): Likewise.
26792
26793 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26794 (normal_mod_DEPENDENCIES): Likewise.
26795
26796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26797 (normal_mod_DEPENDENCIES): Likewise.
26798
26799 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26800 for waiting after a message is printed.
26801 * normal/main.c (read_config_file): Likewise.
26802 (grub_normal_init): Register grub_env_write_color_normal() and
26803 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26804 `color_highlight' variables as global.
26805
26806 * normal/menu.c (grub_wait_after_message): New function.
26807 (grub_color_menu_normal): New variable. Replaces ...
26808 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26809 (grub_color_menu_highlight): New variable. Replaces ...
26810 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26811 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26812 `GRUB_TERM_COLOR_STANDARD'.
26813 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26814 `normal_code' and `highlight_code' to `old_color_normal' and
26815 `old_color_highlight', respectively.
26816 (grub_menu_init_page): Update colors when drawing the menu, based on
26817 `menu_color_normal' and `menu_color_highlight' variables.
26818 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26819 a message is printed.
26820
26821 2008-01-05 Robert Millan <rmh@aybabtu.com>
26822
26823 * kern/env.c (grub_env_context_open): Propagate hooks for global
26824 variables to new context.
26825
26826 * kern/main.c (grub_set_root_dev): Export `root' variable.
26827
26828 2008-01-05 Robert Millan <rmh@aybabtu.com>
26829
26830 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26831 discs unconditionally, since udev and others have options to provide
26832 them.
26833
26834 2008-01-05 Robert Millan <rmh@aybabtu.com>
26835
26836 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26837
26838 2008-01-04 Christian Franke <franke@computer.org>
26839
26840 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26841 of eisa_mmap.
26842
26843 2008-01-03 Pavel Roskin <proski@gnu.org>
26844
26845 * kern/i386/linuxbios/init.c: Put "void" to all function
26846 declarations with no arguments.
26847 * kern/powerpc/ieee1275/init.c: Likewise.
26848 * term/i386/pc/at_keyboard.c: Likewise.
26849 * term/i386/pc/vga_text.c: Likewise.
26850 * util/grub-mkdevicemap.c: Likewise.
26851
26852 2008-01-02 Robert Millan <rmh@aybabtu.com>
26853
26854 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26855 message when loaded image is out of bounds.
26856 (grub_multiboot_load_elf64): Likewise.
26857
26858 2008-01-02 Pavel Roskin <proski@gnu.org>
26859
26860 * util/grub.d/10_linux.in: Try version without ".old" when
26861 looking for initrd. It's better to use initrd from the newer
26862 kernel of the same version than no initrd at all.
26863
26864 2008-01-01 Robert Millan <rmh@aybabtu.com>
26865
26866 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26867
26868 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26869
26870 * include/grub/video.h: Added grub_video_unmap_color and
26871 grub_video_get_active_render_target.
26872 (grub_video_adapter): Added unmap_color and get_active_render_target.
26873
26874 * video/video.c: Added grub_video_unmap_color and
26875 grub_video_get_active_render_target.
26876 (grub_video_get_info): Changed method to accept NULL pointer as an
26877 argument to allow detection of active video adapter.
26878
26879 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26880 grub_video_vbe_unmap_color_int.
26881 Added grub_video_vbe_unmap_color and
26882 grub_video_vbe_get_active_render_target.
26883 (grub_video_vbe_adapter): Added unmap_color and
26884 get_active_render_target.
26885
26886 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26887 with grub_video_vbe_unmap_color_int.
26888
26889 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26890 (DEFAULT_NORMAL_COLOR): Likewise.
26891 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26892 (DEFAULT_FG_COLOR): Removed.
26893 (DEFAULT_BG_COLOR): Likewise.
26894 (DEFAULT_CURSOR_COLOR): Changed value.
26895 (grub_virtual_screen): Added standard_color_setting,
26896 normal_color_setting, highlight_color_setting and term_color.
26897 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26898 (bitmap_width): Added.
26899 (bitmap_height): Likewise.
26900 (bitmap): Likewise.
26901 (set_term_color): Likewise.
26902 (grub_virtual_screen_setup): Changed to use new terminal coloring
26903 settings.
26904 (grub_gfxterm_init): Added init for bitmap.
26905 (grub_gfxterm_fini): Added destroy for bitmap.
26906 (redraw_screen_rect): Updated to use background bitmap and new
26907 terminal coloring.
26908 (scroll_up): Added optimization for case when there is no bitmap.
26909 (grub_gfxterm_cls): Fixed to use correct background color.
26910 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26911 coloring.
26912 (grub_virtual_screen_setcolor): Likewise.
26913 (grub_virtual_screen_getcolor): Added.
26914 (grub_gfxterm_background_image_cmd): Likewise.
26915 (grub_video_term): Added setcolor and getcolor.
26916 (MOD_INIT): Added registration of background_image command.
26917 (MOD_TERM): Added unregistration for background_image command.
26918
26919 2007-12-30 Pavel Roskin <proski@gnu.org>
26920
26921 * loader/multiboot_loader.c: Fix multiboot command
26922 unregistration. Fix all typos in the word "multiboot".
26923
26924 2007-12-29 Pavel Roskin <proski@gnu.org>
26925
26926 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26927 support for initrd names used in Fedora.
26928
26929 2007-12-26 Bean <bean123ch@gmail.com>
26930
26931 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26932 (cpio_mod_SOURCES): New variable.
26933 (cpio_mod_CFLAGS): Likewise.
26934 (cpio_mod_LDFLAGS): Likewise.
26935
26936 * fs/cpio.c: New file.
26937
26938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26939
26940 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26941
26942 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26943
26944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26945
26946 2007-12-25 Robert Millan <rmh@aybabtu.com>
26947
26948 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26949 (grub_getcolor): New function.
26950
26951 * kern/term.c (grub_getcolor): New function.
26952 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26953 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26954 (print_entry): Set normal and highlight colors to
26955 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26956 respectively, before printing and restore them to old
26957 values afterwards.
26958 (grub_menu_init_page): Likewise. Fill an additional colored space
26959 that would otherwise be left blank.
26960
26961 * term/efi/console.c (grub_console_getcolor): New function.
26962 (struct grub_console_term.getcolor): New variable.
26963 * term/i386/pc/console.c (grub_console_getcolor): New function.
26964 (struct grub_console_term.getcolor): New variable.
26965 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26966 (struct grub_console_term.getcolor): New variable.
26967
26968 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26969 (struct grub_console_term.setcolor): Remove variable.
26970 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26971 (struct grub_console_term.setcolor): Remove variable.
26972 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26973 (struct grub_console_term.setcolor): Remove variable.
26974 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26975 (struct grub_console_term.setcolor): Remove variable.
26976
26977 2007-12-25 Robert Millan <rmh@aybabtu.com>
26978
26979 * configure.ac: Search for possible unifont.hex locations, and
26980 define UNIFONT_HEX if found.
26981
26982 * Makefile.in (UNIFONT_HEX): Define variable.
26983 (DATA): Rename to ...
26984 (PKGLIB): ... this. Update all users.
26985 (PKGDATA): New variable.
26986 (pkgdata_IMAGES): Rename to ...
26987 (pkglib_IMAGES): ... this. Update all users.
26988 (pkgdata_MODULES): Rename to ...
26989 (pkglib_MODULES): ... this. Update all users.
26990 (pkgdata_PROGRAMS): Rename to ...
26991 (pkglib_PROGRAMS): ... this. Update all users.
26992 (pkgdata_DATA): Rename to ...
26993 (pkglib_DATA): ... this. Update all users.
26994 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26995 (unicode.pff, ascii.pff): New rules.
26996 (all-local): Add `$(PKGDATA)' dependency.
26997 (install-local): Process `$(PKGDATA)'.
26998
26999 * util/update-grub_lib.in (font_path): Search for *.pff files in
27000 a few more locations, including `${pkgdata}'.
27001
27002 2007-12-23 Robert Millan <rmh@aybabtu.com>
27003
27004 Patch from Bean <bean123ch@gmail.com>:
27005 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27006 `size'.
27007
27008 2007-12-21 Bean <bean123ch@gmail.com>
27009
27010 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27011 (ntfscomp_mod_SOURCES): New variable.
27012 (ntfscomp_mod_CFLAGS): Likewise.
27013 (ntfscomp_mod_LDFLAGS): Likewise.
27014
27015 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27016 (grub_probe_SOURCES): Likewise.
27017 (grub_emu_SOURCES): Likewise.
27018
27019 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27020 (grub_emu_SOURCES): Likewise.
27021
27022 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27023 (grub_emu_SOURCES): Likewise.
27024
27025 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27026 (grub_emu_SOURCES): Likewise.
27027
27028 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27029 (read_run_list): Renamed to grub_ntfs_read_run_list.
27030 (decomp_nextvcn): Moved to ntfscomp.c.
27031 (decomp_getch): Likewise.
27032 (decomp_get16): Likewise.
27033 (decomp_block): Likewise.
27034 (read_block): Likewise.
27035 (read_data): Partially moved to ntfscomp.c.
27036 (fixup): Change unsigned to grub_uint16_t.
27037 (read_mft): Change unsigned long to grub_uint32_t.
27038 (read_attr): Likewise.
27039 (read_data): Likewise.
27040 (read_run_data): Likewise.
27041 (read_run_list): Likewise.
27042 (read_mft): Likewise.
27043
27044 * fs/ntfscomp.c: New file.
27045
27046 * include/grub/ntfs.h: New file.
27047
27048 2007-12-16 Robert Millan <rmh@aybabtu.com>
27049
27050 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27051 IDE disk check, since Linux is known to support 20 IDE disks.
27052 Reported by Colin Watson.
27053
27054 2007-12-15 Bean <bean123ch@gmail.com>
27055
27056 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27057 (lnxboot_img_SOURCES): New variable.
27058 (lnxboot_img_ASFLAGS): Likewise.
27059 (lnxboot_img_LDFLAGS): Likewise.
27060
27061 * boot/i386/pc/lnxboot.S: New file.
27062
27063 2007-11-24 Pavel Roskin <proski@gnu.org>
27064
27065 * configure.ac: Test if '--build-id=none' is supported by the
27066 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27067 objcopy to generate incorrect binary files (binutils
27068 2.17.50.0.18-1 as shipped by Fedora 8).
27069 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27070 linking, so that build ID doesn't break the test.
27071
27072 2007-11-24 Pavel Roskin <proski@gnu.org>
27073
27074 * include/grub/i386/time.h: use "void" in the argument list
27075 of grub_cpu_idle().
27076 * include/grub/powerpc/time.h: Likewise.
27077 * include/grub/sparc64/time.h: Likewise.
27078
27079 2007-11-18 Christian Franke <franke@computer.org>
27080
27081 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27082 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27083 This fixes the problem that function keys did not work in grub-emu.
27084
27085 2007-11-18 Christian Franke <franke@computer.org>
27086
27087 * disk/host.c (grub_host_open): Remove attribute unused from
27088 name parameter. Add check for "host". This fixes the problem
27089 that grub-emu does not find partitions.
27090
27091 2007-11-18 Christian Franke <franke@computer.org>
27092
27093 * util/hostfs.c (is_dir): New function.
27094 (grub_hostfs_dir): Handle missing dirent.d_type case.
27095 (grub_hostfs_read): Add missing fseek().
27096 (grub_hostfs_label): Clear label pointer. This fixes a crash
27097 of grub-emu on "ls (host)".
27098
27099 2007-11-18 Christian Franke <franke@computer.org>
27100
27101 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27102 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27103 to 64 bit boundary by default.
27104
27105 2007-11-18 Bean <bean123ch@gmail.com>
27106
27107 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27108 (hexdump_mod_SOURCES): New variable.
27109 (hexdump_mod_CFLAGS): Likewise.
27110 (hexdump_mod_LDFLAGS): Likewise.
27111
27112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27113
27114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27115
27116 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27117
27118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27119
27120 * include/grub/hexdump.h: New file.
27121
27122 * commands/hexdump.c: New file.
27123
27124 2007-11-10 Robert Millan <rmh@aybabtu.com>
27125
27126 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27127 in grub_outb() calls.
27128 (beep_on): Likewise.
27129
27130 2007-11-10 Christian Franke <franke@computer.org>
27131
27132 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27133 (grub_menu_run): Likewise.
27134
27135 2007-11-10 Robert Millan <rmh@aybabtu.com>
27136
27137 * include/grub/i386/efi/machine.h: New file.
27138 * include/grub/i386/linuxbios/machine.h: Likewise.
27139 * include/grub/i386/pc/machine.h: Likewise.
27140 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27141 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27142
27143 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27144 (serial_hw_io_addr): New variable.
27145 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27146 instead of `(unsigned short *) 0x400'.
27147
27148 2007-11-10 Bean <bean123ch@gmail.com>
27149
27150 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27151
27152 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27153
27154 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27155 (vga_mod_SOURCES): Added.
27156 (vga_mod_CFLAGS): Likewise.
27157 (vga_mod_LDFLAGS): Likewise.
27158
27159 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27160 grub_outb() calls.
27161 (set_map_mask): Likewise.
27162 (set_read_map): Likewise.
27163 (set_read_address): Likewise.
27164 (vga_font): Removed variable.
27165 (get_vga_glyph): Removed function.
27166 (invalidate_char): Likewise.
27167 (write_char): Changed to use grub_font_get_glyph() for font
27168 information.
27169 (grub_vga_putchar): Likewise.
27170 (grub_vga_getcharwidth): Likewise.
27171
27172 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27173
27174 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27175 flags.
27176 (pxeboot_img_LDFLAGS): Likewise.
27177 (diskboot_img_LDFLAGS): Likewise.
27178 (kernel_img_LDFLAGS): Likewise.
27179
27180 2007-11-06 Robert Millan <rmh@aybabtu.com>
27181
27182 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27183 in grub_outb() calls.
27184 (serial_hw_init): Likewise.
27185
27186 2007-11-05 Robert Millan <rmh@aybabtu.com>
27187
27188 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27189 spaces. Skip non-regular files.
27190
27191 2007-11-05 Robert Millan <rmh@aybabtu.com>
27192
27193 * kern/disk.c (grub_disk_firmware_fini)
27194 (grub_disk_firmware_is_tainted): New variables.
27195
27196 * include/grub/disk.h (grub_disk_firmware_fini)
27197 (grub_disk_firmware_is_tainted): Likewise.
27198
27199 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27200 (grub_disk_biosdisk_fini): ... to here.
27201 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27202 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27203 is set. Register grub_disk_biosdisk_fini() in
27204 `grub_disk_firmware_fini'.
27205
27206 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27207 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27208 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27209 to finish existing firmware disk interface.
27210
27211 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27212 (ata_mod_SOURCES): New variable.
27213 (ata_mod_CFLAGS): Likewise.
27214 (ata_mod_LDFLAGS): Likewise.
27215
27216 2007-11-05 Robert Millan <rmh@aybabtu.com>
27217
27218 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27219 (grub_ata_wait): Reimplement using grub_millisleep().
27220
27221 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27222 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27223
27224 2007-11-03 Marco Gerards <marco@gnu.org>
27225
27226 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27227 (CRTC_ADDR_PORT): New macro.
27228 (CRTC_DATA_PORT): Likewise.
27229 (CRTC_CURSOR): Likewise.
27230 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27231 (CRTC_CURSOR_ADDR_LOW): Likewise.
27232 (update_cursor): New function.
27233 (grub_console_real_putchar): Call `update_cursor'.
27234 (grub_console_gotoxy): Likewise.
27235 (grub_console_cls): Set the default color when clearing the
27236 screen.
27237 (grub_console_setcursor): Implemented.
27238
27239 2007-11-03 Marco Gerards <marco@gnu.org>
27240
27241 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27242 become activate.
27243 (grub_ata_pio_write): Likewise.
27244
27245 (grub_atapi_identify): Wait after issuing an ATA command.
27246 (grub_atapi_packet): Likewise.
27247 (grub_ata_identify): Likewise.
27248 (grub_ata_readwrite): Likewise.
27249
27250 2007-11-03 Marco Gerards <marco@gnu.org>
27251
27252 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27253 (grub_ata_pio_write): Likewise.
27254 (grub_ata_readwrite): Use `grub_error', instead of
27255 returning `grub_errno'.
27256
27257 2007-11-03 Marco Gerards <marco@gnu.org>
27258
27259 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27260 grub_ata_pio_write once for every single sector, instead of for
27261 multiple sectors.
27262
27263 2007-10-31 Robert Millan <rmh@aybabtu.com>
27264
27265 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27266
27267 * conf/i386-linuxbios.rmk: New file.
27268
27269 * kern/i386/pc/hardware.c: Likewise.
27270 * term/i386/pc/at_keyboard.c: Likewise.
27271 * term/i386/pc/vga_text.c: Likewise.
27272
27273 * include/grub/i386/linuxbios/boot.h: Likewise.
27274 * include/grub/i386/linuxbios/console.h: Likewise.
27275 * include/grub/i386/linuxbios/init.h: Likewise.
27276 * include/grub/i386/linuxbios/kernel.h: Likewise.
27277 * include/grub/i386/linuxbios/loader.h: Likewise.
27278 * include/grub/i386/linuxbios/memory.h: Likewise.
27279 * include/grub/i386/linuxbios/serial.h: Likewise.
27280 * include/grub/i386/linuxbios/time.h: Likewise.
27281
27282 * kern/i386/linuxbios/init.c: Likewise.
27283 * kern/i386/linuxbios/startup.S: Likewise.
27284 * kern/i386/linuxbios/table.c: Likewise.
27285
27286 2007-10-31 Marco Gerards <marco@gnu.org>
27287
27288 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27289 (ata_mod_SOURCES): New variable.
27290 (ata_mod_CFLAGS): Likewise.
27291 (ata_mod_LDFLAGS): Likewise.
27292
27293 * disk/ata.c: New file.
27294
27295 * include/grub/disk.h (grub_disk_dev_id): Add
27296 `GRUB_DISK_DEV_ATA_ID'.
27297
27298 2007-10-31 Robert Millan <rmh@aybabtu.com>
27299
27300 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27301 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27302
27303 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27304 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27305
27306 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27307 `<grub/types.h>'.
27308
27309 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27310
27311 2007-10-27 Robert Millan <rmh@aybabtu.com>
27312
27313 * include/grub/types.h (ULONG_MAX): Define macro.
27314
27315 2007-10-22 Robert Millan <rmh@aybabtu.com>
27316
27317 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27318 `"../realmode.S"'.
27319 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27320
27321 2007-10-22 Robert Millan <rmh@aybabtu.com>
27322
27323 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27324 (pkgdata_MODULES): Add `biosdisk.mod'.
27325 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27326 variables.
27327
27328 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27329 (grub_biosdisk_init): Replace with ...
27330 (GRUB_MOD_INIT(biosdisk)): ... this.
27331 (grub_biosdisk_fini): Replace with ...
27332 (GRUB_MOD_FINI(biosdisk)): ... this.
27333
27334 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27335 (grub_machine_init): Remove call to grub_biosdisk_init().
27336 (grub_machine_fini): Remove call to grub_machine_fini().
27337
27338 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27339
27340 2007-10-22 Robert Millan <rmh@aybabtu.com>
27341
27342 * include/grub/time.h: New file.
27343 * include/grub/i386/time.h: Likewise.
27344 * include/grub/powerpc/time.h: Likewise.
27345 * include/grub/sparc64/time.h: Likewise.
27346
27347 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27348 instances to ...
27349 (KERNEL_MACHINE_TIME_HEADER): ... this.
27350 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27351 instances to ...
27352 (KERNEL_MACHINE_TIME_HEADER): ... this.
27353 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27354 instances to ...
27355 (KERNEL_MACHINE_TIME_HEADER): ... this.
27356
27357 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27358 (grub_millisleep): New function.
27359 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27360 (grub_millisleep): New function.
27361 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27362 Remove `grub/machine/time.h' include.
27363 (grub_millisleep): New function.
27364 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27365 Remove `grub/machine/time.h' include.
27366 (grub_millisleep): New function.
27367
27368 * include/grub/misc.h (grub_div_roundup): New function.
27369
27370 * kern/misc.c: Include `<grub/time.h>'.
27371 (grub_millisleep_generic): New function.
27372
27373 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27374 Add `time.h'.
27375 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27376 Add `time.h'.
27377 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27378 `machine/time.h'. Add `time.h'.
27379 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27380
27381 2007-10-21 Robert Millan <rmh@aybabtu.com>
27382
27383 * include/grub/misc.h (grub_max): New function.
27384
27385 2007-10-21 Robert Millan <rmh@aybabtu.com>
27386
27387 * util/misc.c (grub_util_info): Call fflush() before returning.
27388
27389 2007-10-20 Robert Millan <rmh@aybabtu.com>
27390
27391 * genmk.rb (Image): Copy `extra_flags' from here ...
27392 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27393
27394 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27395 to `argc' and `args' arguments.
27396
27397 2007-10-17 Robert Millan <rmh@aybabtu.com>
27398
27399 * kern/i386/loader.S: New file.
27400
27401 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27402 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27403 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27404 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27405 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27406 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27407 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27408 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27409 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27410 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27411 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27412 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27413 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27414 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27415
27416 * kern/i386/realmode.S: New file.
27417
27418 * kern/i386/pc/startup.S (protstack): Moved from here ...
27419 * kern/i386/realmode.S (protstack)... to here.
27420 * kern/i386/pc/startup.S (gdt): Moved from here ...
27421 * kern/i386/realmode.S (gdt)... to here.
27422 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27423 * kern/i386/realmode.S (prot_to_real)... to here.
27424
27425 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27426 `kern/i386/realmode.S'.
27427
27428 2007-10-17 Robert Millan <rmh@aybabtu.com>
27429
27430 * include/grub/i386/loader.h: New file.
27431
27432 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27433 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27434 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27435 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27436 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27437 * include/grub/i386/loader.h (grub_linux_prot_size)
27438 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27439 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27440 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27441 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27442
27443 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27444
27445 2007-10-15 Robert Millan <rmh@aybabtu.com>
27446
27447 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27448 filesystem when dev->disk is unset.
27449 Do probe for filesystem even when dev->disk->has_partitions is set.
27450 In case a filesystem is found, always report it.
27451 In case it isn't, if dev->disk->has_partitions is set, report that
27452 a partition table was found instead of reporting that no filesystem
27453 could be identified.
27454
27455 2007-10-12 Robert Millan <rmh@aybabtu.com>
27456
27457 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27458 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27459
27460 * include/grub/types.h (grub_host_to_target16): New macro.
27461 (grub_host_to_target32): Likewise.
27462 (grub_host_to_target64): Likewise.
27463 (grub_target_to_host16): Likewise.
27464 (grub_target_to_host32): Likewise.
27465 (grub_target_to_host64): Likewise.
27466
27467 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27468 Renamed from to ...
27469 (GRUB_MOD_ALIGN): ...this. Update all users.
27470
27471 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27472 grub_host_to_target32.
27473 Replace grub_be_to_cpu32 with grub_target_to_host32.
27474 (load_modules): Likewise.
27475 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27476 Replace grub_be_to_cpu32 with grub_target_to_host32.
27477 Replace grub_cpu_to_be16 with grub_host_to_target16.
27478 Replace grub_cpu_to_be32 grub_host_to_target32.
27479
27480 2007-10-12 Robert Millan <rmh@aybabtu.com>
27481
27482 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27483 * util/elf/grub-mkimage.c: ... here.
27484
27485 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27486 `util/powerpc/ieee1275/grub-mkimage.c'.
27487
27488 2007-10-07 Robert Millan <rmh@aybabtu.com>
27489
27490 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27491 and make it easier to figure out.
27492 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27493 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27494 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27495 leave us with less than HEAP_MIN_SIZE total heap.
27496 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27497
27498 2007-10-03 Robert Millan <rmh@aybabtu.com>
27499
27500 * include/grub/i386/io.h: New file.
27501 * commands/i386/pc/play.c (inb): Removed.
27502 (outb): Removed.
27503 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27504 with grub_outb().
27505 * term/i386/pc/serial.c (inb): Removed.
27506 (outb): Removed.
27507 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27508 with grub_outb().
27509 * term/i386/pc/vga.c (inb): Removed.
27510 (outb): Removed.
27511 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27512 with grub_outb().
27513
27514 2007-10-02 Robert Millan <rmh@aybabtu.com>
27515
27516 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27518 Reported by Marcin Kurek.
27519
27520 2007-09-07 Robert Millan <rmh@aybabtu.com>
27521
27522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27523 SmartFirmware version updates (as released by Sven Luther), and avoid
27524 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27525 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27526 known broken.
27527
27528 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27529
27530 From Hitoshi Ozeki:
27531 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27532 when merging two regions.
27533
27534 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27535
27536 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27537 * normal/completion.c (grub_normal_do_completion): Likewise.
27538 Reported by Hitoshi Ozeki.
27539
27540 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27541
27542 Do not use devices at boot in chainloading.
27543
27544 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27545 (boot_part_addr): Likewise.
27546 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27547 with BOOT_DRIVE and BOOT_PART_ADDR.
27548 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27549 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27550
27551 2007-08-29 Robert Millan <rmh@aybabtu.com>
27552
27553 Patch from Simon Peter <dn.tlp@gmx.net>:
27554 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27555 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27556 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27557 util/i386/pc/grub-setup.c_DEPENDENCIES.
27558 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27559 util/grub-probe.c_DEPENDENCIES.
27560 * conf/powerpc-ieee1275.rmk: Likewise.
27561
27562 2007-08-28 Robert Millan <rmh@aybabtu.com>
27563
27564 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27565 to tell grub-mkdevicemap how to name devices.
27566 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27567 feature).
27568
27569 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27570 util/i386/get_disk_name.c.
27571 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27572 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27573 util/ieee1275/get_disk_name.c.
27574
27575 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27576
27577 * DISTLIST: Add util/i386/get_disk_name.c and
27578 util/ieee1275/get_disk_name.c.
27579
27580 * util/grub-mkdevicemap.c: Replace device naming logic with
27581 grub_util_get_disk_name() calls.
27582
27583 2007-08-20 Robert Millan <rmh@aybabtu.com>
27584
27585 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27586 (so that it works for both plural and singular quantities).
27587
27588 2007-08-05 Robert Millan <rmh@aybabtu.com>
27589
27590 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27591 so that [xz] isn't taken into account when determining order.
27592
27593 2007-08-02 Marco Gerards <marco@gnu.org>
27594
27595 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27596 `include/multiboot2.h', `include/grub/elfload.h',
27597 `include/multiboot.h', `include/grub/multiboot.h',
27598 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27599 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27600 `kern/elf.c', `loader/multiboot_loader.c',
27601 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27602 `loader/i386/pc/multiboot2.c',
27603 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27604 `util/i386/pc/grub-mkrescue.in'. Remove
27605 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27606 `include/grub/i386/pc/util/biosdisk.h' and
27607 `include/grub/powerpc/ieee1275/multiboot.h'.
27608
27609 2007-08-02 Bean <bean123ch@gmail.com>
27610
27611 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27612 (ntfs_mod_SOURCES): New variable.
27613 (ntfs_mod_CFLAGS): Likewise.
27614 (ntfs_mod_LDFLAGS): Likewise.
27615
27616 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27617 (grub_probe_SOURCES): Likewise.
27618 (grub_emu_SOURCES): Likewise.
27619
27620 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27621 (grub_emu_SOURCES): Likewise.
27622
27623 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27624 (grub_emu_SOURCES): Likewise.
27625
27626 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27627
27628 * fs/ntfs.c: New file.
27629
27630 2007-08-02 Bean <bean123ch@gmail.com>
27631
27632 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27633
27634 * file.h (grub_file): Likewise.
27635
27636 * fshelp.h (grub_fshelp_read_file): Likewise.
27637
27638 * util/i386/pc/grub-setup.c (setup): Likewise.
27639 (save_first_sector): Likewise.
27640 (save_blocklists): Likewise.
27641
27642 * fs/affs.c (grub_affs_read_file): Likewise.
27643
27644 * fs/ext2.c (grub_ext2_read_file): Likewise.
27645
27646 * fs/fat.c (grub_fat_read_data): Likewise.
27647
27648 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27649
27650 * fs/hfs.c (grub_hfs_read_file): Likewise.
27651
27652 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27653
27654 * fs/jfs.c (grub_jfs_read_file): Likewise.
27655
27656 * fs/minix.c (grub_minix_read_file): Likewise.
27657
27658 * fs/sfs.c (grub_sfs_read_file): Likewise.
27659
27660 * fs/ufs.c (grub_ufs_read_file): Likewise.
27661
27662 * fs/xfs.c (grub_xfs_read_file): Likewise.
27663
27664 * command/blocklist.c (read_blocklist): Likewise.
27665 (print_blocklist): Likewise.
27666
27667 2007-08-02 Marco Gerards <marco@gnu.org>
27668
27669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27670 `util/hostfs.c'.
27671
27672 * disk/host.c: New file.
27673
27674 * util/hostfs.c: Likewise.
27675
27676 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27677 return `GRUB_ERR_BAD_FS'.
27678 * fs/sfs.c (grub_sfs_mount): Likewise.
27679 * fs/xfs.c (grub_xfs_mount): Likewise.
27680
27681 * include/grub/disk.h (enum grub_disk_dev_id): Add
27682 `GRUB_DISK_DEVICE_HOST_ID'.
27683
27684 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27685
27686 2007-07-24 Jerone Young <jerone@gmail.com>
27687
27688 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27689 modules for compilation.
27690 * conf/powerpc-ieee1275.rmk: Likewise.
27691
27692 * include/multiboot.h: Move multiboot definitions to one file. Rename
27693 many definitions to not get grub specific.
27694 * include/multiboot2.h: Create header with multiboot 2 definitions.
27695 * include/grub/multiboot.h: Header for grub specific function
27696 prototypes and definitions.
27697 * include/grub/multiboot2.h: Likewise.
27698 * include/grub/multiboot_loader.h: Likewise.
27699 * include/grub/i386/pc/multiboot.h: Removed.
27700 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27701
27702 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27703 and 2 to allow for one multiboot and module commands.
27704 * loader/multiboot2.c: Add multiboot2 functionality.
27705 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27706 and definition names.
27707 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27708 2 functions.
27709 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27710 ieee1275 specific multiboot2 code.
27711
27712 * kern/i386/pc/startup.S: Change headers and definition names for
27713 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27714
27715 2007-07-22 Robert Millan <rmh@aybabtu.com>
27716
27717 * geninitheader.sh: Process file specified in first parameter rather
27718 than hardcoding grub_modules_init.lst.
27719 * geninit.sh: Likewise. Also, construct header name dynamically rather
27720 than hardcoding grub_modules_init.h.
27721
27722 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27723 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27724 grub_probe_init.[ch] and grub_setup_init.[ch].
27725
27726 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27727 grub_modules_init.h with grub_emu_init.h.
27728 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27729 grub_probe_init.[ch] files.
27730 * conf/i386-efi.rmk: Likewise.
27731 * conf/i386-pc.rmk: Likewise.
27732 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27733 grub_setup_init.[ch] files.
27734
27735 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27736 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27737 to initialize modules rather than a list of hardcoded functions.
27738 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27739 grub_init_all() to initialize modules rather than a list of hardcoded
27740 functions.
27741
27742 2007-07-22 Robert Millan <rmh@aybabtu.com>
27743
27744 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27745 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27746
27747 2007-07-22 Robert Millan <rmh@aybabtu.com>
27748
27749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27750 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27751 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27752 flag when running on SmartFirmware.
27753 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27754 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27755 was set.
27756
27757 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27758 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27759 rather than decreasing it.
27760
27761 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27762 there's not enough space to do it, fail in the same way as when it
27763 can't be done because there are no partitions.
27764
27765 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27766 when nvsetenv failed.
27767
27768 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27769
27770 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27771 because this rule is automatically generated.
27772 (grub-mkrescue): Removed for the same reason as above.
27773
27774 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27775
27776 Migrate to GNU General Public License Version 3.
27777
27778 * COPYING: Replaced with the plain text version of GPLv3.
27779
27780 * config.guess: Updated from gnulib.
27781 * config.sub: Likewise.
27782
27783 * geninit.sh: Output a GPLv3 copyright notice.
27784 * geninitheader.sh: Likewise.
27785 * genmodsrc.sh: Likewise.
27786 * gensymlist.sh.in: Likewise.
27787
27788 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27789 * boot/i386/pc/diskboot.S: Likewise.
27790 * boot/i386/pc/pxeboot.S: Likewise.
27791 * commands/blocklist.c: Likewise.
27792 * commands/boot.c: Likewise.
27793 * commands/cat.c: Likewise.
27794 * commands/cmp.c: Likewise.
27795 * commands/configfile.c: Likewise.
27796 * commands/echo.c: Likewise.
27797 * commands/help.c: Likewise.
27798 * commands/ls.c: Likewise.
27799 * commands/search.c: Likewise.
27800 * commands/terminal.c: Likewise.
27801 * commands/test.c: Likewise.
27802 * commands/videotest.c: Likewise.
27803 * commands/i386/cpuid.c: Likewise.
27804 * commands/i386/pc/halt.c: Likewise.
27805 * commands/i386/pc/play.c: Likewise.
27806 * commands/i386/pc/reboot.c: Likewise.
27807 * commands/i386/pc/vbeinfo.c: Likewise.
27808 * commands/i386/pc/vbetest.c: Likewise.
27809 * commands/ieee1275/halt.c: Likewise.
27810 * commands/ieee1275/reboot.c: Likewise.
27811 * commands/ieee1275/suspend.c: Likewise.
27812 * disk/loopback.c: Likewise.
27813 * disk/lvm.c: Likewise.
27814 * disk/raid.c: Likewise.
27815 * disk/efi/efidisk.c: Likewise.
27816 * disk/i386/pc/biosdisk.c: Likewise.
27817 * disk/ieee1275/ofdisk.c: Likewise.
27818 * font/manager.c: Likewise.
27819 * fs/affs.c: Likewise.
27820 * fs/ext2.c: Likewise.
27821 * fs/fat.c: Likewise.
27822 * fs/fshelp.c: Likewise.
27823 * fs/hfs.c: Likewise.
27824 * fs/hfsplus.c: Likewise.
27825 * fs/iso9660.c: Likewise.
27826 * fs/jfs.c: Likewise.
27827 * fs/minix.c: Likewise.
27828 * fs/sfs.c: Likewise.
27829 * fs/ufs.c: Likewise.
27830 * fs/xfs.c: Likewise.
27831 * hello/hello.c: Likewise.
27832 * include/grub/acorn_filecore.h: Likewise.
27833 * include/grub/arg.h: Likewise.
27834 * include/grub/bitmap.h: Likewise.
27835 * include/grub/boot.h: Likewise.
27836 * include/grub/cache.h: Likewise.
27837 * include/grub/device.h: Likewise.
27838 * include/grub/disk.h: Likewise.
27839 * include/grub/dl.h: Likewise.
27840 * include/grub/elfload.h: Likewise.
27841 * include/grub/env.h: Likewise.
27842 * include/grub/err.h: Likewise.
27843 * include/grub/file.h: Likewise.
27844 * include/grub/font.h: Likewise.
27845 * include/grub/fs.h: Likewise.
27846 * include/grub/fshelp.h: Likewise.
27847 * include/grub/gzio.h: Likewise.
27848 * include/grub/hfs.h: Likewise.
27849 * include/grub/kernel.h: Likewise.
27850 * include/grub/loader.h: Likewise.
27851 * include/grub/lvm.h: Likewise.
27852 * include/grub/misc.h: Likewise.
27853 * include/grub/mm.h: Likewise.
27854 * include/grub/net.h: Likewise.
27855 * include/grub/normal.h: Likewise.
27856 * include/grub/parser.h: Likewise.
27857 * include/grub/partition.h: Likewise.
27858 * include/grub/pc_partition.h: Likewise.
27859 * include/grub/raid.h: Likewise.
27860 * include/grub/rescue.h: Likewise.
27861 * include/grub/script.h: Likewise.
27862 * include/grub/setjmp.h: Likewise.
27863 * include/grub/symbol.h: Likewise.
27864 * include/grub/term.h: Likewise.
27865 * include/grub/terminfo.h: Likewise.
27866 * include/grub/tparm.h: Likewise.
27867 * include/grub/types.h: Likewise.
27868 * include/grub/video.h: Likewise.
27869 * include/grub/efi/api.h: Likewise.
27870 * include/grub/efi/chainloader.h: Likewise.
27871 * include/grub/efi/console.h: Likewise.
27872 * include/grub/efi/console_control.h: Likewise.
27873 * include/grub/efi/disk.h: Likewise.
27874 * include/grub/efi/efi.h: Likewise.
27875 * include/grub/efi/pe32.h: Likewise.
27876 * include/grub/efi/time.h: Likewise.
27877 * include/grub/i386/linux.h: Likewise.
27878 * include/grub/i386/setjmp.h: Likewise.
27879 * include/grub/i386/types.h: Likewise.
27880 * include/grub/i386/efi/kernel.h: Likewise.
27881 * include/grub/i386/efi/loader.h: Likewise.
27882 * include/grub/i386/efi/time.h: Likewise.
27883 * include/grub/i386/pc/biosdisk.h: Likewise.
27884 * include/grub/i386/pc/boot.h: Likewise.
27885 * include/grub/i386/pc/chainloader.h: Likewise.
27886 * include/grub/i386/pc/console.h: Likewise.
27887 * include/grub/i386/pc/init.h: Likewise.
27888 * include/grub/i386/pc/kernel.h: Likewise.
27889 * include/grub/i386/pc/loader.h: Likewise.
27890 * include/grub/i386/pc/memory.h: Likewise.
27891 * include/grub/i386/pc/multiboot.h: Likewise.
27892 * include/grub/i386/pc/serial.h: Likewise.
27893 * include/grub/i386/pc/time.h: Likewise.
27894 * include/grub/i386/pc/vbe.h: Likewise.
27895 * include/grub/i386/pc/vbeblit.h: Likewise.
27896 * include/grub/i386/pc/vbefill.h: Likewise.
27897 * include/grub/i386/pc/vbeutil.h: Likewise.
27898 * include/grub/i386/pc/vga.h: Likewise.
27899 * include/grub/ieee1275/ieee1275.h: Likewise.
27900 * include/grub/ieee1275/ofdisk.h: Likewise.
27901 * include/grub/powerpc/libgcc.h: Likewise.
27902 * include/grub/powerpc/setjmp.h: Likewise.
27903 * include/grub/powerpc/types.h: Likewise.
27904 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27905 * include/grub/powerpc/ieee1275/console.h: Likewise.
27906 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27907 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27908 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27909 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27910 * include/grub/powerpc/ieee1275/time.h: Likewise.
27911 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27912 * include/grub/sparc64/libgcc.h: Likewise.
27913 * include/grub/sparc64/setjmp.h: Likewise.
27914 * include/grub/sparc64/types.h: Likewise.
27915 * include/grub/sparc64/ieee1275/console.h: Likewise.
27916 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27917 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27918 * include/grub/sparc64/ieee1275/time.h: Likewise.
27919 * include/grub/util/biosdisk.h: Likewise.
27920 * include/grub/util/getroot.h: Likewise.
27921 * include/grub/util/lvm.h: Likewise.
27922 * include/grub/util/misc.h: Likewise.
27923 * include/grub/util/raid.h: Likewise.
27924 * include/grub/util/resolve.h: Likewise.
27925 * io/gzio.c: Likewise.
27926 * kern/device.c: Likewise.
27927 * kern/disk.c: Likewise.
27928 * kern/dl.c: Likewise.
27929 * kern/elf.c: Likewise.
27930 * kern/env.c: Likewise.
27931 * kern/err.c: Likewise.
27932 * kern/file.c: Likewise.
27933 * kern/fs.c: Likewise.
27934 * kern/loader.c: Likewise.
27935 * kern/main.c: Likewise.
27936 * kern/misc.c: Likewise.
27937 * kern/mm.c: Likewise.
27938 * kern/parser.c: Likewise.
27939 * kern/partition.c: Likewise.
27940 * kern/rescue.c: Likewise.
27941 * kern/term.c: Likewise.
27942 * kern/efi/efi.c: Likewise.
27943 * kern/efi/init.c: Likewise.
27944 * kern/efi/mm.c: Likewise.
27945 * kern/i386/dl.c: Likewise.
27946 * kern/i386/efi/init.c: Likewise.
27947 * kern/i386/efi/startup.S: Likewise.
27948 * kern/i386/pc/init.c: Likewise.
27949 * kern/i386/pc/lzo1x.S: Likewise.
27950 * kern/i386/pc/startup.S: Likewise.
27951 * kern/ieee1275/ieee1275.c: Likewise.
27952 * kern/powerpc/cache.S: Likewise.
27953 * kern/powerpc/dl.c: Likewise.
27954 * kern/powerpc/ieee1275/cmain.c: Likewise.
27955 * kern/powerpc/ieee1275/crt0.S: Likewise.
27956 * kern/powerpc/ieee1275/init.c: Likewise.
27957 * kern/powerpc/ieee1275/openfw.c: Likewise.
27958 * kern/sparc64/cache.S: Likewise.
27959 * kern/sparc64/dl.c: Likewise.
27960 * kern/sparc64/ieee1275/init.c: Likewise.
27961 * kern/sparc64/ieee1275/openfw.c: Likewise.
27962 * loader/efi/chainloader.c: Likewise.
27963 * loader/efi/chainloader_normal.c: Likewise.
27964 * loader/i386/efi/linux.c: Likewise.
27965 * loader/i386/efi/linux_normal.c: Likewise.
27966 * loader/i386/pc/chainloader.c: Likewise.
27967 * loader/i386/pc/chainloader_normal.c: Likewise.
27968 * loader/i386/pc/linux.c: Likewise.
27969 * loader/i386/pc/linux_normal.c: Likewise.
27970 * loader/i386/pc/multiboot.c: Likewise.
27971 * loader/i386/pc/multiboot_normal.c: Likewise.
27972 * loader/powerpc/ieee1275/linux.c: Likewise.
27973 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27974 * normal/arg.c: Likewise.
27975 * normal/cmdline.c: Likewise.
27976 * normal/command.c: Likewise.
27977 * normal/completion.c: Likewise.
27978 * normal/execute.c: Likewise.
27979 * normal/function.c: Likewise.
27980 * normal/lexer.c: Likewise.
27981 * normal/main.c: Likewise.
27982 * normal/menu.c: Likewise.
27983 * normal/menu_entry.c: Likewise.
27984 * normal/misc.c: Likewise.
27985 * normal/parser.y: Likewise.
27986 * normal/script.c: Likewise.
27987 * normal/i386/setjmp.S: Likewise.
27988 * normal/powerpc/setjmp.S: Likewise.
27989 * normal/sparc64/setjmp.S: Likewise.
27990 * partmap/acorn.c: Likewise.
27991 * partmap/amiga.c: Likewise.
27992 * partmap/apple.c: Likewise.
27993 * partmap/gpt.c: Likewise.
27994 * partmap/pc.c: Likewise.
27995 * partmap/sun.c: Likewise.
27996 * term/gfxterm.c: Likewise.
27997 * term/terminfo.c: Likewise.
27998 * term/efi/console.c: Likewise.
27999 * term/i386/pc/console.c: Likewise.
28000 * term/i386/pc/serial.c: Likewise.
28001 * term/i386/pc/vesafb.c: Likewise.
28002 * term/i386/pc/vga.c: Likewise.
28003 * term/ieee1275/ofconsole.c: Likewise.
28004 * util/biosdisk.c: Likewise.
28005 * util/console.c: Likewise.
28006 * util/genmoddep.c: Likewise.
28007 * util/getroot.c: Likewise.
28008 * util/grub-emu.c: Likewise.
28009 * util/grub-mkdevicemap.c: Likewise.
28010 * util/grub-probe.c: Likewise.
28011 * util/lvm.c: Likewise.
28012 * util/misc.c: Likewise.
28013 * util/raid.c: Likewise.
28014 * util/resolve.c: Likewise.
28015 * util/update-grub.in: Likewise.
28016 * util/update-grub_lib.in: Likewise.
28017 * util/grub.d/00_header.in: Likewise.
28018 * util/grub.d/10_hurd.in: Likewise.
28019 * util/grub.d/10_linux.in: Likewise.
28020 * util/i386/efi/grub-install.in: Likewise.
28021 * util/i386/efi/grub-mkimage.c: Likewise.
28022 * util/i386/pc/grub-install.in: Likewise.
28023 * util/i386/pc/grub-mkimage.c: Likewise.
28024 * util/i386/pc/grub-mkrescue.in: Likewise.
28025 * util/i386/pc/grub-setup.c: Likewise.
28026 * util/i386/pc/misc.c: Likewise.
28027 * util/powerpc/ieee1275/grub-install.in: Likewise.
28028 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28029 * util/powerpc/ieee1275/misc.c: Likewise.
28030 * video/bitmap.c: Likewise.
28031 * video/video.c: Likewise.
28032 * video/i386/pc/vbe.c: Likewise.
28033 * video/i386/pc/vbeblit.c: Likewise.
28034 * video/i386/pc/vbefill.c: Likewise.
28035 * video/i386/pc/vbeutil.c: Likewise.
28036 * video/readers/tga.c: Likewise.
28037
28038 2007-07-02 Robert Millan <rmh@aybabtu.com>
28039
28040 * conf/i386-efi.rmk: Replace obsolete reference to
28041 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28042 with util/getroot.c.
28043 * conf/powerpc-ieee1275.rmk: Likewise.
28044 * conf/sparc64-ieee1275.rmk: Likewise.
28045
28046 * util/grub-emu.c (main): Fix unchecked pointer handling.
28047
28048 2007-07-02 Robert Millan <rmh@aybabtu.com>
28049
28050 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28051 invocation to fail, in order to support partition-less media.
28052
28053 * util/i386/pc/grub-install.in: Likewise.
28054
28055 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28056 which fs or partmap modules are needed (akin to its sister scripts).
28057
28058 Also use grub-probe to get rid of unportable /proc/mounts check.
28059
28060 Print the same informational message that the other scripts do, before
28061 exiting.
28062
28063 2007-06-23 Robert Millan <rmh@aybabtu.com>
28064
28065 * util/update-grub_lib.in (font_path): New function. Determine whether
28066 a font file can be found and, if so, echo the GRUB path to it.
28067
28068 * util/update-grub.in: Handle multiple terminals depending on user
28069 input, platform availability and font file presence. Propagate
28070 variables of our findings to /etc/grub.d/ children.
28071
28072 * util/grub.d/00_header.in: Handle multiple terminals, based on
28073 environment setup by update-grub.
28074
28075 2007-06-23 Robert Millan <rmh@aybabtu.com>
28076
28077 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
28078
28079 2007-06-21 Robert Millan <rmh@aybabtu.com>
28080
28081 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28082 indicate end of data section in kernel image.
28083 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28084 GRUB_KERNEL_MACHINE_DATA_END.
28085
28086 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28087 space for it.
28088 * kern/i386/efi/startup.S: Likewise.
28089
28090 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28091 during image generation. Implement --prefix option to override this
28092 patch.
28093 * util/i386/efi/grub-mkimage.c: Likewise.
28094
28095 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28096 code to make path relative to its root into a separate function.
28097
28098 * util/i386/pc/grub-install.in: Use newly provided
28099 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28100 pass the result to grub-install --prefix.
28101
28102 2007-06-13 Robert Millan <rmh@aybabtu.com>
28103
28104 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28105 DEFAULT_DEVICE_MAP.
28106 * util/grub-emu.c: Use above definitions from misc.h instead of
28107 defining them.
28108 * util/grub-mkdevicemap.c: Likewise.
28109 * util/i386/pc/grub-setup.c: Likewise.
28110 * util/grub-probe.c: Likewise.
28111 (probe): Abort with grub_util_error() when either
28112 grub_guess_root_device or grub_util_get_grub_dev fails.
28113
28114 2007-06-12 Robert Millan <rmh@aybabtu.com>
28115
28116 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28117 "pager" assignment.
28118 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28119 "pcdata".
28120 * util/grub-probe.c (probe): Likewise for "drive_name".
28121
28122 2007-06-11 Robert Millan <rmh@aybabtu.com>
28123
28124 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28125 not just the cdrom one.
28126
28127 2007-06-11 Robert Millan <rmh@aybabtu.com>
28128
28129 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28130 Add --pkglibdir=DIR option to override pkglibdir.
28131 Mention --image-type=TYPE in help output.
28132 Fix --grub-mkimage (it was a no-op).
28133 Abort gracefully when no parameter is given.
28134
28135 2007-06-11 Robert Millan <rmh@aybabtu.com>
28136
28137 * util/i386/pc/grub-mkrescue.in: New file.
28138 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28139 * Makefile.in: Handle bin_SCRIPTS.
28140
28141 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28142
28143 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28144 list of video modes.
28145
28146 2007-06-06 Robert Millan <rmh@aybabtu.com>
28147
28148 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28149 file doesn't exist, or if it is in a filesystem grub can't read.
28150
28151 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28152 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28153 header comment to fit in 80 columns when the variables are resolved.
28154
28155 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28156 could be identified by update-grub. Remove redundant check for
28157 unifont.pff existence (since convert_system_path_to_grub_path now
28158 handles that).
28159
28160 2007-06-04 Robert Millan <rmh@aybabtu.com>
28161
28162 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28163
28164 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28165
28166 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28167
28168 2007-06-04 Robert Millan <rmh@aybabtu.com>
28169
28170 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28171
28172 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28173 grub_apple_partition_map_fini.
28174
28175 * util/biosdisk.c
28176 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28177 to access >2 TiB disks).
28178
28179 Print disk->total_sectors with %llu instead of %lu, since this
28180 variable is always 64-bit (prevents wrong disk size from being displayed
28181 on either >2 TiB disk or big-endian CPU).
28182
28183 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28184 into a generic case that supports all (sane) partition maps.
28185
28186 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28187 breaks big-endian.
28188
28189 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28190 and grub_apple_partition_map_fini() after that.
28191
28192 2007-06-01 Robert Millan <rmh@aybabtu.com>
28193
28194 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28195
28196 * util/grub.d/00_header.in: Only enable gfxterm when
28197 convert_system_path_to_grub_path() succeeds.
28198
28199 2007-05-20 Robert Millan <rmh@aybabtu.com>
28200
28201 * util/update-grub_lib.in: New file.
28202 * DISTLIST: Add update-grub_lib.in.
28203 * conf/common.rmk: Generate update-grub_lib and install it in
28204 $(lib_DATA).
28205 * Makefile.in: Add install routine for $(lib_DATA).
28206
28207 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28208 function provided by update-grub_lib to support arbitrary paths of
28209 unifont.pff.
28210 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28211 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28212
28213 2007-05-19 Robert Millan <rmh@aybabtu.com>
28214
28215 * commands/i386/cpuid.c: New module.
28216 * DISTLIST: Add it.
28217 * conf/i386-efi.rmk: Enable cpuid.mod.
28218 * conf/i386-pc.rmk: Likewise.
28219
28220 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28221
28222 * kern/disk.c (grub_disk_read): Check return value of
28223 grub_realloc().
28224
28225 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28226
28227 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28228 arrays.
28229 * disk/raid.c (grub_raid_open): Likewise.
28230
28231 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28232
28233 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28234 stack instead of on the heap.
28235
28236 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28237 before doing a read on it.
28238
28239 * configure.ac: Only use -fno-stack-protector for the target
28240 environment.
28241
28242 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28243
28244 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28245 __attribute_ ((unused)) to mode_type argument.
28246
28247 * util/getroot.c (grub_guess_root_device): Fix #endif.
28248
28249 * kern/misc.c (memcmp): Fix prototype.
28250
28251 * include/grub/partition.h [GRUB_UTIL]
28252 (grub_gpt_partition_map_init): Add prototype.
28253 (grub_gpt_partition_map_fini): Likewise.
28254
28255 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28256 at the right place.
28257
28258 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28259 (grub_fat_read_data): Likewise.
28260 (grub_fat_find_dir): Likewise.
28261
28262 * font/manager.c (find_glyph): Make table a const.
28263 (grub_font_get_glyph): Remove bitmap from if statement.
28264
28265 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28266
28267 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28268 code, first search for device in /dev/mapper, then in /dev.
28269 (grub_util_get_grub_dev): New function.
28270 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28271 prototype.
28272 * util/grub-probe.c (probe): Remove check for RAID, call
28273 grub_util_get_grub_dev() instead of
28274 grub_util_biosdisk_get_grub_dev().
28275 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28276 grub_util_biosdisk_get_grub_dev().
28277 * util/i386/pc/grub-setup.c (main): Likewise.
28278
28279 2007-05-16 Robert Millan <rmh@aybabtu.com>
28280
28281 * DISTLIST: Update for the latest changes.
28282 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28283 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28284 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28285 grub/util/biosdisk.h.
28286 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28287 grub/util/biosdisk.h.
28288
28289 2007-05-16 Robert Millan <rmh@aybabtu.com>
28290
28291 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28292
28293 2007-05-16 Robert Millan <rmh@aybabtu.com>
28294
28295 * util/i386/efi/grub-install.in: New.
28296 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28297 newly added grub-install.
28298 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28299 include.
28300 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28301 grub/util/biosdisk.h.
28302 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28303 grub/util/biosdisk.h.
28304
28305 2007-05-16 Robert Millan <rmh@aybabtu.com>
28306
28307 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28308 * include/grub/util/biosdisk.h: ... here.
28309 * util/i386/pc/biosdisk.c: Moved to ...
28310 * util/biosdisk.c: ... here.
28311 * util/i386/pc/getroot.c: Moved to ...
28312 * util/getroot.c: ... here.
28313 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28314 * util/grub-mkdevicemap.c: ... here.
28315 * util/i386/pc/grub-probe.c: Moved to ...
28316 * util/grub-probe.c: ... here.
28317
28318 2007-05-15 Robert Millan <rmh@aybabtu.com>
28319
28320 * util/update-grub.in: Remove duplicated line in grub.cfg header
28321 message.
28322
28323 2007-05-13 Robert Millan <rmh@aybabtu.com>
28324
28325 * util/update-grub.in: Fix a few assumptions about the devices holding
28326 /, /boot and /boot/grub being the same.
28327 * util/grub.d/00_header.in: Likewise.
28328 * util/grub.d/10_hurd.in: Likewise.
28329 * util/grub.d/10_linux.in: Likewise.
28330
28331 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28332 patterns. Use that to define the `.old' suffix as older than `'.
28333
28334 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28335
28336 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28337 the grub.cfg header message.
28338
28339 2007-05-11 Robert Millan <rmh@aybabtu.com>
28340
28341 * util/update-grub.in: Create device.map if it doesn't already exist,
28342 before attempting to run grub-probe.
28343 Check for grub-probe and grub-mkdevicemap with the same code
28344 grub-install is using.
28345 Remove test mode.
28346
28347 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28348
28349 * Makefile.in: Add the datarootdir autoconf variable.
28350
28351 2007-05-09 Robert Millan <rmh@aybabtu.com>
28352
28353 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28354 fail gracefully if dev->disk->partition == NULL.
28355
28356 2007-05-07 Robert Millan <rmh@aybabtu.com>
28357
28358 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28359 determine partition map module.
28360 * util/i386/pc/grub-install.in: Use this feature to decide which
28361 partition module to load, instead of hardcoding pc and gpt.
28362
28363 2007-05-07 Robert Millan <rmh@aybabtu.com>
28364
28365 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28366 source directory differs from build directory.
28367
28368 2007-05-05 Robert Millan <rmh@aybabtu.com>
28369
28370 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28371 initialisation.
28372
28373 2007-05-05 Robert Millan <rmh@aybabtu.com>
28374
28375 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28376
28377 2007-05-05 Robert Millan <rmh@aybabtu.com>
28378
28379 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28380 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28381
28382 2007-05-05 Robert Millan <rmh@aybabtu.com>
28383
28384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28385 (grub_probe_SOURCES): Likewise.
28386 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28387 GPT and initialize dos_part and bsd_part accordingly.
28388 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28389 install_bsd_part.
28390 (main): Activate gpt module for use during partition identification,
28391 and deactivate it afterwards.
28392 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28393 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28394 partition identification, and deactivate it afterwards.
28395
28396 2007-05-05 Robert Millan <rmh@aybabtu.com>
28397
28398 * term/i386/pc/console.c (grub_console_fini): Call
28399 grub_term_set_current() before grub_term_unregister().
28400
28401 2007-05-04 Robert Millan <rmh@aybabtu.com>
28402
28403 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28404 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28405 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28406 and update-grub_DATA.
28407 * conf/common.rmk: Build and install update-grub components.
28408 * conf/common.mk: Regenerate.
28409 * util/update-grub.in: New. Core of update-grub.
28410 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28411 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28412 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28413 * util/grub.d/README: New. Document grub.d directory layout.
28414
28415 2007-05-01 Robert Millan <rmh@aybabtu.com>
28416
28417 * util/grub-emu.c: Move initialization functions
28418 grub_util_biosdisk_init() and grub_init_all() before
28419 grub_util_biosdisk_get_grub_dev(), which relies on them.
28420
28421 2007-04-19 Robert Millan <rmh@aybabtu.com>
28422
28423 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28424 it is used later.
28425
28426 2007-04-18 Jerone Young <jerone@gmail.com>
28427
28428 * kernel/elf.c: Add missing parenthesis for conditional statement
28429 stanza.
28430
28431 2007-04-10 Jerone Young <jerone@gmail.com>
28432
28433 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28434 continue on and look for device node with real device name.
28435
28436 2007-04-10 Jerone Young <jerone@gmail.com>
28437
28438 * configure.ac: Add argument for autoconf to use transformation
28439 ability.
28440 * Makefile.in: Add autoconf package transformation code.
28441 * util/i386/pc/grub-install.in: Likewise.
28442 * util/powerpc/ieee1275/grub-install.in: Likewise.
28443
28444 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28445
28446 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28447 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28448 (EXT2_REVISION): Likewise.
28449 (EXT2_INODE_SIZE): Likewise.
28450 (struct grub_ext2_block_group): Added a missing member
28451 "used_dirs".
28452 (grub_ext2_read_inode): Divide by the inode size in a superblock
28453 instead of 128 to obtain INODES_PER_BLOCK.
28454 Use the macro EXT2_INODE_SIZE instead of directly using
28455 SBLOCK->INODE_SIZE.
28456
28457 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28458
28459 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28460 superblock instead of the structure size to compute an
28461 offset. This fixes the problem that GRUB could not read a
28462 filesystem when inode size is different from 128-byte.
28463
28464 2007-03-05 Marco Gerards <marco@gnu.org>
28465
28466 * normal/main.c (read_config_file): When "menu" is not set, create
28467 an initial context.
28468
28469 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28470
28471 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28472 (HEAP_LIMIT): New macro.
28473 (grub_claim_heap): Claim memory up to `heaplimit'.
28474
28475 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28476
28477 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28478 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28479 (_start): Likewise.
28480 (grub_arch_modules_addr): Return address after `_end'.
28481 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28482 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28483 (add_segments): Calculate `_end' from phdr size and location.
28484 (ALIGN_UP): Moved to ...
28485 * include/grub/misc.h: here.
28486 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28487 New macro.
28488 (GRUB_IEEE1275_MODULE_BASE): Removed.
28489
28490 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28491
28492 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28493 loop boundary.
28494
28495 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28496
28497 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28498 All users updated.
28499 (grub_elf64_load_hook_t): Likewise.
28500 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28501 debug output.
28502
28503 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28504
28505 * kern/mm.c: Update copyright.
28506 (grub_mm_debug): Correct syntax error.
28507 (grub_mm_dump_free): New function.
28508 (grub_debug_free): Call `grub_free'.
28509 * include/grub/mm.h: Update copyright.
28510 (grub_mm_dump_free): Add declaration.
28511
28512 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28513
28514 * include/grub/ieee1275/ieee1275.h: Update copyright.
28515 * kern/powerpc/ieee1275/init.c: Likewise.
28516 * kern/powerpc/ieee1275/openfw.c: Likewise.
28517
28518 * loader/powerpc/ieee1275/linux.c: Likewise.
28519 * include/grub/elfload.h: Likewise.
28520 * kern/elf.c: Likewise.
28521 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28522 callers.
28523 (grub_elf64_load): Likewise.
28524 (grub_elf32_load_segment): Move to a nested function.
28525 (grub_elf64_load_segment): Likewise.
28526
28527 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28528
28529 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28530 prototype.
28531 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28532 (grub_heap_len): Likewise.
28533 (HEAP_SIZE): New macro.
28534 (grub_claim_heap): New function.
28535 (grub_machine_init): Don't claim heap directly. Call
28536 `grub_claim_heap'.
28537 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28538 (grub_available_iterate): New function.
28539
28540 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28541
28542 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28543 * configure.ac: Use it for testing the HOST and TARGET compilers.
28544
28545 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28546
28547 * Makefile.in (enable_grub_emu): New variable.
28548 * configure.ac (--enable-grub-emu): New option.
28549 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28550 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28551 * conf/i386-pc.rmk: Likewise.
28552 * conf/powerpc-ieee1275.rmk: Likewise.
28553 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28554
28555 2006-12-12 Marco Gerards <marco@gnu.org>
28556
28557 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28558
28559 * kern/env.c (grub_env_unset): Don't free the member `value' when
28560 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28561 pointer.
28562
28563 * normal/main.c (current_menu): Removed.
28564 (free_menu): Unset the `menu' environment variable.
28565 (grub_normal_menu_addentry): Make use of the environment variable
28566 `menu', instead of using the global `current_menu'. Allocate
28567 memory for the sourcecode of this entry.
28568 (read_config_file): New argument `nested', changed all callers.
28569 Only in the case of a new context, initialize a new menu. Set the
28570 `menu' environment variable.
28571 (grub_normal_execute): Don't set and unset the environment
28572 variable `menu' here anymore. Only free the menu when leaving the
28573 context.
28574
28575 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28576 leak.
28577
28578 2006-12-11 Marco Gerards <marco@gnu.org>
28579
28580 * normal/menu_entry.c (run): Fix off by one bug so the last line
28581 is executed. Move the loader check to outside the loop.
28582
28583 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28584
28585 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28586
28587 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28588
28589 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28590 the number of sectors. Reported by Andrey Shuvikov
28591 <mr_hyro@yahoo.com>.
28592
28593 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28594
28595 * kern/disk.c (grub_disk_read): When there is a read error, always
28596 try to read only the necessary data.
28597
28598 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28599 disk/raid.c.
28600 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28601 prototype.
28602 [GRUB_UTIL] (grub_raid_fini): Likewise.
28603 [GRUB_UTIL] (grub_lvm_init): Likewise.
28604 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28605 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28606 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28607 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28608 and grub_raid_fini().
28609
28610 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28611
28612 * include/grub/types.h (__unused): Rename to UNUSED.
28613 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28614 (grub_elf64_size): Likewise.
28615
28616 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28617
28618 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28619 grub_error_push and grub_error_pop in the error-handling path.
28620 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28621 length.
28622
28623 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28624
28625 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28626 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28628 (kernel_elf_SOURCES): Likewise.
28629 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28630 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28631 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28632 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28633 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28634 (elf_mod_SOURCES): New variable.
28635 (elf_mod_CFLAGS): Likewise.
28636 (elf_mod_LDFLAGS): Likewise.
28637 * include/grub/types.h (__unused): New macro.
28638 * include/grub/elfload.h: New file.
28639 * kern/elf.c: Likewise.
28640 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28641 (ELF32_LOADMASK): New macro.
28642 (ELF64_LOADMASK): Likewise.
28643 (vmlinux): Removed.
28644 (grub_linux_load32): New function.
28645 (grub_linux_load64): Likewise.
28646 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28647 Use grub_elf_t instead of grub_file_t.
28648
28649 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28650
28651 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28652 `catch_result' to struct set_color_args.
28653
28654 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28655
28656 * normal/menu.c: Include grub/script.h.
28657 * normal/menu_entry.c: Likewise.
28658 * include/grub/normal.h: Do not include grub/script.h.
28659
28660 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28661
28662 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28663
28664 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28665
28666 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28667 disk.
28668 (grub_disk_close): Print debug messages when closing a disk.
28669 (grub_disk_read): Print debug messages when disk read fails.
28670 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28671 filesystem type.
28672 * kern/partition.c: Include misc.h.
28673 (grub_partition_iterate): Print debug messages when detecting
28674 partition type.
28675
28676 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28677
28678 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28679 is negative.
28680 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28681
28682 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28683
28684 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28685 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28686
28687 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28688
28689 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28690 instead of sizeof(lv). Patch by Michael Guntsche.
28691
28692 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28693
28694 * disk/lvm.c: Rename VGS to VG_LIST.
28695 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28696 (grub_lvm_open): Likewise.
28697 Thanks to Michael Guntsche for finding this bug.
28698
28699 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28700
28701 * configure.ac (AC_INIT): Bumped to 1.95.
28702
28703 2006-10-14 Robert Millan <rmh@aybabtu.com>
28704
28705 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28706 with "/dev/.static/dev/md".
28707
28708 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28709
28710 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28711 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28712 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28713 DRIVE_NAME are always freed.
28714
28715 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28716 DOS_PART, as a DOS partition is counted from one instead of zero
28717 now. Reported by Robert Millan.
28718
28719 2006-10-14 Robert Millan <rmh@aybabtu.com>
28720
28721 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28722 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28723 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28724 string returned by grub_guess_root_device.
28725 * util/i386/pc/grub-setup.c: Likewise.
28726 * util/i386/pc/grub-probefs.c: Likewise.
28727
28728 * util/i386/pc/grub-probefs.c: Rename to ...
28729 * util/i386/pc/grub-probe.c: ... this.
28730 * DISTLIST: Remove grub-probefs, add grub-probe.
28731 * conf/i386-efi.rmk: Likewise.
28732 * conf/i386-pc.rmk: Likewise.
28733 * util/i386/pc/grub-install.in: Likewise.
28734
28735 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28736 choose which information we want to print.
28737
28738 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28739
28740 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28741 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28742 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28743 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28744 video/readers/tga.c and video/i386/pc/vbeutil.c.
28745
28746 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28747
28748 Added support for RAID and LVM.
28749
28750 * disk/lvm.c: New file.
28751 * disk/raid.c: Likewise.
28752 * include/grub/lvm.h: Likewise.
28753 * include/grub/raid.h: Likewise.
28754 * include/grub/util/lvm.h: Likewise.
28755 * include/grub/util/raid.h: Likewise.
28756 * util/lvm.c: Likewise.
28757 * util/raid.c: Likewise.
28758
28759 * include/grub/disk.h (grub_disk_dev_id): Add
28760 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28761 (grub_disk_get_size): New prototype.
28762 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28763 returns a partition.
28764 (grub_disk_get_size): New function.
28765
28766 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28767 verbatim if grub_install_dos_part is -2.
28768
28769 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28770 and LVM devices.
28771
28772 * util/i386/pc/grub-setup.c (setup): New argument
28773 MUST_EMBED. Force embedding of GRUB when the argument is
28774 true. Close FILE before returning.
28775 (main): Add support for RAID and LVM.
28776
28777 * conf/common.rmk: Add RAID and LVM modules.
28778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28779 util/lvm.c.
28780 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28781
28782 * kern/misc.c (grub_strstr): New function.
28783 * include/grub/misc.h (grub_strstr): New prototype.
28784
28785 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28786
28787 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28788
28789 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28790
28791 * kern/misc.c (grub_strtoull): Guess the base only if not
28792 specified.
28793
28794 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28795
28796 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28797 PowerMac support.
28798
28799 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28800
28801 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28802
28803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28804 Remove `flags' argument. All callers changed.
28805 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28806 (IEEE1275_IHANDLE_INVALID): New variable.
28807 (IEEE1275_CELL_INVALID): New variable.
28808 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28809 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28810 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28811 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28812 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28813 codes from Open Firmware. All callers updated.
28814 (grub_ieee1275_next_property): Directly return Open Firmware return
28815 code.
28816 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28817 Standardize error checking from `grub_ieee1275_get_property'.
28818 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28819 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28820
28821 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28822
28823 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28824 `instance_to_package_args' to `instance_to_path_args'.
28825
28826 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28827 `grub_ieee1275_chosen'.
28828
28829 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28830 `grub_ieee1275_interpret'.
28831
28832 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28833
28834 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28835
28836 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28837
28838 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28839 (__cmpdi): Likewise.
28840
28841 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28842 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28843 `grub_ssize_t'.
28844
28845 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28846
28847 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28848 to type `grub_ssize_t'.
28849 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28850
28851 2006-09-22 Marco Gerards <marco@gnu.org>
28852
28853 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28854 newlines.
28855
28856 2006-09-22 Marco Gerards <marco@gnu.org>
28857
28858 * commands/echo.c: New file.
28859
28860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28861
28862 * conf/common.rmk (echo_mod_SOURCES): New variable.
28863 (echo_mod_CFLAGS): Likewise.
28864 (echo_mod_LDFLAGS): Likewise.
28865
28866 2006-09-22 Marco Gerards <marco@gnu.org>
28867
28868 * normal/main.c (get_line): Malloc memory instead of using
28869 preallocated memory. Removed the arguments `cmdline' and
28870 `max_len'. Updated all callers.
28871
28872 2006-09-22 Marco Gerards <marco@gnu.org>
28873
28874 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28875 (normal_mod_DEPENDENCIES): Likewise.
28876
28877 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28878 (normal_mod_DEPENDENCIES): Likewise.
28879
28880 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28881
28882 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28883
28884 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28885 programs.
28886 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28887 (normal_mod_DEPENDENCIES): Likewise.
28888 * conf/i386-pc.mk: Regenerate.
28889 * conf/i386-efi.mk: Likewise
28890 * conf/common.mk: Likewise.
28891 * conf/powerpc-ieee1275.mk: Likewise.
28892 * conf/sparc64-ieee1275.mk: Likewise.
28893
28894 2006-09-22 Robert Millan <rmh@aybabtu.com>
28895
28896 Sync with i386 version.
28897 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28898 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28899
28900 2006-09-21 Robert Millan <rmh@aybabtu.com>
28901
28902 Import from GRUB Legacy (lib/device.c):
28903 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28904 (init_device_map) [__linux__]: Add support for I2O devices.
28905
28906 2006-09-14 Marco Gerards <marco@gnu.org>
28907
28908 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28909 `-melf_i386'.
28910
28911 2006-09-14 Robert Millan <rmh@aybabtu.com>
28912
28913 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28914 /boot/grub/*.lst.
28915
28916 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28917
28918 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28919 before adding it to device.map.
28920
28921 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28922
28923 * genmk.rb: Let GCC generate dependencies the first time it
28924 compiles a file; using the -MD option.
28925 * conf/common.mk: Regenerate.
28926 * conf/i386-pc.mk: Likewise.
28927 * conf/i386-efi.mk: Likewise.
28928 * conf/powerpc-ieee1275.mk: Likewise.
28929 * conf/sparc64-ieee1275.mk: Likewise.
28930
28931 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28932
28933 Move the prototypes of grub_setjmp and grub_longjmp to
28934 cpu/setjmp.h, so that each architecture may specify different
28935 attributes.
28936
28937 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28938 (grub_longjmp): Likewise.
28939 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28940 (grub_longjmp): Likewise.
28941 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28942 (grub_longjmp): Likewise.
28943
28944 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28945 [!GRUB_UTIL] (grub_longjmp): Removed.
28946
28947 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28948
28949 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28950 "color!" method does not return any value.
28951
28952 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28953
28954 * include/grub/bitmap.h: New file.
28955
28956 * include/grub/i386/pc/vbeutil.h: Likewise.
28957
28958 * video/bitmap.c: Likewise.
28959
28960 * video/readers/tga.c: Likewise.
28961
28962 * video/i386/pc/vbeutil.c: Likewise.
28963
28964 * commands/videotest.c: Code cleanup and updated to reflect to new
28965 video API.
28966
28967 * term/gfxterm.c: Likewise.
28968
28969 * video/video.c: Likewise.
28970
28971 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28972 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28973 (bitmap_mod_SOURCES): New entry.
28974 (bitmap_mod_CFLAGS): Likewise.
28975 (bitmap_mod_LDFLAGS): Likewise.
28976 (tga_mod_SOURCES): Likewise.
28977 (tga_mod_CFLAGS): Likewise.
28978 (tga_mod_LDFLAGS): Likewise.
28979
28980 * include/grub/video.h (grub_video_blit_operators): New enum type.
28981 (grub_video_render_target): Changed as forward declaration and moved
28982 actual definition to be video driver specific.
28983 (grub_video_adapter.blit_bitmap): Added blitting operator.
28984 (grub_video_adapter.blit_render_target): Likewise.
28985 (grub_video_blit_bitmap): Likewise.
28986 (grub_video_blit_render_target): Likewise.
28987
28988 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28989 driver specific render target definition.
28990 (grub_video_vbe_map_rgba): Added driver internal helper.
28991 (grub_video_vbe_unmap_color): Updated to use
28992 grub_video_i386_vbeblit_info.
28993 (grub_video_vbe_get_video_ptr): Likewise.
28994
28995 * include/grub/i386/pc/vbeblit.h
28996 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28997 grub_video_i386_vbeblit_info.
28998 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28999 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29000 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29001 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29002 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29003 (grub_video_i386_vbeblit_index_index): Likewise.
29004 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29005 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29006 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29007 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29008 operator.
29009 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29010 operator.
29011
29012 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29013 include/grub/i386/pc/vbeblit.h.
29014
29015 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29016 Updated to use grub_video_i386_vbeblit_info.
29017 (grub_video_i386_vbefill_R8G8B8): Likewise.
29018 (grub_video_i386_vbefill_index): Likewise.
29019 (grub_video_i386_vbefill): Added generic filler.
29020
29021 * video/i386/pc/vbefill.c: Updated to reflect changes on
29022 include/grub/i386/pc/vbefill.h.
29023
29024 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29025 grub_video_i386_vbeblit_info.
29026 (grub_video_vbe_unmap_color): Likewise.
29027 (grub_video_vbe_blit_glyph): Likewise.
29028 (grub_video_vbe_scroll): Likewise.
29029 (grub_video_vbe_draw_pixel): Removed function.
29030 (grub_video_vbe_get_pixel): Likewise.
29031 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29032 updated code to use it.
29033 (common_blitter): Added common blitter for render target and bitmap.
29034 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29035 (grub_video_vbe_blit_render_target): Likewise.
29036
29037 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
29038
29039 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29040 is in text mode if there is no console control protocol instance
29041 available.
29042
29043 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29044
29045 * include/grub/video.h: Code cleanup.
29046
29047 * include/grub/i386/pc/vbe.h: Likewise.
29048
29049 * video/i386/pc/vbe.c: Likewise.
29050
29051 * video/i386/pc/vbeblit.c: Likewise.
29052
29053 * video/i386/pc/vbefill.c: Likewise.
29054
29055 * video/video.c: Likewise. Also added more comments.
29056
29057 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29058
29059 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29060 (struct grub_biosdisk_dap): Likewise.
29061
29062 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29063 linkage settings for all functions.
29064
29065 2006-07-12 Marco Gerards <marco@gnu.org>
29066
29067 * configure.ac (--enable-mm-debug): Fix typo.
29068
29069 * genkernsyms.sh.in: Use proper quoting for `CC'.
29070
29071 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29072
29073 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29074 (normal_mod_ASFLAGS): Remove "-m32".
29075
29076 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29077
29078 * util/misc.c: Include config.h.
29079 [!HAVE_MEMALIGN]: Do not include malloc.h.
29080 (grub_memalign): Use posix_memalign, if present. Then, use
29081 memalign, if present. Otherwise, emit an error.
29082
29083 * util/grub-emu.c: Do not include malloc.h.
29084
29085 * include/grub/util/misc.h: Include unistd.h. This is required for
29086 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29087 D. Eades III <hde@foobar-qux.org>.
29088
29089 * configure.ac (AC_GNU_SOURCE): Added.
29090 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29091 type.
29092
29093 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29094
29095 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29096 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29097
29098 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29099
29100 * include/grub/types.h (grub_host_addr_t): Rename to
29101 grub_target_addr_t.
29102 (grub_host_off_t): Rename to grub_target_off_t.
29103 (grub_host_size_t): Rename to grub_target_size_t.
29104 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29105 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29106
29107 * include/grub/kernel.h (struct grub_module_header): Change type
29108 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29109 (grub_module_info): Likewise.
29110
29111 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29112
29113 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29114 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29115 Velazquez <jesus.velazquez@gmail.com>.
29116
29117 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29118
29119 Count partitions from 1 instead of 0 in the string representation
29120 of partitions. Still use 0-based internally.
29121
29122 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29123 (sun_partition_map_iterate): Use grub_partition_t instead of
29124 struct grub_partition *. Cast DESC->START_CYLINDER to
29125 grub_uint64_t after converting the endian.
29126 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29127 (sun_partition_map_get_name): Add 1 to P->INDEX.
29128
29129 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29130 PCDATA->DOS_PART.
29131 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29132
29133 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29134 zero instead of one.
29135 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29136 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29137
29138 * partmap/apple.c (apple_partition_map_iterate): Change the type
29139 of POS to unsigned.
29140 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29141 (apple_partition_map_get_name): Add 1 into P->INDEX.
29142
29143 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29144 of POS to unsigned.
29145 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29146 calculate the offset of a partition.
29147 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29148 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29149
29150 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29151 SECTOR to grub_disk_addr_t.
29152 (acorn_partition_map_iterate): Likewise.
29153 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29154 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29155 top.
29156 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29157
29158 * kern/i386/pc/init.c (make_install_device): Add 1 into
29159 GRUB_INSTALL_DOS_PART.
29160
29161 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29162 conditional.
29163
29164 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29165
29166 Clean up the code to support 64-bit addressing in disks and
29167 files. This change is not enough for filesystems yet.
29168
29169 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29170 type of "start" to grub_uint64_t.
29171 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29172 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29173 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29174 convert addresses.
29175
29176 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29177 to grub_disk_addr_t.
29178
29179 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29180 string.
29181
29182 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29183
29184 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29185 to char *.
29186
29187 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29188
29189 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29190
29191 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29192
29193 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29194 to grub_off_t, to detect an error from grub_file_seek.
29195 (grub_multiboot_load_elf32): Likewise.
29196
29197 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29198 maximum unsigned long value when an overflow is detected.
29199 (grub_strtoull): New function.
29200 (grub_divmod64): Likewise.
29201 (grub_lltoa): use grub_divmod64.
29202
29203 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29204 grub_disk_addr_t.
29205 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29206 the pointer to next character. Use grub_strtoull instead of
29207 grub_strtoul.
29208 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29209 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29210 respectively.
29211
29212 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29213 return value is signed.
29214 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29215 test if OFFSET is less than zero, as OFFSET is unsigned now.
29216
29217 * kern/disk.c (struct grub_disk_cache): Change the type of
29218 "sector" to grub_disk_addr_t.
29219 (grub_disk_cache_get_index): Change the type of SECTOR to
29220 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29221 unsigned after shifting.
29222 (grub_disk_cache_invalidate): Change the type of SECTOR to
29223 grub_disk_addr_t.
29224 (grub_disk_cache_unlock): Likewise.
29225 (grub_disk_cache_store): Likewise.
29226 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29227 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29228 grub_disk_addr_t and grub_uint64_t, respectively.
29229 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29230 body, as the value of OFFSET is tweaked by
29231 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29232 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29233 respectively.
29234 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29235 body, as the value of OFFSET is tweaked by
29236 grub_disk_check_range. Change the types of LEN and N to
29237 grub_size_t.
29238
29239 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29240 and "saved_offset" to grub_off_t.
29241 (test_header): Cast BUF to char *.
29242 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29243 to char *.
29244 (grub_gzio_read): Change the types of OFFSET and SIZE to
29245 grub_off_t and grub_size_t, respectively.
29246
29247 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29248 Removed.
29249 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29250 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29251 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29252 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29253 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29254
29255 * include/grub/types.h (grub_off_t): Unconditionally set to
29256 grub_uint64_t.
29257 (grub_disk_addr_t): Changed to grub_uint64_t.
29258
29259 * include/grub/partition.h (struct grub_partition): Change the
29260 types of "start", "len" and "offset" to grub_disk_addr_t,
29261 grub_uint64_t and grub_disk_addr_t, respectively.
29262 (grub_partition_get_start): Return grub_disk_addr_t.
29263 (grub_partition_get_len): Return grub_uint64_t.
29264
29265 * include/grub/misc.h (grub_strtoull): New prototype.
29266 (grub_divmod64): Likewise.
29267
29268 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29269 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29270 grub_off_t, respectively.
29271 All callers and references changed.
29272
29273 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29274 grub_size_t in "read".
29275 All callers and references changed.
29276
29277 * include/grub/file.h (struct grub_file): Change the types of
29278 "offset" and "size" to grub_off_t and grub_off_t,
29279 respectively. Change the type of SECTOR to grub_disk_addr_t in
29280 "read_hook".
29281 (grub_file_read): Change the type of LEN to grub_size_t.
29282 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29283 grub_off_t.
29284 (grub_file_size): Return grub_off_t.
29285 (grub_file_tell): Likewise.
29286 All callers and references changed.
29287
29288 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29289 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29290 "write".
29291 (struct grub_disk): Change the type of "total_sectors" to
29292 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29293 "read_hook".
29294 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29295 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29296 (grub_disk_write): Likewise.
29297 All callers and references changed.
29298
29299 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29300 char * for grub_strncmp to silence gcc.
29301 (grub_iso9660_mount): Likewise.
29302 (grub_iso9660_mount): Likewise.
29303 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29304 return statement.
29305 (grub_iso9660_iterate_dir): Likewise.
29306 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29307
29308 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29309 LEN to grub_disk_addr_t and grub_size_t, respectively.
29310
29311 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29312
29313 * fs/jfs.c (grub_jfs_read_file): Likewise.
29314
29315 * fs/minix.c (grub_jfs_read_file): Likewise.
29316
29317 * fs/sfs.c (grub_jfs_read_file): Likewise.
29318
29319 * fs/ufs.c (grub_jfs_read_file): Likewise.
29320
29321 * fs/xfs.c (grub_jfs_read_file): Likewise.
29322
29323 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29324 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29325 respectively.
29326
29327 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29328 BLKNR to -1 instead of returning GRUB_ERRNO.
29329 (grub_ext2_read_file): Change the types of SECTOR and
29330 LEN to grub_disk_addr_t and grub_size_t, respectively.
29331
29332 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29333 LEN to grub_disk_addr_t and grub_size_t, respectively.
29334
29335 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29336 grub_file_read.
29337
29338 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29339 string. Do not cast SECTOR explicitly.
29340
29341 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29342 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29343 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29344 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29345 over 2TB and LBA mode is not supported, raise an error.
29346 (get_safe_sectors): New function.
29347 (grub_biosdisk_read): Use get_safe_sectors.
29348 (grub_biosdisk_write): Likewise.
29349
29350 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29351 (grub_efidisk_write): Likewise.
29352
29353 * disk/loopback.c (delete_loopback): Cosmetic changes.
29354 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29355 correctly.
29356 (grub_loopback_open): Likewise.
29357 (grub_loopback_read): Likewise. Also, change the type of POS to
29358 grub_off_t, and fix the usage of grub_memset.
29359
29360 * commands/i386/pc/play.c: Include grub/machine/time.h.
29361
29362 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29363 print FILE->SIZE.
29364
29365 * commands/configfile.c: Include grub/env.h.
29366
29367 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29368 GRUB_ERRNO directly instead. Change the type of POS to
29369 grub_off_t. Follow the coding standard.
29370
29371 * commands/blocklist.c: Include grub/partition.h.
29372 (grub_cmd_blocklist): Return an error if the underlying device is
29373 not a disk. Take the starting sector of a partition into account,
29374 if a partition is used.
29375
29376 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29377 a length field.
29378 (lba_mode): Support 64-bit addresses.
29379 (chs_mode): Likewise.
29380 (copy_buffer): Adapted to the new offsets of a length field and a
29381 segment field.
29382 (blocklist_default_start): Allocate 64-bit space.
29383
29384 * boot/i386/pc/boot.S (force_lba): Removed.
29385 (boot_drive): Moved to under KERNEL_SECTOR.
29386 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29387 space.
29388 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29389 is useless.
29390 (lba_mode): Refactored to support a 64-bit address. More size
29391 optimization.
29392 (setup_sectors): Likewise.
29393
29394 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29395
29396 * DISTLIST: Added include/grub/i386/linux.h. Removed
29397 include/grub/i386/pc/linux.h
29398
29399 * configure.ac (AC_INIT): Bumped to 1.94.
29400
29401 * config.guess: Updated from gnulib.
29402 * config.sub: Likewise.
29403 * install-sh: Likewise.
29404 * mkinstalldirs: Likewise.
29405
29406 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29407
29408 * conf/common.rmk (grub_modules_init.lst): Depended on
29409 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29410 MODSRCFILES.
29411
29412 * genmk.rb (PModule::rule): Reverted the previous change.
29413
29414 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29415
29416 * conf/common.rmk (grub_modules_init.lst): Depends on
29417 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29418 that the target does not exist before producing.
29419 (grub_modules_init.h): Remove the target before generating.
29420 (grub_emu_init.c): Likewise.
29421
29422 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29423
29424 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29425
29426 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29427 for the target-specific tests. Make sure that we also have the
29428 up-to-date target variables for those tests.
29429
29430 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29431
29432 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29433 (PModule::rule): Likewise.
29434
29435 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29436
29437 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29438 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29439 target-specific flags should be prefixed.
29440 (PModule::rule): Likewise.
29441
29442 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29443
29444 * configure.ac (CMP): Check if cmp is available explicitly.
29445
29446 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29447
29448 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29449 (target_cpu): New variable.
29450 (pkglibdir): Use target_cpu instead of host_cpu.
29451
29452 * util/i386/pc/grub-install.in (host_cpu): Removed.
29453 (target_cpu): New variable.
29454 (pkglibdir): Use target_cpu instead of host_cpu.
29455
29456 * util/genmoddep.c: Removed.
29457
29458 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29459 instead of GRUB_HOST_SIZEOF_VOID_P.
29460 * kern/dl.c: Likewise.
29461
29462 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29463 ...
29464 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29465 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29466 (GRUB_TARGET_SIZEOF_LONG): ... this.
29467 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29468 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29469 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29470 to ...
29471 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29472 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29473 (GRUB_TARGET_SIZEOF_LONG): ... this.
29474 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29475 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29476 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29477 to ...
29478 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29479 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29480 (GRUB_TARGET_SIZEOF_LONG): ... this.
29481 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29482 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29483
29484 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29485 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29486 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29487 instead of GRUB_HOST_SIZEOF_LONG.
29488 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29489 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29490 GRUB_CPU_WORDS_BIGENDIAN.
29491 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29492 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29493 grub_host_ssize_t.
29494
29495 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29496 (genmoddep_SOURCES): Likewise.
29497 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29498 (genmoddep_SOURCES): Likewise.
29499 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29500 (genmoddep_SOURCES): Likewise.
29501 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29502 Likewise.
29503 (genmoddep_SOURCES): Likewise.
29504
29505 * genmoddep.awk: New file.
29506
29507 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29508 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29509 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29510 (PModule::rule): Likewise.
29511 (Program::rule): Likewise.
29512 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29513 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29514 respectively.
29515
29516 * configure.ac: Rewritten intensively to use host and target
29517 instead of build and host, respectively.
29518
29519 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29520 (host_cpu): Removed.
29521 (target_cpu): New variable.
29522 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29523 (BUILD_CC): Removed.
29524 (BUILD_CFLAGS): Likewise.
29525 (BUILD_CPPFLAGS): Likewise.
29526 (TARGET_CC): New variable.
29527 (TARGET_CFLAGS): Likewise.
29528 (TARGET_CPPFLAGS): Likewise.
29529 (TARGET_LDFLAGS): Likewise.
29530 (AWK): Likewise.
29531 (include): Use target_cpu instead of host_cpu.
29532 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29533
29534 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29535
29536 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29537
29538 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29539 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29540 field 'false' to 'exec_on_false'.
29541 (grub_script_create_cmdif): Renamed argument names to reflect above
29542 changes.
29543
29544 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29545
29546 * normal/script.c (grub_script_create_cmdif): Likewise.
29547
29548 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29549
29550 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29551 top.
29552 (grub_hfsplus_btree_recptr): Likewise.
29553 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29554 FILEBLOCK both to pass a block number and store next block
29555 number.
29556 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29557 overflow file correctly. Specify errors appropriately, because
29558 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29559 grub_hfsplus_btree_recptr to get the pointer to a found key.
29560 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29561 is found.
29562
29563 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29564 linux.mod.
29565 (_linux_mod_SOURCES): New variable.
29566 (_linux_mod_CFLAGS): Likewise.
29567 (_linux_mod_LDFLAGS): Likewise.
29568 (linux_mod_SOURCES): Likewise.
29569 (linux_mod_CFLAGS): Likewise.
29570 (linux_mod_LDFLAGS): Likewise.
29571
29572 * DISTLIST: Added loader/i386/efi/linux.c,
29573 loader/i386/efi/linux_normal.c and
29574 include/grub/i386/efi/loader.h.
29575
29576 * loader/i386/efi/linux.c: New file.
29577 * loader/i386/efi/linux_normal.c: Likewise.
29578 * include/grub/i386/efi/loader.h: Likewise.
29579
29580 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29581
29582 * commands/blocklist.c: New file.
29583
29584 * DISTLIST: Added commands/blocklist.c.
29585
29586 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29587 color for the background, and a darker color for the foreground.
29588 (grub_console_checkkey): Return READ_KEY.
29589 (grub_console_cls): Set the background to
29590 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29591
29592 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29593
29594 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29595 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29596
29597 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29598 prototype.
29599
29600 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29601 BG. The spec is wrong again.
29602
29603 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29604 prototype.
29605 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29606
29607 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29608 commands/blocklist.c.
29609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29610
29611 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29612 (blocklist_mod_SOURCES): New variable.
29613 (blocklist_mod_CFLAGS): Likewise.
29614 (blocklist_mod_LDFLAGS): Likewise.
29615
29616 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29617
29618 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29619 duplication.
29620 (lba_mode): Use %eax more intensively to reduce the code size.
29621
29622 2006-05-20 Marco Gerards <marco@gnu.org>
29623
29624 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29625
29626 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29627 for `menuentry'.
29628 (script): Accept leading newlines.
29629 (newlines): New rule to describe 0 or more newlines.
29630 (commands): Accept `command' with trailing newline. Fixed the
29631 order in which arguments were passed to `grub_script_add_cmd'.
29632 Accept commands separated by newlines.
29633 (function): Changed to accept newlines.
29634 (menuentry) Rewritten.
29635
29636 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29637 front of the list, instead of to the end.
29638
29639 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29640
29641 * util/i386/pc/grub-install.in (bindir): New variable.
29642 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29643 Shaver <lbgwjl@gmail.com>.
29644
29645 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29646
29647 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29648 grub/machine/linux.h
29649 * loader/i386/pc/linux.c: Likewise.
29650
29651 * include/grub/i386/pc/linux.h: Moved to ...
29652 * include/grub/i386/linux.h: ... here.
29653
29654 * include/grub/i386/linux.h (struct linux_kernel_params): New
29655 struct.
29656
29657 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29658
29659 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29660 checking.
29661 (grub_video_vbe_blit_glyph): Likewise.
29662 (grub_video_vbe_blit_bitmap): Likewise.
29663 (grub_video_vbe_blit_render_target): Likewise.
29664
29665 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29666
29667 * configure.ac (--with-platform): Properly quote the square
29668 brackets.
29669
29670 2006-05-08 Marco Gerards <marco@gnu.org>
29671
29672 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29673 this...
29674 (kernel_elf_HEADERS): ...to this. Updated all users.
29675 (grubof_symlist.c): Renamed from this...
29676 (kernel_elf_symlist.c): ...to this. Updated all users.
29677 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29678 (grubof_SOURCES): Renamed from this...
29679 (kernel_elf_SOURCES): ...to this.
29680 (grubof_HEADERS): Renamed from this...
29681 (kernel_elf_HEADERS): ...to this.
29682 (grubof_CFLAGS): Renamed from this...
29683 (kernel_elf_CFLAGS): ...to this.
29684 (grubof_ASFLAGS): Renamed from this...
29685 (kernel_elf_ASFLAGS): ...to this.
29686 (grubof_LDFLAGS): Renamed from this...
29687 (kernel_elf_LDFLAGS): ...to this.
29688
29689 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29690 this...
29691 (kernel_elf_HEADERS): ...to this. Updated all users.
29692 (grubof_symlist.c): Renamed from this...
29693 (kernel_elf_symlist.c): ...to this. Updated all users.
29694 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29695 (grubof_SOURCES): Renamed from this...
29696 (kernel_elf_SOURCES): ...to this.
29697 (grubof_HEADERS): Renamed from this...
29698 (kernel_elf_HEADERS): ...to this.
29699 (grubof_CFLAGS): Renamed from this...
29700 (kernel_elf_CFLAGS): ...to this.
29701 (grubof_ASFLAGS): Renamed from this...
29702 (kernel_elf_ASFLAGS): ...to this.
29703 (grubof_LDFLAGS): Renamed from this...
29704 (kernel_elf_LDFLAGS): ...to this.
29705
29706 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29707 `kernel.elf' instead of `grubof'.
29708
29709 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29710
29711 Add --with-platform to configure. Use pkglibdir instead of
29712 pkgdatadir. This is reported by Roger Leigh.
29713
29714 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29715 (host_vendor): Likewise.
29716 (host_os): Likewise.
29717 (pkgdatadir): Likewise.
29718 (platform): New variable.
29719 (pkglibdir): Likewise.
29720 Use PKGLIBDIR instead of PKGDATADIR.
29721
29722 * util/i386/pc/grub-install.in (datadir): Removed.
29723 (host_vendor): Likewise.
29724 (host_os): Likewise.
29725 (pkgdatadir): Likewise.
29726 (platform): New variable.
29727 (pkglibdir): Likewise.
29728 Use PKGLIBDIR instead of PKGDATADIR.
29729
29730 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29731 instead of GRUB_DATADIR.
29732 (main): Likewise.
29733 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29734 (main): Likewise.
29735 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29736 (main): Likewise.
29737
29738 * configure.ac (--with-platform): New option.
29739 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29740
29741 * Makefile.in: Include a makefile based on PLATFORM instead of
29742 HOST_VENDOR.
29743 (pkgdatadir): Not appended by the machine type.
29744 (pkglibdir): Appended by the machine type.
29745 (host_vendor): Removed.
29746 (platform): New variable.
29747 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29748 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29749 (uninstall): Likewise.
29750
29751 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29752
29753 Use the environment context in the menu. Remove the commands
29754 "default" and "timeout", and use variables instead.
29755
29756 * normal/menu.c: Include grub/env.h.
29757 (print_entry): Cast TITLE to silence gcc.
29758 (get_timeout): New function.
29759 (set_timeout): Likewise.
29760 (get_entry_number): Likewise.
29761 (run_menu): Use a default entry, a fallback entry and a timeout
29762 in the environment variables "default", "fallback" and
29763 "timeout". Also, tweak the default entry if it is not within the
29764 current menu entries.
29765 (grub_menu_run): Use a fallback entry in the environment variable
29766 "fallback".
29767
29768 * normal/main.c (read_config_file): Do not initialize
29769 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29770 NEWMENU->TIMEOUT.
29771 (grub_normal_execute): Use a data slot to store the menu.
29772
29773 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29774 fallback_entry and timeout.
29775 (struct grub_menu_list): Removed.
29776 (grub_menu_list_t): Likewise.
29777 (struct grub_context): Likewise.
29778 (grub_context_t): Likewise.
29779 (grub_context_get): Likewise.
29780 (grub_context_get_current_menu): Likewise.
29781 (grub_context_push_menu): Likewise.
29782 (grub_context_pop_menu): Likewise.
29783 (grub_default_init): Likewise.
29784 (grub_default_fini): Likewise.
29785 (grub_timeout_init): Likewise.
29786 (grub_timeout_fini): Likewise.
29787
29788 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29789 and timeout.mod.
29790 (normal_mod_SOURCES): Removed normal/context.c.
29791
29792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29793 commands/default.c, commands/timeout.c and normal/context.c.
29794 (normal_mod_SOURCES): Removed normal/context.c.
29795
29796 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29797 commands/timeout.c and normal/context.c.
29798 (normal_mod_SOURCES): Removed normal/context.c.
29799
29800 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29801 commands/default.c, commands/timeout.c and normal/context.c.
29802 (normal_mod_SOURCES): Removed normal/context.c.
29803
29804 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29805 timeout.mod.
29806 (default_mod_SOURCES): Removed.
29807 (default_mod_CFLAGS): Likewise.
29808 (default_mod_LDFLAGS): Likewise.
29809 (timeout_mod_SOURCES): Removed.
29810 (timeout_mod_CFLAGS): Likewise.
29811 (timeout_mod_LDFLAGS): Likewise.
29812
29813 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29814 normal/context.c.
29815
29816 * commands/default.c: Removed.
29817 * commands/timeout.c: Likewise.
29818 * normal/context.c: Likewise.
29819
29820 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29821
29822 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29823
29824 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29825
29826 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29827 "next" to "prev" for readability.
29828 (struct grub_env_sorted_var): New struct.
29829 (grub_env_context): Renamed to ...
29830 (initial_context): ... this.
29831 (grub_env_var_context): Renamed to ...
29832 (current_context): ... this.
29833 (grub_env_find): Look only at CURRENT_CONTEXT.
29834 (grub_env_context_open): Rewritten to copy exported variables from
29835 previous context.
29836 (grub_env_context_close): Rewritten according to the new
29837 scheme. Also, add an assertion to prevent the initial context from
29838 removed.
29839 (grub_env_insert): Removed the code for the sorted list.
29840 (grub_env_remove): Likewise.
29841 (grub_env_export): Simply mark the variable with
29842 GRUB_ENV_VAR_GLOBAL.
29843 (grub_env_set): A cosmetic change for naming consistency.
29844 (grub_env_get): Likewise.
29845 (grub_env_unset): Likewise.
29846 (grub_env_iterate): Rewritten to sort variables within this
29847 function.
29848 (grub_register_variable_hook): Fixed for naming consistency. Call
29849 grub_env_find again, only if NAME is not found at the first time.
29850 (mangle_data_slot_name): New function.
29851 (grub_env_set_data_slot): Likewise.
29852 (grub_env_get_data_slot): Likewise.
29853 (grub_env_unset_data_slot): Likewise.
29854
29855 * include/grub/env.h (grub_env_var_type): New enum.
29856 (GRUB_ENV_VAR_LOCAL): New constant.
29857 (GRUB_ENV_VAR_GLOBAL): Likewise.
29858 (GRUB_ENV_VAR_DATA): Likewise.
29859 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29860 "type".
29861 (grub_env_set): Replace VAR with NAME for consistency.
29862 (grub_register_variable_hook): Likewise.
29863 (grub_env_export): Specify the name of the argument.
29864 (grub_env_set_data_slot): New prototype.
29865 (grub_env_get_data_slot): Likewise.
29866 (grub_env_unset_data_slot): Likewise.
29867
29868 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29869
29870 Extend the loader so that GRUB can accept a loader which comes
29871 back to GRUB when a loaded image exits. Also, this change adds
29872 support for a chainloader on EFI.
29873
29874 * term/efi/console.c: Include grub/misc.h.
29875 (grub_console_checkkey): Display a scan code on the top for
29876 debugging. This will be removed once the EFI port gets stable.
29877 Correct the scan code mapping.
29878
29879 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29880 allocate memory from larger regions, in order to reduce the number
29881 of allocated regions. Otherwise, the MacOSX loader panics.
29882 (filter_memory_map): Avoid less than 1MB for compatibility with
29883 other loaders.
29884 (add_memory_regions): Allocate from the tail of a region, if
29885 possible, to avoid allocating a region near to 1MB, for the MacOSX
29886 loader.
29887
29888 * kern/efi/init.c (grub_efi_set_prefix): Specify
29889 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29890
29891 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29892 argument IMAGE_HANDLE and specify it to get a loaded image.
29893 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29894 grub_efi_get_loaded_image.
29895 (grub_efi_get_filename): Divide the length by the size of
29896 grub_efi_char16_t.
29897 (grub_efi_get_device_path): New function.
29898 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29899 the length by the size of grub_efi_char16_t for a file path device
29900 path node.
29901
29902 * kern/loader.c (grub_loader_noreturn): New variable.
29903 (grub_loader_set): Accept a new argument NORETURN. Set
29904 GRUB_LOADER_NORETURN to NORETURN.
29905 All callers changed.
29906 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29907 grub_machine_fini.
29908
29909 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29910 prototype.
29911 (grub_efi_get_loaded_image): Take an argument to specify an image
29912 handle.
29913
29914 * include/grub/loader.h (grub_loader_set): Added one more argument
29915 NORETURN.
29916
29917 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29918 instead of grub_efi_open_protocol.
29919 (grub_efidisk_get_device_name): Likewise.
29920 (grub_efidisk_close): Print a newline.
29921 (grub_efidisk_get_device_handle): Fixed to use
29922 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29923 GRUB_EFI_DEVICE_PATH_TYPE.
29924
29925 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29926 * kern/efi/efi.c (device_path_guid): ... here.
29927
29928 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29929 chain.mod.
29930 (kernel_mod_HEADERS): Added efi/disk.h.
29931 (_chain_mod_SOURCES): New variable.
29932 (_chain_mod_CFLAGS): Likewise.
29933 (_chain_mod_LDFLAGS): Likewise.
29934 (chain_mod_SOURCES): Likewise.
29935 (chain_mod_CFLAGS): Likewise.
29936 (chain_mod_LDFLAGS): Likewise.
29937
29938 * DISTLIST: Added include/grub/efi/chainloader.h,
29939 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29940
29941 * include/grub/efi/chainloader.h: New file.
29942 * loader/efi/chainloader.c: Likewise.
29943 * loader/efi/chainloader_normal.c: Likewise.
29944
29945 2006-04-30 Marco Gerards <marco@gnu.org>
29946
29947 * commands/configfile.c (grub_cmd_source): New function.
29948 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29949 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29950
29951 2006-04-30 Marco Gerards <marco@gnu.org>
29952
29953 * normal/execute.c (grub_script_execute_cmd): Change the return
29954 type to `grub_err_t'. Correctly return the error.
29955 (grub_script_execute_cmdline): In case a command line is not a
29956 command or a function, try to interpret it as an assignment.
29957
29958 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29959
29960 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29961 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29962 skip a node whose name is obviously invalid as UTF-16,
29963 i.e. contains a NUL character. Stop the iteration when the last
29964 directory entry is found. Instead of using the return value of
29965 grub_hfsplus_btree_iterate_node, store the value in RET and use
29966 it, because the iterator can be stopped by the last directory
29967 entry.
29968
29969 2006-04-30 Marco Gerards <marco@gnu.org>
29970
29971 * include/grub/env.h (grub_env_export): New prototype. Reported
29972 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29973
29974 2006-04-30 Marco Gerards <marco@gnu.org>
29975
29976 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29977 size of the extents in a catalog file record.
29978
29979 2006-04-29 Marco Gerards <marco@gnu.org>
29980
29981 * commands/configfile.c (grub_cmd_configfile): Execute the
29982 configfile within its own context.
29983
29984 * include/grub/env.h (grub_env_context_open): New prototype.
29985 (grub_env_context_close): Likewise.
29986
29987 * kern/env.c (grub_env): Removed.
29988 (grub_env_sorted): Likewise.
29989 (grub_env_context): New variable.
29990 (grub_env_var_context): Likewise.
29991 (grub_env_find): Search both the active context and the global
29992 context.
29993 (grub_env_context_open): New function.
29994 (grub_env_context_close): Likewise.
29995 (grub_env_insert): Likewise.
29996 (grub_env_remove): Likewise.
29997 (grub_env_export): Likewise.
29998 (grub_env_set): Changed to use helper functions to avoid code
29999 duplication.
30000 (grub_env_iterate): Rewritten so both the current context and the
30001 global context are being used.
30002
30003 * normal/command.c (export_command): New function.
30004 (grub_command_init): Register the `export' function.
30005
30006 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30007
30008 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30009 explicitly to suppress gcc's warnings.
30010 * fs/fat.c (grub_fat_find_dir): Likewise.
30011 (grub_fat_label): Likewise.
30012 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30013 (grub_xfs_mount): Likewise.
30014 (grub_xfs_label): Likewise.
30015 * fs/affs.c (grub_affs_mount): Likewise.
30016 (grub_affs_label): Likewise.
30017 (grub_affs_iterate_dir): Likewise.
30018 * fs/sfs.c (grub_sfs_mount): Likewise.
30019 (grub_sfs_iterate_dir): Likewise.
30020 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30021 * fs/hfs.c (grub_hfs_mount): Likewise.
30022 (grub_hfs_cmp_catkeys): Likewise.
30023 (grub_hfs_find_dir): Likewise.
30024 (grub_hfs_dir): Likewise.
30025 (grub_hfs_label): Likewise.
30026 * fs/jfs.c (grub_jfs_mount): Likewise.
30027 (grub_jfs_opendir): Likewise.
30028 (grub_jfs_getent): Likewise.
30029 (grub_jfs_lookup_symlink): Likewise.
30030 (grub_jfs_label): Likewise.
30031 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30032 (grub_hfsplus_iterate_dir): Likewise.
30033 (grub_hfsplus_btree_iterate_node): Made static.
30034
30035 * util/grub-emu.c (prefix): New variable.
30036 (grub_machine_set_prefix): New function.
30037 (main): Do not set the environment variable "prefix" here. Only
30038 set PREFIX, which is used later by grub_machine_set_prefix.
30039
30040 * include/grub/video.h: Do not include grub/symbol.h.
30041 (grub_video_register): Not exported. This symbol is not defined in
30042 the kernel.
30043 (grub_video_unregister): Likewise.
30044 (grub_video_iterate): Likewise.
30045 (grub_video_setup): Likewise.
30046 (grub_video_restore): Likewise.
30047 (grub_video_get_info): Likewise.
30048 (grub_video_get_blit_format): Likewise.
30049 (grub_video_set_palette): Likewise.
30050 (grub_video_get_palette): Likewise.
30051 (grub_video_set_viewport): Likewise.
30052 (grub_video_get_viewport): Likewise.
30053 (grub_video_map_color): Likewise.
30054 (grub_video_map_rgb): Likewise.
30055 (grub_video_map_rgba): Likewise.
30056 (grub_video_fill_rect): Likewise.
30057 (grub_video_blit_glyph): Likewise.
30058 (grub_video_blit_bitmap): Likewise.
30059 (grub_video_blit_render_target): Likewise.
30060 (grub_video_scroll): Likewise.
30061 (grub_video_swap_buffers): Likewise.
30062 (grub_video_create_render_target): Likewise.
30063 (grub_video_delete_render_target): Likewise.
30064 (grub_video_set_active_render_target): Likewise.
30065
30066 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30067 Undefined.
30068 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30069
30070 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30071 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30072 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30073 instead of $(srcdir)/genkernsyms.sh.
30074
30075 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30076 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30077 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30078 instead of $(srcdir)/genkernsyms.sh.
30079
30080 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30081 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30082 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30083 instead of $(srcdir)/genkernsyms.sh.
30084
30085 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30086 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30087 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30088 instead of $(srcdir)/genkernsyms.sh.
30089
30090 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30091 genkernsyms.sh.
30092
30093 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30094 genkernsyms.sh.
30095 (gensymlist.sh): New target.
30096 (genkernsyms.sh): Likewise.
30097
30098 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30099 genkernsyms.sh.in and gensymlist.sh.in.
30100
30101 * genkernsyms.sh: Removed.
30102 * gensymlist.sh: Likewise.
30103
30104 * genkernsyms.sh.in: New file.
30105 * gensymlist.sh.in: Likewise.
30106
30107 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30108
30109 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30110 clobber "prefix", since we may have already set it manually.
30111
30112 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30113
30114 * kern/misc.c (abort): New alias for grub_abort.
30115
30116 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30117
30118 A new machine-specific function "grub_machine_set_prefix" is
30119 defined. This is called after loading modules, so that a prefix
30120 initialization can use modules. Also, this change adds an
30121 intensive debugging feature for the memory manager via the
30122 configure option "--enable-mm-debug".
30123
30124 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30125 PART.LEN.
30126
30127 * kern/sparc64/ieee1275/init.c (abort): Removed.
30128 (grub_stop): Likewise.
30129 (grub_exit): New function.
30130 (grub_set_prefix): Renamed to ...
30131 (grub_machine_set_prefix): ... this.
30132 (grub_machine_init): Do not call grub_set_prefix.
30133
30134 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30135 (grub_machine_set_prefix): ... this.
30136 (grub_machine_init): Do not call grub_set_prefix.
30137
30138 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30139 (grub_machine_init): Do not set the prefix here.
30140
30141 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30142
30143 * kern/efi/init.c: Include grub/mm.h.
30144 (grub_efi_set_prefix): New function.
30145
30146 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30147 (grub_efi_get_filename): New function.
30148 (grub_print_device_path): Renamed to ...
30149 (grub_efi_print_device_path): ... this.
30150
30151 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30152 [MM_DEBUG] (grub_realloc): Likewise.
30153 [MM_DEBUG] (grub_free): Likewise.
30154 [MM_DEBUG] (grub_memalign): Likewise.
30155 [MM_DEBUG] (grub_mm_debug): New variable.
30156 [MM_DEBUG] (grub_debug_malloc): New function.
30157 [MM_DEBUG] (grub_debug_free): New function.
30158 [MM_DEBUG] (grub_debug_realloc): New function.
30159 [MM_DEBUG] (grub_debug_memalign): New function.
30160
30161 * kern/misc.c (grub_abort): Print a newline to distinguish
30162 the message.
30163
30164 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30165 grub_set_root_dev after loading modules. This is necessary when
30166 setting a prefix depends on modules.
30167
30168 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30169 (grub_efi_print_device_path): ... this.
30170 (grub_efi_get_filename): New prototype.
30171 (grub_efi_set_prefix): Likewise.
30172
30173 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30174 and grub/disk.h.
30175 (grub_efidisk_get_device_handle): New prototype.
30176 (grub_efidisk_get_device_name): Likewise.
30177
30178 * include/grub/mm.h: Include config.h.
30179 (MM_DEBUG): Removed.
30180 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30181 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30182 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30183 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30184 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30185 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30186 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30187 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30188 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30189
30190 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30191
30192 * disk/efi/efidisk.c: Include grub/partition.h.
30193 (iterate_child_devices): New function.
30194 (add_device): First, compare only last device path nodes, so that
30195 devices are sorted by the types.
30196 (grub_efidisk_get_device_handle): New function.
30197 (grub_efidisk_get_device_name): Likewise.
30198
30199 * configure.ac (--enable-mm-debug): New option to enable the
30200 memory manager debugging feature. This makes the binary much
30201 bigger, so is disabled by default.
30202
30203 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30204
30205 Use grub_abort instead of grub_stop, and grub_exit must be
30206 define in each architecture now. Also, this change adds support
30207 for EFI disks.
30208
30209 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30210 (grub_getkey): New function.
30211 (grub_term_get_current): Likewise.
30212
30213 * util/i386/pc/grub-setup.c: Include grub/term.h.
30214 (grub_getkey): New function.
30215 (grub_term_get_current): Likewise.
30216
30217 * util/misc.c (grub_stop): Renamed to ...
30218 (grub_exit): ... this.
30219
30220 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30221 (grub_exit): ... this.
30222 (grub_machine_init): Use grub_abort instead of abort.
30223 (grub_stop): Removed.
30224
30225 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30226 abort.
30227
30228 * kern/i386/pc/startup.S (grub_exit): New function.
30229 (cold_reboot): New label.
30230
30231 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30232 (grub_efi_init): Call grub_efidisk_init.
30233 (grub_efi_fini): Call grub_efidisk_fini.
30234
30235 * kern/efi/efi.c: Include grub/mm.h.
30236 (grub_efi_console_control_guid): Renamed to ...
30237 (console_control_guid): ... this.
30238 (grub_efi_loaded_image_guid): Renamed to ...
30239 (loaded_image_guid): ... this.
30240 (grub_efi_locate_handle): New function.
30241 (grub_efi_open_protocol): Likewise.
30242 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30243 GRUB_EFI_CONSOLE_CONTROL_GUID.
30244 (grub_efi_exit): Removed.
30245 (grub_stop): Likewise.
30246 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30247 (grub_exit): New function.
30248 (grub_print_device_path): Likewise.
30249
30250 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30251 (grub_enter_rescue_mode): Register "exit".
30252
30253 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30254 (grub_abort): New function.
30255
30256 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30257
30258 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30259
30260 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30261
30262 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30263 (grub_print_device_path): New prototype.
30264 (grub_efi_locate_handle): Likewise.
30265 (grub_efi_open_protocol): Likewise.
30266
30267 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30268 * disk/efi/efidisk.c: Likewise.
30269
30270 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30271
30272 * include/grub/efi/console_control.h
30273 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30274
30275 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30276 last 8 bytes as an array.
30277 (GRUB_EFI_DISK_IO_GUID): New macro.
30278 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30279 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30280 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30281 grub_uint8_t.
30282 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30283 (struct grub_efi_device_path): Rename the member "sub_type" to
30284 "subtype".
30285 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30286 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30287 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30288 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30289 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30290 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30291 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30292 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30293 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30294 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30295 (struct grub_efi_pci_device_path): New structure.
30296 (grub_efi_pci_device_path_t): New type.
30297 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30298 (struct grub_efi_pccard_device_path): New structure.
30299 (grub_efi_pccard_device_path_t): New type.
30300 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30301 (struct grub_efi_memory_mapped_device_path): New structure.
30302 (grub_efi_memory_mapped_device_path_t): New type.
30303 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30304 (struct grub_efi_vendor_device_path): New structure.
30305 (grub_efi_vendor_device_path_t): New type.
30306 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30307 (struct grub_efi_controller_device_path): New structure.
30308 (grub_efi_controller_device_path_t): New type.
30309 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30310 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30311 (struct grub_efi_acpi_device_path): New structure.
30312 (grub_efi_acpi_device_path_t): New type.
30313 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30314 (struct grub_efi_expanded_acpi_device_path): New structure.
30315 (grub_efi_expanded_acpi_device_path_t): New type.
30316 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30317 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30318 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30319 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30320 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30321 (struct grub_efi_atapi_device_path): New structure.
30322 (grub_efi_atapi_device_path_t): New type.
30323 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30324 (struct grub_efi_fibre_channel_device_path): New structure.
30325 (grub_efi_fibre_channel_device_path_t): New type.
30326 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30327 (struct grub_efi_1394_device_path): New structure.
30328 (grub_efi_1394_device_path_t): New type.
30329 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30330 (struct grub_efi_usb_device_path): New structure.
30331 (grub_efi_usb_device_path_t): New type.
30332 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30333 (struct grub_efi_usb_class_device_path): New structure.
30334 (grub_efi_usb_class_device_path_t): New type.
30335 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30336 (struct grub_efi_i2o_device_path): New structure.
30337 (grub_efi_i2o_device_path_t): New type.
30338 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30339 (struct grub_efi_mac_address_device_path): New structure.
30340 (grub_efi_mac_address_device_path_t): New type.
30341 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30342 (struct grub_efi_ipv4_device_path): New structure.
30343 (grub_efi_ipv4_device_path_t): New type.
30344 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30345 (struct grub_efi_ipv6_device_path): New structure.
30346 (grub_efi_ipv6_device_path_t): New type.
30347 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30348 (struct grub_efi_infiniband_device_path): New structure.
30349 (grub_efi_infiniband_device_path_t): New type.
30350 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30351 (struct grub_efi_uart_device_path): New structure.
30352 (grub_efi_uart_device_path_t): New type.
30353 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30354 (struct grub_efi_vendor_messaging_device_path): New structure.
30355 (grub_efi_vendor_messaging_device_path_t): New type.
30356 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30357 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30358 (struct grub_efi_hard_drive_device_path): New structure.
30359 (grub_efi_hard_drive_device_path_t): New type.
30360 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30361 (struct grub_efi_cdrom_device_path): New structure.
30362 (grub_efi_cdrom_device_path_t): New type.
30363 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30364 (struct grub_efi_vendor_media_device_path): New structure.
30365 (grub_efi_vendor_media_device_path_t): New type.
30366 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30367 (struct grub_efi_file_path_device_path): New structure.
30368 (grub_efi_file_path_device_path_t): New type.
30369 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30370 (struct grub_efi_protocol_device_path): New structure.
30371 (grub_efi_protocol_device_path_t): New type.
30372 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30373 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30374 (struct grub_efi_bios_device_path): New structure.
30375 (grub_efi_bios_device_path_t): New type.
30376 (struct grub_efi_disk_io): New structure.
30377 (grub_efi_disk_io_t): New type.
30378 (struct grub_efi_block_io_media): New structure.
30379 (grub_efi_block_io_media_t): New type.
30380 (struct grub_efi_block_io): New structure.
30381 (grub_efi_block_io_t): New type.
30382
30383 * include/grub/misc.h (grub_stop): Removed.
30384 (grub_exit): New prototype.
30385 (grub_abort): Likewise.
30386
30387 * include/grub/disk.h (enum grub_disk_dev_id): Added
30388 GRUB_DISK_DEVICE_EFIDISK_ID.
30389
30390 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30391 disk/efi/efidisk.c.
30392 (kernel_syms.lst): Remove the target if an error occurs.
30393
30394 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30395
30396 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30397 as it was simply too buggy.
30398
30399 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30400
30401 * kern/misc.c (grub_lltoa): New function.
30402 (grub_vsprintf): Added support for the long long suffix,
30403 i.e. "ll".
30404
30405 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30406
30407 * Makefile.in (LDFLAGS): Add variable.
30408 (LD): Remove variable.
30409 * configure.ac: Add -m32 to LDFLAGS.
30410 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30411 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30412 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30413 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30414 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30415 variables.
30416 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30417 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30418 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30419
30420 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30421
30422 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30423 length for unknown glyph.
30424
30425 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30426
30427 Add support for pre-loaded modules into the EFI port.
30428
30429 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30430 completely. Accept one more argument DIR. The caller has changed.
30431
30432 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30433
30434 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30435 (grub_efi_loaded_image_guid): New variable.
30436 (grub_efi_get_loaded_image): New function.
30437 (grub_arch_modules_addr): Likewise.
30438
30439 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30440 prototype.
30441
30442 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30443 (struct grub_efi_loaded_image): New structure.
30444 (grub_efi_loaded_image_t): New type.
30445
30446 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30447
30448 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30449 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30450 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30451
30452 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30453
30454 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30455
30456 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30457
30458 * DISTLIST: Added include/grub/efi/console.h,
30459 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30460 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30461
30462 * include/grub/efi/console.h: New file.
30463 * include/grub/efi/time.h: Likewise.
30464 * include/grub/i386/efi/kernel.h: Likewise.
30465 * kern/efi/init.c: Likewise.
30466 * kern/efi/mm.c: Likewise.
30467 * term/efi/console.c: Likewise.
30468
30469 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30470 (grub_stop): Removed.
30471 (grub_get_rtc): Likewise.
30472 (grub_machine_init): Simply call grub_efi_init.
30473 (grub_machine_fini): Call grub_efi_fini.
30474
30475 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30476 (grub_efi_output_string): Removed.
30477 (grub_efi_stall): New function.
30478 (grub_stop): Likewise.
30479 (grub_get_rtc): Likewise.
30480
30481 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30482 (grub_efi_stall): New prototype.
30483 (grub_efi_allocate_pages): Likewise.
30484 (grub_efi_free_pages): Likewise.
30485 (grub_efi_get_memory_map): Likewise.
30486 (grub_efi_mm_init): Likewise.
30487 (grub_efi_mm_fini): Likewise.
30488 (grub_efi_init): Likewise.
30489 (grub_efi_fini): Likewise.
30490
30491 * include/grub/i386/efi/time.h: Do not include
30492 grub/symbol.h. Include grub/efi/time.h.
30493 (GRUB_TICKS_PER_SECOND): Removed.
30494 (grub_get_rtc): Likewise.
30495
30496 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30497 Added padding. The EFI spec is buggy.
30498 (GRUB_EFI_BLACK): New macro.
30499 (GRUB_EFI_BLUE): Likewise.
30500 (GRUB_EFI_GREEN): Likewise.
30501 (GRUB_EFI_CYAN): Likewise.
30502 (GRUB_EFI_RED): Likewise.
30503 (GRUB_EFI_MAGENTA): Likewise.
30504 (GRUB_EFI_BROWN): Likewise.
30505 (GRUB_EFI_LIGHTGRAY): Likewise.
30506 (GRUB_EFI_BRIGHT): Likewise.
30507 (GRUB_EFI_DARKGRAY): Likewise.
30508 (GRUB_EFI_LIGHTBLUE): Likewise.
30509 (GRUB_EFI_LIGHTGREEN): Likewise.
30510 (GRUB_EFI_LIGHTCYAN): Likewise.
30511 (GRUB_EFI_LIGHTRED): Likewise.
30512 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30513 (GRUB_EFI_YELLOW): Likewise.
30514 (GRUB_EFI_WHITE): Likewise.
30515 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30516 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30517 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30518 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30519 (GRUB_EFI_BACKGROUND_RED): Likewise.
30520 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30521 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30522 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30523 (GRUB_EFI_TEXT_ATTR): Likewise.
30524
30525 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30526 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30527 (kernel_mod_HEADERS): Added efi/time.h.
30528
30529 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30530
30531 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30532 include/grub/efi/api.h, include/grub/efi/console_control.h,
30533 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30534 include/grub/i386/efi/time.h, kern/efi/efi.c,
30535 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30536 and util/i386/efi/grub-mkimage.c.
30537
30538 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30539
30540 * genmk.rb (PModule#rule): Do not export symbols if
30541 #{prefix}_EXPORTS is set to "no".
30542
30543 * conf/i386-efi.mk: New file.
30544 * conf/i386-efi.rmk: Likewise.
30545 * include/grub/efi/api.h: Likewise.
30546 * include/grub/efi/console_control.h: Likewise.
30547 * include/grub/efi/efi.h: Likewise.
30548 * include/grub/efi/pe32.h: Likewise.
30549 * include/grub/i386/efi/time.h: Likewise.
30550 * kern/efi/efi.c: Likewise.
30551 * kern/i386/efi/init.c: Likewise.
30552 * kern/i386/efi/startup.S: Likewise.
30553 * util/i386/efi/grub-mkimage.c: Likewise.
30554
30555 2006-04-17 Marco Gerards <marco@gnu.org>
30556
30557 * include/grub/script.h: Include <grub/parser.h> and
30558 "grub_script.tab.h".
30559 (struct grub_lexer_param): New struct.
30560 (struct grub_parser_param): Likewise.
30561 (grub_script_create_arglist): Pass the state in an argument.
30562 (grub_script_add_arglist): Likewise.
30563 (grub_script_create_cmdline): Likewise.
30564 (grub_script_create_cmdblock): Likewise.
30565 (grub_script_create_cmdif): Likewise.
30566 (grub_script_create_cmdmenu): Likewise.
30567 (grub_script_add_cmd): Likewise.
30568 (grub_script_arg_add): Likewise.
30569 (grub_script_lexer_ref): Likewise.
30570 (grub_script_lexer_deref): Likewise.
30571 (grub_script_lexer_record_start): Likewise.
30572 (grub_script_lexer_record_stop): Likewise.
30573 (grub_script_mem_record): Likewise.
30574 (grub_script_mem_record_stop): Likewise.
30575 (grub_script_malloc): Likewise.
30576 (grub_script_yylex): Likewise.
30577 (grub_script_yyparse): Likewise.
30578 (grub_script_yyerror): Likewise.
30579 (grub_script_yylex): Likewise.
30580 (grub_script_lexer_init): Return the state.
30581
30582 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30583 (grub_script_lexer_done): Likewise.
30584 (grub_script_lexer_getline): Likewise.
30585 (grub_script_lexer_refs): Likewise.
30586 (script): Likewise.
30587 (newscript): Likewise.
30588 (record): Likewise.
30589 (recording): Likewise.
30590 (recordpos): Likewise.
30591 (recordlen): Likewise.
30592 (grub_script_lexer_init): Return the state instead of setting
30593 global variables.
30594 (grub_script_lexer_ref): Use the newly added argument for state
30595 instead of globals.
30596 (grub_script_lexer_deref): Likewise.
30597 (grub_script_lexer_record_start): Likewise.
30598 (grub_script_lexer_record_stop): Likewise.
30599 (recordchar): Likewise.
30600 (nextchar): Likewise.
30601 (grub_script_yylex2): Likewise.
30602 (grub_script_yylex): Likewise.
30603 (grub_script_yyerror): Likewise.
30604
30605 * normal/parser.y (func_mem): Removed variable.
30606 (menu_entry): Likewise.
30607 (err): Likewise.
30608 (%lex-param): New parser option.
30609 (%parse-param): Likewise.
30610 (script): Always return the AST.
30611 (argument): Pass the state around.
30612 (arguments): Likewise.
30613 (grubcmd): Likewise.
30614 (commands): Likewise.
30615 (function): Likewise.
30616 (menuentry): Likewise.
30617 (if_statement): Likewise.
30618 (if): Likewise.
30619
30620 * normal/script.c (grub_script_memused): Removed variable.
30621 (grub_script_parsed): Likewise.
30622 (grub_script_malloc): Added a state argument. Use that instead of
30623 global variables.
30624 (grub_script_mem_record): Likewise.
30625 (grub_script_mem_record_stop): Likewise.
30626 (grub_script_arg_add): Likewise.
30627 (grub_script_add_arglist): Likewise.
30628 (grub_script_create_cmdline): Likewise.
30629 (grub_script_create_cmdif): Likewise.
30630 (grub_script_create_cmdmenu): Likewise.
30631 (grub_script_add_cmd): Likewise.
30632 (grub_script_parse): Setup the state before calling the parser.
30633
30634 2006-04-16 Marco Gerards <marco@gnu.org>
30635
30636 * normal/command.c (grub_command_init): Remove the title command.
30637
30638 * normal/lexer.c (grub_script_yylex): Renamed from this...
30639 (grub_script_yylex2): ... to this.
30640 (grub_script_yylex): New function. Temporary
30641 introduced to filter some tokens.
30642 (grub_script_yyerror): Print a newline.
30643
30644 * normal/main.c (read_config_file): Output information about the
30645 lines that contain errors. Wait for a key after all lines have
30646 been processed. Don't return an empty menu.
30647
30648 * normal/parser.y (func_mem): Don't initialize.
30649 (menu_entry): Likewise.
30650 (err): New variable.
30651 (script): Don't return anything when an error was encountered.
30652 (ws, returns): Removed rules.
30653 (argument): Disabled concatenated variable support.
30654 (arguments): Remove explicit separators.
30655 (grubcmd): Likewise.
30656 (function): Likewise.
30657 (menuentry): Likewise.
30658 (if): Likewise.
30659 (commands): Likewise. Add error handling.
30660
30661 * normal/script.c (grub_script_create_cmdline): If
30662 `grub_script_parsed' is 0, assume the parser encountered an error.
30663
30664 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30665
30666 * configure.ac: Add support for EFI. Fix the typo
30667 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30668
30669 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30670
30671 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30672 foreign multibyte characters should be shown correctly.
30673
30674 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30675
30676 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30677 calculation.
30678 (read_config_file): Made it to close file before returning.
30679
30680 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30681
30682 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30683 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30684 video/i386/pc/vbefill.c.
30685
30686 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30687 video/i386/pc/vbefill.c.
30688
30689 * include/grub/video.h (grub_video_blit_format): New enum.
30690 (grub_video_mode_info): Added new member blit_format.
30691 (grub_video_get_blit_format): New function prototype.
30692
30693 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30694 function prototype.
30695 (grub_video_vbe_map_rgb): Likewise.
30696 (grub_video_vbe_unmap_color): Likewise.
30697
30698 * include/grub/i386/pc/vbeblit.h: New file.
30699
30700 * include/grub/i386/pc/vbefill.h: New file.
30701
30702 * video/video.c (grub_video_get_blit_format): New function.
30703 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30704 (grub_video_vbe_map_rgb): Likewise.
30705 (grub_video_vbe_unmap_color): Likewise.
30706
30707 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30708 optimized fills.
30709 (grub_video_vbe_blit_render_target): Changed to use more optimized
30710 blits.
30711 (grub_video_vbe_setup): Added detection for optimized settings.
30712 (grub_video_vbe_create_render_target): Likewise.
30713
30714 * video/i386/pc/vbeblit.c: New file.
30715
30716 * video/i386/pc/vbefill.c: New file.
30717
30718 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30719
30720 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30721 here...
30722
30723 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30724 parsing to support both hex and dec ranges. If filename was missing
30725 show usage information.
30726
30727 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30728
30729 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30730 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30731
30732 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30733 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30734 (video_mod_SOURCES): Added.
30735 (video_mod_CFLAGS): Likewise.
30736 (video_mod_LDFLAGS): Likewise.
30737 (gfxterm_mod_SOURCES): Likewise.
30738 (gfxterm_mod_CFLAGS): Likewise.
30739 (gfxterm_mod_LDFLAGS): Likewise.
30740 (videotest_mod_SOURCES): Likewise.
30741 (videotest_mod_CFLAGS): Likewise.
30742 (videotest_mod_LDFLAGS): Likewise.
30743 (vesafb_mod_SOURCES): Removed.
30744 (vesafb_mod_CFLAGS): Likewise.
30745 (vesafb_mod_LDFLAGS): Likewise.
30746 (vga_mod_SOURCES): Likewise.
30747 (vga_mod_CFLAGS): Likewise.
30748 (vga_mod_LDFLAGS): Likewise.
30749
30750 * commands/videotest.c: New file.
30751
30752 * font/manager.c (fill_with_default_glyph): Modified to use
30753 grub_font_glyph.
30754 (grub_font_get_glyph): Likewise.
30755 (fontmanager): Renamed from this...
30756 (font_manager): ... to this.
30757
30758 * include/grub/font.h (grub_font_glyph): Added new structure.
30759 (grub_font_get_glyph): Modified to use grub_font_glyph.
30760
30761 * include/grub/misc.h (grub_abs): Added as inline function.
30762
30763 * include/grub/video.h: New file.
30764
30765 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30766 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30767 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30768 (grub_vbe_get_controller_info): Renamed from this...
30769 (grub_vbe_bios_get_controller_info): ... to this.
30770 (grub_vbe_get_mode_info): Renamed from this...
30771 (grub_vbe_bios_get_mode_info): ... to this.
30772 (grub_vbe_set_mode): Renamed from this...
30773 (grub_vbe_bios_set_mode): ... to this.
30774 (grub_vbe_get_mode): Renamed from this...
30775 (grub_vbe_bios_get_mode): ... to this.
30776 (grub_vbe_set_memory_window): Renamed from this...
30777 (grub_vbe_bios_set_memory_window): ... to this.
30778 (grub_vbe_get_memory_window): Renamed from this...
30779 (grub_vbe_bios_get_memory_window): ... to this.
30780 (grub_vbe_set_scanline_length): Renamed from this...
30781 (grub_vbe_set_scanline_length): ... to this.
30782 (grub_vbe_get_scanline_length): Renamed from this...
30783 (grub_vbe_bios_get_scanline_length): ... to this.
30784 (grub_vbe_set_display_start): Renamed from this...
30785 (grub_vbe_bios_set_display_start): ... to this.
30786 (grub_vbe_get_display_start): Renamed from this...
30787 (grub_vbe_bios_get_display_start): ... to this.
30788 (grub_vbe_set_palette_data): Renamed from this...
30789 (grub_vbe_bios_set_palette_data): ... to this.
30790 (grub_vbe_set_pixel_rgb): Removed.
30791 (grub_vbe_set_pixel_index): Likewise.
30792
30793 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30794 from this...
30795 (grub_vbe_bios_get_controller_info): ... to this.
30796 (grub_vbe_get_mode_info): Renamed from this...
30797 (grub_vbe_bios_get_mode_info): ... to this.
30798 (grub_vbe_set_mode): Renamed from this...
30799 (grub_vbe_bios_set_mode): ... to this.
30800 (grub_vbe_get_mode): Renamed from this...
30801 (grub_vbe_bios_get_mode): ... to this.
30802 (grub_vbe_set_memory_window): Renamed from this...
30803 (grub_vbe_bios_set_memory_window): ... to this.
30804 (grub_vbe_get_memory_window): Renamed from this...
30805 (grub_vbe_bios_get_memory_window): ... to this.
30806 (grub_vbe_set_scanline_length): Renamed from this...
30807 (grub_vbe_set_scanline_length): ... to this.
30808 (grub_vbe_get_scanline_length): Renamed from this...
30809 (grub_vbe_bios_get_scanline_length): ... to this.
30810 (grub_vbe_set_display_start): Renamed from this...
30811 (grub_vbe_bios_set_display_start): ... to this.
30812 (grub_vbe_get_display_start): Renamed from this...
30813 (grub_vbe_bios_get_display_start): ... to this.
30814 (grub_vbe_set_palette_data): Renamed from this...
30815 (grub_vbe_bios_set_palette_data): ... to this.
30816 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30817 getting corrupted after calling it. Added more pushes and pops.
30818 (grub_vbe_bios_set_mode): Likewise.
30819 (grub_vbe_bios_get_mode): Likewise.
30820 (grub_vbe_bios_get_memory_window): Likewise.
30821 (grub_vbe_bios_set_scanline_length): Likewise.
30822 (grub_vbe_bios_get_scanline_length): Likewise.
30823 (grub_vbe_bios_get_display_start): Likewise.
30824 (grub_vbe_bios_set_palette_data): Likewise.
30825
30826 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30827 (cl_insert): Likewise.
30828 (cl_delete): Likewise.
30829
30830 * term/gfxterm.c: New file.
30831
30832 * term/i386/pc/vesafb.c: Removed file.
30833
30834 * video/video.c: New file.
30835
30836 * video/i386/pc/vbe.c (real2pm): Added new function.
30837 (grub_video_vbe_draw_pixel): Likewise.
30838 (grub_video_vbe_get_video_ptr): Likewise.
30839 (grub_video_vbe_get_pixel): Likewise
30840 (grub_video_vbe_init): Likewise.
30841 (grub_video_vbe_fini): Likewise.
30842 (grub_video_vbe_setup): Likewise.
30843 (grub_video_vbe_get_info): Likewise.
30844 (grub_video_vbe_set_palette): Likewise.
30845 (grub_video_vbe_get_palette): Likewise.
30846 (grub_video_vbe_set_viewport): Likewise.
30847 (grub_video_vbe_get_viewport): Likewise.
30848 (grub_video_vbe_map_color): Likewise.
30849 (grub_video_vbe_map_rgb): Likewise.
30850 (grub_video_vbe_map_rgba): Likewise.
30851 (grub_video_vbe_unmap_color): Likewise.
30852 (grub_video_vbe_fill_rect): Likewise.
30853 (grub_video_vbe_blit_glyph): Likewise.
30854 (grub_video_vbe_blit_bitmap): Likewise.
30855 (grub_video_vbe_blit_render_target): Likewise.
30856 (grub_video_vbe_scroll): Likewise.
30857 (grub_video_vbe_swap_buffers): Likewise.
30858 (grub_video_vbe_create_render_target): Likewise.
30859 (grub_video_vbe_delete_render_target): Likewise.
30860 (grub_video_vbe_set_active_render_target): Likewise.
30861 (grub_vbe_set_pixel_rgb): Remove function.
30862 (grub_vbe_set_pixel_index): Likewise.
30863 (index_color_mode): Remove static variable.
30864 (active_mode): Likewise.
30865 (framebuffer): Likewise.
30866 (bytes_per_scan_line): Likewise.
30867 (grub_video_vbe_adapter): Added new static variable.
30868 (framebuffer): Likewise.
30869 (render_target): Likewise.
30870 (initial_mode): Likewise.
30871 (mode_in_use): Likewise.
30872 (mode_list): Likewise.
30873
30874 2006-03-10 Marco Gerards <marco@gnu.org>
30875
30876 * configure.ac (AC_INIT): Bumped to 1.93.
30877
30878 * DISTLIST: Added `include/grub/hfs.h'.
30879
30880 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30881
30882 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30883 18H, which might help the BIOS falling back to next boot media.
30884
30885 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30886
30887 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30888 Poe Chen <poe.poechen@gmail.com>.
30889
30890 2006-01-17 Marco Gerards <marco@gnu.org>
30891
30892 * include/grub/normal.h: Include <grub/script.h>.
30893 (grub_command_list): Removed struct.
30894 (grub_command_list_t): Removed type.
30895 (grub_menu_entry): Remove members `num' and `command_list'. Add
30896 members `commands' and `sourcecode'.
30897 * include/grub/script.h: Add inclusion guards.
30898 (grub_script_cmd_menuentry): New struct.
30899 (grub_script_execute_menuentry): New prototype.
30900 (grub_script_lexer_record_start): Likewise.
30901 (grub_script_lexer_record_stop): Likewise.
30902 * normal/execute.c (grub_script_execute_menuentry): New function.
30903 * normal/lexer.c (record, recording, recordpos, recordlen): New
30904 variables.
30905 (grub_script_lexer_record_start): New function.
30906 (grub_script_lexer_record_stop): Likewise.
30907 (recordchar): Likewise.
30908 (nextchar): Likewise.
30909 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30910 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30911 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30912 (current_menu): New variable.
30913 (free_menu): Mainly rewritten.
30914 (grub_normal_menu_addentry): New function.
30915 (read_config_file): Rewritten.
30916 * normal/menu.c (run_menu_entry): Mainly rewritten.
30917 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30918 the menu entry.
30919 (run): Mainly rewritten.
30920 * normal/parser.y (menu_entry): New variable.
30921 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30922 (menuentry): New rule.
30923 (command): Add `menuentry'.
30924 (if_statement): Allow additional returns before `fi'.
30925 * normal/script.c (grub_script_create_cmdmenu): New function.
30926
30927 2006-01-03 Marco Gerards <marco@gnu.org>
30928
30929 * INSTALL: GNU Bison is required.
30930 * configure.ac: Rewritten the test to detect Bison.
30931 * Makefile.in (YACC): New variable. Reported by Xun Sun
30932 <xun.sun.cn@gmail.com>.
30933
30934 2006-01-03 Marco Gerards <marco@gnu.org>
30935
30936 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30937 the HFS+ filesystem to filesystem blocks.
30938 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30939 GCC warning is silenced.
30940
30941 2006-01-03 Marco Gerards <marco@gnu.org>
30942
30943 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30944 read from disk from big endian to host byte order.
30945
30946 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30947
30948 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30949 documentation.
30950 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30951 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30952 embedded HFS+ filesystem.
30953 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30954 (grub_hfs_sblock): Move from here...
30955 * include/grub/hfs.h: To here... New file.
30956 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30957 documentation.
30958 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30959 New macros.
30960 (grub_hfsplus_volheader): Change type of member `magic' to
30961 `grub_uint16_t'.
30962 (grub_hfsplus_data): Add new member `embedded_offset'.
30963 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30964 returned block.
30965 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30966 Calculate the offset.
30967
30968 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30969
30970 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30971 Removed.
30972 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30973
30974 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30975
30976 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30977 ENV->NAME is NULL after allocating ENV->VALUE.
30978
30979 2005-12-25 Marco Gerards <marco@gnu.org>
30980
30981 * kern/env.c (grub_env_set): Rewritten the error handling code.
30982
30983 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30984
30985 * geninit.sh: Made more robust, and more portable.
30986
30987 2005-12-25 Marco Gerards <marco@gnu.org>
30988
30989 Add support for Apple HFS+ filesystems.
30990
30991 * fs/hfsplus.c: New file.
30992
30993 * DISTLIST: Added `fs/hfsplus.c'.
30994
30995 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30996 (hfsplus_mod_SOURCES): New variable.
30997 (hfsplus_mod_CFLAGS): Likewise.
30998 (hfsplus_mod_LDFLAGS): Likewise.
30999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31000 (grub_setup_SOURCES): Likewise.
31001 (grub_mkdevicemap_SOURCES): Likewise.
31002 (grub_emu_SOURCES): Likewise.
31003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31004
31005 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31006
31007 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31008
31009 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31010
31011 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31012 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31013 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31014 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31015 normal/lexer.c, normal/parser.y, normal/script.c, and
31016 partmap/gpt.c.
31017 Removed kern/sparc64/cache.c.
31018
31019 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31020 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31021 grub_emu_init.c.
31022
31023 * configure.ac (AC_INIT): Bumped to 1.92.
31024
31025 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31026
31027 * kern/err.c (grub_error_push): Added new function to support error
31028 stacks.
31029 (grub_error_pop): Likewise.
31030 (grub_error_stack_items): New local variable to support error stacks.
31031 (grub_error_stack_pos): Likewise.
31032 (grub_error_stack_assert): Likewise.
31033 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31034 stack depth.
31035 (grub_print_error): Added support to print errors from error stack.
31036
31037 * include/grub/err.h (grub_error_push): Added function prototype.
31038 (grub_error_pop): Likewise.
31039
31040 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31041
31042 * configure.ac: Accept `powerpc64' as host_cpu.
31043 (amd64): Rename to `biarch32'.
31044
31045 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31046 non-cacheline-aligned addresses.
31047
31048 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31049 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31050 if `size' is non-zero.
31051
31052 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
31053
31054 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31055 and `cd' to make sure the filename is not prefixed with a
31056 directory name.
31057 (pkgdata_MODULES): Add `gpt.mod'.
31058 (gpt_mod_SOURCES): New variable.
31059 (gpt_mod_CFLAGS): Likewise.
31060 (gpt_mod_LDFLAGS): Likewise.
31061
31062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31063
31064 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31065 New macro.
31066
31067 * partmap/gpt.c: New file.
31068
31069 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31070 GPT partition map is detected.
31071
31072 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31073
31074 * commands/i386/pc/play.c: New file.
31075 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31076 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31077 macros.
31078
31079 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
31080
31081 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31082 ((unused))' to silence gcc warning.
31083
31084 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31085
31086 * configure.ac: Correct `AC_PROG_YACC' test.
31087
31088 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31089
31090 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31091 check before installing files.
31092
31093 2005-11-22 Mike Small <smallm@panix.com>
31094
31095 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31096 number regex so multidigit numbers are recognized correctly.
31097
31098 2005-11-22 Mike Small <smallm@panix.com>
31099
31100 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31101 debugging message before attempting to claim memory.
31102 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31103 multiple addresses in case of failure.
31104
31105 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31106
31107 * term/tparm.c (get_space): Remove empty `if' statement.
31108
31109 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31110
31111 * kern/parser.c (check_varstate): Rename `state' to 's'.
31112
31113 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31114
31115 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31116 variable definitions to the beginning of each function. Sort stack
31117 variables by size.
31118 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31119 `buf' argument to `char *'.
31120
31121 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31122
31123 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31124 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31125 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31126 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31127 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31128 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31129 configfile.mod, search.mod, gzio.mod and test.mod.
31130 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31131 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31132 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31133 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31134 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31135 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31136 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31137 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31138 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31139 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31140 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31141 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31142 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31143 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31144 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31145 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31146 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31147 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31148 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31149 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31150 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31151 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31152 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31153
31154 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31155 `grep --include'.
31156 (pkgdata_MODULES): Add test.mod.
31157
31158 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31159
31160 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31161 appending to variables with "+=".
31162 (PModule): Use full pathname to generate *.lst filenames.
31163
31164 * Makefile.in: Fixed list rules moved from genmk.rb.
31165 (.DELETE_ON_ERROR): New special target.
31166 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31167
31168 * conf/i386-pc.rmk: Include conf/common.mk.
31169 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31170 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31171 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31172 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31173 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31174 configfile.mod, search.mod, gzio.mod and test.mod.
31175 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31176 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31177 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31178 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31179 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31180 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31181 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31182 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31183 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31184 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31185 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31186 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31187 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31188 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31189 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31190 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31191 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31192 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31193 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31194 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31195 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31196 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31197 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31198 here...
31199 * conf/common.rmk: ... to here. New file.
31200
31201 * conf/common.mk: New file.
31202
31203 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31204
31205 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31206 (grub_script.tab.c): ... here.
31207
31208 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31209 (grub_script.tab.c): ... here.
31210
31211 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31212 (grub_script.tab.c): ... here.
31213
31214 * normal/command.c (grub_command_find): Fixed a memory leak of
31215 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31216
31217 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31218
31219 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31220 "@" which marks the start of a comment on ARM.
31221 (VARIABLE): Likewise.
31222
31223 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31224
31225 Add support for Linux/ADFS partition tables.
31226
31227 * partmap/acorn.c: New file.
31228
31229 * include/grub/acorn_filecore.h: Likewise.
31230
31231 * DISTLIST: Added `partmap/acorn.c' and
31232 `include/grub/acorn_filecore.h'.
31233
31234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31235 `partmap/acorn.c'.
31236 (pkgdata_MODULES): Add `acorn.mod'.
31237 (acorn_mod_SOURCES): New variable.
31238 (acorn_mod_CFLAGS): Likewise.
31239
31240 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31241 `partmap/acorn.c'.
31242 (pkgdata_MODULES): Add `acorn.mod'.
31243 (acorn_mod_SOURCES): New variable.
31244 (acorn_mod_CFLAGS): Likewise.
31245
31246 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31247 (pkgdata_MODULES): Add `acorn.mod'.
31248 (acorn_mod_SOURCES): New variable.
31249 (acorn_mod_CFLAGS): Likewise.
31250 (acorn_mod_LDFLAGS): Likewise.
31251
31252 * include/types.h (grub_disk_addr_t): New typedef.
31253
31254 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31255
31256 * geninit.sh: New file.
31257
31258 * geninitheader.sh: Likewise.
31259
31260 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31261 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31262 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31263 * commands/configfile.c (grub_configfile_init)
31264 (grub_configfile_fini): Likewise.
31265 * commands/default.c (grub_default_init, grub_default_fini):
31266 Likewise.
31267 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31268 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31269 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31270 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31271 Likewise.
31272 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31273 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31274 Likewise.
31275 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31276 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31277 Likewise.
31278 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31279 Likewise.
31280 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31281 Likewise.
31282 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31283 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31284 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31285 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31286 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31287 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31288 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31289 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31290 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31291 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31292 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31293 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31294 * partmap/amiga.c (grub_amiga_partition_map_init)
31295 (grub_amiga_partition_map_fini): Likewise.
31296 * partmap/apple.c (grub_apple_partition_map_init)
31297 (grub_apple_partition_map_fini): Likewise.
31298 * partmap/pc.c (grub_pc_partition_map_init)
31299 (grub_pc_partition_map_fini): Likewise.
31300 * partmap/sun.c (grub_sun_partition_map_init,
31301 grub_sun_partition_map_fini): Likewise.
31302 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31303 Likewise.
31304
31305 * util/grub-emu.c: Include <grub_modules_init.h>.
31306 (main): Don't initialize and de-initialize any modules directly,
31307 use `grub_init_all' and `grub_fini_all' instead.
31308
31309 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31310 `grub_vesafb_mod_init'.
31311 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31312 all users.
31313 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31314 `grub_vga_mod_init'. Updated all users.
31315 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31316
31317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31318 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31319 rules.
31320
31321 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31322 Generate a function to initialize the module in utilities.
31323 Updated all callers.
31324 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31325 initialize the module in utilities. Updated all callers.
31326
31327 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31328
31329 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31330 escape sequence and a literal ^L to clear the screen.
31331
31332 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31333 when returning from Open Firmware.
31334
31335 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31336
31337 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31338 (grub_ofconsole_height): Likewise.
31339 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31340 manually insert a '\n'.
31341 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31342 `grub_ofconsole_height'. Return early if these are already set.
31343
31344 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31345
31346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31347 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31348 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31349 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31350 and `normal/script.c'.
31351 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31352 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31353 (test_mod_SOURCES): New variable.
31354 (test_mod_CFLAGS): Likewise.
31355 (test_mod_LDFLAGS): Likewise.
31356 (pkgdata_MODULES): Add `test.mod'.
31357 (grub_script.tab.c): New rule.
31358 (grub_script.tab.h): Likewise.
31359
31360 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31361
31362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31363 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31364 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31365 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31366 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31367 (test_mod_SOURCES): New variable.
31368 (test_mod_CFLAGS): Likewise.
31369 (pkgdata_MODULES): Add `test.mod'.
31370 (grub_script.tab.c): New rule.
31371 (grub_script.tab.h): Likewise.
31372
31373 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31374
31375 Add initial scripting support.
31376
31377 * commands/test.c: New file.
31378 * include/grub/script.h: Likewise.
31379 * normal/execute.c: Likewise.
31380 * normal/function.c: Likewise.
31381 * normal/lexer.c: Likewise.
31382 * normal/parser.y: Likewise.
31383 * normal/script.c: Likewise.
31384
31385 * configure.ac: Add `AC_PROG_YACC' test.
31386
31387 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31388 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31389 `normal/function.c' and `normal/script.c'.
31390 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31391 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31392 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31393 variables.
31394 (pkgdata_MODULES): Add `test.mod'.
31395 (grub_script.tab.c): New rule.
31396 (grub_script.tab.h): Likewise.
31397
31398 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31399
31400 * include/grub/normal.h (grub_test_init): New prototype.
31401 (grub_test_fini): Likewise.
31402
31403 * normal/command.c: Include <grub/script.h>.
31404 (grub_command_execute): Rewritten.
31405
31406 * util/grub-emu.c (main): Call `grub_test_init' and
31407 `grub_test_fini'.
31408
31409 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31410
31411 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31412 to 0.
31413 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31414 there are no pending characters.
31415
31416 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31417
31418 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31419 `grub_strndup' to drop device arguments. Replace unnecessary
31420 `grub_strndup' with `grub_strdup'.
31421
31422 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31423
31424 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31425 `debug' environment variable has been set.
31426
31427 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31428
31429 * Makefile.in (install-local): Use $(DATA).
31430 (uninstall): Likewise.
31431 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31432 (sbin_UTILITIES): ... to here.
31433 (sbin_SCRIPTS): New variable.
31434 (grub_install_SOURCES): New variable.
31435 * util/powerpc/ieee1275/grub-install.in: New file.
31436 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31437 variable.
31438 (add_segments): Call `grub_util_get_path'.
31439
31440 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31441
31442 From Timothy Baldwin:
31443 * commands/ls.c (grub_ls_list_files): Close FILE with
31444 grub_file_close.
31445 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31446
31447 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31448
31449 * include/grub/parser.h: New file.
31450
31451 * kern/parser.c: Likewise.
31452
31453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31454 (grub_setup_SOURCES): Likewise.
31455 (grub_probefs_SOURCES): Likewise.
31456 (grub_emu_SOURCES): Likewise.
31457 (kernel_img_HEADERS): Add `parser.h'.
31458
31459 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31460 (grub_emu_SOURCES): Add `kern/parser.c'.
31461 (grubof_SOURCES): Likewise.
31462
31463 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31464 (grubof_SOURCES): Add `kern/parser.c'.
31465
31466 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31467
31468 * kern/misc.c (grub_split_cmdline): Removed function.
31469
31470 * kern/rescue.c: Include <grub/parser.h>.
31471 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31472 of `grub_split_cmdline'.
31473
31474 * normal/command.c: Include <grub/parser.h>.
31475 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31476 of `grub_split_cmdline'.
31477
31478 * normal/completion.c: Include <grub/parser.h>.
31479 (cmdline_state): New variable.
31480 (iterate_dir): End the filename with a quote depending on the
31481 command line state.
31482 (get_state): new function.
31483 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31484 split the arguments and determine the current argument. When the
31485 argument string is not quoted, escape all spaces.
31486
31487 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31488
31489 * normal/sparc64/setjmp.S: New file.
31490
31491 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31492
31493 * include/grub/sparc64/libgcc.h: New file.
31494 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31495 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31496 normal/sparc64/setjmp.c.
31497
31498 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31499
31500 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31501 * kern/sparc64/cache.S: New file.
31502 * kern/sparc64/cache.c: Removed.
31503 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31504 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31505 -mtune=ultrasparc.
31506 (COMMON_LDFLAGS): Add -melf64_sparc.
31507 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31508 (grubof_SOURCES): Use cache.S instead of cache.c.
31509 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31510 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31511 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31512 commented though.
31513 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31514 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31515 (linux_mod_CFLAGS): Commented out.
31516 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31517 out because module isn't built.
31518 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31519 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31520 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31521 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31522 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31523 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31524 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31525 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31526 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31527 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31528 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31529 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31530 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31531 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31532
31533 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31534
31535 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31536 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31537 longer, because HFS should not be used on PC.
31538
31539 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31540
31541 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31542 consistently within the loop.
31543
31544 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31545
31546 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31547 directory can not be read.
31548
31549 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31550
31551 * configure.ac (AC_INIT): Increase the version number to 1.91.
31552
31553 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31554 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31555 term/i386/pc/serial.c.
31556
31557 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31558
31559 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31560 file size must be permitted.
31561
31562 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31563 between %ah and %al.
31564
31565 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31566
31567 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31568 grub_uint64_t.
31569 Call the hook with a NUL-terminated filename.
31570 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31571 grub_cpu_to_be32.
31572
31573 * kern/term.c (cursor_state): New variable.
31574 (grub_term_set_current): Reset the cursor state on a new
31575 terminal.
31576 (grub_setcursor): Rewritten to use CURSOR_STATE.
31577 (grub_getcursor): New function.
31578
31579 * include/grub/term.h (grub_getcursor): New prototype.
31580
31581 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31582 integers on ARM. Reported by Timothy Baldwin
31583 <T.E.Baldwin99@members.leeds.ac.uk>.
31584
31585 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31586
31587 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31588 allocated.
31589 (grub_sfs_dir): Likewise.
31590
31591 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31592
31593 Add support for the SFS filesystem.
31594
31595 * fs/sfs.c: New file.
31596
31597 * DISTLIST: Added `fs/sfs.c'.
31598
31599 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31600 (grub_probefs_SOURCES): Likewise.
31601 (grub_emu_SOURCES): Likewise.
31602 (pkgdata_MODULES): Add `sfs.mod'.
31603 (sfs_mod_SOURCES): New variable.
31604 (sfs_mod_CFLAGS): Likewise.
31605 (sfs_mod_LDFLAGS): Likewise.
31606
31607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31608 (pkgdata_MODULES): Add `sfs.mod'.
31609 (sfs_mod_SOURCES): New variable.
31610 (sfs_mod_CFLAGS): Likewise.
31611
31612 * util/grub-emu.c (main): Call `grub_sfs_init' and
31613 `grub_sfs_fini'.
31614
31615 * include/grub/fs.h (grub_sfs_init): New prototype.
31616 (grub_sfs_fini): Likewise.
31617
31618 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31619
31620 Add support for the AFFS filesystem.
31621
31622 * fs/affs.c: New file.
31623
31624 * DISTLIST: Added `fs/affs.c'.
31625
31626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31627 (grub_probefs_SOURCES): Likewise.
31628 (grub_emu_SOURCES): Likewise.
31629 (pkgdata_MODULES): Add `affs.mod'.
31630 (affs_mod_SOURCES): New variable.
31631 (affs_mod_CFLAGS): Likewise.
31632 (affs_mod_LDFLAGS): Likewise.
31633
31634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31635 (pkgdata_MODULES): Add `affs.mod'.
31636 (affs_mod_SOURCES): New variable.
31637 (affs_mod_CFLAGS): Likewise.
31638
31639 * util/grub-emu.c (main): Call `grub_affs_init' and
31640 `grub_affs_fini'.
31641
31642 * include/grub/fs.h (grub_affs_init): New prototype.
31643 (grub_affs_fini): Likewise.
31644
31645 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31646
31647 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31648
31649 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31650
31651 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31652 `-m32' to CFLAGS.
31653
31654 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31655 linking.
31656
31657 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31658 (COMMON_LDFLAGS): New variable.
31659 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31660 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31661 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31662 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31663 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31664 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31665 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31666 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31667 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31668 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31669 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31670 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31671 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31672 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31673 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31674 variables.
31675 (normal_mod_ASFLAGS): Add `-m32'.
31676
31677 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31678 (grub_host_size_t, grub_host_ssize_t): New types.
31679 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31680 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31681 `GRUB_HOST_SIZEOF_VOID_P'.
31682
31683 * include/grub/kernel.h (struct grub_module_header): Type of
31684 member offset changed to `grub_host_off_t'. Type of member size
31685 changed to `grub_host_size_t'.
31686 (struct grub_module_info): Type of member offset changed to
31687 `grub_host_off_t'. Type of member size changed to
31688 `grub_host_size_t'.
31689
31690 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31691
31692 Make GRUB's kernel compliant to Multiboot Specification.
31693
31694 * kern/i386/pc/startup.S (multiboot_header): New label.
31695 (multiboot_entry): Likewise.
31696 (multiboot_trampoline): Likewise.
31697
31698 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31699 Increased to 0x4A0.
31700
31701 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31702 put parentheses after a question mark.
31703 [!GRUB_UTIL] (my_mod): New variable.
31704
31705 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31706
31707 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31708
31709 Adds support for the XFS filesystem. Btrees are not supported
31710 yet.
31711
31712 * fs/xfs.c: New file.
31713
31714 * DISTLIST: Added `fs/xfs.c'.
31715
31716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31717 (grub_probefs_SOURCES): Likewise.
31718 (grub_emu_SOURCES): Likewise.
31719 (pkgdata_MODULES): Add `xfs.mod'.
31720 (xfs_mod_SOURCES): New variable.
31721 (xfs_mod_CFLAGS): Likewise.
31722
31723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31724 (pkgdata_MODULES): Add `xfs.mod'.
31725 (xfs_mod_SOURCES): New variable.
31726 (xfs_mod_CFLAGS): Likewise.
31727
31728 * util/grub-emu.c (main): Call `grub_xfs_init' and
31729 `grub_xfs_fini'.
31730
31731 * include/grub/fs.h (grub_xfs_init): New prototype.
31732 (grub_xfs_fini): Likewise.
31733
31734
31735 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31736
31737 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31738 color modes, allow greater than 16 colors to be configured as
31739 a default palette.
31740
31741 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31742
31743 * normal/completion.c (complete_arguments): Add the qualifier
31744 const into OPTIONS.
31745
31746 From Omniflux <omniflux+lists@omniflux.com>:
31747 * include/grub/terminfo.h: New file.
31748 * include/grub/tparm.h: Likewise.
31749 * include/grub/i386/pc/serial.h: Likewise.
31750 * term/terminfo.c: Likewise.
31751 * term/tparm.c: Likewise.
31752 * term/i386/pc/serial.c: Likewise.
31753 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31754 serial.mod.
31755 (terminfo_mod_SOURCES): New variable.
31756 (terminfo_mod_CFLAGS): Likewise.
31757 (serial_mod_SOURCES): Likewise.
31758 (serial_mod_CFLAGS): Likewise.
31759
31760 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31761
31762 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31763 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31764 and kern/powerpc/ieee1275/cmain.c, respectively.
31765
31766 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31767 * kern/powerpc/ieee1275/crt0.S: ... here.
31768
31769 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31770 * kern/powerpc/ieee1275/cmain.c: ... here.
31771
31772 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31773 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31774 instead of boot/powerpc/ieee1275/crt0.S and
31775 boot/powerpc/ieee1275/cmain.c, respectively.
31776
31777 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31778 sectors. It was not used anyway.
31779
31780 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31781
31782 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31783 `unused parameter' warning.
31784
31785 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31786
31787 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31788 function.
31789 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31790 getcharwidth.
31791
31792 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31793
31794 * include/grub/normal.h (enum grub_completion_type): Added
31795 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31796
31797 * normal/cmdline.c (print_completion): Handle
31798 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31799 * normal/menu_entry.c (store_completion): Likewise.
31800
31801 * normal/completion.c (complete_arguments): New function.
31802 (grub_normal_do_completion): Call `complete_arguments' when the
31803 current words start with a dash.
31804
31805 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31806
31807 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31808 `gzio.mod' instead of `io.mod').
31809
31810 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31811
31812 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31813 (DISTDIRS): Added io and video.
31814 Rewrite the search routine to make an output consistently.
31815
31816 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31817 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31818 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31819 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31820 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31821 util/powerpc/ieee1275/misc.c.
31822
31823 * include/grub/gzio.h: New file.
31824 * io/gzio.c: Likewise.
31825
31826 * kern/file.c (grub_file_close): Call grub_device_close only if
31827 FILE->DEVICE is not NULL.
31828
31829 * include/grub/mm.h [!NULL] (NULL): New macro.
31830
31831 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31832
31833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31834 (pkgdata_MODULES): Added gzio.mod.
31835 (gzio_mod_SOURCES): New variable.
31836 (gzio_mod_CFLAGS): Likewise.
31837
31838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31839 (pkgdata_MODULES): Added gzio.mod.
31840 (gzio_mod_SOURCES): New variable.
31841 (gzio_mod_CFLAGS): Likewise.
31842
31843 * commands/cat.c: Include grub/gzio.h.
31844 (grub_cmd_cat): Use grub_gzfile_open instead of
31845 grub_file_open.
31846
31847 * commands/cmp.c: Include grub/gzio.h.
31848 (grub_cmd_cmp): Use grub_gzfile_open instead of
31849 grub_file_open.
31850
31851 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31852 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31853 grub_file_open.
31854 (grub_rescue_cmd_module): Likewise.
31855
31856 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31857
31858 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31859 kern/sparc64/ieee1275/init.c because it contains _start.
31860 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31861
31862 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31863
31864 * configure.ac: Add support for sparc64 host with ieee1275
31865 firmware.
31866 * configure: Generated from configure.ac.
31867 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31868 instead of int.
31869 (grub_ofdisk_read): Likewise.
31870 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31871 pointers as (void *) to remove a warning.
31872 (grub_ofdisk_close): Likewise.
31873 (grub_ofdisk_read): Likewise.
31874 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31875 returns, so make it return void to remove a warning.
31876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31877 Corresponding prototype change.
31878 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31879 values, and cast the pointers as (void *) to remove a warning.
31880 (grub_mm_dump): Likewise.
31881 * conf/sparc64-ieee1275.mk: New file.
31882 * conf/sparc64-ieee1275.rmk: Likewise.
31883 * include/grub/sparc64/setjmp.h: Likewise.
31884 * include/grub/sparc64/types.h: Likewise.
31885 * include/grub/sparc64/ieee1275/console.h: Likewise.
31886 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31887 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31888 * include/grub/sparc64/ieee1275/time.h: Likewise.
31889 * kern/sparc64/cache.c: Likewise.
31890 * kern/sparc64/dl.c: Likewise.
31891 * kern/sparc64/ieee1275/init.c: Likewise.
31892 * kern/sparc64/ieee1275/openfw.c: Likewise.
31893
31894 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31895
31896 * util/console.c (grub_ncurses_putchar): If C is greater than
31897 0x7f, set C to a question mark.
31898 (grub_ncurses_getcharwidth): New function.
31899 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31900 getcharwidth.
31901
31902 * normal/menu.c (print_entry): Made aware of Unicode. First,
31903 convert TITLE to UCS-4, and predict the cursor position by
31904 grub_getcharwidth.
31905
31906 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31907 const to SRC.
31908 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31909
31910 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31911
31912 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31913 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31914 grub_strcat.
31915
31916 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31917 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31918 grub_strcpy and grub_strlen. Take it into account that a space
31919 character is inserted as a delimiter.
31920
31921 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31922
31923 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31924 invalid magic in the error.
31925
31926 * commands/search.c: New file.
31927
31928 * util/grub-emu.c (main): Call grub_search_init and
31929 grub_search_fini.
31930
31931 * kern/rescue.c (grub_rescue_print_disks): Removed.
31932 (grub_rescue_print_devices): New function.
31933 (grub_rescue_cmd_ls): Use grub_device_iterate with
31934 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31935 grub_rescue_print_disks.
31936
31937 * kern/partition.c (grub_partition_iterate): Return the result of
31938 PARTMAP->ITERATE instead of GRUB_ERRNO.
31939
31940 * kern/device.c: Include grub/partition.h.
31941 (grub_device_iterate): New function.
31942
31943 * include/grub/partition.h (grub_partition_iterate): Return int
31944 instead of grub_err_t.
31945
31946 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31947 prototype.
31948 [GRUB_UTIL] (grub_search_fini): Likewise.
31949
31950 * include/grub/device.h (grub_device_iterate): New prototype.
31951
31952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31953 commands/search.c.
31954 (pkgdata_MODULES): Added search.mod.
31955 (search_mod_SOURCES): New variable.
31956 (search_mod_CFLAGS): Likewise.
31957
31958 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31959 (pkgdata_MODULES): Added search.mod.
31960 (search_mod_SOURCES): New variable.
31961 (search_mod_CFLAGS): Likewise.
31962
31963 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31964 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31965 All callers changed.
31966
31967 * DISTLIST: Added commands/search.c.
31968
31969 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31970
31971 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31972 conversion.
31973 (grub_getcharwidth): New function.
31974
31975 * kern/misc.c (grub_utf8_to_ucs4): New function.
31976
31977 * include/grub/term.h (struct grub_term): Added a new member
31978 "getcharwidth".
31979 (grub_getcharwidth): New prototype.
31980
31981 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31982
31983 * term/i386/pc/console.c (map_char): New function. Segregated from
31984 grub_console_putchar.
31985 (grub_console_putchar): Use map_char.
31986 (grub_console_getcharwidth): New function.
31987 (grub_console_term): Specified grub_console_getcharwidth as
31988 getcharwidth.
31989
31990 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31991 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31992
31993 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31994 GRUB_ERRNO.
31995 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31996 on grub_strtoul completely.
31997 (write_char): Declare local variables in the beginning of the
31998 function.
31999 (grub_vesafb_getcharwidth): New function.
32000 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32001 getcharwidth.
32002
32003 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32004
32005 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32006 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32007 commands/i386/pc/vbetest.c.
32008
32009 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32010 call grub_vbe_get_controller_info again, because the returned
32011 information is volatile.
32012 (grub_vbe_set_video_mode): Mostly rewritten.
32013 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32014 grub_vbe_status_t correctly.
32015 (grub_vbe_get_video_mode_info): Likewise.
32016 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32017 several if statements.
32018
32019 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32020 * commands/i386/pc/vbeinfo.c: ... this.
32021
32022 * commands/i386/pc/vbe_test.c: Renamed to ...
32023 * commands/i386/pc/vbetest.c: ... this.
32024
32025 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32026 ...
32027 (grub_cmd_vbeinfo): ... this. Save video modes before
32028 iterating. Skip a video mode, if it is not available, not enough
32029 information is given or it is monochrome. Show the memory
32030 model. Leave the interpretation of MODEVAR to grub_strtoul
32031 completely.
32032 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32033 (GRUB_MOD_FINI): Likewise.
32034
32035 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32036 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32037 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32038 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32039 grub_strtoul completely.
32040 (real2pm): Removed.
32041 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32042 (GRUB_MOD_FINI): Likewise.
32043
32044 * normal/misc.c: Include grub/mm.h.
32045
32046 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32047 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32048 (vbe_list_modes_mod_SOURCES): Removed.
32049 (vbe_list_modes_mod_CFLAGS): Likewise.
32050 (vbe_test_mod_SOURCES): Likewise.
32051 (vbe_test_mod_CFLAGS): Likewise.
32052 (vbeinfo_mod_SOURCES): New variable.
32053 (vbeinfo_mod_CFLAGS): Likewise.
32054 (vbetest_mod_SOURCES): Likewise.
32055 (vbetest_mod_CFLAGS): Likewise.
32056
32057 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32058
32059 * normal/misc.c: New file.
32060
32061 * DISTLIST: Added normal/misc.c.
32062
32063 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32064 DISK to HOOK. Call HOOK with DISK.
32065 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32066 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32067 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32068
32069 * normal/menu_entry.c (struct screen): Added a new member
32070 "completion_shown".
32071 (completion_buffer): New global variable.
32072 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32073 (store_completion): New function.
32074 (complete): Likewise.
32075 (clear_completions): Likewise.
32076 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32077 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32078 a tab, call complete.
32079
32080 * normal/completion.c (disk_dev): Removed.
32081 (print_simple_completion): Likewise.
32082 (print_partition_completion): Likewise.
32083 (print_func): New global variable.
32084 (add_completion): Do not take the arguments WHAT or PRINT any
32085 longer. Added a new argument TYPE. Instead of printing directly,
32086 call PRINT_FUNC if not NULL.
32087 All callers changed.
32088 (complete_device): Use a local variable DEV instead of
32089 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32090 (grub_normal_do_completion): Take a new argument HOOK. Do not
32091 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32092 empty string, return NULL instead.
32093 All callers changed.
32094
32095 * normal/cmdline.c (print_completion): New function.
32096
32097 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32098 to HOOK.
32099 All callers changed.
32100
32101 * kern/disk.c (grub_print_partinfo): Removed.
32102
32103 * include/grub/partition.h (struct grub_partition_map): Add a new
32104 argument DISK into HOOK of ITERATE.
32105 (grub_partition_iterate): Add a new argument DISK to HOOK.
32106
32107 * include/grub/normal.h (enum grub_completion_type): New enum.
32108 (grub_completion_type_t): New type.
32109 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32110 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32111 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32112 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32113 (grub_normal_do_completion): Added a new argument HOOK.
32114 (grub_normal_print_device_info): New prototype.
32115
32116 * include/grub/disk.h (grub_print_partinfo): Removed.
32117
32118 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32119 (normal_mod_SOURCES): Likewise.
32120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32121 (normal_mod_SOURCES): Likewise.
32122
32123 * commands/ls.c (grub_ls_list_disks): Use
32124 grub_normal_print_device_info instead of grub_print_partinfo. Free
32125 PNAME.
32126 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32127 duplicating the code.
32128
32129 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32130
32131 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
32132 follow GCS more precisely.
32133 * commands/i386/pc/vbe_test.c: Likewise.
32134 * include/grub/i386/pc/vbe.h: Likewise.
32135 * term/i386/pc/vesafb.c: Likewise.
32136 * video/i386/pc/vbe.c: Likewise.
32137
32138 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32139
32140 * DISTLIST: Added term/i386/pc/vesafb.c
32141 DISTLIST: Added video/i386/pc/vbe.c
32142 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32143 DISTLIST: Added commands/i386/pc/vbe_test.c.
32144 * commands/i386/pc/vbe_list_modes.c: New file.
32145 * commands/i386/pc/vbe_test.c: Likewise.
32146 * term/i386/pc/vesafb.c: Likewise.
32147 * video/i386/pc/vbe.c: Likewise.
32148 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32149 (grub_vbe_probe) Added prototype.
32150 (grub_vbe_set_video_mode) Likewise.
32151 (grub_vbe_get_video_mode) Likewise.
32152 (grub_vbe_get_video_mode_info) Likewise.
32153 (grub_vbe_set_pixel_rgb) Likewise.
32154 (grub_vbe_set_pixel_index) Likewise.
32155 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32156 (pkgdata_MODULES): Added vesafb.mod.
32157 (pkgdata_MODULES): Added vbe_list_modes.mod.
32158 (pkgdata_MODULES): Added vbe_test.mod.
32159 (vbe_mod_SOURCES): Added.
32160 (vbe_mod_CFLAGS): Likewise.
32161 (vesafb_mod_SOURCES): Likewise.
32162 (vesafb_mod_CFLAGS): Likewise.
32163 (vbe_list_modes_mod_SOURCES): Likewise.
32164 (vbe_list_modes_mod_CFLAGS): Likewise.
32165 (vbe_test_mod_SOURCES): Likewise.
32166 (vbe_test_mod_CFLAGS): Likewise.
32167
32168 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32169
32170 * normal/command.c (grub_command_execute): If INTERACTIVE is
32171 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32172 CMDLINE. Disable the pager if INTERACTIVE is true.
32173 All callers are changed.
32174
32175 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32176 before reading a config file.
32177 * normal/main.c (read_config_file): Even if a command is not
32178 found, register it if it is within an entry.
32179
32180 * util/grub-emu.c: Include sys/types.h and unistd.h.
32181 (options): Added --hold.
32182 (struct arguments): Added a new member "hold".
32183 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32184 missing.
32185 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32186 cleared by a debugger, if it is not zero.
32187
32188 * include/grub/normal.h (grub_command_execute): Add an argument
32189 INTERACTIVE.
32190
32191 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32192
32193 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32194
32195 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32196
32197 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32198 program with another one, because the old one didn't detect a bug
32199 in gcc-3.4. Always use regparm 2, because the new test is still
32200 not enough for gcc-4.0. Someone must investigate a simple test
32201 case which detects a bug in gcc-4.0.
32202
32203 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32204
32205 * DISTLIST: Added normal/completion.c.
32206
32207 * normal/completion.c: New file.
32208
32209 * term/i386/pc/console.c (grub_console_getwh): New function.
32210 (grub_console_term): Assign grub_console_getwh to getwh.
32211
32212 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32213 function is defined in normal/completion.c as
32214 grub_normal_do_completion.
32215 (grub_cmdline_get): Use grub_normal_do_completion instead of
32216 grub_tab_complete.
32217
32218 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32219 returns non-zero, otherwise return 0.
32220 (grub_partition_iterate): First, probe the partition map. Then,
32221 call ITERATE only for this partition map.
32222
32223 * kern/misc.c (grub_strncmp): Rewritten.
32224
32225 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32226 returns non-zero. Otherwise return 0.
32227
32228 * include/grub/partition.h (grub_partition_map_iterate): Return
32229 int instead of void.
32230
32231 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32232
32233 * include/grub/misc.h (grub_strncmp): Change the type of N to
32234 grub_size_t.
32235
32236 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32237 of void.
32238
32239 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32240 unsigned explicitly before comparing it with I.
32241
32242 * kern/main.c (grub_env_write_root): Add the attribute unused into
32243 VAR.
32244
32245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32246 normal/completion.c.
32247 (normal_mod_SOURCES): Likewise.
32248 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32249 (normal_mod_SOURCES): Likewise.
32250
32251 * normal/command.c (grub_iterate_commands): If ITERATE returns
32252 non-zero, return one immediately.
32253
32254 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32255
32256 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32257 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32258 descriptions.
32259 (grub_vbe_get_controller_info): New function.
32260 (grub_vbe_get_mode_info): Likewise.
32261 (grub_vbe_set_mode): Likewise.
32262 (grub_vbe_get_mode): Likewise.
32263 (grub_vbe_set_memory_window): Likewise.
32264 (grub_vbe_get_memory_window): Likewise.
32265 (grub_vbe_set_scanline_length): Likewise.
32266 (grub_vbe_get_scanline_length): Likewise.
32267 (grub_vbe_set_display_start): Likewise.
32268 (grub_vbe_get_display_start): Likewise.
32269 (grub_vbe_set_palette_data): Likewise.
32270 * include/grub/i386/pc/vbe.h: New file.
32271
32272 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32273
32274 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32275 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32276 * DISTLIST: Likewise.
32277 * kern/ieee1275/of.c: Moved to ...
32278 * kern/ieee1275/ieee1275.c: ... here.
32279
32280 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32281
32282 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32283 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32284 Pass 0 as `end' parameter to grub_strtoul().
32285
32286 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32287
32288 * include/grub/powerpc/ieee1275/console.h: Do not include
32289 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32290 ifdef.
32291 (grub_console_cur_color): Remove i386-specific prototype.
32292 (grub_console_real_putchar): Likewise.
32293 (grub_console_checkkey): Likewise.
32294 (grub_console_getkey): Likewise.
32295 (grub_console_getxy): Likewise.
32296 (grub_console_gotoxy): Likewise.
32297 (grub_console_cls): Likewise.
32298 (grub_console_setcursor): Likewise.
32299 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32300 Include <grub/machine/console.h>.
32301 * term/ieee1275/ofconsole.c: Likewise.
32302
32303 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32304
32305 * Makefile.in (LIBLZO): New variable.
32306
32307 * configure.ac: Check for LZO version 2.
32308
32309 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32310 lzo/lzo1x.h instead of lzo1x.h.
32311
32312 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32313 of -llzo.
32314
32315 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32316 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32317
32318 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32319 copying the data from PARTITION to P.
32320
32321 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32322
32323 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32324 negative, unload the module.
32325
32326 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32327 map is "pc_partition_map" but not "pc".
32328 (usage): Fix the description. The options are --boot-image and
32329 --core-image but not --boot-file or --core-file.
32330 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32331 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32332 DEFAULT_DIRECTORY.
32333
32334 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32335 --core-file. Specify INSTALL_DEVICE as an argument.
32336
32337 * util/console.c: Include config.h.
32338 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32339 [HAVE_NCURSES_H]: Include ncurses.h.
32340 [HAVE_CURSES_H]: Include curses.h.
32341 [!A_NORMAL] (A_NORMAL): Defined as zero.
32342 [!A_STANDOUT] (A_STANDOUT): Likewise.
32343
32344 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32345 -lncurses.
32346 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32347
32348 * configure.ac: Check for curses libraries and headers.
32349
32350 * Makefile.in (LIBCURSES): New variable.
32351
32352 * genmk.rb (Script::rule): Set the executable bits.
32353
32354 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32355 name of the PC partition map is "pc_partition_map" but not "pc".
32356
32357 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32358
32359 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32360 (modules): Likewise.
32361 (usage): Added descriptions for --modules and --grub-probefs.
32362 Handle --modules and --grub-probefs. Save the arguments in MODULES
32363 and GRUB_PROBEFS, respectively.
32364 Auto-detect a filesystem module against GRUBDIR. If the result is
32365 empty and modules are not specified explicitly, abort the
32366 installation. Add the result to MODULES.
32367
32368 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32369 disk/powerpc/ieee1275/ofdisk.c,
32370 include/grub/powerpc/ieee1275/init.h and
32371 term/powerpc/ieee1275/ofconsole.c.
32372 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32373 term/ieee1275/ofconsole.c.
32374
32375 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32376
32377 * COPYING: Upgraded to the latest version. Only the address of the
32378 FSF office has changed.
32379
32380 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32381
32382 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32383 kern/ieee1275.c with kern/ieee1275/of.c.
32384
32385 * kern/ieee1275.c: Moved to ...
32386 * kern/ieee1275/of.c: ... here.
32387
32388 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32389
32390 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32391 readability.
32392
32393 * config.guess: Updated to the latest version from gnulib.
32394 * config.sub: Likewise.
32395 * install.sh: Likewise.
32396 * mkinstalldirs: Likewise.
32397
32398 * include/grub/console.h: Removed. This file is arch-specific. Do
32399 not put this in include/grub.
32400
32401 * include/grub/i386/pc/console.h: Resurrected.
32402
32403 * util/console.c: Include grub/machine/console.h instead of
32404 grub/console.h.
32405 * util/grub-emu.c: Likewise.
32406
32407 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32408
32409 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32410 hardcoded value.
32411
32412 From Vincent Pelletier <subdino2004@yahoo.fr>
32413 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32414 Redefined to use grub_getwh.
32415 (grub_term): New member named getwh.
32416 (grub_getwh): New prototype.
32417 * kern/term.c (grub_getwh): New function.
32418 * term/i386/pc/console.c (grub_console_getwh): New function.
32419 (grub_console_term): New member `getwh'.
32420 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32421 (grub_vga_term): New member `getwh'.
32422 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32423 grub_ssize_t.
32424 (grub_ofconsole_getw): New function.
32425 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32426 (grub_ofconsole_term): New field named getwh and new initial
32427 value.
32428
32429 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32430
32431 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32432 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32433 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32434 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32435 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32436 of <grub/machine/ieee1275.h>.
32437 * commands/ieee1275/reboot.c: Likewise.
32438 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32439 * kern/ieee1275.c: ... to here. All users updated. Change all
32440 parameter structs to use new type `grub_ieee1275_cell_t'.
32441 * term/powerpc/ieee1275/ofconsole.c: Move ...
32442 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32443 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32444 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32445 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32446 to return int.
32447 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32448 Remove unused prototypes. All users updated.
32449 * include/grub/powerpc/ieee1275/console.h: Removed.
32450 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32451 `grub_ieee1275_cell_t'.
32452 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32453 Cast comparisons with -1 to the correct type.
32454 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32455 type to match `grub_ieee1275_entry_fn'.
32456
32457 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32458
32459 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32460
32461 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32462 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32463 partmap/sun.c.
32464 (grub_probefs_SOURCES): New variable.
32465
32466 * util/i386/pc/grub-probefs.c: New file.
32467
32468 * util/i386/pc/grub-setup.c (main): Call
32469 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32470 grub_hfs_init and grub_jfs_init to initialize the system. Call
32471 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32472 grub_pc_partition_map_fini to finish the system.
32473
32474 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32475
32476 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32477 function.
32478 (grub_multiboot_load_elf32): Likewise.
32479 (grub_multiboot_is_elf64): Likewise.
32480 (grub_multiboot_load_elf64): Likewise.
32481 (grub_multiboot_load_elf): Likewise.
32482 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32483 an ELF32 or ELF64 file.
32484 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32485
32486 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32487 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32488 NULL before calling FS->LABEL.
32489 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32490 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32491 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32492 before calling FS->LABEL.
32493
32494 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32495
32496 * util/i386/pc/grub-install.in (datadir): New variable.
32497 (libdir): Removed.
32498 (pkgdatadir): New variable.
32499 (pkglibdir): Removed.
32500
32501 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32502
32503 * DISTLIST: Added util/i386/pc/grub-install.in.
32504
32505 * util/i386/pc/grub-install.in: New file.
32506
32507 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32508 (grub_install_SOURCES): Likewise.
32509
32510 * genmk.rb: Added support for scripts.
32511 (Script): New class.
32512 (scripts): New variable.
32513
32514 * Makefile.in (install-local): Install sbin_SCRIPTS by
32515 INSTALL_SCRIPT.
32516 (uninstall): Remove sbin_SCRIPTS.
32517
32518 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32519 device, try to get a GRUB device by
32520 grub_util_biosdisk_get_grub_dev.
32521 Free DEST_DEV.
32522
32523 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32524 description for --device-map.
32525
32526 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32527
32528 Change the semantics of variable hooks. They now return strings
32529 instead of error values.
32530
32531 * util/i386/pc/grub-setup.c: Include grub/env.h.
32532 (setup): Use grub_device_set_root instead of grub_env_set.
32533
32534 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32535 grub_env_get instead of grub_device_set_root and
32536 grub_device_get_root, respectively.
32537
32538 * kern/main.c (grub_env_write_root): New function.
32539 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32540 grub_env_set instead of grub_device_set_root.
32541
32542 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32543 many variables.
32544 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32545 rather than calling ENV->WRITE_HOOK afterwards.
32546 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32547 passing a pointer of a pointer.
32548 (grub_register_variable_hook): Change the types of "read_hook" and
32549 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32550 respectively.
32551 Allocate the default empty string on the heap, because this string
32552 may be freed later.
32553
32554 * kern/device.c: Include grub/env.h.
32555 (grub_device_set_root): Removed.
32556 (grub_device_get_root): Likewise.
32557 (grub_device_open): Use grub_env_get instead of
32558 grub_device_get_root.
32559
32560 * include/grub/env.h (grub_env_read_hook_t): New type.
32561 (grub_env_write_hook_t): Likewise.
32562 (grub_env_var): Change the types of "read_hook" and "write_hook"
32563 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32564 (grub_register_variable_hook): Likewise.
32565
32566 * include/grub/device.h (grub_device_set_root): Removed.
32567 (grub_device_set_root): Likewise.
32568
32569 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32570 make sure that DIRNAME terminates with '/', so that
32571 grub_fat_find_dir will fail if PATH is not a directory.
32572
32573 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32574 from DIRNAME.
32575 Use the qualifier auto for print_files and print_files_long.
32576 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32577 as a regular file.
32578 Put a newline only if there is no error.
32579 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32580 used.
32581
32582 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32583
32584 * kern/partition.c (grub_partition_probe): Initialize PART to
32585 NULL. Otherwise, when no partition map is registered, this returns
32586 a garbage.
32587
32588 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32589
32590 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32591 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32592 valid.
32593
32594 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32595
32596 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32597 information on each device, if it does not have partitions. Print
32598 "Device" instead of "Disk", because this function is not specific
32599 to disk devices.
32600
32601 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32602 static to ensure that it is put on the memory rather than a
32603 register.
32604
32605 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32606
32607 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32608 (grub_cat_init): Likewise.
32609 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32610 (options): Likewise.
32611 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32612 (grub_configfile_init): Likewise.
32613 * font/manager.c (GRUB_MOD_INIT): Likewise.
32614 * commands/help.c (GRUB_MOD_INIT): Likewise.
32615 (grub_help_init): Likewise.
32616 * normal/command.c (grub_command_init): Likewise.
32617 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32618 * disk/loopback.c (grub_loop_init): Likewise.
32619 (GRUB_MOD_INIT): Likewise.
32620 * commands/ls.c (grub_ls_init): Likewise.
32621 (GRUB_MOD_INIT): Likewise.
32622 (options): Likewise.
32623 * commands/boot.c (grub_boot_init): Likewise.
32624 (GRUB_MOD_INIT): Likewise.
32625 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32626 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32627 (GRUB_MOD_INIT): Likewise.
32628 * commands/cmp.c (grub_cmp_init): Likewise.
32629 (GRUB_MOD_INIT): Likewise.
32630
32631 * normal/arg.c: Use <> instead of "" to include header files.
32632 (SHORT_ARG_HELP): New macro.
32633 (SHORT_ARG_USAGE): Likewise.
32634 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32635 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32636 descriptions.
32637 (find_short): Check if C is 'h' or 'u' explicitly.
32638 (grub_arg_show_help): Use space characters instead of tabs. Treat
32639 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32640 are shown with --help and --usage only if they are not used for
32641 the command itself.
32642 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32643 'h' and 'u'.
32644
32645 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32646 const into "longarg". Change the type of "shortarg" to int.
32647
32648 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32649
32650 * boot/i386/pc/boot.S (boot_drive_check): New label.
32651
32652 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32653 macro.
32654
32655 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32656 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32657
32658 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32659
32660 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32661 When turning off Gate A20, skip the check and return immediately,
32662 because this is not fatal usually.
32663
32664 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32665
32666 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32667 be 0x7C00 instead of 0x8000.
32668
32669 * boot/i386/pc/pxeboot.S: Rewritten.
32670
32671 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32672 EXT_C.
32673 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32674 result.
32675
32676 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32677
32678 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32679 robustness. This routine now supports a BIOS call and System
32680 Control Port A to modify the gate A20.
32681
32682 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32683 Increased to 0x440.
32684
32685 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32686
32687 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32688 device path and resulting ihandle.
32689 (grub_ofdisk_close): dprintf the ihandle being closed.
32690 (grub_ofdisk_read): dprintf function parameters.
32691 * kern/mm.c (grub_mm_init_region): Likewise.
32692 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32693 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32694 size, and boot arguments.
32695 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32696 before loading into memory.
32697 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32698 before loading into memory.
32699
32700 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32701
32702 * kern/mm.c: Added much documentation.
32703 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32704 8, set to 5 instead of 8.
32705
32706 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32707
32708 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32709
32710 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32711 (grub_mkdevicemap_SOURCES): New variable.
32712
32713 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32714 lib/device.c of GRUB Legacy.
32715
32716 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32717
32718 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32719 instead of PATH is NULL.
32720
32721 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32722
32723 * commands/cmp.c (BUFFER_SIZE): New macro.
32724 (grub_cmd_cmp): Close the right file at the right time. Compare
32725 only data just read. Don't report files of different size as
32726 identical. Dynamically allocate buffers. Move variable
32727 declarations at the beginning of function.
32728
32729 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32730
32731 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32732 reverse.
32733
32734 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32735
32736 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32737 when backspace is pressed at beginning of line.
32738
32739 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32740
32741 * DISTLIST: Added genfslist.sh.
32742
32743 * normal/main.c (fs_module_list): New variable.
32744 (autoload_fs_module): New function.
32745 (read_fs_list): Likewise.
32746 (grub_normal_execute): Call read_fs_list.
32747
32748 * kern/fs.c (grub_fs_autoload_hook): New variable.
32749 (grub_fs_probe): Added support for auto-loading.
32750
32751 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32752 (grub_fs_module_list_t): New type.
32753
32754 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32755 (grub_fs_autoload_hook): New prototype.
32756
32757 * genfslist.sh: New file.
32758
32759 * genmk.rb: Added a rule to generate a filesystem list.
32760
32761 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32762
32763 * configure.ac: Fix the test for cross-compiling.
32764
32765 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32766 define GRUB_UTIL anymore.
32767
32768 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32769 so this function works on other systems than just big endian.
32770 (load_modules): Likewise.
32771 (add_segments): Likewise.
32772
32773 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32774
32775 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32776 contains `l' modifier, get a long from va_arg().
32777
32778 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32779
32780 * kern/mm.c (grub_free): If the next free block which is being
32781 merged is the first free block, set the first block to the block
32782 being freed.
32783 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32784
32785 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32786
32787 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32788 `grub_ieee1275_chosen'.
32789
32790 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32791
32792 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32793 (grub_ieee1275_chosen): New variable.
32794 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32795 `chosen'.
32796 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32797 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32798 Rename first argument to `phandle' for consistency.
32799 (grub_ieee1275_get_property_length): Likewise.
32800 (grub_ieee1275_next_property): Likewise. Change type of first argument
32801 to grub_ieee1275_phandle_t.
32802 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32803 Move export next to declaration.
32804 (grub_ieee1275_chosen): New variable.
32805 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32806 Correct cosmetic typo.
32807 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32808 `grub_ieee1275_chosen'.
32809 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32810 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32811 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32812 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32813 `grub_ieee1275_chosen'.
32814
32815 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32816
32817 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32818 /chosen/bootargs.
32819 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32820 /chosen/bootargs as "variable=value" pairs.
32821
32822 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32823
32824 * include/grub/misc.h (grub_dprintf): New macro.
32825 (grub_real_dprintf): New prototype.
32826 (grub_strword): Likewise.
32827 (grub_iswordseparator): Likewise.
32828 * kern/misc.c (grub_real_dprintf): New function.
32829 (grub_strword): Likewise.
32830 (grub_iswordseparator): Likewise.
32831
32832 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32833
32834 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32835 (roundup): Remove macro.
32836 (grub_ieee1275_flags): Make static.
32837 (grub_ieee1275_realmode): Remove.
32838 (grub_ieee1275_test_flag): New function.
32839 (grub_ieee1275_set_flag): Likewise.
32840 (find_options): Rename to `grub_ieee1275_find_options'; update
32841 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32842 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32843 (cmain): New prototype.
32844 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32845 `grub_ieee1275_flags' directly.
32846 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32847 machine/biosdisk.h.
32848 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32849 Don't include grub/machine/init.h.
32850 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32851 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32852 Remove prototype.
32853 (grub_ieee1275_realmode): Likewise.
32854 (grub_ieee1275_flag): New enum.
32855 (grub_ieee1275_test_flag): New prototype.
32856 (grub_ieee1275_set_flag): New prototype.
32857 * include/grub/powerpc/ieee1275/init.h: Remove file.
32858 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32859 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32860 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32861 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32862 comment.
32863 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32864 `grub_ieee1275_test_flag'.
32865 (grub_ieee1275_encode_devname): Likewise.
32866
32867 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32868
32869 * include/grub/powerpc/ieee1275/ieee1275.h
32870 (grub_ieee1275_encode_devname): New prototype.
32871 (grub_ieee1275_get_filename): Likewise.
32872 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32873 function.
32874 (grub_set_prefix): Likewise.
32875 (grub_machine_init): Call grub_set_prefix.
32876 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32877 (grub_parse_type): New enum.
32878 (grub_ieee1275_get_devargs): New function.
32879 (grub_ieee1275_get_devname): Likewise.
32880 (grub_ieee1275_parse_args): Likewise.
32881 (grub_ieee1275_get_filename): Likewise.
32882 (grub_ieee1275_encode_devname): Likewise.
32883
32884 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32885
32886 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32887 `grub_loader_unset'.
32888
32889 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32890
32891 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32892 instead of grub_ieee1275_interpret.
32893 (grub_halt_init): New function.
32894 (grub_halt_fini): Likewise.
32895 (GRUB_MOD_INIT): Correct message grammar.
32896 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32897 instead of grub_ieee1275_interpret.
32898 (grub_reboot_init): New function.
32899 (grub_reboot_fini): Likewise.
32900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32901 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32902 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32903 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32904 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32905 function.
32906 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32907 Add prototype.
32908 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32909 prototype.
32910 (grub_halt): Likewise.
32911 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32912 (cmain): Remove __attribute__((unused)).
32913 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32914 (grub_heap_len): Likewise.
32915 (grub_machine_fini): New function.
32916 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32917 (grub_halt): Likewise.
32918 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32919 function.
32920 * util/powerpc/ieee1275/misc.c: New file.
32921
32922 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32923
32924 * DISTLIST: New file.
32925 * gendistlist.sh: Likewise.
32926
32927 * Makefile.in (COMMON_DISTFILES): Removed.
32928 (BOOT_DISTFILES): Likewise.
32929 (CONF_DISTFILES): Likewise.
32930 (DISK_DISTFILES): Likewise.
32931 (FS_DISTFILES): Likewise.
32932 (INCLUDE_DISTFILES): Likewise.
32933 (KERN_DISTFILES): Likewise.
32934 (LOADER_DISTFILES): Likewise.
32935 (TERM_DISTFILES): Likewise.
32936 (UTIL_DISTFILES): Likewise.
32937 (DISTFILES): Likewise.
32938 (uninstall): Uninstall files in $(pkgdata_DATA).
32939 (DISTLIST): New target.
32940 (distdir): Use the contents of the file DISTLIST to get a list of
32941 distributed files.
32942
32943 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32944
32945 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32946 descriptor. This is ported from GRUB Legacy.
32947
32948 * gencmdlist.sh: Added an extra semicolon to make it work with
32949 old sed versions. Reported by Robert Bihlmeyer
32950 <robbe@orcus.priv.at>.
32951
32952 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32953
32954 Automatic loading of commands is supported.
32955
32956 * normal/main.c (read_command_list): New function.
32957 (grub_normal_execute): Call read_command_list.
32958
32959 * normal/command.c (grub_register_command): Return zero or CMD.
32960 Allocate CMD->NAME from the heap.
32961 Initialize CMD->MODULE_NAME to zero.
32962 Find the same name as well. If the same command is found and it is
32963 a dummy command, overwrite members. If it is not a dummy command,
32964 return zero.
32965 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32966 (grub_command_find): If a dummy command is found, load a module
32967 and retry to find a command only once.
32968
32969 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32970 make sure that each command is loaded.
32971
32972 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32973 macro.
32974 (struct grub_command): Remove const from the member `name'.
32975 Add a new member `module_name'.
32976 (grub_register_command): Return grub_command_t.
32977
32978 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32979 sure that each command is loaded.
32980
32981 * genmk.rb (PModule::rule): Specify a module name without the
32982 suffix ".mod" to gencmdlist.sh.
32983
32984 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32985
32986 * gencmdlist.sh: New file.
32987
32988 * genmk.rb (PModule::rule): Generate a rule for a command list.
32989 Clean command.lst.
32990 Generate command.lst from $(COMMANDFILES).
32991
32992 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32993 (DATA): Added $(pkgdata_DATA).
32994 (install-local): Install files in $(pkgdata_DATA).
32995
32996 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32997
32998 * term/i386/pc/vga.c (debug_command): Removed.
32999 (GRUB_MOD_INIT): Do not register the command "debug".
33000
33001 From Hollis Blanchard:
33002 * commands/configfile.c: New file.
33003 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33004 commands/configfile.c.
33005 (pkgdata_MODULES): Added configfile.mod.
33006 (configfile_mod_SOURCES): New variable.
33007 (configfile_mod_CFLAGS): Likewise.
33008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33009 commands/configfile.c.
33010 (pkgdata_MODULES): Added configfile.mod.
33011 (configfile_mod_SOURCES): New variable.
33012 (configfile_mod_CFLAGS): Likewise.
33013 * util/grub-emu.c (main): Call grub_configfile_init and
33014 grub_configfile_fini.
33015 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33016 prototype.
33017 [GRUB_UTIL] (grub_configfile_fini): Likewise.
33018
33019 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33020
33021 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33022 address.
33023
33024 * commands/help.c (grub_cmd_help): Do not print newlines after
33025 the last command in print_command_help.
33026
33027 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33028
33029 * commands/default.h: New file.
33030 * commands/timeout.h: Likewise.
33031 * normal/context.c: Likewise.
33032
33033 * util/misc.c: Do not include sys/times.h.
33034 Include sys/time.h and grub/machine/time.h.
33035 (grub_get_rtc): Rewritten with gettimeofday.
33036
33037 * util/grub-emu.c (main): Call grub_default_init and
33038 grub_timeout_init before grub_normal_init, and call
33039 grub_timeout_fini and grub_default_fini after grub_main.
33040
33041 * util/console.c (grub_ncurses_checkkey): Return the read
33042 character or -1.
33043
33044 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33045 timeouts.
33046
33047 * normal/main.c (read_config_file): Push MENU. If this fails,
33048 print an error and wait for a user input.
33049 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33050 If a menu is empty or an error occurs, pop MENU.
33051 (grub_normal_execute): Pop and free MENU after grub_menu_run
33052 returns.
33053
33054 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33055
33056 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33057 include time.h.
33058 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33059 without GRUB_UTIL.
33060 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33061 time.h.
33062 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33063 without GRUB_UTIL.
33064
33065 * include/grub/normal.h (struct grub_menu_list): New struct.
33066 (grub_menu_list_t): New type.
33067 (struct grub_context): New struct.
33068 (grub_context_t): New type.
33069 (grub_register_command): Got rid of EXPORT_FUNC.
33070 (grub_unregister_command): Likewise.
33071 (grub_context_get): New prototype.
33072 (grub_context_get_current_menu): Likewise.
33073 (grub_context_push_menu): Likewise.
33074 (grub_context_pop_menu): Likewise.
33075 [GRUB_UTIL] (grub_default_init): Likewise.
33076 [GRUB_UTIL] (grub_default_fini): Likewise.
33077 [GRUB_UTIL] (grub_timeout_init): Likewise.
33078 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33079
33080 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33081 commands/timeout.c and normal/context.c.
33082 (pkgdata_MODULES): Added default.mod and timeout.mod.
33083 (normal_mod_SOURCES): Added normal/context.c.
33084 (default_mod_SOURCES): New variable.
33085 (default_mod_CFLAGS): Likewise.
33086 (timeout_mod_SOURCES): Likewise.
33087 (timeout_mod_CFLAGS): Likewise.
33088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33089 conf/i386-pc.rmk.
33090 (pkgdata_MODULES): Added default.mod and timeout.mod.
33091 (normal_mod_SOURCES): Added normal/context.c.
33092 (default_mod_SOURCES): New variable.
33093 (default_mod_CFLAGS): Likewise.
33094 (timeout_mod_SOURCES): Likewise.
33095 (timeout_mod_CFLAGS): Likewise.
33096
33097 * Makefile.in (all-local): Added $(MKFILES).
33098
33099 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33100
33101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33102 (grub_emu_SOURCES): Likewise.
33103 (pkgdata_MODULES): Add `sun.mod'.
33104 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33106 `partmap/sun.c'.
33107 (pkgdata_MODULES): Add `sun.mod'.
33108 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33109 * include/grub/partition.h (grub_sun_partition_map_init): New
33110 prototype.
33111 (grub_sun_partition_map_fini): Likewise.
33112 * partmap/sun.c: New file.
33113 * util/grub-emu.c (main): Initialize and de-initialize the sun
33114 partitionmap support.
33115
33116 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33117
33118 This implements an Emacs-like menu entry editor.
33119
33120 * normal/menu_entry.c: New file.
33121
33122 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33123 characters to ASCII.
33124 (saved_char): New variable.
33125 (grub_ncurses_checkkey): Rewritten completely.
33126 (grub_ncurses_getkey): Likewise.
33127 (grub_ncurses_init): Call raw instead of cbreak.
33128
33129 * normal/menu.c (print_entry): Do not put a space.
33130 (init_page): Renamed to ...
33131 (grub_menu_init_page): ... this. All callers changed.
33132 (edit_menu_entry): Removed.
33133 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33134
33135 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33136
33137 * kern/misc.c (grub_vprintf): Call grub_refresh.
33138
33139 * normal/menu.c (DISP_LEFT): Renamed to ...
33140 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33141 * normal/menu.c (DISP_UP): Renamed to ...
33142 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33143 * normal/menu.c (DISP_RIGHT): Renamed to ...
33144 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33145 * normal/menu.c (DISP_DOWN): Renamed to ...
33146 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33147 * normal/menu.c (DISP_HLINE): Renamed to ...
33148 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33149 * normal/menu.c (DISP_VLINE): Renamed to ...
33150 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33151 * normal/menu.c (DISP_UL): Renamed to ...
33152 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33153 * normal/menu.c (DISP_UR): Renamed to ...
33154 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33155 * normal/menu.c (DISP_LL): Renamed to ...
33156 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33157 * normal/menu.c (DISP_LR): Renamed to ...
33158 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33159 * normal/menu.c (TERM_WIDTH): Renamed to ...
33160 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33161 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33162 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33163 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33164 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33165 * normal/menu.c (TERM_MARGIN): Renamed to ...
33166 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33167 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33168 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33169 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33170 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33171 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33172 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33173 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33174 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33175 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33176 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33177 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33178 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33179 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33180 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33181 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33182 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33183 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33184 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33185 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33186 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33187 All callers changed.
33188
33189 * include/grub/normal.h: New prototype.
33190
33191 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33192 normal/menu_entry.c.
33193 (normal_mod_SOURCES): Likewise.
33194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33195 (normal_mod_SOURCES): Likewise.
33196
33197 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33198
33199 * include/grub/normal.h (grub_halt_init): New prototype.
33200 (grub_halt_fini): Likewise.
33201 (grub_reboot_init): Likewise.
33202 (grub_reboot_fini): Likewise.
33203
33204 * util/grub-emu.c: Include signal.h.
33205 (main_env): New global variable.
33206 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33207 catch C-c.
33208 (grub_machine_fini): New function.
33209 (main): Call grub_halt_init and grub_reboot_init before
33210 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33211 Call setjmp with MAIN_ENV to go back afterwards.
33212 Call grub_machine_fini right before return.
33213
33214 * include/grub/util/misc.h: Include setjmp.h.
33215 (main_env): New prototype.
33216
33217 * include/grub/kernel.h (grub_machine_fini): New prototype.
33218 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33219 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33220
33221 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33222 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33223 * term/i386/pc/console.c (grub_console_fini): Likewise.
33224
33225 * util/i386/pc/misc.c: New file.
33226
33227 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33228 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33229 commands/i386/pc/reboot.c.
33230
33231 2005-02-14 Guillem Jover <guillem@hadrons.org>
33232
33233 * include/grub/dl.h (grub_dl_check_header): New prototype.
33234 (grub_arch_dl_check_header): Change return type to grub_err_t,
33235 remove size parameter and export function. Update all callers.
33236 * kern/dl.c (grub_dl_check_header): New function.
33237 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33238 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33239 are inside the core.
33240 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33241 independent ELF header checks.
33242 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33243 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33244 `grub_dl_check_header' instead of explicit checks. Check for the
33245 ELF type.
33246 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33247 `grub_dl_check_header' instead of explicit checks. Remove arch
33248 specific ELF header checks.
33249
33250 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33251 argument SIZE.
33252
33253 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33254
33255 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33256 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33257
33258 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33259
33260 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33261 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33262 (part_map_iterate): Clear `grub_errno' and return 0 if
33263 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33264 * partmap/amiga.c (amiga_partition_map_iterate): Return
33265 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33266 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33267
33268 2005-02-01 Guillem Jover <guillem@hadrons.org>
33269
33270 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33271 help info.
33272
33273 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33274
33275 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33276 Removed prototype.
33277 (grub_rescue_cmd_linux): New prototype.
33278 (grub_rescue_cmd_initrd): Likewise.
33279 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33280 `bi_rec'.
33281 (grub_linux_release_mem): Release the memory for the initrd.
33282 (grub_load_linux): Renamed from this...
33283 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33284 Changed `entry' not to be static. Loop over memory regions to
33285 find another one when the default fails.
33286 (grub_rescue_cmd_initrd): New function.
33287 (grub_linux_init): Remove function.
33288 (grub_linux_fini): Likewise.
33289 (GRUB_MOD_INIT): Register `initrd'.
33290 (GRUB_MOD_FINI): Unregister `initrd'.
33291 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33292 Function removed.
33293 (grub_linux_normal_fini): Likewise.
33294 (GRUB_MOD_INIT): Register `initrd'.
33295 (GRUB_MOD_FINI): Unregister `initrd'.
33296
33297 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33298
33299 * commands/help.c: New file.
33300 * normal/arg.c (show_help): Renamed to...
33301 (grub_arg_show_help): ... this.
33302 * commands/i386/pc/halt.c: New file.
33303 * commands/i386/pc/reboot.c: Likewise.
33304 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33305 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33306 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33307 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33308 variables.
33309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33310 `commands/help.c'.
33311 (pkgdata_MODULES): Add `help.mod'.
33312 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33313 * grub/i386/pc/init.h (grub_reboot): New prototype.
33314 (grub_halt): Likewise.
33315 * include/grub/normal.h (grub_arg_show_help): New prototype.
33316 (grub_help_init): Likewise.
33317 (grub_help_fini): Likewise.
33318 * util/grub-emu.c (main): Initialize and deinitialize the help
33319 command.
33320
33321 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33322
33323 * normal/command.c (grub_command_init): Fixed the description of
33324 the `set' and `unset' commands.
33325
33326 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33327
33328 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33329 function.
33330 * commands/ieee1275/halt.c: New file.
33331 * commands/ieee1275/reboot.c: Likewise.
33332 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33333 `__attribute__ ((unused))'. Some GCS related fixed.
33334 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33335 (grub_suspend_fini): Likewise.
33336 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33337 and `halt.mod'.
33338 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33339 (halt_mod_CFLAGS): New variables.
33340 * include/grub/powerpc/ieee1275/ieee1275.h
33341 (grub_ieee1275_interpret): New prototype.
33342
33343 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33344
33345 * include/grub/misc.h (memmove): New prototype.
33346 (memcpy): Likewise.
33347
33348 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33349
33350 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33351 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33352
33353 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33354
33355 * kern/misc.c (grub_strndup): Function rewritten.
33356
33357 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33358
33359 * normal/menu.c (TERM_WIDTH): Macro redefined.
33360 (TERM_TOP_BORDER_Y): Likewise.
33361 (draw_border): Replaced while-loop by a for-loop. Make the number
33362 of lines consistent with the number of lines displayed in
33363 print_entries. Added a margin below the rectangle.
33364 (print_entry): Make the entry fit in the rectangle.
33365 (print_entries): Display the scroll arrows next to the right
33366 border.
33367
33368 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33369
33370 * fs/minix.c (grub_minix_find_file): Reserve more space for
33371 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33372 `grub_strncpy' to copy `path' into it.
33373
33374 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33375
33376 Add the loopback device, a device via which files can be accessed
33377 as devices.
33378
33379 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33380 (pkgdata_MODULES): Add loopback.mod.
33381 (loopback_mod_SOURCES): New variable.
33382 (loopback_mod_CFLAGS): Likewise.
33383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33384 `disk/loopback.c'.
33385 (pkgdata_MODULES): Add loopback.mod.
33386 (loopback_mod_SOURCES): New variable.
33387 (loopback_mod_CFLAGS): Likewise.
33388 * disk/loopback.c: new file.
33389 * include/grub/normal.h (grub_loop_init): New prototype.
33390 (grub_loop_fini): New prototype.
33391 * util/grub-emu.c (main): Initialize and de-initialize loopback
33392 support.
33393 * include/grub/disk.h (grub_disk_dev_id): Add
33394 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33395
33396 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33397
33398 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33399 function.
33400 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33401 (suspend_mod_SOURCES): New variable.
33402 (suspend_mod_CFLAGS): Likewise.
33403 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33404 New prototype.
33405 * commands/ieee1275/suspend.c: New file.
33406
33407 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33408
33409 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33410 ((unused))' to `__attribute__ ((used))'.
33411 (GRUB_MOD_FINI): Likewise.
33412 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33413 * genmk.rb (PModule): Assign space to common symbols when linking
33414 modules.
33415
33416 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33417
33418 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33419 `unsigned' arguments to `grub_size_t'.
33420 (grub_malloc): Likewise.
33421 (grub_realloc): Likewise.
33422 (grub_memalign): Likewise.
33423 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33424 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33425 * util/misc.c (grub_malloc): Likewise.
33426 (grub_realloc): Likewise.
33427 * kern/mm.c (get_header_from_pointer): Change the casts to
33428 `unsigned' into a cast to `grub_size_t'.
33429
33430 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33431 point to `currnode' when `currnode' is changed.
33432
33433 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33434 Schottelius <nico-linux@schottelius.org>.
33435
33436 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33437
33438 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33439 (note_path): Remove variable.
33440 (GRUB_IEEE1275_NOTE_NAME): New macro.
33441 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33442 (grub_ieee1275_note_hdr): New structure.
33443 (grub_ieee1275_note_desc): Likewise.
33444 (grub_ieee1275_note): Likewise.
33445 (load_note): Remove `dir' argument. All callers updated. Remove
33446 `note_img' and `path'. Do not load a file from `note_path'.
33447 Initialize a struct grub_ieee1275_note and write that to `out'.
33448 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33449
33450 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33451
33452 * util/misc.c (grub_util_read_image): Revert last change. It
33453 called `grub_util_read_at', which seeks from the beginning of the
33454 file.
33455
33456 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33457
33458 * TODO: Add note about endianness in grub-mkimage.
33459 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33460 section.
33461 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33462 (grub_mkimage_SOURCES): New target.
33463 * include/grub/kernel.h (grub_start_addr): Remove variable.
33464 (grub_end_addr): Likewise.
33465 (grub_total_module_size): Likewise.
33466 (grub_kernel_image_size): Likewise.
33467 (GRUB_MODULE_MAGIC): New constant.
33468 (grub_module_info): New structure.
33469 (grub_arch_modules_addr): New prototype.
33470 (grub_get_end_addr): Remove prototype.
33471 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33472 * include/grub/powerpc/ieee1275/kernel.h: New file.
33473 * include/grub/util/misc.h (grub_util_get_fp_size): New
33474 prototype.
33475 (grub_util_read_at): Likewise.
33476 (grub_util_write_image_at): Likewise.
33477 * kern/main.c (grub_get_end_addr): Remove function.
33478 (grub_load_modules): Call grub_arch_modules_addr instead of using
33479 grub_end_addr. Look for a grub_module_info struct in memory. Use
33480 the grub_module_info fields instead of calling grub_get_end_addr
33481 as loop conditions. Move grub_add_unused_region code here.
33482 (grub_add_unused_region): Remove function.
33483 * kern/i386/pc/init.c: Include grub/cache.h.
33484 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33485 one call to add_mem_region.
33486 (grub_arch_modules_addr): New function.
33487 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33488 (grub_total_module_size): Likewise.
33489 Include grub/machine/kernel.h.
33490 (grub_arch_modules_addr): New function.
33491 * util/grub-emu.c (grub_end_addr): Remove variable.
33492 (grub_total_module_size): Likewise.
33493 (grub_arch_modules_addr): New function.
33494 * util/misc.c: Include unistd.h.
33495 (grub_util_get_fp_size): New function.
33496 (grub_util_read_at): Likewise.
33497 (grub_util_write_image_at): Likewise.
33498 (grub_util_read_image): Call grub_util_read_at.
33499 (grub_util_write_image): Call grub_util_write_image_at.
33500 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33501 additional memory in kernel_img for a struct grub_module_info.
33502 Fill in that grub_module_info.
33503 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33504
33505 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33506
33507 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33508 New function.
33509 * include/grub/powerpc/ieee1275/ieee1275.h
33510 (grub_ieee1275_milliseconds): New prototype.
33511 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33512 Change to 1000.
33513 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33514 grub_ieee1275_milliseconds.
33515
33516 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33517
33518 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33519 variable.
33520 (find_options): New function.
33521 (cmain): Call find_options.
33522 * include/grub/powerpc/ieee1275/ieee1275.h
33523 (grub_ieee1275_realmode): New extern variable.
33524 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33525 grub_map if grub_ieee1275_realmode is false.
33526
33527 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33528
33529 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33530 lines are inserted and make it work like readline. Reported by
33531 Vincent Pelletier <subdino2004@yahoo.fr>.
33532
33533 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33534
33535 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33536
33537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33538 `kern/powerpc/cache.S'.
33539
33540 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33541
33542 * genmk.rb: Handle the `Program' class in the main loop. Written
33543 by Johan Rydberg <jrydberg@gnu.org>.
33544 (Program): New class.
33545 (programs): New variable.
33546 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33547 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33548 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33549 (help_arch): Function removed.
33550 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33551 `powerpc/libgcc.h' and `loader.h'.
33552 (pkgdata_PROGRAMS): New variable.
33553 (sbin_UTILITIES): Variable removed.
33554 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33555 (grubof_SOURCES): Variable re-defined so it only includes the
33556 core functionality.
33557 (grubof_CFLAGS): Remove `-DGRUBOF'.
33558 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33559 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33560 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33561 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33562 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33563 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33564 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33565 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33566 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33567 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33568 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33569 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33570 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33571 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33572 (pc_mod_CFLAGS): New variables.
33573 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33574 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33575 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33576 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33577 Moved from here...
33578 * include/grub/i386/pc/init.h (grub_os_area_addr)
33579 (rub_os_area_size): ... to here.
33580 * include/grub/powerpc/ieee1275/ieee1275.h
33581 (grub_ieee1275_entry_fn): Export symbol.
33582 * include/grub/powerpc/ieee1275/init.h: New file.
33583 * include/grub/powerpc/libgcc.h: Likewise.
33584 * include/grub/cache.h: Likewise.
33585 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33586 <hollis@penguinppc.org>.
33587 * kern/dl.c: Include <grub/cache.h>.
33588 (grub_dl_flush_cache): New function.
33589 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33590 for this module.
33591 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33592 (grub_console_init): Removed prototypes.
33593 (grub_machine_init): Don't initialize the modules anymore.
33594 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33595 static.
33596 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33597 Macro undef removed.
33598 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33599 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33600 relocation `R_PPC_REL32'. Return an error when the relocation is
33601 unknown.
33602 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33603 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33604 * util/misc.c (grub_arch_sync_caches): Likewise.
33605
33606 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33607
33608 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33609 `symlist.c', add `grubof_symlist.c'.
33610 (symlist.c): Variable removed.
33611 (grubof_HEADERS): Variable added.
33612 (grubof_symlist.c): New target.
33613 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33614 `kernel_img_HEADERS'.
33615 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33616 * kern/powerpc/dl.c: New file.
33617 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33618 Function removed.
33619 (grub_arch_dl_relocate_symbols): Likewise.
33620 (grub_register_exported_symbols): Likewise.
33621
33622 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33623
33624 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33625 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33626 to fail instead. Reported by Vincent Pelletier
33627 <subdino2004@yahoo.fr>.
33628
33629 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33630 it is not allocated. Reported by Vincent Pelletier
33631 <subdino2004@yahoo.fr>.
33632
33633 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33634 output so the output looks better.
33635
33636 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33637
33638 Modulize the partition map support and add support for the amiga
33639 partition map.
33640
33641 * commands/ls.c: Include <grub/partition.h> instead of
33642 <grub/machine/partition.h>.
33643 * kern/disk.c: Likewise.
33644 * kern/rescue.c: Likewise.
33645 * loader/i386/pc/chainloader.c: Likewise.
33646 * normal/cmdline.c: Likewise.
33647 * kern/powerpc/ieee1275/init.c: Likewise.
33648 (grub_machine_init): Call `grub_pc_partition_map_init',
33649 `grub_amiga_partition_map_init' and
33650 `grub_apple_partition_map_init'.
33651 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33652 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33653 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33654 `partition.h' and `pc_partition.h'.
33655 (grub_setup_SOURCES): Remove
33656 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33657 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33658 (grub_emu_SOURCES): Likewise.
33659 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33660 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33661 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33663 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33664 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33665 (grubof_SOURCES): Likewise.
33666 * disk/i386/pc/partition.c: File removed.
33667 * disk/powerpc/ieee1275/partition.c: Likewise.
33668 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33669 * include/grub/i386/pc/partition.h: Likewise.
33670 * kern/partition.c: New file.
33671 * partmap/amiga.c: Likewise.
33672 * partmap/apple.c: Likewise.
33673 * partmap/pc.c: Likewise.
33674 * include/grub/partition.h: Likewise..
33675 * include/grub/pc_partition.h: Likewise.
33676 * util/grub-emu.c: Include <grub/partition.h> instead of
33677 <grub/machine/partition.h>.
33678 (main): Call `grub_pc_partition_map_init',
33679 `grub_amiga_partition_map_init' and
33680 `grub_apple_partition_map_init' and deinitialize afterwards.
33681 * util/i386/pc/biosdisk.c: Include `#include
33682 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33683 `<grub/machine/partition.h>'.
33684 * util/i386/pc/grub-setup.c: Likewise.
33685 * util/i386/pc/biosdisk.c: Likewise.
33686 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33687 partition information in case of a PC partition.
33688 * util/i386/pc/grub-setup.c: Include `#include
33689 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33690 `<grub/machine/partition.h>'.
33691 (setup): Only access the PC specific partition information in case
33692 of a PC partition.
33693
33694 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33695
33696 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33697 (grub_longjmp): Likewise.
33698 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33699 20.
33700 * normal/powerpc/setjmp.S: New file.
33701 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33702 `normal/powerpc/setjmp.S'.
33703 (grubof_CFLAGS): Add `-DGRUBOF'.
33704 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33705 [GRUB_UTIL && !GRUBOF].
33706
33707 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33708
33709 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33710 property named `name'. Correctly handle the error returned by
33711 `grub_ieee1275_finddevice' if a device can not be opened.
33712
33713 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33714
33715 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33716 `actual' for negativity.
33717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33718 kern/fshelp.c.
33719
33720 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33721
33722 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33723 (PAGE_OFFSET): New macro.
33724 (CRTC_ADDR_PORT): Likewise.
33725 (CRTC_DATA_PORT): Likewise.
33726 (START_ADDR_HIGH_REGISTER): Likewise.
33727 (START_ADDR_LOW_REGISTER): Likewise.
33728 (GRAPHICS_ADDR_PORT): Likewise.
33729 (GRAPHICS_DATA_PORT): Likewise.
33730 (READ_MAP_REGISTER): Likewise.
33731 (INPUT_STATUS1_REGISTER): Likewise.
33732 (INPUT_STATUS1_VERTR_BIT): Likewise.
33733 (page): New variable.
33734 (wait_vretrace): New function.
33735 (set_read_map): Likewise.
33736 (set_start_address): Likewise.
33737 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33738 the right page.
33739 (check_vga_mem): Take the page into account.
33740 (write_char): Likewise.
33741 (write_cursor): Likewise.
33742 (scroll_up): Likewise. Copy the page to the page that is not
33743 shown and switch between both pages.
33744 (grub_vga_putchar): Fix off by one error.
33745 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33746 account.
33747
33748 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33749
33750 Add support for iso9660 (including rockridge).
33751
33752 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33753 (iso9660_mod_SOURCES): New variable.
33754 (iso9660_mod_CFLAGS): Likewise.
33755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33756 * include/grub/fs.h (grub_iso9660_init): New prototype.
33757 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33758 * fs/iso9660.c: New file.
33759
33760 * include/grub/misc.h (grub_strncat): New prototype.
33761 * kern/misc.c (grub_strncat): New function.
33762
33763 * fs/hfs.c (grub_hfs_mount): Translate the error
33764 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33765 * fs/jfs.c (grub_jfs_mount): Likewise.
33766 * fs/ufs.c (grub_ufs_mount): Likewise.
33767
33768 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33769
33770 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33771 which initialized BAT registers.
33772 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33773 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33774 Move from here...
33775 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33776 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33777 ... to here.
33778 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33779 (grub_mapclaim): Likewise.
33780 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33781 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33782 hand.
33783
33784 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33785
33786 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33787 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33788 -ffreestanding and -msoft-float.
33789
33790 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33791
33792 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33793 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33794 set in grub_ieee1275_flags.
33795
33796 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33797
33798 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33799 prototype.
33800 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33801 grub_console_init first.
33802 Change the memory range used for grub_ieee1275_claim and
33803 grub_mm_init_region.
33804 Print an error message if the claim fails.
33805 Include <grub/misc.h>.
33806
33807 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33808
33809 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33810 Call grub_children_iterate for device nodes of type `scsi',
33811 `ide', or `ata'.
33812 (grub_ofdisk_open): Remove manual device alias resolution.
33813 Fix memory leak when device cannot be opened.
33814 * include/grub/powerpc/ieee1275/ieee1275.h
33815 (grub_children_iterate): New prototype.
33816 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33817 New function.
33818 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33819 Return -1 if args.size was -1.
33820
33821 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33822
33823 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33824 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33825 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33826 Open Firmware's memory for it; claim memory from _start to _end.
33827 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33828 (_end): New extern.
33829 (_start): Zero BSS from __bss_start to _end.
33830 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33831 New extern.
33832 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33833
33834 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33835
33836 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33837 -1 if args.base was -1.
33838
33839 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33840
33841 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33842 escape sequence instead of a literal ^L. Also call
33843 grub_ofconsole_gotoxy.
33844
33845 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33846
33847 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33848 void * arguments to grub_addr_t. All callers updated. Also make
33849 the `result' argument optional.
33850 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33851 All callers updated.
33852
33853 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33854
33855 * commands/ls.c (grub_ls_list_files): Use the string following the
33856 initial ')', if present, as the filesystem path.
33857 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33858
33859 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33860
33861 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33862
33863 Make the source code of the menu interface more readable.
33864
33865 * normal/menu.c: Include grub/mm.h.
33866 (TERM_WIDTH): New macro.
33867 (TERM_HEIGHT): Likewise.
33868 (TERM_INFO_HEIGHT): Likewise.
33869 (TERM_MARGIN): Likewise.
33870 (TERM_SCROLL_WIDTH): Likewise.
33871 (TERM_TOP_BORDER_Y): Likewise.
33872 (TERM_LEFT_BORDER_X): Likewise.
33873 (TERM_BORDER_WIDTH): Likewise.
33874 (TERM_MESSAGE_HEIGHT): Likewise.
33875 (TERM_BORDER_HEIGHT): Likewise.
33876 (TERM_NUM_ENTRIES): Likewise.
33877 (TERM_FIRST_ENTRY_Y): Likewise.
33878 (TERM_ENTRY_WIDTH): Likewise.
33879 (TERM_CURSOR_X): Likewise.
33880 (draw_border): Use macros instead of magic numbers.
33881 (print_entry): Likewise.
33882 (print_entries): Likewise.
33883 (run_menu): Likewise. Also, handle the key 'e'.
33884 (run_menu_entry): Ignore empty command lines.
33885 (print_message): Added a new argument EDIT. If EDIT is true,
33886 print a different message.
33887 (init_page): Likewise.
33888 (edit_menu_entry): New function. Not implemented yet.
33889
33890 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33891
33892 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33893 can be loaded from normal mode.
33894
33895 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33896 `multiboot.mod'.
33897 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33898 (multiboot_mod_CFLAGS): New variables.
33899 * loader/i386/pc/linux_normal.c: New file.
33900 * loader/i386/pc/multiboot_normal.c: Likewise.
33901
33902 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33903 attribute `unused'.
33904
33905 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33906 `fdiro' to read the mode information from instead of `diro'.
33907
33908 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33909 looking up a symlink.
33910
33911 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33912 macro.
33913 * normal/command.c (grub_command_execute): Don't parse the
33914 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33915 flags of the command.
33916
33917 * normal/menu.c (grub_menu_run): Fix typo.
33918
33919 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33920
33921 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33922
33923 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33924 `y + 1' instead of `y - 1'.
33925
33926 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33927
33928 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33929
33930 From Hollis Blanchard <hollis@penguinppc.org>:
33931 * kern/misc.c (memmove): New alias for grub_memmove.
33932 (memcmp): New alias for grub_memcmp.
33933 (memset): New alias for grub_memset.
33934 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33935 Change "int handle" to "grub_ieee1275_phandle_t handle".
33936 * include/grub/powerpc/ieee1275/ieee1275.h
33937 (grub_ieee1275_get_property): Likewise.
33938
33939 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33940
33941 Added normal mode command `chainloader' as module chain.mod, which
33942 depends on normal.mod and _chain.mod.
33943
33944 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33945 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33946 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33947 Deleted prototype.
33948 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33949 but arguments parsing moved to ...
33950 (grub_chainloader_cmd): ... here. New function.
33951 * include/grub/i386/pc/chainloader.h: New file.
33952 * loader/i386/pc/chainloader_normal.c: Likewise.
33953
33954 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33955
33956 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33957 (grub_mkimage_LDFLAGS): Likewise.
33958 (grub_emu_SOURCES): Likewise.
33959 (kernel_img_HEADERS): Added fshelp.h.
33960 * fs/ext2.c: Include <grub/fshelp.h>.
33961 (FILETYPE_REG): New macro.
33962 (FILETYPE_INO_REG): Likewise.
33963 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33964 Changed all users.
33965 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33966 all users.
33967 (grub_fshelp_node): New struct.
33968 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33969 to a pointer.
33970 (grub_ext2_get_file_block): Removed function.
33971 (grub_ext2_read_block): New function.
33972 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33973 This function was written.
33974 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33975 (grub_ext2_find_file): Removed function.
33976 (grub_ext2_read_symlink): New function.
33977 (grub_ext2_iterate_dir): Likewise.
33978 (grub_ext2_open): Rewritten.
33979 (grub_ext2_dir): Rewritten.
33980 * include/grub/fshelp.h: New file.
33981 * fs/fshelp.c: Likewise.
33982
33983 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33984
33985 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33986 (print_message): Add a missing newline.
33987 (run_menu): Added timeout support.
33988 (run_menu_entry): New local function.
33989 (grub_menu_run): Added support for booting.
33990
33991 * kern/loader.c (grub_loader_is_loaded): New function.
33992
33993 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33994 (grub_get_rtc): Exported.
33995
33996 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33997 (grub_get_rtc): Exported.
33998
33999 * include/grub/normal.h (struct grub_command_list): Remove
34000 constant from the member `command'.
34001
34002 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34003
34004 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34005
34006 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34007
34008 2004-08-28 Marco Gerards <metgerards@student.han.nl>
34009
34010 Add support for the JFS filesystem.
34011
34012 * fs/jfs.c: New file.
34013 * include/grub/fs.h (grub_jfs_init): New prototype.
34014 (grub_jfs_fini): New prototype.
34015 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34016 (grub_emu_SOURCES): Likewise.
34017 (pkgdata_MODULES): Add jfs.mod.
34018 (jfs_mod_SOURCES): New variable.
34019 (jfs_mod_CFLAGS): Likewise.
34020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34021 (grubof_SOURCES): Likewise.
34022 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34023
34024 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34025 endian to the host endian.
34026 (grub_fat_utf16_to_utf8): Move function from there...
34027 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
34028 the endianness of the source string anymore.
34029 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34030
34031 2004-08-24 Marco Gerards <metgerards@student.han.nl>
34032
34033 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34034 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34035 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34036 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
34037
34038 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34039 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34040 for `node_found' and `it_dir'.
34041 (grub_hfs_dir): Add prototype for `dir_hook'.
34042
34043 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34044 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34045 and `indir32' to silence a gcc warning.
34046
34047 * include/grub/fs.h (grub_hfs_init): New prototype.
34048 (grub_hfs_fini): Likewise.
34049
34050
34051 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34052
34053 Each disk device has its own id now. This is useful to make use
34054 of multiple disk devices.
34055
34056 * include/grub/disk.h (grub_disk_dev_id): New enum.
34057 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34058 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34059
34060 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34061 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34062
34063 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34064 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34065
34066 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34067 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34068
34069 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34070 "id" which is used by the cache manager.
34071
34072 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34073 of just "GRUB".
34074
34075 2004-08-18 Marco Gerards <metgerards@student.han.nl>
34076
34077 * fs/hfs.c: New file.
34078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34079 (grub_emu_SOURCES): Likewise.
34080 (pkgdata_MODULES): Add hfs.mod.
34081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34082 (grubof_SOURCES): Likewise.
34083 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34084
34085 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34086 * kern/misc.c (grub_strncasecmp): Add function.
34087
34088 2004-08-14 Marco Gerards <metgerards@student.han.nl>
34089
34090 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34091 with parentheses.
34092
34093 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34094 (grub_ext2_dir): In case the directory entry type is unknown, read
34095 it from the inode.
34096
34097 2004-08-02 Peter Bruin <pjbruin@dds.nl>
34098
34099 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34100 grub_load_linux instead of grub_rescue_cmd_linux as second
34101 argument of grub_rescue_register_command.
34102
34103 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34104
34105 2004-07-27 Marco Gerards <metgerards@student.han.nl>
34106
34107 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34108 function.
34109 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34110 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34111 `loader/powerpc/ieee1275/linux.c',
34112 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34113 * include/grub/powerpc/ieee1275/ieee1275.h
34114 (grub_ieee1275_release): New prototype.
34115 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34117 normal, boot, linux and linux_normal.
34118 * loader/powerpc/ieee1275/linux.c: New file.
34119 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34120
34121 2004-07-12 Marco Gerards <metgerards@student.han.nl>
34122
34123 * normal/arg.c (grub_arg_parse): Correct error handling after
34124 reallocating the argumentlist (check if `argl' is not null instead
34125 of checking if `args' is not null).
34126 * kern/mm.c (grub_realloc): Return the same pointer when using the
34127 same region, instead of returning the header address.
34128
34129 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34130
34131 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34132 one block instead of two when looking for the initial partition.
34133 (grub_partition_probe): Initialize the local variable `p' with 0.
34134 Use base 10 for the grub_strtoul call.
34135 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34136 need for one local variable.
34137 (grub_strtoul): Don't add the new value to `num', instead of that
34138 just assign it.
34139
34140 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34141
34142 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34143 (pxeboot_img_SOURCES): New variable.
34144 (pxeboot_img_ASFLAGS): Likewise.
34145 (pxeboot_img_LDFLAGS): Likewise.
34146 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34147 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34148 <lode_leroy@hotmail.com>.
34149
34150 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34151
34152 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34153 there was no input.
34154
34155 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34156
34157 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34158 the history buffer logic.
34159
34160 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34161
34162 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34163 (FILETYPE_INO_SYMLINK): New macros.
34164 (grub_ext2_find_file): Check if the node is a directory using the
34165 inode stat information instead of using the filetype in the
34166 dirent. Exclude the first character of an absolute symlink.
34167 (grub_ext2_dir): Mask out the filetype part of the mode member of
34168 the inode.
34169
34170 2004-05-24 Marco Gerards <metgerards@student.han.nl>
34171
34172 Add support for UFS version 1 and 2. Add support for the minix
34173 filesystem version 1 and 2, both the variants with 14 and 30 long
34174 filenames.
34175
34176 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34177 fs/minix.c.
34178 (grub_emu_SOURCES): Likewise.
34179 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34180 (ufs_mod_SOURCES): New variable.
34181 (ufs_mod_CFLAGS): Likewise.
34182 (minix_mod_SOURCES): Likewise.
34183 (minix_mod_CFLAGS): Likewise.
34184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34185 fs/minix.c.
34186 (grubof_SOURCES): Likewise.
34187 * fs/ufs.c: New file.
34188 * fs/minix.c: New file.
34189 * include/grub/fs.h (grub_ufs_init): New prototype.
34190 (grub_ufs_fini): Likewise.
34191 (grub_minix_init): Likewise.
34192 (grub_minix_fini): Likewise.
34193 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34194 minix fs.
34195
34196 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34197
34198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34199 commands/ls.c, commands/terminal.c, commands/boot.c,
34200 commands/cmp.c and commands/cat.c.
34201 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34202
34203 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34204 "env.h"
34205
34206 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34207
34208 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34209 and grub_, respectively. Because the conversion is trivial and
34210 mechanical, I omit the details here. Please refer to the CVS
34211 if you need more information.
34212
34213 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34214
34215 * include/pupa: Renamed to ...
34216 * include/grub: ... this.
34217 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34218 * util/i386/pc/grub-mkimage.c: ... this.
34219 * util/i386/pc/pupa-setup.c: Renamed to ...
34220 * util/i386/pc/grub-setup.c: ... this.
34221 * util/pupa-emu.c: Renamed to ...
34222 * util/grub-emu.c: ... this.
34223
34224 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34225
34226 Add support for the newworld apple macintosh (PPC). This has been
34227 tested on the powerbook 2000 only. It only adds support for
34228 generic ieee1275 functions, console and disk support. This should
34229 be easy to port to other architectures with support for Open
34230 Firmware.
34231
34232 * configure.ac: Accept the powerpc as host_cpu. In the case of
34233 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34234 specific tests are only executed while building for the i386.
34235 Inverse test for crosscompile.
34236 * genmk.rb (Utility): Allow assembler files.
34237 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34238 * conf/powerpc-ieee1275.rmk: New file.
34239 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34240 * disk/powerpc/ieee1275/partition.c: Likewise.
34241 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34242 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34243 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34244 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34245 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34246 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34247 * include/pupa/powerpc/ieee1275/loader.h
34248 * include/pupa/powerpc/setjmp.h: Likewise.
34249 * include/pupa/powerpc/types.h: Likewise.
34250 * kern/powerpc/ieee1275/init.c: Likewise.
34251 * kern/powerpc/ieee1275/openfw.c: Likewise.
34252 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34253
34254 These files were written by Johan Rydberg
34255 (jrydberg@night.trouble.net) and I only modified them slightly.
34256
34257 * boot/powerpc/ieee1275/cmain.c: New file.
34258 * boot/powerpc/ieee1275/crt0.S: Likewise.
34259 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34260 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34261
34262 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34263
34264 * Makefile.in: Update copyright.
34265 * genmodsrc.sh: Likewise.
34266 * gensymlist.sh: Likewise.
34267 * term/i386/pc/vga.c: Indent correctly.
34268
34269 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34270 bugreporting address.
34271 * util/i386/pc/pupa-setup.c (usage): Likewise,
34272 (main): Call pupa_ext2_init and pupa_ext2_fini.
34273
34274 * fs/fat.c (log2): Renamed to ...
34275 (fat_log2): ... this.
34276 All callers changed.
34277 * kern/misc.c (memcpy): Alias to pupa_memmove.
34278 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34279 lvalue cast.
34280 * util/console.c (pupa_ncurses_fini): Return 0.
34281
34282 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34283 Move fail label here.
34284 [__GNU__]: Don't warn when using stat.
34285 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34286 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34287 long int. Use strtol instead of strtoul.
34288
34289 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34290
34291 * commands/boot.c: New file.
34292 * commands/cat.c: Likewise.
34293 * commands/cmp.c: Likewise.
34294 * commands/ls.c: Likewise.
34295 * commands/terminal.c: Likewise.
34296 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34297 (pupa_register_command): Changed interface to match the new
34298 argument parser.
34299 (pupa_command_execute): Changed (almost rewritten) so it uses
34300 pupa_split_command. Added support for setting variables using the
34301 syntax `foo=bar'.
34302 (rescue_command): Changed to work with the new argument parser.
34303 (terminal_command): Moved from here to commands/terminal.c.
34304 (set_command): New function.
34305 (unset_command): New function.
34306 (insmod_command): New function.
34307 (rmmod_command): New function.
34308 (lsmod_command): New function.
34309 (pupa_command_init): Don't initialize the command terminal
34310 anymore. Initialize the commands set, unset, insmod, rmmod and
34311 lsmod.
34312 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34313 (kernel_img_HEADERS): Add arg.h and env.h.
34314 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34315 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34316 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34317 normal/arg.c.
34318 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34319 terminal.mod.
34320 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34321 (boot_mod_SOURCES): New variable.
34322 (terminal_mod_SOURCES): Likewise.
34323 (ls_mod_SOURCES): Likewise.
34324 (cmp_mod_SOURCES): Likewise.
34325 (cat_mod_SOURCES): Likewise.
34326
34327 * normal/arg.c: New file.
34328 * kern/env.c: Likewise.
34329 * include/pupa/arg.h: Likewise.
34330 * include/pupa/env.h: Likewise.
34331 * font/manager.c (font_command): Changed to match argument parsing
34332 interface changes.
34333 (PUPA_MOD_INIT): Likewise.
34334 * hello/hello.c (pupa_cmd_hello): Likewise.
34335 (PUPA_MOD_INIT): Likewise.
34336 * include/pupa/disk.h: Include <pupa/device.h>.
34337 (pupa_print_partinfo): New prototype.
34338 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34339 (pupa_dl_get_prefix): Likewise.
34340 * include/pupa/misc.h: Include <pupa/err.h>.
34341 (pupa_isgraph): New prototype.
34342 (pupa_isdigit): Likewise.
34343 (pupa_split_cmdline): Likewise.
34344 * include/pupa/normal.h: Include <pupa/arg.h>.
34345 (pupa_command): Changed the prototype of the member `func' to
34346 match the argument parsing interface. Added member `options'.
34347 (pupa_register_command): Updated to match function.
34348 (pupa_arg_parse): New prototype.
34349 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34350 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34351 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34352 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34353 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34354 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34355 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34356 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34357 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34358 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34359 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34360 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34361 * kern/disk.c: Include <pupa/file.h>.
34362 (pupa_print_partinfo): New function.
34363 * kern/dl.c: Include <pupa/env.h>.
34364 (pupa_dl_dir): Variable removed.
34365 (pupa_dl_load): Use the environment variable `prefix' instead of
34366 the variable pupa_dl_dir.
34367 (pupa_dl_set_prefix): Function removed.
34368 (pupa_dl_get_prefix): Likewise.
34369 * kern/i386/pc/init.c: Include <pupa/env.h>.
34370 (pupa_machine_init): Use the environment variable `prefix' instead of
34371 using pupa_dl_set_prefix to set the prefix.
34372 * kern/main.c: Include <pupa/env.h>.
34373 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34374 using pupa_dl_get_prefix to get the prefix.
34375 * kern/misc.c: Include <pupa/env.h>.
34376 (pupa_isdigit): New function.
34377 (pupa_isgraph): Likewise.
34378 (pupa_ftoa): Likewise.
34379 (pupa_vsprintf): Added support for printing values of the type
34380 `double'. Make it possible to format variable output when using
34381 formatting like `%1.2%f'.
34382 (pupa_split_cmdline): New function.
34383 * kern/rescue.c: Include <pupa/env.h>.
34384 (next_word): Removed function.
34385 (pupa_rescue_cmd_prefix): Likewise.
34386 (pupa_rescue_cmd_set): New function.
34387 (pupa_rescue_cmd_unset): New function.
34388 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34389 split the command line instead of splitting it here. Added
34390 support for setting variables using the syntax `foo=bar'. Don't
34391 initialize the prefix command anymore. Initialized the set and
34392 unset commands.
34393 * normal/cmdline.c: Include <pupa/env.h>.
34394 (pupa_tab_complete): Added prototypes for print_simple_completion,
34395 print_partition_completion, add_completion, iterate_commands,
34396 iterate_dev, iterate_part and iterate_dir. Moved code to print
34397 partition information from here to kern/disk.c.
34398 (pupa_cmdline_run): Don't check if the function exists anymore.
34399 * normal/main.c: Include <pupa/env.h>.
34400 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34401 instead of using pupa_dl_get_prefix to get the prefix.
34402 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34403 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34404 warning.
34405 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34406 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34407 ((unused))' to silence a gcc warning.
34408 (pupa_vga_setcolor): Likewise.
34409 (debug_command): Changed to match argument parsing
34410 interface changes.
34411 * util/pupa-emu.c: Include <pupa/env.h>.
34412 (options): Added 0's for unused fields to silence a gcc warning.
34413 (argp): Likewise.
34414 (main): Use the environment variable `prefix' instead of using
34415 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34416 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34417 and terminal.
34418
34419 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34420 * util/misc.c: Include <malloc.h>.
34421 (pupa_malloc): Rewritten so errors are correctly reported.
34422 (pupa_realloc): Likewise.
34423 (pupa_memalign): Likewise.
34424 (pupa_mm_init_region): Declare unused variables with
34425 `__attribute__ ((unused))' to silence a gcc warning.
34426 * normal/i386/setjmp.S: Remove tab at the end of the file to
34427 silence a gcc warning.
34428 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34429 variables with `__attribute__ ((unused))' to silence a gcc
34430 warning.
34431 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34432 local variable i unsigned to silence a gcc warning.
34433
34434 * kern/term.c: Include <pupa/misc.h>.
34435 (pupa_more_lines): New variable.
34436 (pupa_more): Likewise.
34437 (pupa_putcode): When the pager is active pause at the end of every
34438 screen.
34439 (pupa_set_more): New function.
34440 * include/pupa/term.h (pupa_set_more): New prototype.
34441
34442
34443 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34444
34445 Now this project is GRUB 2 rather than PUPA. The location of
34446 the CVS repository was moved to GRUB's.
34447
34448 * configure.ac: Use bug-grub as the reporting address.
34449 Use GRUB instead of PUPA.
34450 Change the version number to 1.90.
34451
34452 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34453
34454 * genkernsyms.sh: Updated copyright information.
34455 * genmk.rb: Likewise.
34456 * genmodsrc.sh: Likewise.
34457 * gensymlist.sh: Likewise.
34458 * boot/i386/pc/boot.S: Likewise.
34459 * boot/i386/pc/diskboot.S: Likewise.
34460 * disk/i386/pc/biosdisk.c: Likewise.
34461 * disk/i386/pc/partition.c: Likewise.
34462 * font/manager.c: Likewise.
34463 * fs/ext2.c: Likewise.
34464 * fs/fat.c: Likewise.
34465 * include/pupa/boot.h: Likewise.
34466 * include/pupa/device.h: Likewise.
34467 * include/pupa/disk.h: Likewise.
34468 * include/pupa/dl.h: Likewise.
34469 * include/pupa/elf.h: Likewise.
34470 * include/pupa/err.h: Likewise.
34471 * include/pupa/file.h: Likewise.
34472 * include/pupa/font.h: Likewise.
34473 * include/pupa/fs.h: Likewise.
34474 * include/pupa/kernel.h: Likewise.
34475 * include/pupa/loader.h: Likewise.
34476 * include/pupa/misc.h: Likewise.
34477 * include/pupa/mm.h: Likewise.
34478 * include/pupa/net.h: Likewise.
34479 * include/pupa/normal.h: Likewise.
34480 * include/pupa/rescue.h: Likewise.
34481 * include/pupa/setjmp.h: Likewise.
34482 * include/pupa/symbol.h: Likewise.
34483 * include/pupa/term.h: Likewise.
34484 * include/pupa/types.h: Likewise.
34485 * include/pupa/i386/setjmp.h: Likewise.
34486 * include/pupa/i386/types.h: Likewise.
34487 * include/pupa/i386/pc/biosdisk.h: Likewise.
34488 * include/pupa/i386/pc/boot.h: Likewise.
34489 * include/pupa/i386/pc/console.h: Likewise.
34490 * include/pupa/i386/pc/init.h: Likewise.
34491 * include/pupa/i386/pc/kernel.h: Likewise.
34492 * include/pupa/i386/pc/linux.h: Likewise.
34493 * include/pupa/i386/pc/loader.h: Likewise.
34494 * include/pupa/i386/pc/memory.h: Likewise.
34495 * include/pupa/i386/pc/multiboot.h: Likewise.
34496 * include/pupa/i386/pc/partition.h: Likewise.
34497 * include/pupa/i386/pc/time.h: Likewise.
34498 * include/pupa/i386/pc/vga.h: Likewise.
34499 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34500 * include/pupa/util/getroot.h: Likewise.
34501 * include/pupa/util/misc.h: Likewise.
34502 * include/pupa/util/resolve.h: Likewise.
34503 * kern/device.c: Likewise.
34504 * kern/disk.c: Likewise.
34505 * kern/dl.c: Likewise.
34506 * kern/err.c: Likewise.
34507 * kern/file.c: Likewise.
34508 * kern/fs.c: Likewise.
34509 * kern/loader.c: Likewise.
34510 * kern/main.c: Likewise.
34511 * kern/misc.c: Likewise.
34512 * kern/mm.c: Likewise.
34513 * kern/rescue.c: Likewise.
34514 * kern/term.c: Likewise.
34515 * kern/i386/dl.c: Likewise.
34516 * kern/i386/pc/init.c: Likewise.
34517 * kern/i386/pc/lzo1x.S: Likewise.
34518 * kern/i386/pc/startup.S: Likewise.
34519 * loader/i386/pc/chainloader.c: Likewise.
34520 * loader/i386/pc/linux.c: Likewise.
34521 * loader/i386/pc/multiboot.c: Likewise.
34522 * normal/cmdline.c: Likewise.
34523 * normal/command.c: Likewise.
34524 * normal/main.c: Likewise.
34525 * normal/menu.c: Likewise.
34526 * normal/i386/setjmp.S: Likewise.
34527 * term/i386/pc/console.c: Likewise.
34528 * term/i386/pc/vga.c: Likewise.
34529 * util/console.c: Likewise.
34530 * util/genmoddep.c: Likewise.
34531 * util/misc.c: Likewise.
34532 * util/pupa-emu.c: Likewise.
34533 * util/resolve.c: Likewise.
34534 * util/unifont2pff.rb: Likewise.
34535 * util/i386/pc/biosdisk.c: Likewise.
34536 * util/i386/pc/getroot.c: Likewise.
34537 * util/i386/pc/pupa-mkimage.c: Likewise.
34538 * util/i386/pc/pupa-setup.c: Likewise.
34539
34540 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34541
34542 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34543 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34544 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34545 reading and reset it after reading.
34546 (pupa_ext2_close): Return PUPA_ERR_NONE.
34547
34548 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34549 Correct value.
34550 (struct linux_kernel_header): Add kernel_version and
34551 initrd_addr_max.
34552 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34553 pupa_file_read succeeds.
34554 (pupa_rescue_cmd_initrd): Implement.
34555
34556 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34557
34558 * fs/ext2.c (pupa_ext2_label): New function.
34559 (pupa_ext2_fs): Added label.
34560 * fs/fat.c (pupa_fat_label): New function.
34561 (pupa_fat_fs): Added label.
34562 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34563
34564 * kern/misc.c (pupa_strndup): New function.
34565 * include/pupa/misc.h (pupa_strndup): New prototype.
34566
34567 * include/pupa/normal.h: Include <pupa/err.h>.
34568 (pupa_set_history): New prototype.
34569 (pupa_iterate_commands): New prototype.
34570 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34571 <pupa/disk.h>, <pupa/file.h>.
34572 (hist_size): New variable.
34573 (hist_lines): Likewise.
34574 (hist_end): Likewise.
34575 (hist_used): Likewise.
34576 (pupa_set_history): New function.
34577 (pupa_history_get): Likewise.
34578 (pupa_history_add): Likewise.
34579 (pupa_history_replace): Likewise.
34580 (pupa_tab_complete): Likewise.
34581 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34582 completion shows partitionnames while completing partitions, this
34583 feature was suggested by Jeff Bailey.
34584 * normal/command.c (pupa_iterate_commands): New function.
34585 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34586 (pupa_normal_init): Initialize history buffer.
34587 (PUPA_MOD_INIT): Likewise.
34588 (pupa_normal_fini): Free the history buffer.
34589 (PUPA_MOD_FINI): Likewise.
34590
34591 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34592 key.
34593
34594 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34595 * configure.ac [i386]: Check for regparam bug.
34596 (NESTED_FUNC_ATTR) [! i386]: Defined.
34597
34598 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34599
34600 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34601 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34602 (pupa_emu_SOURCES): New variable.
34603 (pupa_emu_LDFLAGS): Likewise.
34604 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34605 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34606 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34607 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34608 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34609 (pupa_jmp_buf): New typedef.
34610 (pupa_setjmp) [PUPA_UTIL]: New macro.
34611 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34612 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34613 (pupa_refresh): New prototype.
34614 * include/pupa/util/getroot.h: New file.
34615 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34616 it.
34617 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34618 (pupa_rescue_cmd_cat): Likewise.
34619 (pupa_rescue_cmd_ls): Likewise.
34620 (pupa_rescue_cmd_testload): Likewise.
34621 (pupa_rescue_cmd_lsmod): Likewise.
34622 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34623 * normal/menu.c (run_menu): Likewise.
34624 * kern/term.c (pupa_cls): Likewise.
34625 (pupa_refresh): New function.
34626 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34627 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34628 * util/console.c: New file.
34629
34630 * util/i386/pc/getroot.c: New file.
34631 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34632 (pupa_putchar): New function.
34633 (pupa_refresh): Likewise.
34634 (xgetcwd): Function moved to ...
34635 (strip_extra_slashes): Likewise.
34636 (get_prefix): Likewise.
34637 * util/i386/pc/getroot.c: ... here.
34638 (find_root_device): Function moved and renamed to...
34639 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34640 Changed all callers.
34641 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34642 and renamed to...
34643 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34644 Changed all callers.
34645 * util/misc.c (pupa_memalign): New function.
34646 (pupa_mm_init_region): Likewise.
34647 (pupa_register_exported_symbols): Likewise.
34648 (pupa_putchar): Function removed.
34649 * util/pupa-emu.c: New file.
34650
34651 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34652
34653 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34654 (_multiboot_mod_SOURCES): New variable.
34655 (_multiboot_mod_CFLAGS): Likewise.
34656 * loader/i386/pc/multiboot.c: New file.
34657 * include/pupa/i386/pc/multiboot.h: Likewise.
34658 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34659 (pupa_multiboot_real_boot): New function.
34660 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34661 (pupa_multiboot_real_boot): New prototype.
34662 (pupa_rescue_cmd_multiboot): Likewise
34663 (pupa_rescue_cmd_module): Likewise.
34664
34665 * kern/loader.c (pupa_loader_set): Continue when
34666 pupa_loader_unload_func() fails.
34667 (pupa_loader_unset): New function.
34668 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34669
34670 * kern/misc.c (pupa_stpcpy): New function.
34671 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34672
34673 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34674
34675 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34676 for available extensions.
34677
34678 * include/pupa/i386/pc/time.h: New file.
34679 * kern/disk.c: Include <pupa/machine/time.h>.
34680 (PUPA_CACHE_TIMEOUT): New macro.
34681 (pupa_last_time): New variable.
34682 (pupa_disk_open): Flush the cache when there was a timeout.
34683 (pupa_disk_close): Reset the timer.
34684 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34685 pupa_currticks.
34686 * util/misc.c: Include <sys/times.h>
34687 (pupa_get_rtc): New function.
34688
34689 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34690
34691 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34692 as blocks.
34693 (pupa_ext2_get_file_block): Use blocks member.
34694
34695 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34696 first block. Return -1 instead of pupa_errno on error.
34697
34698 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34699
34700 * README: In the pupa-mkimage example use _chain instead of chain
34701 and ext2 instead of fat.
34702 * TODO: Replace ext2fs with jfs as an example. Add an item for
34703 adding journal playback for ext2fs.
34704 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34705 (pkgdata_MODULES): Added ext2.mod.
34706 (ext2_mod_SOURCES): New variable.
34707 (ext2_mod_CFLAGS): Likewise.
34708 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34709 * include/pupa/misc.h (pupa_strncpy): New prototype.
34710 (pupa_strcat): Likewise.
34711 (pupa_strncmp): Likewise.
34712 * kern/misc.c (pupa_strcat): Enable function.
34713 (pupa_strncpy): New function.
34714 (pupa_strncmp): Likewise.
34715 * fs/ext2.c: New file.
34716
34717 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34718 when the read failed before retrying.
34719 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34720 (_FILE_OFFSET_BITS): Likewise.
34721 * configure.ac: Added AC_SYS_LARGEFILE.
34722
34723 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34724
34725 * genmk.rb (PModule#rule): Make sure to get only symbol names
34726 from the output of nm.
34727 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34728
34729 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34730
34731 I forgot to check in these changes for a long time. This adds
34732 incomplete support for VGA console, and this is still very
34733 buggy. Also, a lot of consideration is required for I18N,
34734 UNICODE, and VGA font issues. Therefore, assume that this is
34735 such that "better than nothing".
34736
34737 * font/manager.c: New file.
34738 * include/pupa/font.h: Likewise.
34739 * include/pupa/i386/pc/vga.h: Likewise.
34740 * term/i386/pc/vga.c: Likewise.
34741 * util/unifont2pff.rb: Likewise.
34742
34743 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34744 (pkgdata_MODULES): Added vga.mod and font.mod.
34745 (vga_mod_SOURCES): New variables.
34746 (vga_mod_CFLAGS): Likewise.
34747 (font_mod_SOURCES): Likewise.
34748 (font_mod_CFLAGS): Likewise.
34749
34750 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34751
34752 * include/pupa/term.h: Include pupa/err.h.
34753 (struct pupa_term): Added init and fini.
34754 Changed the argument of putchar to pupa_uint32_t.
34755
34756 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34757 (pupa_console_real_putchar): New prototype.
34758 (pupa_console_putchar): Removed.
34759 (pupa_console_checkkey): Exported.
34760 (pupa_console_getkey): Likewise.
34761
34762 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34763 characters.
34764
34765 * kern/term.c (pupa_term_set_current): Rewritten.
34766 (pupa_putchar): Likewise.
34767 (pupa_putcode): New function.
34768
34769 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34770 (pupa_console_real_putchar): ... this.
34771 (pupa_vga_set_mode): New function.
34772 (pupa_vga_get_font): Likewise.
34773
34774 * normal/command.c: Include pupa/term.h.
34775 (terminal_command): New function.
34776 (pupa_command_init): Register the command "terminal".
34777
34778 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34779 (DISP_UP): Likewise.
34780 (DISP_RIGHT): Likewise.
34781 (DISP_DOWN): Likewise.
34782 (DISP_HLINE): Likewise.
34783 (DISP_VLINE): Likewise.
34784 (DISP_UL): Likewise.
34785 (DISP_UR): Likewise.
34786 (DISP_LL): Likewise.
34787 (DISP_LR): Likewise.
34788
34789 * term/i386/pc/console.c (pupa_console_putchar): New function.
34790
34791 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34792
34793 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34794 FIX. Reverse the path_list.
34795
34796 * include/pupa/normal.h: Export pupa_register_command and
34797 pupa_unregister_command.
34798
34799 * hello/hello.c (pupa_cmd_hello): New module.
34800 * conf/i386-pc.rmk: Added hello.mod.
34801
34802 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34803
34804 * kern/i386/pc/lzo1x.S: New file.
34805
34806 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34807 (compress_kernel): New variable.
34808 (generate_image): Heavily modified to support compressing a
34809 large part of the core image.
34810
34811 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34812 leak.
34813 (pupa_util_load_image): New function.
34814
34815 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34816 (pupa_compressed_size): New variable.
34817 (codestart): Enable Gate A20 here.
34818 Decompress the compressed part of the core image.
34819 Rearrange the code to put functions and variables which are
34820 required for initialization in the non-compressed part.
34821 Include lzo1x.S.
34822
34823 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34824 here.
34825
34826 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34827
34828 * include/pupa/i386/pc/kernel.h
34829 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34830 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34831 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34832 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34833 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34834
34835 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34836
34837 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34838 (Utility#rule): Likewise.
34839
34840 * configure.ac: Check if LZO is available.
34841
34842 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34843
34844 * include/pupa/normal.h: New file.
34845 * include/pupa/setjmp.h: Likewise.
34846 * include/pupa/i386/setjmp.h: Likewise.
34847 * normal/cmdline.c: Likewise.
34848 * normal/command.c: Likewise.
34849 * normal/main.c: Likewise.
34850 * normal/menu.c: Likewise.
34851 * normal/i386/setjmp.S: Likewise.
34852
34853 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34854 (pupa_rescue_cmd_initrd): Likewise.
34855
34856 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34857 Likewise.
34858
34859 * kern/i386/pc/startup.S (translation_table): New variable.
34860 (translate_keycode): New function.
34861 (pupa_console_getkey): Call translate_keycode.
34862
34863 * kern/rescue.c (attempt_normal_mode): New function.
34864 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34865 it failed, print a message.
34866
34867 * kern/mm.c (pupa_real_malloc): Print more information when a
34868 free magic is broken.
34869 (pupa_free): If the first free header is not free actually, set
34870 it to P.
34871
34872 * kern/main.c (pupa_load_normal_mode): Just load the module
34873 "normal".
34874 (pupa_main): Don't print the message
34875 "Entering into rescue mode..." here.
34876
34877 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34878 Declared.
34879 (pupa_rescue_cmd_initrd): Likewise.
34880 (pupa_rescue_cmd_initrd): Likewise.
34881
34882 * include/pupa/symbol.h (FUNCTION): Specify the type.
34883 (VARIABLE): Likewise.
34884
34885 * include/pupa/err.h (pupa_err_t): Added
34886 PUPA_ERR_UNKNOWN_COMMAND.
34887
34888 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34889 (pupa_dl_get_prefix): Likewise.
34890
34891 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34892 Added _chain.mod and _linux.mod instead of chain.mod and
34893 linux.mod.
34894 (chain_mod_SOURCES): Renamed to ...
34895 (_chain_mod_SOURCES): ... this.
34896 (chain_mod_CFLAGS): Renamed to ...
34897 (_chain_mod_CFLAGS): ... this.
34898 (linux_mod_SOURCES): Renamed to ...
34899 (_linux_mod_SOURCES): ... this.
34900 (linux_mod_CFLAGS): Renamed to ...
34901 (_linux_mod_CFLAGS): ... this.
34902 (normal_mod_SOURCES): New variable.
34903 (normal_mod_CFLAGS): Likewise.
34904 (normal_mod_ASFLAGS): Likewise.
34905
34906 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34907
34908 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34909 possible.
34910
34911 * kern/dl.c (pupa_dl_ref): Refer depending modules
34912 recursively.
34913 (pupa_dl_unref): Unrefer depending modules recursively.
34914 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34915 a module is unloaded before one depending on that module is
34916 unloaded.
34917 (pupa_dl_unload): Unload depending modules explicitly,
34918 if possible.
34919
34920 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34921
34922 * include/pupa/i386/pc/linux.h: New file.
34923 * loader/i386/pc/linux.c: Likewise.
34924
34925 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34926 Removed.
34927 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34928 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34929 of PUPA_CHAINLOADER_BOOT_SECTOR.
34930
34931 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34932 (pupa_linux_prot_size): New variable.
34933 (pupa_linux_tmp_addr): Likewise.
34934 (pupa_linux_real_addr): Likewise.
34935 (pupa_linux_boot_zimage): New function.
34936 (pupa_linux_boot_bzimage): Likewise.
34937
34938 * kern/i386/pc/init.c (struct mem_region): New structure.
34939 (MAX_REGIONS): New macro.
34940 (mem_regions): New variable.
34941 (num_regions): Likewise.
34942 (pupa_os_area_addr): Likewise.
34943 (pupa_os_area_size): Likewise.
34944 (pupa_lower_mem): Likewise.
34945 (pupa_upper_mem): Likewise.
34946 (add_mem_region): New function.
34947 (compact_mem_regions): Likewise.
34948 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34949 the size of the conventional memory and that of so-called upper
34950 memory (before the first memory hole).
34951 Instead of adding each found region to free memory, use
34952 add_mem_region and add them after removing overlaps.
34953 Also, add only 1/4 of the upper memory to free memory. The rest
34954 is used for loading OS images. Maybe this is ad hoc, but this
34955 makes it much easier to relocate OS images when booting.
34956
34957 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34958 (pupa_enter_rescue_mode): Don't register initrd and module.
34959
34960 * kern/mm.c: Include pupa/dl.h.
34961
34962 * kern/main.c: Include pupa/file.h and pupa/device.h.
34963
34964 * kern/loader.c (pupa_loader_load_module_func): Removed.
34965 (pupa_loader_load_module): Likewise.
34966
34967 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34968 ``.o''.
34969
34970 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34971 (pupa_linux_tmp_addr): Likewise.
34972 (pupa_linux_real_addr): Likewise.
34973 (pupa_linux_boot_zimage): Likewise.
34974 (pupa_linux_boot_bzimage): Likewise.
34975
34976 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34977 (pupa_upper_mem): Likewise.
34978 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34979 module is too dangerous.
34980
34981 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34982 (pupa_os_area_size): Likewise.
34983 (pupa_loader_set): Remove the first argument. Loader doesn't
34984 manage modules or initrd any longer.
34985 (pupa_loader_load_module): Removed.
34986
34987 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34988 (linux_mod_SOURCES): New variable.
34989 (linux_mod_CFLAGS): Likewise.
34990
34991 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34992
34993 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34994 the length of a blocklist correctly.
34995
34996 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34997 Use ioctl only if the OS file is a block device.
34998 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34999 not very useful for normal files.
35000
35001 * kern/main.c (pupa_set_root_dev): New function.
35002 (pupa_load_normal_mode): Likewise.
35003 (pupa_main): Call those above.
35004
35005 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35006 pupa_uint16_t.
35007
35008 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35009
35010 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35011
35012 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35013 (setup): Configure the installed partition information and the
35014 dl prefix.
35015
35016 * loader/i386/pc/chainloader.c (my_mod): New variable.
35017 (pupa_chainloader_unload): New function.
35018 (pupa_rescue_cmd_chainloader): Refer itself.
35019 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35020
35021 * kern/i386/pc/startup.S (install_partition): Removed.
35022 (version_string): Likewise.
35023 (config_file): Likewise.
35024 (pupa_install_dos_part): New variable.
35025 (pupa_install_bsd_part): Likewise.
35026 (pupa_prefix): Likewise.
35027 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35028
35029 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35030 and pupa/misc.h.
35031 (make_install_device): New function.
35032 (pupa_machine_init): Set the dl prefix.
35033
35034 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35035 (buf): Renamed to ...
35036 (linebuf): ... this.
35037 (pupa_rescue_cmd_prefix): New function.
35038 (pupa_rescue_cmd_insmod): Likewise.
35039 (pupa_rescue_cmd_rmmod): Likewise.
35040 (pupa_rescue_cmd_lsmod): Likewise.
35041 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35042 rmmod and lsmod.
35043
35044 * kern/mm.c (pupa_memalign): If failed even after invalidating
35045 disk caches, unload unneeded modules and retry.
35046
35047 * kern/misc.c (pupa_memmove): New function.
35048 (pupa_memcpy): Removed.
35049 (pupa_strcpy): New function.
35050 (pupa_itoa): Made static.
35051
35052 * kern/dl.c (pupa_dl_iterate): New function.
35053 (pupa_dl_ref): Likewise.
35054 (pupa_dl_unref): Likewise.
35055 (pupa_dl_unload): Return if succeeded or not.
35056 (pupa_dl_unload_unneeded): New function.
35057 (pupa_dl_unload_all): Likewise.
35058 (pupa_dl_init): Renamed to ...
35059 (pupa_dl_set_prefix): ... this.
35060 (pupa_dl_get_prefix): New function.
35061
35062 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35063 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35064 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35065 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35066 (pupa_install_dos_part): Declared.
35067 (pupa_install_bsd_part): Likewise.
35068 (pupa_prefix): Likewise.
35069 (pupa_boot_drive): Likewise.
35070
35071 * include/pupa/types.h: Fix a typo.
35072
35073 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35074 pupa_memmove.
35075 (pupa_memmove): Declared.
35076 (pupa_strcpy): Likewise.
35077
35078 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35079 pupa_mod_init takes one argument, its own module.
35080 (pupa_dl_unload_unneeded): Declared.
35081 (pupa_dl_unload_all): Likewise.
35082 (pupa_dl_ref): Likewise.
35083 (pupa_dl_unref): Likewise.
35084 (pupa_dl_iterate): Likewise.
35085 (pupa_dl_init): Renamed to ...
35086 (pupa_dl_set_prefix): ... this.
35087 (pupa_dl_get_prefix): Declared.
35088
35089 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
35090 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
35091 unloaded.
35092 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35093 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35094
35095 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35096 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35097
35098 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35099
35100 * util/i386/pc/pupa-setup.c (setup): Define the internal
35101 function find_first_partition_start at the top level, because GCC
35102 3.0.x cannot compile internal functions in deeper scopes
35103 correctly.
35104 (find_root_device): Use lstat instead of stat.
35105 Don't follow symbolic links.
35106 Fix the path-constructing code.
35107
35108 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35109 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35110 by a BLKGETSIZE ioctl first, because block devices don't fill
35111 the member st_mode of the structure stat on Linux.
35112 [__linux__] (linux_find_partition): Use a temporary buffer
35113 REAL_DEV for the working space. Copy it to DEV before returning.
35114 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35115 buffer cache consistent.
35116 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35117 strncmp. The previous value was merely wrong.
35118 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35119
35120 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35121 FAT size is 12. The previous value was merely wrong.
35122
35123 * kern/main.c (pupa_main): Don't split the starting message from
35124 newlines.
35125
35126 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35127 LF, because BIOS goes crazy about character attributes in this
35128 case.
35129
35130 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35131
35132 * include/i386/pc/util/biosdisk.h: New file.
35133 * util/i386/pc/biosdisk.c: Likewise.
35134 * util/i386/pc/pupa-setup.c: Likewise.
35135
35136 * Makefile.in (INCLUDE_DISTFILES): Added
35137 include/pupa/i386/pc/util/biosdisk.h.
35138 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35139 directory util/i386/pc.
35140 (install-local): Added a rule for sbin_UTILITIES.
35141 (uninstall): Likewise.
35142
35143 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35144
35145 * util/misc.c (xrealloc): New function.
35146 (pupa_malloc): Likewise.
35147 (pupa_free): Likewise.
35148 (pupa_realloc): Likewise.
35149 (pupa_stop): Likewise.
35150 (pupa_putchar): Likewise.
35151
35152 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35153
35154 * include/pupa/util/misc.h (xrealloc): Declared.
35155
35156 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35157 macro.
35158 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35159 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35160
35161 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35162 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35163
35164 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35165 way should be implemented.
35166 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35167
35168 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35169 the size of NAME for safety.
35170 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35171 0x88.
35172
35173 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35174 (pupa_setup_SOURCES): Likewise.
35175
35176 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35177
35178 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35179
35180 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35181 bunch of pushl's from pusha, because this destroys the return
35182 value.
35183
35184 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35185
35186 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35187 This means that any missing prototypes could be fatal. Also, you
35188 must take care when writing assembly code. See the comments at
35189 the beginning of startup.S, for more details.
35190
35191 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35192 compilation mechanism.
35193 (pupa_chainloader_real_boot): Likewise.
35194 (pupa_biosdisk_rw_int13_extensions): Likewise.
35195 (pupa_biosdisk_rw_standard): Likewise.
35196 (pupa_biosdisk_check_int13_extensions): Likewise.
35197 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35198 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35199 (pupa_get_memsize): Likewise.
35200 (pupa_get_mmap_entry): Likewise.
35201 (pupa_console_putchar): Likewise.
35202 (pupa_console_setcursor): Likewise.
35203 (pupa_getrtsecs): Use pushl instead of push.
35204
35205 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35206 memory instead of the stack for a mmap entry, because some
35207 BIOSes may ignore the maximum size and overflow.
35208
35209 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35210
35211 * genmk.rb (PModule#rule): Compile automatically generated
35212 sources with module-specific CFLAGS as well as other sources.
35213
35214 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35215
35216 * configure.ac: Check ld.
35217 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35218 respectively, before checking endianness and sizes.
35219
35220 * Makefile.in (LD): New variable.
35221
35222 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35223
35224 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35225
35226 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35227
35228 * Changelog: New file.
35229