]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Give ATA device a bit more time on first try in order to allow disks
[grub2.git] / ChangeLog
1 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Give ATA device a bit more time on first try in order to allow disks
4 to spin up.
5
6 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7 if dev->present is 1. Reset dev->present on failure.
8 (grub_ata_device_initialize): Set dev->present to 1.
9 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10 (grub_ata_device): New member 'present'.
11
12 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * util/grub-mkimage.c (generate_image): Update hash.
15
16 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Flush caches on DMA memory.
19
20 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
21 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
22 (grub_dma_free): Likewise.
23 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
24
25 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
28 to avoid asm treating ld and sd as macros.
29
30 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
33 decompressor.
34
35 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
38 grub_decompress_core since later would fail if grub_decompress_core
39 is too far.
40
41 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
44 R_MIPS_JALR since it's used by newer compiler.
45
46 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
49
50 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
53 file_path to 0 for surety.
54 (grub_chainloader_boot): Set exit_data to NULL.
55 Unset the loader once done.
56 (grub_cmd_chainloader): Fix confusing error message if file is empty.
57
58 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
61 unknown key into a dprintf.
62
63 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
66 on first non-existant partition.
67
68 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
71 openning fails.
72 Reported by: Mark Korenberg.
73
74 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
77 overflow.
78
79 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * util/grub-mkimage.c (main): Explicitely flush and sync the output
82 before closing to ensure that it will be readable by grub-setup.
83
84 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
87 (devpath_1): Use MAKE_PIWG_PATH.
88 (devpath_2): Likewise.
89 (devpath_3): Likewise.
90 (devpath_4): Likewise.
91 (devpath_5): Likewise.
92 (devpath_6): Likewise.
93
94 The appleldr.mod was checked that to be binary identical to previous
95 version.
96
97 2011-05-05 Zach <mikezackles>
98
99 Support 2010 Macbooks.
100
101 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
102 (devs): Add devpath_6.
103
104 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
107 /dev/random. /dev/urandom is good enough for our purposes (salting).
108
109 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
112
113 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
116 hexadecimal.
117
118 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
121 and not 0 on failure.
122
123 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
124
125 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
126 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
127 disk; otherwise grub_fs_probe will not fall back to the next
128 filesystem.
129 (grub_pxefs_open): Likewise, for consistency.
130 Reported and tested by: Ezekiel Grave.
131
132 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
133
134 * tests/partmap_test.in: Don't hardcode path to parted.
135 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
136
137 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
138
139 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
140 of `ls' to find out which devices are available.
141
142 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
145 than source address for efi mmap buffer.
146
147 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
150 wrong action on non-detecting the magic.
151
152 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
155 already supplied by another part of the module (fixes compilation on
156 FreeBSD).
157
158 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
161 match the one used by mdadm.
162
163 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
164
165 * po/README: Add instructions for creating po/LINGUAS.
166
167 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
168
169 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
170 #551428.
171
172 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
173 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
174 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
175 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
176 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
177 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
178 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
179 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
180 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
181 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
182 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
183 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
184 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
185 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
186 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
187 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
188 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
189 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
190 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
191 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
192 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
193 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
194
195 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
196
197 * grub-core/kern/emu/getroot.c
198 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
199 test that was incorrectly reintroduced in r3214.
200 Reported by: Ian Dall. Fixes Savannah bug #33133.
201
202 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
203
204 Fix stack pointer handling in 16-bit relocator.
205
206 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
207 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
208 Fixes Ubuntu bug #683904.
209
210 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * configure.ac: Bump version to 1.99~rc2.
213
214 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
217 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
218 * grub-core/lib/x86_64/setjmp.S: Likewise.
219 * grub-core/lib/mips/setjmp.S: Likewise.
220 * grub-core/lib/powerpc/setjmp.S: Likewise.
221 * grub-core/lib/sparc64/setjmp.S: Likewise.
222
223 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
226 * grub-core/lib/efi/datetime.c: Likewise.
227
228 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
231 New function.
232 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
233 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
234 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
235
236 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
239 bitmap.
240 (grub_gfxterm_term_init): Likewise.
241
242 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Take into account the decorations the computing menu entry width.
245
246 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
247 (grub_gfxmenu_create_box): Register get_border_width.
248 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
249 if available.
250 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
251 get_border_width.
252
253 2011-04-18 Endres Puschner <code@e7p.de>
254
255 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
256 Don't skip first class.
257
258 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
261 chunks.
262 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
263
264 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Complete 64-bit division support.
267
268 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
269 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
270 * include/grub/misc.h (grub_divmod64): Rename to ...
271 (grub_divmod64_full): ... this.
272 (grub_divmod64): New inline function.
273
274 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/grub-mkimage.c (generate_image): Add forgotten comma.
277
278 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
281 performing the necessary test.
282
283 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
286 (kfreebsd.elf): Likewise.
287 (pc-chainloader.elf): Likewise.
288 (ntldr.elf): Likewise.
289
290 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Identify RAID by its UUID rather than (guessed) name.
293
294 * grub-core/disk/raid.c (ascii2hex): New function.
295 (grub_raid_open): Accept mduuid/%s specification.
296 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
297 (get_mdadm_uuid): ... this.
298 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
299
300 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
303 to negative size.
304
305 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
306
307 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
308 btrfs subvolume.
309 * util/grub.d/20_linux_xen.in: Likewise.
310
311 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
312
313 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
314 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
315
316 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
317 Build a list of relevant visible mounts using the mnt_id and
318 parent_mnt_id fields, and then scan that list at the end.
319
320 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
321
322 * docs/grub.texi (normal): New section.
323 (normal_exit): New section.
324 (Embedded configuration): Add reference to normal.
325 (GRUB only offers a rescue shell): Likewise.
326 * docs/grub-dev.texi (Error Handling): Fix typo.
327
328 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
329
330 * NEWS: Drop obsolete entry about probe-only btrfs support.
331
332 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
333
334 * util/import_gcry.py: Fix typo.
335
336 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * NEWS: Add btrfs support.
339
340 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
341 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
342
343 BtrFS support. Written by me (Vladimir) with important bugfixes and
344 even more important testing by Colin.
345
346 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
347 * grub-core/Makefile.core.def (btrfs): Add crc.c.
348 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
349 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
350 mem_input_off and mem_input. All users updated to accept in-RAM input.
351 (gzio_seek): New function.
352 (test_zlib_header): Likewise.
353 (grub_gzio_read): Likewise.
354 (grub_zlib_decompress): Likewise.
355 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
356 Accept partial and non-virtual mounts.
357 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
358 avoid receiving /dev/dm-X as device.
359 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
360 Handle bind and partial mounts.
361 * grub-core/lib/crc.c: New file.
362 * include/grub/deflate.h: Likewise.
363 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
364 proto.
365 * include/grub/lib/crc.h: New file.
366
367 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Implement automatic module license checking according to new GNU
370 guidelines.
371
372 * grub-core/kern/dl.c (grub_dl_check_license): New function.
373 (grub_dl_load_core): Use grub_dl_check_license.
374 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
375 (GRUB_MOD_LICENSE): Likewise.
376 (GRUB_MOD_DUAL_LICENSE): Likewise.
377 All modules updated.
378
379 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
380
381 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
382 reserved_first_sector to 1. btrfs reserves plenty of space for boot
383 loaders.
384 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
385
386 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
389
390 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * util/grub-fstest.c (read_file): Report GRUB error if file opening
393 failed.
394
395 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/kern/file.c (grub_file_open): Don't take into account the
398 parenthesis in the middle of the filename.
399
400 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
403 rather than trying to put initrd way too high.
404 Reported by: Ryan Lortie <desrt@desrt.ca>
405
406 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
409 improperly removed string.
410
411 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
414 is_disk.
415 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
416 (open_device) Likewise.
417 (grub_util_biosdisk_close): Likewise.
418 Reported by: Mark Korenberg.
419
420 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
421
422 * util/grub-mkconfig_lib.in: Add missing quotes.
423
424 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
425
426 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
427 is NULL.
428
429 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
430
431 Dynamically count the number of lines for the lower banner.
432
433 * grub-core/normal/menu_entry.c (per_term_screen): New member
434 num_entries.
435 (print_down): Use num_entries.
436 (update_screen): Likewise.
437 (grub_menu_entry_run): Set num_entries.
438 * grub-core/normal/menu_text.c (menu_viewer_data): New member
439 num_entries.
440 (grub_print_message_indented): Move real part to ...
441 (grub_print_message_indented_real): ... here. Additional argument
442 dry_run.
443 (draw_border): Additional argument num_entries.
444 (print_message): Additional argument dry_run.
445 (print_entries): Receive menu viewer data.
446 (grub_menu_init_page): New argment num_entries.
447 (menu_text_set_chosen_entry): Use num_entries.
448 (grub_menu_try_text): Likewise.
449 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
450 All users updated.
451 (grub_ucs4_count_lines): New function.
452 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
453 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
454 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
455 (grub_term_border_height): Likewise.
456 (grub_term_num_entries): Likewise.
457
458 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
461 Remove now unused string.
462
463 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
464
465 * docs/grub-dev.texi (Finding your way around): Update for 1.99
466 build system.
467 (Getting started): GRUB is developed in Bazaar now, not Subversion.
468
469 (Comment): Fix typo.
470 (Getting started): General copy-editing.
471 (Typical Development Experience): Likewise.
472 (Error Handling): Likewise.
473 (Video API): Likewise.
474
475 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
476
477 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
478 throughout.
479
480 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * util/grub-mkimage.c (main): Handle special naming of yeeloong
483 directory.
484
485 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
486
487 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
488 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
489 "development".
490
491 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
494 grub_strcpy since the lines aren't necessarily 0-terminated.
495
496 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
499 root on legacy.
500
501 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/commands/probe.c (options): Argument to set isn't optional.
504 (GRUB_MOD_INIT): DEVICE isn't optional.
505
506 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
509 word on new line if it's too long anyway. Fixes a hang.
510
511 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
514 const.
515 * util/grub-setup.c (main): Reuse md device name if available.
516 * util/raid.c (grub_util_raid_getmembers): Receive device name and
517 not GRUB name as argument.
518 Based on patch by: Florian Wagner <fwagner>.
519
520 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
523 Place mbi on low memory for better compatibility.
524
525 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
528
529 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
530 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
531
532 * autogen.sh: Ensure that collate and ctype locale is C.
533 * conf/Makefile.common: Likewise.
534
535 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/normal/menu.c: Add missing include.
538
539 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
542
543 2011-04-08 Martin Zuther <mzuther@mzuther.de>
544
545 * util/grub-mkconfig.in: Ignore emacsen backup.
546
547 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
550 on open.
551 (grub_util_biosdisk_close): Likewise.
552
553 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
556 const attribute and use grub_isdigit.
557
558 2011-04-06 Andrey <dev_null@ukr.net>
559
560 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
561 gcc warning.
562
563 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
566 useful grub_dprintf's.
567
568 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
571
572 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
575
576 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Output errors if theme loading failed.
579
580 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
581 grub_gfxterm_fullscreen on error paths to ...
582 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
583 theme loading error.
584
585 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
588 space for older compilers.
589 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
590
591 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
594 and report them as not RAID members since they are useless for GRUB.
595 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
596
597 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
598
599 Increase LVM implementation robustness in order not to crash on
600 configurations like pvmove. Previously code assumed that in some places
601 only lvs or only pvs are used whereas it seems that they are used
602 interchangeably.
603
604 * grub-core/disk/lvm.c (read_node): New function.
605 (read_lv): Use read_node.
606 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
607 Match volumes only at the end when all lvs are found. Take both
608 pvs (first) and lvs (second) into account.
609 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
610 mirror_* into node_*. All users updated.
611 (grub_lvm_stripe): Merge this ...
612 (grub_lvm_mirror): ... and this ...
613 (grub_lvm_node): ... into this. All users updated.
614
615 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
618 of function to allow further scanning for LVMs.
619
620 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
623 on failed seek as it breaks open fd reusage.
624
625 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * util/grub-install.in: Add a recommendation to use --recheck before
628 reporting bugs.
629
630 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
633 are obtained.
634
635 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 GRUB developper manual based on existing Internals section and
638 contributions by the various authors with active copyright assignment.
639
640 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
641 * docs/font_char_metrics.png: New file.
642 * docs/font_char_metrics.txt: Likewise.
643 * docs/grub-dev.texi: Likewise.
644 * docs/grub.texi (Internals): Move from here ...
645 * docs/grub-dev.texi: ... here.
646
647 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
648
649 Store the loopback device as data on loopback grub_disk structures,
650 rather than the file it points to. This fixes use of freed memory
651 if an existing loopback device is replaced.
652
653 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
654 disk->data, not dev->file.
655 (grub_loopback_read): Adjust file assignment to match.
656 Fixes Ubuntu bug #742967.
657
658 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
659
660 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
661 when replacing an existing device.
662
663 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
666 memory corruptions.
667
668 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
669 unsigned.
670 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
671 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
672 (grub_jfs_read_inode): Likewise.
673 (grub_jfs_opendir): Likewise. Remove now useless casts.
674 (grub_jfs_getent): Likewise.
675 Make ino a grub_uint32_t rather than int.
676 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
677 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
678 division and module with bit operations.
679 (grub_jfs_find_file): Make ino a grub_uint32_t.
680 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
681
682 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
683
684 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
685 warning. (This was in fact always initialised before use, but GCC
686 wasn't smart enough to prove that.)
687 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
688
689 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
692 stack alignment.
693 (efi_wrap_1): Likewise.
694 (efi_wrap_2): Likewise.
695 (efi_wrap_3): Likewise.
696 (efi_wrap_4): Likewise.
697 (efi_wrap_5): Likewise.
698 (efi_wrap_6): Likewise.
699 (efi_wrap_10): Likewise.
700 Based on information by: Red Hat/Peter Jones.
701
702 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
703
704 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
705 set-but-not-used variable.
706
707 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
708
709 * docs/grub.texi (Simple configuration): Be more explicit about
710 GRUB_DEFAULT, and add an example.
711 Reported by: Leslie Rhorer.
712
713 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
714
715 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
716 shell".
717
718 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
719
720 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
721 * util/grub.d/20_linux_xen.in: Likewise.
722
723 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * util/grub.d/10_linux.in: Try alternative config filenames where
726 we parse config file.
727 * util/grub.d/20_linux_xen.in: Likewise.
728
729 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
730
731 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
732 * util/grub.d/20_linux_xen.in: Likewise.
733
734 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/disk/raid.c (insert_array): Add few potentially
737 useful grub_util_info.
738 (grub_raid_register): Likewise.
739
740 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
743 Preserve partition number in mdadm code path.
744
745 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
748 few potentially useful grub_util_info.
749
750 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
753
754 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
755
756 * docs/grub.texi (default): Use @example rather than nested
757 itemized lists to avoid breaking gendocs.
758
759 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
760
761 * docs/grub.texi (Future): Update.
762
763 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
764
765 * docs/grub.texi (Environment): New chapter.
766 (Changes from GRUB Legacy): Link to "Environment block" section for
767 details of limitations.
768 (Simple configuration): Likewise. Link to documentation of gfxmode
769 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
770 respectively.
771 (Shell-like scripting): Note that normal variables are stored in the
772 environment.
773 (gettext): Link to documentation of lang and locale_dir.
774 (list_env): New section.
775 (load_env): New section.
776 (save_env): New section.
777
778 (Reporting bugs): Fix typo.
779
780 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
783 the example.
784
785 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/term/at_keyboard.c (set_scancodes)
788 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
789
790 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
791
792 * docs/grub.texi (Menu-specific commands): Remove some semantics
793 that were true in GRUB Legacy but not in GRUB 2.
794 (submenu): New section.
795 (false): New section.
796 (read): New section.
797 (true): New section.
798
799 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
800
801 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
802
803 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
804
805 * docs/grub.texi (Simple configuration): Explain some of the
806 current limitations of grub-mkconfig.
807 Reported by: Leslie Rhorer.
808
809 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Old macs search for boot.efi rather than for bootia32.efi.
812
813 * util/grub-install.in: Copy bootia32.efi to boot.efi.
814 * util/grub-mkrescue.in: Likewise.
815 Suggested by: Peter Jones.
816
817 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
820
821 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
824 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
825 (grub_lvm_mirror): New struct.
826 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
827 (grub_lvm_iterate): Iterate only visible volumes.
828 (grub_lvm_read): Factor out to ..
829 (read_lv): ... this. Support mirrors.
830 (grub_lvm_read): New wrapper function.
831 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
832 stripped or mirrored.
833
834 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
837
838 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
839
840 * docs/grub.texi (loopback): New section.
841
842 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
843
844 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
845 removed -p option.
846
847 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
848
849 * docs/grub.texi (BIOS installation): New section, partly based on
850 previous text in other sections.
851 (Installing GRUB using grub-install): Replace BIOS discussion with a
852 cross-reference.
853 (Images): Likewise.
854
855 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/kern/emu/hostdisk.c (find_partition_start)
858 [HAVE_DIOCGDINFO]: Add safety checks.
859
860 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
863 per default compiled in kernel and prior to 8.0 isn't shipped at all.
864
865 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
866
867 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
868 real_sb->size is zero (e.g. RAID-0), get the disk size from
869 real_sb->data_size instead.
870 Fixes Ubuntu bug #743136.
871
872 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
875 printf clauses for printing size and start.
876
877 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
880 Reported and tested by: Timothy Nikkel.
881
882 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
885 (dirty_region_add_real): ... this.
886 (dirty_region_add): Don't discard margin refresh when performing
887 scheduled repaint.
888
889 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/lib/relocator.c (allocate_regstart)
892 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
893 terminals are capabple of malloc-free operation.
894 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
895 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
896
897 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
898
899 * util/grub-setup.c: Copy the partition table zone if floppy support
900 is disabled, even if no partition table is found.
901
902 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
903 during POST if an invalid partition table is contained in the PBR
904 of the active partition when GRUB is installed to a partition.
905
906 2011-03-28 Colin Watson <cjwatson@debian.org>
907
908 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
909 comment.
910
911 2011-03-28 Colin Watson <cjwatson@debian.org>
912
913 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
914 to be specific about what kind of RAID device we're scanning for.
915
916 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
917
918 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
919 return freed string.
920
921 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
924
925 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Use libgeom on FreeBSD to detect partitions.
928
929 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
930 (grub-mkrelpath): Likewise.
931 (grub-script-check): Likewise.
932 (grub-editenv): Likewise.
933 (grub-mkpasswd-pbkdf2): Likewise.
934 (grub-fstest): Likewise.
935 (grub-mkfont): Likewise.
936 (grub-mkdevicemap): Likewise.
937 (grub-probe): Likewise.
938 (grub-setup): Likewise.
939 (grub-ofpathname): Likewise.
940 (grub-mklayout): Likewise.
941 (example_unit_test): Likewise.
942 (grub-menulst2cfg): Likewise.
943 * grub-core/Makefile.core.def (grub-emu): Likewise.
944 (grub-emu-lite): Likewise.
945 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
946 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
947 define HAVE_DIOCGDINFO.
948 (follow_geom_up) [FreeBSD]: New function.
949 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
950 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
951 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
952 unconditionally of HAVE_DIOCGDINFO.
953
954 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Fix FreeBSD compilation problem.
957
958 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
959 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
960
961 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
962
963 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
964 Switch back to page zero before loading a kernel, since some kernel
965 drivers expect that.
966 Thanks to: Felix Kuehling.
967
968 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
971 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
972 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
973
974 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
977 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
978
979 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
982 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
983 malloc is disabled.
984
985 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
988 for modules headers when counting the needed allocation size.
989
990 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
993 if no ASCII character is found to prevent crash.
994
995 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
996
997 * grub-core/video/bitmap.c (match_extension): Ignore case.
998
999 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
1002
1003 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/script/parser.y: Declare "time" as valid argument.
1006
1007 2011-03-23 Peter Jones <pjones@redhat.com>
1008
1009 Fix incorrect assert failure reporting.
1010
1011 * grub-core/tests/example_functional_test.c (example_test): Add
1012 a failure comment.
1013 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
1014 (failure_start): ...this. Check that malloc succeeded.
1015 Don't call xvasprintf. Return failure struct.
1016 (failure_append_vtext): New function.
1017 (failure_append_text): Likewise.
1018 (add_failure): Likewise.
1019 (grub_test_assert_helper): Likewise.
1020 * include/grub/test.h (grub_test_assert_helper): New declaration.
1021 (grub_test_assert): Macro rewritten.
1022
1023 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
1026
1027 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
1030
1031 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
1034 into GRUB-style one.
1035
1036 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
1039 error and not grub_errno.
1040 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1041
1042 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1045 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1046
1047 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/efiemu/i386/pc/cfgtables.c
1050 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1051 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1052 (grub_xnu_unlock): Likewise.
1053 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1054
1055 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1058 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1059 * grub-core/commands/hashsum.c (aliases): Likewise.
1060 * grub-core/commands/setpci.c (pci_registers): Likewise.
1061 * grub-core/disk/usbms.c (attach_hook): Likewise.
1062 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1063 (zio_checksum_table): Likewise.
1064 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1065 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1066 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1067 * grub-core/lib/relocator.c (leftovers): Likewise.
1068 (extra_blocks): Likewise.
1069 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1070 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1071 (modules_last): Likewise.
1072 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1073 (devices): Likewise.
1074 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1075 (modules_last): Likewise.
1076 * grub-core/normal/auth.c (users): Likewise.
1077 * grub-core/normal/context.c (initial_menu): Likewise.
1078 (current_menu): Likewise.
1079 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1080 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1081 (grub_serial_terminfo_input_template): Likewise.
1082 (grub_serial_terminfo_output_template): Likewise.
1083 (grub_serial_terminfo_input): Likewise.
1084 (grub_serial_terminfo_output): Likewise.
1085 (registered): Likewise.
1086 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1087
1088 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1091 grub_video_mode_type_t.
1092 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1093 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1094 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1095
1096 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * util/grub-install.in: Correct the x86-64 name as x86_64.
1099
1100 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
1101
1102 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1103 initial chunk read from the kernel always includes GRUB's multiboot
1104 header, which is now outside the first sector.
1105
1106 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1107
1108 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1109 cached mmap_size, so that this works correctly when called multiple
1110 times.
1111 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1112
1113 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1114
1115 * docs/grub.texi (Simple configuration): Tidy up formatting.
1116
1117 2011-03-07 Szymon Janc <szymon@janc.net.pl>
1118
1119 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1120 Set-but-not-used variable removed.
1121
1122 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Workaround yet another IEEE1275 bug.
1125
1126 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1127 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1128 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1129 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1130 is set.
1131 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1132 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1133
1134 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1137 error.
1138
1139 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
1140
1141 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1142 empty, since in that case we can only generate either nothing or a
1143 syntactically invalid configuration file.
1144 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1145
1146 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1147
1148 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1149 (Making a GRUB bootable CD-ROM): Likewise.
1150 (Invoking grub-mkrescue): New section.
1151 Reported by: Yann Dirson. Fixes Debian bug #612585.
1152
1153 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1154
1155 * util/grub-install.in: Remove unnecessary brackets from tr
1156 arguments.
1157 * util/grub.d/10_hurd.in: Likewise.
1158 * util/grub.d/10_kfreebsd.in: Likewise.
1159 * util/grub.d/10_linux.in: Likewise.
1160 * util/grub.d/20_linux_xen.in: Likewise.
1161 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1162
1163 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
1164
1165 * include/grub/file.h (not_easly_seekable): Rename to ...
1166 (not_easily_seekable): ... this. Update all users.
1167
1168 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
1169
1170 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1171 grub-mkrescue.
1172
1173 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * util/grub-mkimage.c (generate_image): Refuse to create the images
1176 bigger than the actual flash (512K) in Loongson machines. 512K is also
1177 the biggest chip supported by them.
1178
1179 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1182
1183 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
1184
1185 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1186 super_offset field.
1187
1188 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * util/grub-install.in: Ignore install device on platforms
1191 where it doesn't make sense. Always use UUIDs except on pc, efi and
1192 sparc64.
1193 Reported by: Daniel Kahn Gillmor.
1194
1195 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1198
1199 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1202 (iterate_real): Don't rely on partition being non-NULL.
1203
1204 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1207 supported platforms. Put a compile time assert for this rather than
1208 generate a warning with 32-bit shift.
1209
1210 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1213 logical expression more readable.
1214
1215 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1218 even if some elements have a name.
1219 Reported by: Alexander GQ Gerasiov.
1220
1221 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1224 path unreadable if `grub-probe -t abstraction' fails, for example if
1225 memberlist fails on an LVM volume group.
1226 Reported by: Darius Jahandarie.
1227
1228 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1229
1230 * docs/grub.texi (Simple configuration): Document
1231 GRUB_PRELOAD_MODULES.
1232
1233 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1234
1235 * .bzrignore: Remove nonexistent grub-pbkdf2.
1236
1237 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * configure.ac: Bump version to 1.99~rc1.
1240
1241 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1244 for safety.
1245
1246 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1249 module.
1250
1251 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1254
1255 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1258 diskdevid.
1259
1260 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Fix compilation on cygwin.
1263
1264 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1265 -R .drectve on cygwin.
1266 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1267 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1268 (COND_CYGWIN): New condition.
1269 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1270 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1271 not @TARGET_OBJ2ELF@.
1272 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1273 type to determine whether aux is to be used.
1274
1275 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1278 realpath'ed device string.
1279 Handle floppy (somewhat).
1280 Issue error in unknown case rather than garbage.
1281 Reported by: Axel Beckert.
1282
1283 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * util/grub.d/00_header.in (load_video): Handle the case when no video
1286 drivers available.
1287 Thanks to: Axel Beckert.
1288
1289 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1292 variable. Fixes problem on big endian platforms.
1293
1294 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1297 It doesn't work well there.
1298
1299 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1302 warning.
1303 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1304 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1305 counter.
1306
1307 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 Use alias->path rather than buggy "canon".
1310
1311 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1312 (ofdisk_hash_add): New argument curcan. All users updated.
1313
1314 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1315
1316 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1317
1318 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1321 loadmask before doing any calculations. Use correct type for offset.
1322 (grub_linux_load64): Likewise.
1323
1324 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1325
1326 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1327 with NULL.
1328 (console_grub_equivalences_unshift): Likewise.
1329 Reported by: Daniel Dehennin.
1330
1331 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1334 (set_env_limn_ro): Likewise.
1335 (GRUB_MOD_INIT): Likewise.
1336 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1337 ARRAY_SIZE while on it.
1338 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1339 * grub-core/normal/context.c (grub_env_export): Move from here ...
1340 * grub-core/kern/env.c (grub_env_export): ... here.
1341 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1342 prefix.
1343 * grub-core/kern/main.c (grub_main): Export root and prefix.
1344 * include/grub/env.h (grub_env_export): Export.
1345 Reported by: Seth Goldberg.
1346
1347 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1350 Take into account space used by ELF sections and multiboot palette.
1351 Reported by: Grégoire Sutre.
1352
1353 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * BUGS: New file.
1356
1357 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Pass more appropriate video id to Linux.
1360
1361 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1362 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1363 fill have_vga.
1364 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1365 shift params->lfb_size.
1366 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1367
1368 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1371
1372 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1375 separator and pass bootpath/devid even if only one of them is available.
1376 Reported by: Seth Goldberg.
1377
1378 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1381 implementations bug on them.
1382
1383 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1384 memory.
1385 (filter_memory_map): Likewise.
1386
1387 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1390 Reported by: nebuchadnezzar.
1391
1392 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1395 Reported by: nebuchadnezzar.
1396
1397 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Submenu default support.
1400
1401 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1402 auto_boot. All users updated.
1403 Declared static.
1404 Handle chosen and default with submenus.
1405 (grub_menu_execute_with_fallback): Declared static.
1406 Don't notify failure if autobooted. Upper level does it.
1407 (menuentry_eq): New function.
1408 (get_entry_number): Use menuentry_eq.
1409 (show_menu): New parameter "autobooted". All users updated.
1410 (grub_show_menu): Likewise.
1411 * include/grub/normal.h (grub_show_menu): Likewise.
1412 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1413 (grub_menu_execute_with_fallback): Likewise.
1414
1415 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * util/grub-mklayout.c (usage): Update help text.
1418
1419 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1422
1423 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * util/grub-menulst2cfg.c (main): Trim the line.
1426
1427 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1430 (grub_machine_init): Don't check amount of low memory as reportedly
1431 INT 12h can be broken and if low memory is too low we wouldn't have
1432 gotten into grub_machine_init anyway.
1433
1434 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1437 (grub_machine_mmap_iterate): Take low memory into account
1438
1439 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1442 badfs.
1443 Reported by: TiCPU.
1444
1445 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1448 members errors.
1449
1450 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1451
1452 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1453 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1454
1455 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1456
1457 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1458 openbsd and netbsd types being in part_bsd module.
1459
1460 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1463 (_FILE_OFFSET_BITS): Likewise.
1464 Reported by: Seth Goldberg.
1465
1466 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1467
1468 * configure.ac: Check for libdevmapper header.
1469
1470 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1473 avoid aliasing.
1474 (fzap_lookup): Likewise.
1475 (dnode_get): Likewise.
1476 (make_mdn): Likewise.
1477 (zfs_mount): Likewise.
1478 (fzap_iterate): Use temporary pointer to avoid aliasing.
1479 (grub_zfs_read): Likewise.
1480 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1481 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1482 pointers to avoid aliasing.
1483 (grub_cmd_xnu_kernel64): Likewise.
1484 (grub_xnu_load_driver): Likewise.
1485
1486 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1489 aliasing warning.
1490 (grub_cmd_terminal_output): Likewise.
1491 Reported and tested by: Grégoire Sutre.
1492
1493 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1496 warning.
1497 Reported and tested by: Grégoire Sutre.
1498
1499 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * configure.ac: Do CPU substitution even if it's specified explicitly.
1502 Reported and tested by: Alain Greppin.
1503
1504 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1507 Reported and tested by: Alain Greppin.
1508
1509 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Satisfy some bison versions need for inttypes.h.
1512
1513 * grub-core/lib/posix_wrap/inttypes.h: New file.
1514 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1515 (int16_t): Likewise.
1516 (int32_t): Likewise.
1517 (int64_t): Likewise.
1518 Reported and tested by: Alain Greppin.
1519
1520 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1523 Silence spurious warning.
1524 Reported and tested by: Alain Greppin.
1525
1526 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1527
1528 * docs/grub.texi (Support automatic decompression): Update with xz
1529 decompression support.
1530
1531 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1532
1533 Improve loaders' kernel command line handling.
1534
1535 * grub-core/lib/cmdline.c: New file.
1536 * include/grub/lib/cmdline.h: Likewise.
1537 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1538 grub_create_loader_cmdline to create kernel command line.
1539 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1540 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1541 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1542 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1543 (linux): Add lib/cmdline.c on common.
1544
1545 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1548 inopos might be unaligned.
1549
1550 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1553 endian transformations.
1554 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1555 Based on report by: Doug Nazar.
1556
1557 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1558
1559 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1560 array->members[i].start_sector.
1561 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1562
1563 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1566 Reported and tested by: Grégoire Sutre.
1567
1568 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1569
1570 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1571 avoid causing test failures by clearing the screen.
1572
1573 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1574
1575 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1576 Fix prefix check to handle the case where dir ends with a slash
1577 (most significantly, "/" itself).
1578 Reported by: Michael Vogt.
1579
1580 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 Run terminfo_cls on initing terminfo output to clear the screen and
1583 move the cursor to (0,0).
1584
1585 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1586 Call grub_terminfo_output_init.
1587 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1588 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1589 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1590
1591 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1594 only when needed.
1595
1596 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1599 CTRL.
1600
1601 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 The E820 type 5 is BADRAM, not EXEC_CODE.
1604
1605 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1606 (GRUB_E820_BADRAM): New define.
1607 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1608 into reserved. Propagate BADRAM.
1609 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1610 (GRUB_E820_BADRAM): New define.
1611
1612 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1615 Ignore the memory post-4G.
1616 (grub_relocator_firmware_alloc_region): Additional debug statement.
1617
1618 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1621 names.
1622 Reported by: David Pravec.
1623
1624 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1627 BIOSes.
1628
1629 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1632 Prevent overflow.
1633 (grub_reed_solomon_recover): Likewise.
1634
1635 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1638
1639 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1642 variable.
1643
1644 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1645
1646 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1647 descriptions of extract_legacy_entries_source and
1648 extract_legacy_entries_configfile.
1649 Reported by: Seung Soo, Ha.
1650
1651 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1652
1653 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1654 on devices that do not implement function 0.
1655
1656 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1657
1658 * grub-core/fs/hfsplus.c: Make parent unsigned.
1659 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1660 overflows.
1661 (grub_hfsplus_cmp_extkey): Likewise
1662
1663 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * util/grub-install.in: Correctly use bootloader_id and not
1666 GRUB_DISTRIBUTOR on efibootmgr line.
1667
1668 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1671
1672 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1673
1674 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1675 Xen and reorder menu item wording to make it clearer that this entry
1676 will launch Xen. Print separate messages when loading Xen and
1677 Linux.
1678
1679 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1682 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1683 loop in case of incorrect amiga partmap.
1684
1685 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1688 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1689 Reported by:EHeM.
1690
1691 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1694 spurious warning.
1695 Reported by: crocket
1696
1697 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1700 Preload EFIemu.
1701 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1702
1703 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1706 is loaded
1707 (grub_cmd_xnu_kextdir): Likewise.
1708 (grub_cmd_xnu_splash): Likewise.
1709
1710 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Avoid using Reed-Solomon with 0 redundancy.
1713
1714 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1715 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1716 or 0 redundancy.
1717 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1718 (grub_reed_solomon_recover): Likewise.
1719
1720 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Don't use disk subsystem in freebsd_boot.
1723
1724 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1725 (freebsd_biosdev): Likewise.
1726 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1727 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1728
1729 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Handling of files of unknown size is currently limited. They can't be
1732 used e.g. for initrd or modules. Moreover gzip handling of not
1733 easily seekable files is buggy. Disable unknown file size for now. May
1734 be inefficient but works.
1735
1736 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1737 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1738
1739 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1740
1741 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1742 floppy probe.
1743
1744 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1745
1746 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1747
1748 2010-12-25 Shea Levy <shlevy>
1749
1750 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1751
1752 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1755 Windows Server 2008.
1756 Reported by: Devin Giddings.
1757
1758 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1761 writing an error message because of async power management.
1762 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1763 (grub_reboot): Likewise.
1764
1765 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1766
1767 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1768 keep unit tests from failing when they shouldn't.
1769
1770 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1771
1772 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1773 previous patch increased the size of the RS code by 20 bytes (at
1774 least with gcc-4.4), so increase this by 20 bytes to match.
1775 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1776
1777 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1778
1779 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1780 scratch area. Make sure to initialise chosen in standalone mode as
1781 well as non-standalone.
1782 Reported by: Robert Hooker and Andy Whitcroft.
1783 Tested by: Andy Whitcroft.
1784
1785 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1786
1787 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1788 constructing a new unescaped string and passing it to grub_xputs in
1789 one go, rather than passing characters to grub_printf one at a time.
1790
1791 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1792
1793 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1794 initialising utf16.
1795
1796 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1797
1798 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1799 comment. Add an extra layer of quotation, requiring the output of
1800 this function to be used in a printf format string.
1801 (gettext_printf): New function.
1802 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1803 Extract translatable strings from here-documents and use a temporary
1804 variable instead, so that xgettext can find them.
1805 * util/grub.d/10_kfreebsd.in: Likewise.
1806 * util/grub.d/10_linux.in: Likewise.
1807 * util/grub.d/20_linux_xen.in: Likewise.
1808
1809 * po/grub.d.sed: New file.
1810 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1811 arguments. Set c-format flags on all strings extracted from
1812 util/grub.d/ (xgettext refuses to include these itself for strings
1813 it extracted from a shell file, but these really are c-format).
1814
1815 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1818 Avoid next pointing to nowhere.
1819
1820 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1823 rather than assuming than rootblock is exactly in the middle.
1824 (grub_affs_label): Likewise.
1825
1826 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1829 reserved_first_sector to 0.
1830 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1831 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1832 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1833
1834 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Fix handling of UTF-16 UDF labels.
1837
1838 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1839 (read_string): .. here.
1840 (grub_udf_label): Use read_string.
1841
1842 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1843
1844 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1845 editor under argument scope.
1846 Reported by: Jordan Uggla
1847
1848 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1851
1852 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1855 line, and other keys scroll an entire page (previous handling was
1856 for \r and \n to scroll a page and other keys to scroll two lines).
1857
1858 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1861 Set ptrdest to correct get_physical_target_address rather than
1862 incorrect get_virtual_current_address.
1863
1864 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1865
1866 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1867 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1868
1869 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1870
1871 * .bzrignore: Ignore grub-core/rs_decoder.S.
1872
1873 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1874
1875 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1876 .mo/.mo.gz opening sequence to ...
1877 (grub_mofile_open_lang): ... here.
1878 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1879 * util/grub.d/00_header.in (grub_lang): Include country part of
1880 locale.
1881 Reported by: Mario Limonciello.
1882
1883 2010-12-09 Robert Millan <rmh@gnu.org>
1884
1885 * NEWS: Document addition of ZFS support.
1886
1887 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1888
1889 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1890 rather than `/ 2', as the latter requires -Wa,--divide which would
1891 require bumping our minimum binutils version.
1892
1893 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1894
1895 * util/grub-script-check.c (main): Print script line number on
1896 error.
1897
1898 2010-12-01 Robert Millan <rmh@gnu.org>
1899
1900 * grub-core/fs/zfs/zfs.c: New file.
1901 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1902 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1903 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1904 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1905
1906 * include/grub/zfs/dmu.h: Likewise.
1907 * include/grub/zfs/dmu_objset.h: Likewise.
1908 * include/grub/zfs/dnode.h: Likewise.
1909 * include/grub/zfs/dsl_dataset.h: Likewise.
1910 * include/grub/zfs/dsl_dir.h: Likewise.
1911 * include/grub/zfs/sa_impl.h: Likewise.
1912 * include/grub/zfs/spa.h: Likewise.
1913 * include/grub/zfs/uberblock_impl.h: Likewise.
1914 * include/grub/zfs/vdev_impl.h: Likewise.
1915 * include/grub/zfs/zap_impl.h: Likewise.
1916 * include/grub/zfs/zap_leaf.h: Likewise.
1917 * include/grub/zfs/zfs.h: Likewise.
1918 * include/grub/zfs/zfs_acl.h: Likewise.
1919 * include/grub/zfs/zfs_znode.h: Likewise.
1920 * include/grub/zfs/zil.h: Likewise.
1921 * include/grub/zfs/zio.h: Likewise.
1922 * include/grub/zfs/zio_checksum.h: Likewise.
1923
1924 * Makefile.util.def: Build ZFS into libgrubmods.
1925 * grub-core/Makefile.core.def: Build zfs.mod.
1926
1927 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1928
1929 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1930 variable.
1931 * grub-core/commands/wildcard.c (match_files): Likewise.
1932
1933 2010-11-30 Robert Millan <rmh@gnu.org>
1934
1935 * grub-core/loader/i386/bsd.c
1936 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1937 whether kernel is loaded using grub_loader_is_loaded(), rather
1938 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1939 certain error conditions.
1940
1941 2010-11-30 Robert Millan <rmh@gnu.org>
1942
1943 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1944 (grub_cmd_echo): Call grub_refresh() after printing a message.
1945
1946 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Avoid using tricks for initialising endian variables.
1949
1950 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1951 Make const.
1952 (GRUB_MOD_INIT): Don't byte-swap.
1953 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1954 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1955 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1956 (grub_swap_bytes32_compile_time): Likewise.
1957 (grub_cpu_to_le32_compile_time): Likewise.
1958 (grub_cpu_to_le16_compile_time): Likewise.
1959
1960 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * util/grub-setup.c (setup): Stop recommending --force. People who
1963 understand the dangers of blocklists are able to find this option
1964 anyway and the ones who don't shouldn't use it anyway.
1965
1966 2010-11-26 Robert Millan <rmh@gnu.org>
1967
1968 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1969 Update all users.
1970
1971 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1972
1973 Fix LVM-on-RAID probing.
1974
1975 * util/grub-probe.c (probe): Remember which disk was detected as
1976 RAID (perhaps an LVM physical volume). Use that disk's raidname
1977 rather than that of the top-level disk.
1978
1979 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1980
1981 Fix cmdline argument quotes for setparams command of menuentry
1982 definitions.
1983
1984 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1985 quotes for arguments.
1986 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1987 grub_strchrsub function instead.
1988
1989 * include/grub/misc.h (grub_strchrsub): New function.
1990
1991 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1992
1993 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1994 effort by skipping "." and ".." entries up-front.
1995 Suggested by: Michael Lazarev.
1996
1997 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1998
1999 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
2000 ldflags to ldadd, to fix link line ordering.
2001 (none_decompress): Likewise.
2002
2003 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
2004
2005 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
2006 platforms.
2007 (grub-emu-lite): Remove kern/emu/cache.S.
2008
2009 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2010
2011 * util/deviceiter.c (compare_devices): If the by-id link for a
2012 device couldn't be resolved, fall back to sorting by the by-id link
2013 rather than segfaulting.
2014 Reported and tested by: Daniel Mierswa.
2015
2016 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
2019 ldflags, to fix link line ordering.
2020
2021 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2022
2023 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
2024 linkers are picky about this.
2025
2026 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2027
2028 * grub-core/Makefile.am (command.lst): Adjust sed expression
2029 ordering so that extended and priority commands aren't treated as
2030 ordinary commands.
2031
2032 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2033
2034 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2035 Remove byte-swapping function calls, which are not valid in
2036 structure initialisers.
2037 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
2038 non-const.
2039 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
2040 grub_gpt_partition_type_bios_boot.
2041
2042 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2043
2044 Fix test program build on GNU/kFreeBSD.
2045
2046 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2047 $(LIBNVPAIR)' library dependencies.
2048
2049 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2050
2051 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2052
2053 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2054
2055 * util/grub-install.in: Remove excessive quoting that broke
2056 installations to RAID devices.
2057
2058 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2061 bootloader version instead of 0.
2062
2063 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2066 warning.
2067
2068 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2071 retrieve the metadat sector if size isn't known.
2072 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2073
2074 2010-11-18 Robert Millan <rmh@gnu.org>
2075
2076 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2077 with grub_memcmp().
2078
2079 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2082 arrow.
2083 Reported by: Jordan Uggla.
2084
2085 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Make better UTF compliant.
2088
2089 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2090 sequences as incorrect.
2091 (grub_is_valid_utf8): Likewise.
2092 (grub_utf8_to_ucs4): Likewise.
2093 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2094 (grub_ucs4_to_utf8_alloc): Likewise.
2095 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2096
2097 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Make legacy_source behave like source.
2100
2101 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2102 grub_show_menu.
2103 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2104
2105 2010-11-16 Colin Watson <cjwatson@debian.org>
2106
2107 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2108 (-Wunused implies -Wunused-parameter, but not vice versa).
2109
2110 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
2111
2112 * configure.ac: Make error messages less confusing by testing for
2113 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2114 accepted, but produces a diagnostic if something else is wrong).
2115
2116 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2119 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2120 (now unused).
2121 (grub_keyboard_controller_init)
2122 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2123 read the initial state since controller isn't inited yet.
2124
2125 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2128 allocate_regbeg may need to create new chunk header.
2129
2130 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 Fix quoting in legacy parser.
2133
2134 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2135 single quotes.
2136 (grub_legacy_parse): Likewise.
2137 Reported by: Jordan Uggla.
2138 Tested by: Jordan Uggla.
2139
2140 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Don't add -lgcc on i386 and x86_64.
2143
2144 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2145 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2146 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2147
2148 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * configure.ac: Add -Wno-trampolines when supported.
2151
2152 2010-11-14 Modestas Vainius <modax@debian.org>
2153
2154 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2155 fakeraid.
2156
2157 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2158
2159 Add generic logical block size support for UDF.
2160
2161 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2162 (GRUB_UDF_BLKSZ): Removed.
2163 (struct grub_udf_data): New field "lbshift" to hold the logical block
2164 size of the file system in log2 format. All users updated.
2165 (sblocklist): Change type to unsigned.
2166 (grub_udf_mount): Change type of "sblklist" to unsigned.
2167 Move AVDP search before VRS recognition, because the latter requires
2168 knowledge of the logical block size, which is detected during the
2169 former.
2170 Detect and validate logical block size during AVDP search, adding
2171 support for block sizes 512, 1024 and 4096.
2172 Make VRS recognition independent of block size.
2173
2174 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2175
2176 Properly handle deleted files on UDF.
2177
2178 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2179 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2180 set.
2181
2182 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2183
2184 Support reading files larger than 2 GiB.
2185
2186 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2187 "offset" to grub_off_t.
2188 (grub_udf_read_file): Likewise for parameter "pos".
2189
2190 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2193 unavailable.
2194 (Simple configuration): Refer to Changes from GRUB Legacy about
2195 save_env availability.
2196
2197 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * util/grub-install.in: Ignore empty partition table detection
2200 instead of trying to include part_ module.
2201
2202 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2205 LVM on RAID support.
2206
2207 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 Properly define WORDS_BIGENDIAN in wrapped environments.
2210
2211 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2212 definition.
2213 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2214
2215 Reported by: Manoel Rebelo Abranches.
2216 Tested by: Manoel Rebelo Abranches.
2217
2218 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * util/grub-mkconfig.in: Fix quoting.
2221
2222 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Support big ext2 files.
2225
2226 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2227 (grub_ext2_read_block): Support triple indirect blocks.
2228 (grub_ext2_read_file): Use 64-bit types and read size_high.
2229 (grub_ext2_open): Read size_high.
2230 Reported by: Ximin Luo.
2231 Tested by: Manoel Rebelo Abranches.
2232
2233 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * util/grub-install.in: Handle filenames containing spaces.
2236 Reported by: Jordan Uggla.
2237 Tested by: Jordan Uggla.
2238
2239 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * util/grub-mkconfig.in (grub_script_check): New variable.
2242 Use grub_script_check instead of grub-script-check.
2243 Reported by: Barry Jackson.
2244
2245 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * docs/grub.texi (menu): Correct the order.
2248 Reported by: D. Hugh Redelmeier.
2249
2250 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2253 jump.
2254
2255 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2256
2257 * include/grub/elfload.h (grub_elf32_size): New parameter.
2258 All users updated.
2259 Return maximum segments alignment.
2260 (grub_elf64_size): Likewise.
2261 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2262 Return maximum segments alignment.
2263 (grub_elf64_size): Likewise.
2264 * grub-core/loader/powerpc/ieee1275/linux.c:
2265 (grub_linux_claimmap_iterate): New function. Uses the
2266 "available" property in the "memory" node for memory allocation
2267 for kernel in the PowerPC loader.
2268 (grub_linux_load32): Correctly find linux entry point offset.
2269 (grub_linux_load64): Likewise.
2270
2271 2010-11-07 Robert Millan <rmh@gnu.org>
2272
2273 On mips-yeeloong, build with -march=loongson2f when this flag is
2274 available (GCC >= 4.4).
2275 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2276 `-march=mips3'.
2277 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2278 or otherwise add -march=mips3.
2279
2280 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2281
2282 Suppress shell expansion on echo '*' and echo "*" like cases.
2283 Reported by: Jordan Uggla.
2284
2285 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2286 string arguments before shell expansion.
2287 * tests/grub_cmd_echo.in: New testcases.
2288
2289 2010-11-07 Robert Millan <rmh@gnu.org>
2290
2291 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2292 transition.
2293
2294 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/kern/emu/hostdisk.c
2297 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2298
2299 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2302 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2303 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2304
2305 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2308
2309 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * util/grub-install.in: Replace useless recomendation to pass
2312 --modules with a recomendation to report a bug.
2313
2314 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Properly register serial terminfo.
2317 Reported by: Jordan Uggla
2318
2319 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2320 const.
2321 (grub_serial_terminfo_output_template): Likewise.
2322 (grub_cmd_serial): Register "serial" with terminfo.
2323 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2324 grub_serial_terminfo_output.
2325
2326 2010-11-05 Robert Millan <rmh@gnu.org>
2327
2328 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2329 needed).
2330
2331 2010-11-05 Robert Millan <rmh@gnu.org>
2332
2333 On Yeeloong, pass machine type information to Linux.
2334
2335 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2336 (LOONGSON_MACHTYPE): New macro, set to
2337 "machtype=lemote-yeeloong-2f-8.9inches".
2338 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2339 additional argument to Linux.
2340
2341 2010-11-04 Robert Millan <rmh@gnu.org>
2342
2343 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2344 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2345 (its SATA disks are detected as slaveless IDE master drives on
2346 kFreeBSD).
2347 Reported by Carsten Aulbert.
2348
2349 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2350
2351 * util/bin2h.c (main): Fix spelling error in generated output.
2352
2353 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2354
2355 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2356
2357 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2360 vga= option is supplied.
2361
2362 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2365 * util/grub.d/10_kfreebsd.in: Likewise.
2366 * util/grub.d/10_linux.in: Likewise.
2367 * util/grub.d/20_linux_xen.in: Likewise.
2368
2369 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2372 argument as an argument to no-argument option.
2373
2374 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * util/grub.d/10_linux.in: Add missing load_video with explicit
2377 GRUB_GFXPAYLOAD_LINUX.
2378
2379 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2382
2383 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2386 elements with invlid index.
2387 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2388 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2389 members.
2390 * include/grub/raid.h (grub_raid_member): New struct.
2391 (grub_raid_array): Transform devices and start_sector into usage of
2392 grub_raid_member. All users updated
2393 (allocated_devs): New member.
2394
2395 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2398 is modified
2399
2400 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2401
2402 NetBSD build fix for getline function conflict from gnulib.
2403
2404 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2405 components that depend on gnulib headers.
2406 (libgrubmods.a): Renamed from earlier libgrub.a.
2407 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2408
2409 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2412 install rather than creating a broken install.
2413
2414 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * util/grub-setup.c (argp): Remove misleading example of installing to
2417 a partition.
2418
2419 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * util/grub-setup.c (setup): Clarify the error message.
2422
2423 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2426
2427 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/kern/emu/misc.c
2430 (grub_make_system_path_relative_to_its_root)
2431 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2432
2433 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/kern/emu/misc.c
2436 (grub_make_system_path_relative_to_its_root): Revert r2882.
2437
2438 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2441 useless field head. All users updated.
2442 (free_subchunk): Correct handling of IN_REGION subchunk.
2443
2444 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2445
2446 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2447 (Supported kernels): Likewise.
2448
2449 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2450
2451 Make mktemp invocations portable.
2452
2453 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2454 exit if mktemp fails.
2455 * tests/grub_script_blockarg.in: Likewise.
2456 * tests/partmap_test.in: Likewise.
2457 * tests/util/grub-shell-tester.in: Likewise.
2458 * tests/util/grub-shell.in: Likewise.
2459 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2460 * Makefile.am: Likewise, and chain shell commands with `&&'
2461 instead of ';'.
2462 * util/grub-mkrescue.in: Use the same explicit template as above, and
2463 exit if mktemp fails.
2464
2465 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2466
2467 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2468 Linux kernel, reported by Dennis Schridde.
2469
2470 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2471
2472 * grub-core/normal/auth.c (grub_auth_check_authentication):
2473 Set-but-not-used variable removed.
2474
2475 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2478 32-bit linux protocol.
2479
2480 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2483 cursor shape for sanity.
2484
2485 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * docs/grub.texi (Installation): Document buggy BIOS install.
2488
2489 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * docs/grub.texi (Installation): Indent.
2492
2493 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * util/grub-setup.c (setup): New parameter allow_floppy.
2496 (arguments): New member allow_floppy.
2497 (argp_parser): Handle --allow-floppy.
2498 (main): Pass allow_floppy.
2499 * util/grub-install.in: New option --allow-floppy passed though to
2500 grub-setup.
2501
2502 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * util/grub-install.in: Handle partitionless disks.
2505
2506 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * util/grub-setup.c (setup): Don't clean blocklists before readability
2509 verfification.
2510
2511 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * docs/grub.texi (Installation): Document embedding zone. Remove
2514 obsolete grub-install example.
2515
2516 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2517
2518 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2519 Set-but-not-used variable ifdef'ed.
2520 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2521 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2522 variable removed.
2523 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2524 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2525 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2526 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2527 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2528 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2529 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2530 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2531 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2532 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2533 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2534 Likewise.
2535
2536 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2539 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2540 enum value.
2541
2542 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2545 synonym to _S5_. Needed for some DSDTs.
2546
2547 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Userspace ACPI parser debugging.
2550
2551 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2552 headers and add relevant defines. Don't include standard headers.
2553 (main) [GRUB_DSDT_TEST]: New function.
2554 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2555 Don't declare functions.
2556
2557 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 Remove dead grub_efi_mm_fini.
2560
2561 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2562 (ALLOCATED_PAGES_SIZE): Likewise.
2563 (MAX_ALLOCATED_PAGES): Likewise.
2564 (allocated_pages): Likewise.
2565 (grub_efi_allocate_pages): Don't record allocated pages.
2566 (grub_efi_free_pages): Likewise.
2567 (grub_efi_mm_init): Likewise.
2568 (grub_efi_mm_fini): Removed.
2569
2570 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2573 (grub_efi_mm_init): Take into account the memory map size increase.
2574
2575 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2578 (serial_hw_put): Wait based on real time rather than port reads. Don't
2579 roken ports.
2580 * include/grub/serial.h (grub_serial_port): New field broken.
2581
2582 2010-10-16 Robert Millan <rmh@gnu.org>
2583
2584 * grub-core/kern/emu/misc.c
2585 (grub_make_system_path_relative_to_its_root): Fix premature return
2586 when processing non-root ZFS filesystems.
2587 Reported by Sergio Talens-Oliag.
2588
2589 2010-10-15 Robert Millan <rmh@gnu.org>
2590
2591 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2592 guarantee compressed ones are processed first.
2593
2594 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2597 grub_efiemu_autocore.
2598
2599 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2602 rather than 0x1b.
2603 (grub_console_getkey): Use correct jae opcode rather than ja.
2604
2605 2010-10-12 Robert Millan <rmh@gnu.org>
2606
2607 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2608 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2609 variable. All references updated.
2610
2611 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2612
2613 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 Correctly distinguish mdraid flavours.
2616
2617 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2618 (insert_array): New argument raid.
2619 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2620 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2621 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2622
2623 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2626 handling of special keys.
2627
2628 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2629
2630 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2631 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2632
2633 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2634
2635 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2636 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2637 users updated.
2638 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2639 Use right endpoint when querying descriptor.
2640
2641 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 Clear out 0x80 color bit on EFI.
2644 Tested by: decoder
2645 Reported by: decoder and meta tech.
2646
2647 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2648 (grub_console_setcolorstate): Clear out 0x80 bit.
2649 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2650 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2651 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2652
2653 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2656 Set to "auto".
2657
2658 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2661 mo_file after freeing.
2662
2663 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2666
2667 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2670 flags.
2671
2672 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2675 usage.
2676
2677 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2680
2681 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2682 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2683 and terminfo.h when needed.
2684 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2685 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2686 (terminfo): Enable only on terminfokernel.
2687 (extcmd): Likewise.
2688 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2689 * include/grub/lib/arg.h: Likewise.
2690 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2691 incorrect usage of ->.
2692
2693 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2696 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2697
2698 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Fix coreboot compilation.
2701
2702 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2703 Take VBE info into account even if only text is supported.
2704 (fill_vbe_info): Take into account the case when only VGA text
2705 is supported.
2706 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2707 on coreboot, multiboot and qemu.
2708
2709 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2712 debug messages.
2713 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2714
2715 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2718 parameters.
2719
2720 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2723 if they were BSD-style.
2724
2725 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/boot/i386/pc/lnxboot.S: Replace
2728 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2729 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2730
2731 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Write embedding zone using Reed-Solomon.
2734
2735 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2736 * grub-core/Makefile.am (rs_decoder.S): New target.
2737 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2738 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2739 (multiboot): Move to RS part.
2740 (post_reed_solomon): New label.
2741 (grub_boot_drive): Move to non-RS part since it's modified in memory
2742 on boot.
2743 Include rs_decoder.S.
2744 * grub-core/lib/reed_solomon.c: New file.
2745 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2746 New definition.
2747 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2748 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2749 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2750 * include/grub/partition.h (grub_partition_map): Change prototype of
2751 embed to allow returning additional sectors.
2752 * include/grub/reed_solomon.h: New file.
2753 * util/grub-setup.c (setup): Handle Reed-Solomon.
2754
2755 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2756
2757 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2758 i386 and x86-64 definedness tests.
2759
2760 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2761
2762 Fix generation of kernel_syms.lst
2763
2764 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2765 ASM_PREFIX
2766
2767 2010-09-26 Robert Millan <rmh@gnu.org>
2768
2769 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2770
2771 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2772 the pool is an array of devices, iterate through it and return the
2773 first device that passes a stat() test (instead of blindly returning
2774 the first one).
2775
2776 2010-09-26 Robert Millan <rmh@gnu.org>
2777
2778 Build fixes for GNU/kFreeBSD.
2779
2780 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2781 to programs that require ZFS conversion.
2782 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2783 kernels that don't have FLOPPY_MAJOR.
2784
2785 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2786
2787 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2788
2789 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2790
2791 Fix grub-emu build.
2792
2793 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2794 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2795 mdraid09 and mdraid1x.
2796
2797 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2798
2799 Re-enable grub-extras.
2800
2801 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2802 avoid confusing Automake. Run autogen only twice, once for the top
2803 level and once for grub-core. Add Makefile.util.def and
2804 Makefile.core.def from extra modules to the appropriate autogen
2805 invocations. If Makefile.common exists in an extra module, include
2806 it in both Makefile.util.am and grub-core/Makefile.core.am;
2807 similarly, include any Makefile.util.common file in Makefile.util.am
2808 and any Makefile.core.common file in grub-core/Makefile.core.am.
2809 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2810 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2811 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2812 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2813
2814 * gentpl.py (gvar_add): Turn GVARS into a set.
2815 (global_variable_initializers): Sort global variables on output.
2816 (vars_init): New function.
2817 (first_time): Likewise.
2818 (library): Ensure that non-global variable initialisations are
2819 emitted before the first time we emit code for a library block.
2820 Append to variables rather than setting them. Only emit
2821 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2822 each conditional path.
2823 (program): installdir() emits an Autogen macro, so must be passed to
2824 var_add rather than gvar_add.
2825 (data): Likewise.
2826 (script): Likewise.
2827 (rules): New function, centralising handling for different target
2828 types. Set up Guile association lists for first_time and vars_init,
2829 and send most output to a diversion so that variable initialisations
2830 can be emitted first.
2831 (module_rules): Use new rules function.
2832 (kernel_rules): Likewise.
2833 (image_rules): Likewise.
2834 (library_rules): Likewise.
2835 (program_rules): Likewise.
2836 (script_rules): Likewise.
2837 (data_rules): Likewise.
2838
2839 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2840
2841 * .bzrignore: Add contrib and grub-core/contrib. Remove
2842 grub-core/Makefile.gcry.am.
2843
2844 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2845
2846 * grub-core/lib/LzFind.c: Add missing include.
2847 * grub-core/lib/LzmaEnc.c: Likewise.
2848 * grub-core/script/lexer.c: Likewise.
2849 * grub-core/script/yylex.l: Likewise.
2850 * util/grub-macho2img.c: Likewise.
2851 * util/grub-menulst2cfg.c: Likewise.
2852 * util/grub-mklayout.c: Likewise.
2853 * util/grub-mkpasswd-pbkdf2.c
2854 * util/grub-mkrelpath.c: Likewise.
2855 * util/resolve.c: Likewise.
2856
2857 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2858
2859 * Makefile.util.def (example_unit_test): Add
2860 grub-core/gnulib/libgnu.a.
2861
2862 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2863
2864 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2865
2866 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Support xz compression on yeeloong.
2869
2870 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2871 * configure.ac: Check for LZMA.
2872 * grub-core/Makefile.core.def (xz_decompress): New target.
2873 (none_decompress): Likewise.
2874 * grub-core/boot/decompressor/minilib.c: New file.
2875 * grub-core/boot/decompressor/none.c: Likewise.
2876 * grub-core/boot/decompressor/xz.c: Likewise.
2877 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2878 * grub-core/kern/mips/cache_flush.S: Likewise.
2879 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2880 * grub-core/kern/mips/startup.S: Move first stage to ...
2881 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2882 nomacro.
2883 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2884 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2885 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2886 Allocate statically.
2887 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2888 Allocate statically or use scratch. Don't check CRC32.
2889 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2890 Allocate statically. Don't check CRC32.
2891 * include/grub/decompressor.h: New file.
2892 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2893 Removed.
2894 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2895 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2896 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2897 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2898 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2899 * util/grub-mkimage.c (grub_compression_t): New type.
2900 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2901 (image_target_desc): New field default_compression.
2902 (image_targets): Adjust yeeloong targets.
2903 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2904 (compress_kernel): New parameter comp.
2905 (generate_image): Likewise. Handle new compression case.
2906 (options): New option --compression
2907 (help): Likewise.
2908 (main): Handle new option.
2909
2910 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2911
2912 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2913
2914 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2915
2916 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2917 typo in __i386__ conditional.
2918
2919 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2922 include.
2923
2924 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Implement EFI and ACPI multiboot2 extensions.
2927
2928 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2929 new tags as supported.
2930 (acpiv2_size): New function.
2931 (grub_multiboot_get_mbi_size): Take new tags into account.
2932 (grub_multiboot_make_mbi): Add new tags.
2933 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2934
2935 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2936
2937 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2938 Added missing configuration of USB device.
2939
2940 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2941
2942 * grub-core/normal/menu_entry.c (run): Make sure we always return
2943 a value.
2944
2945 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2946
2947 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2948 NumberOfPages is UINT64 according to the UEFI specification, not
2949 UINTN. Fix printf format.
2950
2951 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2952
2953 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2954 `err' to grub_usb_err_t.
2955 Reported and tested by: KESHAV P.R.
2956
2957 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2958
2959 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2960 tpart non-const, so that we can assign to it. (Since this is a
2961 typedef, the constness refers to the pointer rather than what it
2962 points to.)
2963
2964 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2965
2966 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2967 $(top_srcdir)/grub-core/gnulib as well as
2968 $(top_builddir)/grub-core/gnulib.
2969 Reported by: KESHAV P.R.
2970
2971 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2972
2973 * util/grub-install.in: Fix the bootloader ID option to be
2974 consistently --bootloader-id, not --bootloader_id.
2975 Reported by: KESHAV P.R.
2976
2977 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2978
2979 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2980 check hash checksum." consistently translatable.
2981
2982 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2983
2984 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2985 $(top_builddir).
2986
2987 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2988
2989 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2990 (GRUB_MOD_INIT): Register sha1sum command.
2991 (GRUB_MOD_FINI): Unregister sha1sum command.
2992
2993 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2994
2995 Keep boot and grub directory names in sync with utils scripts
2996
2997 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2998 * config.h.in: Add previous macros.
2999 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
3000 * util/grub-install.in: Use $bootdir and $grubdir variables.
3001
3002 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3003
3004 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
3005 convert partition names to disk names if the new `convert' parameter
3006 is set.
3007 (grub_util_biosdisk_get_grub_dev): If opening the disk device
3008 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
3009 disk in its own right. This can happen with Xen disk images.
3010
3011 2010-09-21 Yves Blusseau <blusseau@zetam.org>
3012
3013 * util/grub-editenv.c: Update strings to avoid warnings when generating
3014 grub.pot file.
3015 * util/grub-setup.c: Likewise.
3016
3017 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * configure.ac: Change version to 1.99~beta0.
3020
3021 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3024 Add BADRAM.
3025 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
3026 Likewise.
3027 * include/multiboot.h: Resynced with specification.
3028 * include/multiboot2.h: Likewise.
3029
3030 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3031
3032 Fix po directory handling.
3033
3034 * configure.ac: Create po/Makefile.in rather than po/Makefile.
3035 * grub-core/gnulib/Makefile.am: Import gettext module.
3036 * m4/gnulib-cache.m4: Likewise.
3037 * m4/gnulib-comp.m4: Likewise.
3038 * m4/gettext.m4: New file, from gnulib.
3039 * m4/glibc2.m4: Likewise.
3040 * m4/iconv.m4: Likewise.
3041 * m4/intdiv0.m4: Likewise.
3042 * m4/intl.m4: Likewise.
3043 * m4/intldir.m4: Likewise.
3044 * m4/intlmacosx.m4: Likewise.
3045 * m4/intmax.m4: Likewise.
3046 * m4/inttypes-pri.m4: Likewise.
3047 * m4/lcmessage.m4: Likewise.
3048 * m4/lib-ld.m4: Likewise.
3049 * m4/lib-link.m4: Likewise.
3050 * m4/lib-prefix.m4: Likewise.
3051 * m4/lock.m4: Likewise.
3052 * m4/nls.m4: Likewise.
3053 * m4/po.m4: Likewise.
3054 * m4/printf-posix.m4: Likewise.
3055 * m4/progtest.m4: Likewise.
3056 * m4/threadlib.m4: Likewise.
3057 * m4/uintmax_t.m4: Likewise.
3058 * m4/visibility.m4: Likewise.
3059 * po/Makefile.am: Remove.
3060 * po/Makefile.in.in: New file, from gettext.
3061 ($(DOMAIN).pot-update): Support POTFILES-shell.
3062 * po/Makevars: New file.
3063 * po/POTFILES-shell: Rename to ...
3064 * po/POTFILES-shell.in: ... this. Update.
3065 * po/POTFILES: Rename to ...
3066 * po/POTFILES.in: ... this. Update.
3067 * po/Rules-quot: New file, from gettext.
3068 * po/boldquot.sed: Likewise.
3069 * po/en@boldquot.header: Likewise.
3070 * po/en@quot.header: Likewise.
3071 * po/insert-header.sin: Likewise.
3072 * po/quot.sed: Likewise.
3073 * po/remove-potcdate.sin: Likewise.
3074
3075 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3078
3079 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * util/grub.d/20_linux_xen.in: Use submenus.
3082
3083 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 Support submenus.
3086
3087 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3088 parameter submenu. All users updated.
3089 * grub-core/normal/main.c (free_menu): Rename to ...
3090 (grub_normal_free_menu): ... this. Made global.
3091 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3092 if requested.
3093 * grub-core/normal/menu_entry.c (screen): New field submenu.
3094 (make_screen): Set submenu.
3095 (run): Open new context if requested.
3096 * include/grub/menu.h (grub_menu_entry): New field submenu.
3097 * include/grub/normal.h (grub_normal_free_menu): New proto.
3098
3099 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 Menu entries extractor.
3102
3103 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3104 variants.
3105 (GRUB_MOD_INIT): Register new variants.
3106 (GRUB_MOD_FINI): Unregister new variants.
3107 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3108 into grub_cmd_legacy_source.
3109 (grub_cmd_legacy_source): Implement extractor variants.
3110 (GRUB_MOD_INIT): Register new variants.
3111 (GRUB_MOD_FINI): Unregister new variants.
3112 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3113 as an extractor.
3114 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3115 search as an extractor.
3116 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3117 test as an extractor.
3118 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3119 as an extractor.
3120 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3121 (grub_env_new_context): New function.
3122 (grub_env_context_open): Likewise.
3123 (grub_env_extractor_open): Likewise.
3124 (grub_env_extractor_close): Likewise.
3125 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3126 grub_extractor_level.
3127 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3128 * include/grub/env.h (grub_env_extractor_open): New proto.
3129 (grub_env_extractor_close): Likewise.
3130 * include/grub/normal.h (grub_extractor_level): New external variable.
3131
3132 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 Make cutmem accept a region specification.
3135 Suggested by: Samuel Thibault
3136
3137 * grub-core/mmap/mmap.c (parsemem): New function.
3138 (grub_cmd_cutmem): Handle new arguments.
3139
3140 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 New command cutmem.
3143
3144 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3145 (GRUB_MOD_INIT): Register new command.
3146 (GRUB_MOD_FINI): Unregister new command.
3147
3148 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Support some annoying BSD and Minix subpartitions.
3151
3152 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3153 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3154 Properly handle concatenation.
3155 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3156 * grub-core/normal/completion.c (iterate_partition): Likewise.
3157 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3158 contain partition. All users updated.
3159 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3160 struct.
3161 (grub_openbsdlabel_partition_map): Likewise.
3162 (bsdlabel_partition_map_iterate): Rename to ..
3163 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3164 (bsdlabel_partition_map_iterate): New function.
3165 (netopenbsdlabel_partition_map_iterate): Likewise.
3166 (netbsdlabel_partition_map_iterate): Likewise.
3167 (openbsdlabel_partition_map_iterate): Likewise.
3168 (GRUB_MOD_INIT): Register new partmaps.
3169 (GRUB_MOD_FINI): Unregister new partmaps.
3170 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3171 (grub_partition_msdos_iterate): ... this. All users updated.
3172 Don't support embedding other than in a minix partition.
3173 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3174 proto.
3175 * include/grub/partition.h (grub_partition): New field msdostype.
3176 * util/grub-install.in: Handle openbsd and netbsd types being in
3177 part_bsd module.
3178
3179 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3182
3183 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3184 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3185 (mdraid09): ... this.
3186 (mdraid1x): New module.
3187 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3188 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3189
3190 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3193 vsprintf.
3194
3195 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3196
3197 * grub-core/commands/efi/lsefimmap.c: Correct header.
3198 * NEWS: Update.
3199
3200 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3201
3202 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3203 as printf format strings; the translations might contain '%' which
3204 could cause a crash.
3205 (main): Likewise.
3206 * util/grub-fstest.c (argp_parser): Likewise.
3207 * util/grub-setup.c (argp_parser): Likewise.
3208 (main): Likewise.
3209
3210 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 Use argp in grub-fstest.
3213
3214 * util/grub-fstest.c: Don't include getopt.h.
3215 Include argp.h.
3216 (root): New variable.
3217 (args_count): Likewise.
3218 (nparm): Likewise.
3219 (num_disks): Likewise.
3220 (images): Likewise.
3221 (cmd): Likewise.
3222 (debug_str): Likewise.
3223 (args): Likewise.
3224 (options): Transformed to argp.
3225 (usage): Removed.
3226 (main): Split argument parsing into ...
3227 (argp_parser): ... this. Changed to argp format.
3228 (argp): New variable.
3229 (main): Use argp_parse.
3230
3231 2010-09-20 Tristan Gingold <gingold@free.fr>
3232 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3233 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/commands/efi/lsefimmap.c: New file.
3236 * grub-core/Makefile.core.def (lsefimmap): New module.
3237 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3238
3239 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 Pause the execution (10s max) if any errors are displayed so the user
3242 has a chance to see them.
3243
3244 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3245 (grub_print_error): Increment grub_err_printed_errors.
3246 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3247 execution if any errors were displayed.
3248 (show_menu): Remove old code for pause.
3249 * grub-core/normal/menu_entry.c (run): Likewise.
3250 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3251 users updated.
3252 (grub_normal_get_char_counter): Likewise.
3253 * include/grub/err.h (grub_err_printed_errors): New external variable.
3254 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3255
3256 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Support multiboot VBE info.
3259
3260 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3261 Take VBE info into account.
3262 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3263 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3264 Call fill_vbe_info when appropriate.
3265 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3266 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3267 as supported.
3268 (grub_multiboot_get_mbi_size): Take new tags into account.
3269 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3270 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3271 Call fill_vbe_tag when appropriate.
3272 (grub_multiboot_make_mbi): Properly align tags.
3273 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3274 function.
3275 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3276 proto.
3277 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3278
3279 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 Suport manual terminal geometry specification.
3282
3283 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3284 Save state in grub_ofconsole_terminfo_output.
3285 (grub_ofconsole_term): Use grub_terminfo_getwh.
3286 (grub_ofconsole_getwh): Removed.
3287 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3288 (grub_serial_term): Use grub_terminfo_getwh.
3289 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3290 (options): New struct.
3291 (OPTION_*): New enum.
3292 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3293 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3294 width and height.
3295 (grub_terminfo_getwh): New proto.
3296 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3297
3298 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 Handle legacy "terminal" command.
3301
3302 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3303 and FLAG_TERMINAL.
3304 (legacy_commands): Add terminal and title.
3305 (grub_legacy_parse): Handle terminal. Simplify title handling.
3306
3307 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3310 parameters overflow.
3311
3312 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3313
3314 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3315 widthspec.h.
3316
3317 * docs/grub.texi (Shell-like scripting): Document `!'.
3318 (Network): Simplify using new i386-pc-pxe format. Mention
3319 grub-mknetdir.
3320
3321 * NEWS: Update.
3322
3323 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3324
3325 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3326 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3327 when needed.
3328
3329 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3330
3331 * grub-core/commands/efi/lsefisystab.c: Correct header.
3332 * grub-core/commands/efi/lssal.c: Likewise.
3333 * grub-core/commands/testload.c: Likewise.
3334
3335 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3336
3337 * util/grub-mkrescue.in: Add explicit root argument to --set to
3338 prevent the UUID being interpreted as an argument to --set (matches
3339 previous change to prepare_grub_to_access_device).
3340
3341 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3342
3343 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3344 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3345 the verbosity of later #ifs.
3346 (find_partition_start): Define this function on FreeBSD too.
3347 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3348 function.
3349 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3350 on FreeBSD.
3351
3352 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3353
3354 * util/grub-editenv.c: Use argp instead of getopt.
3355
3356 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3357
3358 * util/grub-setup.c: Use argp instead of getopt.
3359
3360 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3361
3362 Use gnulib-tool to create gnulib source files.
3363
3364 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3365 grub-core/gnulib directories
3366 * .bzignore: Add **/.deps and autogenerated gnulib files
3367 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3368 of gnulib macros, add grub-core/gnulib/Makefile
3369 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3370 include m4 directory to aclocal.
3371 * Makefile.util.def: Remove direct compilation of gnulib source files
3372 and use the new grub-core/gnulib/libgnu.a.
3373 * build-aux/config.rpath: move config.rpath from top directory to
3374 build-aux
3375 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3376 in gnulib headers
3377 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3378 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3379 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3380 header.
3381 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3382 string.
3383
3384 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3385
3386 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3387 grub-core/genmod.sh and grub-core/gensyminfo.sh
3388
3389 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3390
3391 Add a test for echo command options.
3392
3393 * tests/grub_cmd_echo.in: New test.
3394 * Makefile.util.def: Rules for new test.
3395
3396 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3397
3398 Remove crc.mod and move crc command to hashsum.mod.
3399 Remove lib/crc.c - users updated to use gcrypt implementation.
3400
3401 * grub-core/commands/crc.c: Removed.
3402 * grub-core/Makefile.core.def (crc): Module removed.
3403 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3404 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3405 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3406 * grub-core/lib/crc.c: Removed.
3407 * include/grub/lib/crc.h: Removed.
3408 * Makefile.util.def (crc): Remove lib/crc.c
3409 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3410 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3411 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3412 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3413 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3414 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3415
3416 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3419
3420 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 Split config.h for util and core.
3423
3424 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3425 (ADDR32): Likewise.
3426 (DATA32): Likewise.
3427 (BSS_START_SYMBOL): Likewise.
3428 (END_SYMBOL): Likewise.
3429 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3430 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3431 * config.h.in: New file.
3432 * configure.ac: Use config-util.h as config define file.
3433 Rename MACHINE into GRUB_MACHINE. All users updated.
3434 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3435 updated.
3436 (NESTED_FUNC_ATTR): Likewise.
3437 Substitue new variables.
3438 (COND_HAVE_ASM_USCORE): New conditional.
3439 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3440 (kernel_syms.lst): Use ASM_PREFIX.
3441 * grub-core/kern/emu/console.c: Include config-util.h.
3442 * grub-core/kern/emu/misc.c: Likewise.
3443 * grub-core/kern/emu/mm.c: Likewise.
3444 * include/grub/emu/misc.h: Likewise.
3445 * include/grub/libgcc.h: Likewise.
3446
3447 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3450 constants usage.
3451 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3452 Fix GRUB_TERM_KEY_* constants usage.
3453 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3454
3455 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3458 print pointer.
3459 * grub-core/bus/usb/uhci.c: Remove empty define.
3460 (grub_uhci_check_transfer): Add missing cast.
3461 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3462 print pointer.
3463 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3464 PRIuGRUB_SIZE.
3465 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3466
3467 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/Makefile.core.def (legacycfg): Add
3470 lib/i386/pc/vesa_modes_table.c on emu.
3471
3472 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3473
3474 Reduce number of temporary files generated by build system.
3475
3476 * grub-core/gencmdlist.sh: Removed.
3477 * grub-core/genfslist.sh: Removed.
3478 * grub-core/genhandlerlist.sh: Removed.
3479 * grub-core/genmodsrc.sh: Removed.
3480 * grub-core/genpartmaplist.sh: Removed.
3481 * grub-core/genparttoollist.sh: Removed.
3482 * grub-core/gentermiinallist.sh: Removed.
3483 * grub-core/genvideolist.sh: Removed.
3484
3485 * grub-core/genmod.sh.in: New file.
3486 * grub-core/gensyminfo.sh.in: New file.
3487
3488 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3489 * conf/Makefile.extra-dist: Update with new files.
3490 * gentpl.py: Remove rules related to unnecessary temporary files.
3491 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3492 and und-* files.
3493 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3494 genmod.sh scripts.
3495 * grub-core/bus/usb/uhci.c: Remove empty #define.
3496 * grub-core/genmoddep.awk: Updated with new syminfo format.
3497 * util/bash-completion.d/Makefile.am: Add config.log to
3498 CLEANFILES.
3499
3500 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3501
3502 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3503
3504 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3505
3506 * util/grub-mkconfig.in: Check the config script for syntax errors
3507 before saving.
3508
3509 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3510 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3513 platforms.
3514 * util/grub-install.in: Add EFI and IEEE1275 support.
3515 * util/i386/efi/grub-install.in: Removed.
3516 * util/ieee1275/grub-install.in: Likewise.
3517
3518 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3521 (grub_cmd_cmosclean): Likewise.
3522 (GRUB_MOD_INIT): Register command cmosclean.
3523 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3524 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3525
3526 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3527 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3528 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Add keyboard layouts support.
3531
3532 * Makefile.util.def (grub-mklayout): New file.
3533 (grub-kbdcomp): New script.
3534 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3535 Add keyboard_layouts.h.
3536 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3537 commands/boot.c on yeeloong.
3538 (keylayouts): New module.
3539 * grub-core/bus/usb/ohci.c
3540 * grub-core/bus/usb/uhci.c
3541 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3542 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3543 (attach_root_port): Likewise.
3544 (poll_nonroot_hub): Likewise.
3545 (grub_usb_poll_devices): Likewise.
3546 (detach_device): Close transfer.
3547 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3548 function.
3549 (grub_usb_bulk_setup_readwrite): Likewise.
3550 (grub_usb_bulk_finish_readwrite): Likewise.
3551 * grub-core/commands/keylayouts.c: New file.
3552 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3553 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3554 aliases.
3555 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3556 support scancode 2.
3557 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3558 * include/grub/keyboard_layouts.h: New file.
3559 * util/grub-mklayout.c: New file.
3560 * util/grub-kbdcomp.in: Likewise.
3561
3562 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Unify memory types.
3565
3566 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3567 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3568 types.
3569 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3570 (grub_upper_mem): Likewise.
3571 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3572 * include/grub/memory.h (grub_memory_type_t): New enum.
3573 All users updated.
3574
3575 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/Makefile.core.def (lsapm): New module.
3578 * grub-core/commands/i386/pc/lsapm.c: New file.
3579 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3580 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3581 Likewise.
3582 * include/grub/i386/pc/apm.h: New file.
3583 * include/multiboot.h (multiboot_apm_info): New struct.
3584
3585 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 GRUB-legacy configuration file support.
3588
3589 * Makefile.util.def (grub-menulst2cfg): New util.
3590 * docs/man/grub-menulst2cfg.h2m: New file.
3591 * grub-core/Makefile.core.def (legacycfg): New module.
3592 * grub-core/commands/legacycfg.c: New file.
3593 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3594 (grub_normal_add_menu_entry): ... this.
3595 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3596 (grub_normal_set_password): ...this.
3597 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3598 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3599 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3600 * grub-core/lib/legacy_parse.c: New file.
3601 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3602 * include/grub/i386/pc/vesa_modes_table.h: New file.
3603 * include/grub/legacy_parse.h: Likewise.
3604 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3605 * util/grub-menulst2cfg.c: New file.
3606
3607 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3608
3609 * grub-core/kern/emu/hostdisk.c
3610 (convert_system_partition_to_system_disk): Initialise node.
3611
3612 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3613
3614 * grub-core/kern/emu/hostdisk.c
3615 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3616 leak.
3617 Reported and based on patch by: Modestas Vainius.
3618
3619 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3620
3621 Fix DM-RAID probing with recent versions of device-mapper udev
3622 rules.
3623
3624 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3625 canonicalise device paths under /dev/mapper/.
3626 (convert_system_partition_to_system_disk): Compare the
3627 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3628 path, since device nodes under /dev/mapper/ are often symlinks.
3629
3630 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3631
3632 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3633
3634 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3635
3636 * configure.ac: Avoid some annoying error messages if freetype-config
3637 program is not found.
3638
3639 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3640
3641 Support RAID on virtio devices, and others.
3642
3643 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3644 Rename to ...
3645 [__MINGW32__] (grub_find_device): ... this.
3646 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3647 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3648 reasonable default if dir is NULL.
3649 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3650 ...
3651 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3652 (grub_guess_root_device): Update callers.
3653 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3654
3655 * util/raid.c (grub_util_getdiskname): Remove.
3656 (grub_util_raid_getmembers): Use grub_find_device rather than
3657 grub_util_getdiskname.
3658
3659 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3660
3661 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3662 needing to be compiled with serial support.
3663 (ls): Indicate that multiple files are accepted.
3664 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3665 indicate that multiple files are accepted.
3666
3667 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3668
3669 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3670 libgrub_a_init.c, and util/bash-completion.d/grub.
3671
3672 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-setup.c (setup): Fix incorrect container semantics.
3675
3676 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3679 misusage.
3680 Reported by: J. Nick Terry
3681
3682 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 Move embedding routines to partmap sources files.
3685
3686 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3687 [GRUB_UTIL]: New variable.
3688 (gpt_partition_map_iterate): Set part.parent.
3689 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3690 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3691 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3692 New function.
3693 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3694 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3695 (grub_partition_map) [GRUB_UTIL]: New field embed.
3696 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3697 (setup): Use ->embed.
3698
3699 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3702 function.
3703 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3704 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3705
3706 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3707
3708 Add function to get completions from usage.
3709
3710 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3711 completions from usage. Use LC_ALL=C to get options properly.
3712
3713 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/gnulib/basename-lgpl.c: Imported.
3716 * grub-core/gnulib/basename.c: Likewise.
3717 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3718 * grub-core/gnulib/dirname.c: Likewise.
3719 * grub-core/gnulib/dirname.h: Likewise.
3720 * grub-core/gnulib/stripslash.c: Likewise.
3721
3722 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/gnulib/error.c: Resynced.
3725 * grub-core/gnulib/getopt.c: Likewise.
3726 * grub-core/gnulib/getopt_int.h: Likewise.
3727 * grub-core/gnulib/regex.h: Likewise.
3728 * grub-core/gnulib/regex_internal.c: Likewise.
3729 * grub-core/gnulib/regex_internal.h: Likewise.
3730
3731 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3732
3733 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3734 CRC calculations and validity checks.
3735 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3736 calculations.
3737
3738 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3739
3740 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3741
3742 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 Fix incorrect echo options handling.
3745 Reported by: Yves Blusseau.
3746
3747 * include/grub/command.h (grub_command_flags_t): New flags
3748 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3749 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3750 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3751
3752 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3755 users updated.
3756 (GRUB_COMMAND_FLAG_MENU): Likewise.
3757 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3758 (GRUB_COMMAND_FLAG_TITLE): Removed.
3759 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3760 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3761 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3762 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3763 (grub_command_flags_t): New enum. All users updated.
3764
3765 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3766
3767 Fix solaris compilation.
3768
3769 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3770 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3771 (grub-emu-list): Likewise.
3772
3773 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Remove deprecated root command.
3776
3777 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3778 updated.
3779
3780 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * util/i386/pc/grub-setup.c: Merge this ...
3783 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3784 * util/grub-setup.c: ... into this.
3785 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3786 New struct.
3787
3788 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3791 possible.
3792
3793 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3796 allocate p.
3797
3798 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3801 explicit root argument to set to prevent UUID to be interpreted as
3802 argument to set.
3803
3804 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3807
3808 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Don't export grub_gate_a20.
3811
3812 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3813 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3814 to ...
3815 (grub_gate_a20): ... this. All users updated.
3816 * include/grub/i386/pc/init.h: Removed. All users updated.
3817
3818 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Create euro.pf2 which supports most European languages.
3821
3822 * Makefile.am (grubdata_DATA): Add euro.pf2.
3823 (euro.pf2): New target.
3824 (CLEANFILES): Add euro.pf2.
3825
3826 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * configure.ac: Disable emu-usb by default to prevent inadvertent
3829 device takeover.
3830
3831 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 Disable usbserial on grub-emu since our libusb code isn't good enough
3834 yet.
3835
3836 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3837 (usbserial_pl2303): Likewise.
3838 (usbserial_ftdi): Likewise.
3839
3840 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/disk.h (grub_disk): Remove has_partitions.
3843 All users updated.
3844 * disk/loopback.c (grub_loopback): Remove has_partitions.
3845 All users updated.
3846 (options): Remove partitions. All users updated.
3847 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3848 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3849 actual partition table is found.
3850
3851 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Remove readability checks (too many false negatives).
3854
3855 * util/grub-install.in: Remove readability checks.
3856 * util/grub-mkconfig.in: Likewise.
3857 * util/grub.d/10_hurd.in: Likewise.
3858 * util/grub.d/10_kfreebsd.in: Likewise.
3859 * util/grub.d/10_linux.in: Likewise.
3860 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3861 way.
3862
3863 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 Enable acpi shutdown on all ACPI platforms.
3866
3867 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3868 on coreboo, multiboot and EFI.
3869 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3870 (grub_acpi_halt): Likewise.
3871 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3872 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3873 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3874 * grub-core/lib/i386/halt.c (grub_halt)
3875 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3876
3877 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3880 context.
3881
3882 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3885 * grub-core/video/efi_uga.c: Likewise.
3886
3887 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Filter devaliases and never open same device twice.
3890
3891 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3892 (last_ihandle): Likewise.
3893 (ofdisk_hash_ent): New member shortest.
3894 (ofdisk_hash_add): Add canonical path too.
3895 (scan): New function.
3896 (grub_ofdisk_iterate): Iterate over hashed entries.
3897 (compute_dev_path): Don't add :0.
3898 (grub_ofdisk_open): Don't really open the disk.
3899 (grub_ofdisk_close): Avoid closing unrelated disk.
3900 (grub_ofdisk_read): Implement reopen logic.
3901 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3902 New function.
3903 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3904 New proto.
3905
3906 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Fix sparc64.
3909
3910 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3911 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3912 right address. Add sparc64_ieee1275_ldflags.
3913 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3914 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3915 to grub_host_to_target_addr
3916 (load_image): Likewise.
3917
3918 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/normal/completion.c (complete_file): Handle device
3921 containing slash.
3922 Fix based on patch by Doug Nazar.
3923
3924 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 grub-mknetdir script.
3927
3928 * Makefile.util.def (grub-mknetdir): New module.
3929 * tests/util/grub-shell.in: Support boot=net
3930 * util/grub-mknetdir.in: New file.
3931
3932 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 videoinfo on non-vbe.
3935
3936 * grub-core/Makefile.core.def (vbeinfo): Removed.
3937 (vbetest): Removed.
3938 (videoinfo): New module.
3939 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3940 * grub-core/commands/i386/pc/vbetest.c: Removed.
3941 * grub-core/commands/videoinfo.c: New file.
3942 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3943 specification.
3944 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3945 as vbetest.
3946 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3947 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3948 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3949 mode_number. New parameter mode. All users updated.
3950 (grub_video_gop_iterate): New function.
3951 (grub_video_efi_gop): New member iterate.
3952 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3953 (grub_vbe_set_video_mode): Remove setting useless fields.
3954 (vbe2videoinfo): New function.
3955 (grub_video_vbe_iterate): Likewise.
3956 (grub_video_vbe_setup): Use vbe2videoinfo.
3957 (grub_video_vbe_print_adapter_specific_info): New function.
3958 (grub_video_vbe_adapter): New fields iterate and
3959 print_adapter_specific_info.
3960 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3961 All users updated.
3962 (grub_video_mode_info): New field mode_number.
3963 (grub_video_adapter): New fields iterate and
3964 print_adapter_specific_info.
3965
3966 2010-09-13 Tristan Gingold <gingold@free.fr>
3967 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3968 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/commands/efi/lsefisystab.c: New file.
3971 * grub-core/commands/efi/lssal.c: Likewise.
3972 * grub-core/Makefile.core.def (lsacpi): New module.
3973 (lsefisystab): Likewise.
3974 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3975 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3976 (grub_efi_sal_system_table): New struct.
3977 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3978 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3979 (grub_efi_sal_system_table_platform_features): Likewise.
3980 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3981 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3982 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3983 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3984
3985 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Support explicit user claim that a device is BIOS-visible.
3988
3989 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3990 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3991 * grub-core/kern/emu/hostdisk.c
3992 (convert_system_partition_to_system_disk): Support mdX.
3993 (find_system_device): New parameter add. All users updated.
3994 (grub_util_biosdisk_is_present): New function.
3995 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3996 proto.
3997
3998 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Search hints support.
4001
4002 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
4003 All users updated.
4004
4005 2010-09-13 Yves Blusseau <blusseau@zetam.org>
4006
4007 Bash completion script for util commands
4008
4009 * Makefile.am: Add util/bash-completion.d directory
4010 * configure.ac: Likewise.
4011 * util/bash-completion.d/Makefile.am: New file.
4012 * util/bash-completion.d/grub-completion.bash.in: Likewise.
4013
4014 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
4017 (print_backlog): set backlog_ucs4 and backlog_glyphs.
4018 Reported by: Yves Blusseau.
4019
4020 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
4023 partition size and offset.
4024
4025 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
4028
4029 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
4032
4033 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
4036 (grub_xvasprintf): Likewise.
4037
4038 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
4041
4042 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4045 args ending with NULL.
4046
4047 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4050 pointer.
4051
4052 2010-09-11 Szymon Janc <szymon@janc.net.pl>
4053
4054 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4055
4056 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Shutdown using ACPI.
4059
4060 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4061 * grub-core/commands/acpihalt.c: New file.
4062 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4063 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4064 (grub_acpi_halt): New proto.
4065 (GRUB_ACPI_SLP_EN): New const.
4066 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4067 (GRUB_ACPI_OPCODE_*): New enum.
4068 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4069
4070 2010-09-11 Tristan Gingold <gingold@free.fr>
4071 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
4072 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * commands/lsacpi.c: New file.
4075 * grub-core/Makefile.core.def (lsacpi): New module.
4076 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4077 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4078 (grub_acpi_madt_entry_header): New struct.
4079 (grub_acpi_madt): Likewise.
4080 (grub_acpi_madt_entry_interrupt_override): Likewise.
4081 (grub_acpi_madt_entry_sapic): Likewise.
4082 (grub_acpi_madt_entry_lsapic): Likewise.
4083 (grub_acpi_madt_entry_platform_int_source): Likewise.
4084 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4085 (PRIuGRUB_UINT32_T): Likewise.
4086 (PRIxGRUB_UINT64_T): Likewise.
4087
4088 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 Implement loading palette on ieee1275_fb.
4091
4092 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4093 (have_setcolors): Likewise.
4094 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4095 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4096 (grub_video_ieee1275_set_palette): Implement.
4097
4098 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4099 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
4100
4101 * util/grub-install.in (grub_partition): New variable.
4102 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4103 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4104 Fixes a bug reported by Yves Blusseau.
4105
4106 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Fix emu on mipsel.
4109
4110 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4111 =grub_cpu_flush_cache on all mips and not only yeeloong.
4112 * configure.ac (COND_mips): New conditional.
4113 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4114 platforms.
4115 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4116 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4117 [GRUB_LINKER_HAVE_INIT]: New function.
4118 (grub_emu_post_init): Likewise.
4119 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4120 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4121 * include/grub/cache.h (_mips): Include mips/cache.h.
4122 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4123 LVM and RAID prototypes.
4124 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4125 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4126 function.
4127
4128 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4129
4130 * util/grub-install.in: Don't try to verify core.img until after
4131 running grub-mkimage to create it.
4132
4133 2010-09-10 Robert Millan <rmh@gnu.org>
4134
4135 * util/grub.d/10_hurd.in: Add misc readability checks.
4136 * util/grub.d/10_kfreebsd.in: Likewise.
4137 * util/grub.d/10_linux.in: Likewise.
4138
4139 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4140
4141 * util/grub-install.in: ${imgext} won't be defined here until the
4142 install branch is merged. For the meantime, only verify core.img on
4143 i386-pc and sparc64-ieee1275 platforms.
4144
4145 2010-09-10 Robert Millan <rmh@gnu.org>
4146
4147 Solaris support in grub_find_zpool_from_dir(). Thanks
4148 Seth Goldberg for referring to getextmntent() facility.
4149
4150 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4151 `sys/mkdev.h'.
4152 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4153 `<sys/mnttab.h>'.
4154 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4155 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4156 method for finding zpool name.
4157
4158 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4159
4160 grub-fstest needs the host and hostfs modules while other utilities
4161 actively require those modules to be absent, so grub-fstest needs
4162 its own initialisation and finalisation code.
4163
4164 * Makefile.am (grub_fstest.pp): New target.
4165 (grub_fstest_init.lst): Likewise.
4166 (grub_fstest_init.c): Likewise.
4167 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4168
4169 2010-09-10 Robert Millan <rmh@gnu.org>
4170
4171 * configure.ac: Check for `struct statfs.f_fstypename' and
4172 `struct statfs.f_mntfromname'.
4173
4174 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4175 kFreeBSD-specific code.
4176
4177 2010-09-10 Robert Millan <rmh@gnu.org>
4178
4179 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4180 on ZFS. Now non-main filesystems are supported as / too.
4181
4182 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
4183
4184 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4185 and grub-core/disk/host.c to ...
4186 (grub-fstest): ... here. Having the host disk implementation
4187 present confuses grub-probe and other utility programs.
4188
4189 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4190 when writing to a file, not when writing to stdout.
4191
4192 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4193
4194 * tests/partmap_test.in: New test for partitions.
4195 * Makefile.util.def: Rules for new test.
4196
4197 2010-09-09 Robert Millan <rmh@gnu.org>
4198
4199 * util/grub-probe.c (probe): Fix a pair of unhandled error
4200 conditions.
4201
4202 2010-09-09 Robert Millan <rmh@gnu.org>
4203
4204 Basic Btrfs support (detection and UUID).
4205
4206 * grub-core/fs/btrfs.c: New file.
4207 * Makefile.util.def (library): Register btrfs.c.
4208 * grub-core/Makefile.core.def: Likewise.
4209
4210 2010-09-08 Robert Millan <rmh@gnu.org>
4211
4212 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4213 with (optional) parameters to specify device and relative path.
4214 * util/grub-install.in: Use is_path_readable_by_grub() to
4215 verify readability of a few critical files.
4216 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4217 verify readability of grub.cfg.new.
4218
4219 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 Split minix.mod into minix.mod and minix2.mod.
4222
4223 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4224 * grub-core/Makefile.core.def (minix2): New module.
4225 * grub-core/fs/minix.c: Use definitions instead of runtime version
4226 checking.
4227 * grub-core/fs/minix2.c: New file.
4228
4229 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4230
4231 Add new --boot-directory option to replace --root-directory
4232
4233 * util/grub-install.in: Add new --boot-directory option
4234 * util/grub-reboot.in: Likewise.
4235 * util/grub-set-default.in: Likewise.
4236
4237 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4238
4239 * util/grub-mkconfig.in: Use new variable.
4240
4241 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4242
4243 * configure.ac: Define some useful variables.
4244
4245 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4248 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4249 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4250 Use terminfo and don't use cursor-on/cursor-off unless it's known
4251 to work.
4252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4253 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4254
4255 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4256
4257 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4258 starts with "(,", fill the drive containing the loaded image in
4259 between those two characters, but expect that a full partition
4260 specification including partition map names will follow.
4261
4262 2010-09-08 Robert Millan <rmh@gnu.org>
4263
4264 * configure.ac: Remove `--enable-grub-fstest' option.
4265 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4266
4267 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4268 `grub-fstest' instead of `grub-probe' for readability verification.
4269 * util/grub-probe.c (probe): Remove readability verification kludge.
4270
4271 2010-09-08 Robert Millan <rmh@gnu.org>
4272
4273 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4274 initializing `GRUB_FS'.
4275
4276 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4277
4278 Not command (!) support to GRUB script.
4279
4280 * tests/grub_script_not.in: New test.
4281 * Makefile.util.def: Rules for new test.
4282
4283 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4284 ! command as a special case.
4285 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4286
4287 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4288
4289 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4290 grub_free.
4291
4292 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4293
4294 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4295
4296 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4297
4298 * docs/grub.texi (Shell-like scripting): Documentation for break,
4299 continue, shift and return commands.
4300
4301 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 Rename CD-ROM to cd on BIOS.
4304
4305 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4306 "cd".
4307 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4308
4309 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4312 * util/grub-probe.c (main): Likewise.
4313 * util/i386/pc/grub-setup.c (main): Likewise.
4314 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4315 Reported and debugged by: alexxy
4316
4317 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4320 diagnostic info.
4321
4322 2010-09-05 Jo Shields <directhex@apebox.org>
4323
4324 * util/grub.d/30_os-prober.in: Add missing classes.
4325
4326 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * docs/grub.texi (Theme file format): Document new position format.
4329
4330 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4333 a table. Use @code instead of @verbatim.
4334
4335 2010-09-05 Colin D Bennett <colin@gibibit.com>
4336
4337 Gfxmenu documentation.
4338
4339 * docs/grub.texi (Theme file format): New chapter.
4340
4341 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4342
4343 * grub-core/Makefile.core.def (xzio): New module.
4344 * grub-core/io/xzio.c: New file.
4345 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4346 * grub-core/lib/xzembed/xz_config.h: Likewise.
4347 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4348 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4349 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4350 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4351 * grub-core/lib/xzembed/xz_private.h: Likewise.
4352 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4353 * include/grub/file.h (grub_file_filter_id): New compression filter
4354 GRUB_FILE_FILTER_XZIO.
4355
4356 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4359 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4360 size.
4361
4362 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4365 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4366
4367 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 Uncompressed checksum support.
4370
4371 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4372 (check_list): New parameter uncompress.
4373 (grub_cmd_hashsum): Handle --uncompress.
4374
4375 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Reintroduce testload.
4378
4379 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4380 from here ...
4381 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4382 (GRUB_MOD_INIT): New function.
4383 (GRUB_MOD_FINI): Likewise.
4384 * grub-core/Makefile.core.def (testload): New module.
4385
4386 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4387
4388 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4389 (uint8_t): New type.
4390 (uint16_t): Likewise.
4391 (uint32_t): Likewise.
4392 (uint64_t): Likewise.
4393
4394 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4395
4396 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4397
4398 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4401 Made static.
4402 (grub_gzfile_open): Removed. All users updated.
4403 (GRUB_MOD_INIT): New function.
4404 (GRUB_MOD_FINI): Likewise.
4405 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4406 (grub_file_filters_enabled): Likewise.
4407 (grub_file_open): Handle filters.
4408 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4409 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4410 * include/grub/file.h (grub_file_filter_id_t): New type.
4411 (grub_file_filter_t): Likewise.
4412 (grub_file_filters_all): New extern variable.
4413 (grub_file_filters_enabled): Likewise.
4414 (grub_file_filter_register): New inline function.
4415 (grub_file_filter_unregister): Likewise.
4416 (grub_file_filter_disable): Likewise.
4417 (grub_file_filter_disable_compression): Likewise.
4418 * include/grub/gzio.h: Removed.
4419
4420 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4421
4422 Filename expansion support for wildcards in GRUB script.
4423
4424 * tests/grub_script_expansion.in: New test.
4425 * Makefile.util.def: Rule for new test.
4426
4427 * grub-core/commands/wildcard.c: New file, implements filename
4428 expansion support for GRUB script.
4429 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4430 * grub-core/script/argv.c: Cosmetic changes.
4431 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4432 Refactored to perform wildcard expansion on arguments.
4433 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4434 struct.
4435
4436 * tests/util/grub-shell.in: Fix quoting for read input.
4437
4438 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4439
4440 Support for updating environment variables with matched substrings
4441 of regexp.
4442
4443 * tests/grub_cmd_regexp.in: New test.
4444 * Makefile.util.def: Rule for new test.
4445
4446 * grub-core/commands/regexp.c: New option -s to update environment
4447 variables with regexp matches.
4448
4449 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4450
4451 * include/grub/file.h (grub_file): New member not_easly_seekable.
4452 (grub_file_seekable): New inline function.
4453 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4454 easily seekable.
4455 (grub_gzio_open): Set not_easly_seekable.
4456 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4457 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4458
4459 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4460
4461 Support for options to appear multiple times on cmdline.
4462
4463 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4464 * grub-core/commands/extcmd.c: Support for repeatable option.
4465 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4466 repeatable option support.
4467
4468 Refactor menuentry into a regular command.
4469
4470 * grub-core/commands/menuentry.c: New file, menuentry command
4471 implementation.
4472 * grub-core/Makefile.core.def: Rule update for normal.mod.
4473 * grub-core/normal/main.c: Moved menuentry creation to
4474 grub-core/commands/menuentry.c.
4475 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4476 (grub_menu_execute_entry_real): Removed.
4477 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4478 function.
4479 (grub_script_execute_menuentry): Removed.
4480 * grub-core/script/parser.y (menuentry): Removed.
4481 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4482 * grub-core/script/yylex.l (menuentry): Removed.
4483 * include/grub/menu.h (grub_menu_init): New prototype.
4484 (grub_menu_fini): New prototype.
4485 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4486 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4487 (grub_script_execute_sourcecode): New prototype.
4488
4489 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4490
4491 "return" command for GRUB script functions.
4492
4493 * tests/grub_script_return.in: New test.
4494 * Makefile.util.def: Rules for new test.
4495
4496 * grub-core/script/execute.c (grub_script_return): New function.
4497 * grub-core/script/main.c: Register/unregister return commaond.
4498 * include/grub/script_sh.h (grub_script_return): New prototype.
4499
4500 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4501
4502 "setparams" command to update positional parameters.
4503
4504 * tests/grub_script_setparams.in: New test.
4505 * Makefile.util.def: Rules for new test.
4506
4507 * grub-core/script/argv.c (grub_script_argv_make): New function.
4508 * grub-core/script/execute.c (replace_scope): New function.
4509 (grub_script_setparams): New function.
4510 * grub-core/script/lexer.c: Remove unused variables.
4511 * grub-core/script/main.c: Register/unregister setparams command.
4512 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4513 (grub_script_setparams): New prototype.
4514
4515 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4516
4517 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4518 grub_free order.
4519
4520 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4521
4522 Support for passing block of commands as an argument to extcmds.
4523
4524 * Makefile.util.def: Rules for new test.
4525 * tests/grub_script_blockarg.in: New test.
4526 * grub-core/tests/test_blockarg.c: New file, block argument
4527 command used in the test.
4528
4529 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4530 (grub_register_extcmd_prio): New function prototype.
4531 (grub_extcmd_dispatcher): New function prototype.
4532 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4533 type.
4534 * include/grub/script_sh.h (struct grub_script): New members
4535 `children', `next_siblings' and `refcnt' for block arguments and
4536 reference counting.
4537 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4538 (grub_script_arg): New member `script' for block argument.
4539 (grub_script_argv): New member `script' for block argument.
4540 (grub_parser_param): New member `scripts' for block argument.
4541 (grub_script_mem_free): New extern function prototype.
4542 (grub_script_ref): New function prototype.
4543 (grub_script_unref): New function prototype.
4544
4545 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4546 extcmd form to support block arguments.
4547 * grub-core/script/argv.c: Block arguments support.
4548 * grub-core/script/execute.c: Likewise.
4549 * grub-core/script/lexer.c: Likewise.
4550 * grub-core/script/main.c: Likewise.
4551 * grub-core/script/script.c: Likewise.
4552 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4553 non-terminals.
4554
4555 * grub-core/commands/acpi.c: Update extcmd implementations with
4556 grub_extcmd_context_t.
4557 * grub-core/commands/cat.c: Likewise.
4558 * grub-core/commands/echo.c: Likewise.
4559 * grub-core/commands/extcmd.c: Likewise.
4560 * grub-core/commands/hashsum.c: Likewise.
4561 * grub-core/commands/hdparm.c: Likewise.
4562 * grub-core/commands/help.c: Likewise.
4563 * grub-core/commands/hexdump.c: Likewise.
4564 * grub-core/commands/i386/cpuid.c: Likewise.
4565 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4566 * grub-core/commands/i386/pc/halt.c: Likewise.
4567 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4568 * grub-core/commands/iorw.c: Likewise.
4569 * grub-core/commands/keystatus.c: Likewise.
4570 * grub-core/commands/loadenv.c: Likewise.
4571 * grub-core/commands/ls.c: Likewise.
4572 * grub-core/commands/lspci.c: Likewise.
4573 * grub-core/commands/memrw.c: Likewise.
4574 * grub-core/commands/probe.c: Likewise.
4575 * grub-core/commands/search_wrap.c: Likewise.
4576 * grub-core/commands/setpci.c: Likewise.
4577 * grub-core/commands/sleep.c: Likewise.
4578 * grub-core/disk/loopback.c: Likewise.
4579 * grub-core/hello/hello.c: Likewise.
4580 * grub-core/loader/i386/bsd.c: Likewise.
4581 * grub-core/loader/xnu.c: Likewise.
4582 * grub-core/term/gfxterm.c: Likewise.
4583 * grub-core/term/serial.c: Likewise.
4584 * grub-core/tests/lib/functional_test.c: Likewise.
4585
4586 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4587
4588 Multi-line quoted strings support.
4589
4590 * grub-core/script/lexer.c (append_newline): Removed.
4591 (grub_script_lexer_yywrap): Refactored.
4592 (grub_script_lexer_init): Refactored.
4593 * grub-core/script/yylex.l (yywrap): New function.
4594 (grub_lexer_resplit): New function.
4595 (grub_lexer_unput): New function.
4596 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4597 and resplit.
4598 * tests/grub_script_echo1.in: Added few more testcases.
4599
4600 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/kern/misc.c: Don't add abort alias in utils.
4603 Reported by: echoline.
4604
4605 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4606
4607 Add missing files into "make dist" tarball for other platforms.
4608
4609 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4610 * conf/Makefile.common (dist_noinst_DATA): New variable.
4611 * conf/Makefile.extra-dist: Added missing make dist files.
4612 * grub-core/Makefile.core.def: Likewise.
4613
4614 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 Compress grub_prefix.
4617
4618 * grub-core/boot/i386/pc/lnxboot.S: Use
4619 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4620 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4621 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4622 GRUB_MACHINE_PREFIX_END. All users updated.
4623 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4624 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4625 + 0x40.
4626 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4627 * util/grub-mkimage.c (image_target_desc): Change data_end to
4628 prefix_end. All users updated.
4629
4630 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4633 value.
4634 (grub_openbsd_boot): Likewise.
4635 (grub_netbsd_boot): Likewise.
4636 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4637 (grub_xnu_boot): Likewise.
4638
4639 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * configure.ac: Clean LIBS variable after tests.
4642
4643 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4644
4645 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4646
4647 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4650 echo if libdevmapper will be used.
4651
4652 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4653
4654 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4655 constant for the same file.
4656
4657 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4660
4661 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4662
4663 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4664 grub-core/*.pp.
4665
4666 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4667
4668 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4669 required by the boot protocol.
4670
4671 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4672 ebp and edi members.
4673 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4674 state.ebp and state.edi.
4675 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4676 %ebp and %edi according to grub_relocator32_ebp and
4677 grub_relocator32_edi respectively.
4678 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4679 and state.edi.
4680
4681 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Add i386-pc-pxe image target.
4684
4685 * util/grub-mkimage.c (image_target_desc): New enum value
4686 IMAGE_I386_PC_PXE.
4687 (image_targets): New target i386-pc-pxe.
4688 (generate_image): Handle i386-pc-pxe image.
4689
4690 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Fix grub_pxe_scan.
4693
4694 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4695 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4696 All users updated.
4697 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4698 (grub_pxe_pxenv): Correct type.
4699
4700 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * NEWS: Document most of the important changes since 1.98.
4703
4704 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4705
4706 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4707 generated manual page) a little.
4708
4709 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4710
4711 * docs/grub.texi: Add myself as an author.
4712
4713 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * Makefile.util.def (libgrub.a): Add missing sunpc.
4716 Reported by: Seth Goldberg.
4717
4718 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Interrupt wrapping and code simplifications.
4721
4722 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4723 x86_noieee1275 which are functionaly equivalent in this case.
4724 (grub-install): Make source on each platform explicit. Enable on
4725 all noemu.
4726 * gentpl.py (x86_efi_pc): Removed group.
4727 (x86_noefi): Likewise.
4728 (i386_noefi): Likewise.
4729 (x86_noieee1275): Likewise.
4730 (i386_noieee1275): Likewise.
4731 (i386_noefi_noieee1275): Likewise.
4732 (i386_pc_qemu_coreboot): Likewise.
4733 (i386_coreboot_multiboot): Likewise.
4734 (i386_pc_coreboot_multiboot_qemu): Likewise.
4735 (x86_noefi_mips): Likewise.
4736 (noieee1275): Likewise.
4737 (ieee1275_mips): Likewise.
4738 (noemu_noieee1275): Likewise.
4739 (cmos): New group.
4740 (usb): Likewise.
4741 (videoinkernel): Likewise.
4742 (videomodules): Likewise.
4743 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4744 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4745 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4746 include/grub/loader.h, include/grub/msdos_partition.h,
4747 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4748 include/grub/machine/console.h, include/grub/machine/vga.h,
4749 include/grub/machine/vbe.h, include/grub/machine/init.h,
4750 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4751 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4752 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4753 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4754 * grub-core/Makefile.core.def (kernel): Explicit the source for
4755 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4756 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4757 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4758 Use videoinkernel tag.
4759 (usb): Enable on all usb.
4760 (usbserial_common): Likewise.
4761 (usbserial_pl2303): Likewise.
4762 (usbserial_ftdi): Likewise.
4763 (uhci): Enable on all x86.
4764 (ohci): Enable on all pci.
4765 (cmostest): Enable on all CMOS.
4766 (acpi): Include commands/acpi.c on all platforms.
4767 (halt): Add relevant lib/*/halt.c.
4768 (hdparm): Enable on all pci.
4769 (lspci): Likewise.
4770 (usbtest): Enable on all usb.
4771 (ata): Enable on all pci.
4772 (ata_pthru): Likewise.
4773 (usbms): Enable on all usb.
4774 (usb_keyboard): Likewise.
4775 (font): Use tag videomodules.
4776 (bufio): Likewise.
4777 (datetime): Use tag cmos. Enable on all noemu.
4778 (mmap): Use tags common and x86.
4779 (gfxterm): Use tag videomodules.
4780 (bitmap): Likewise.
4781 (bitmap_scale): Likewise.
4782 (video_fb): Likewise.
4783 (video): Likewise.
4784 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4785 adjust padding accordingly. All users updated.
4786 (grub_ohci_transaction): Fix bad format specification.
4787 (GRUB_MOD_INIT): Add asserts for struct size.
4788 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4789 (grub_alloc_td): Likewise.
4790 (grub_free_queue): Likewise.
4791 (grub_uhci_transfer): Likewise.
4792 (grub_uhci_transaction): Fix bad format specification.
4793 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4794 (grub_usb_bulk_readwrite): Likewise.
4795 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4796 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4797 Made static.
4798 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4799 Made static.
4800 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4801 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4802 Transformed into C.
4803 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4804 Moved from here ...
4805 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4806 ... here. Transformed into C. Made static.
4807 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4808 Moved from here ...
4809 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4810 ... here. Transformed into C. Made static.
4811 * grub-core/kern/i386/pc/startup.S
4812 (grub_biosdisk_check_int13_extensions): Moved from here ...
4813 * grub-core/disk/i386/pc/biosdisk.c
4814 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4815 Made static.
4816 * grub-core/kern/i386/pc/startup.S
4817 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4818 * grub-core/disk/i386/pc/biosdisk.c
4819 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4820 Transformed into C. Made static.
4821 * grub-core/kern/i386/pc/startup.S
4822 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4823 * grub-core/disk/i386/pc/biosdisk.c
4824 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4825 Transformed into C. Made static.
4826 * grub-core/kern/i386/pc/startup.S
4827 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4828 * grub-core/disk/i386/pc/biosdisk.c
4829 (grub_biosdisk_get_diskinfo_standard): ... here.
4830 Transformed into C. Made static.
4831 * grub-core/kern/i386/pc/startup.S
4832 (grub_biosdisk_get_num_floppies): Moved from here ...
4833 * grub-core/disk/i386/pc/biosdisk.c
4834 (grub_biosdisk_get_num_floppies): ... here.
4835 Transformed into C. Made static.
4836 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4837 New function.
4838 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4839 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4840 Transformed into C. Made static.
4841 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4842 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4843 Transformed into C. Made static.
4844 * grub-core/kern/i386/ieee1275/init.c: Removed.
4845 * grub-core/kern/i386/misc.S: Likewise.
4846 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4847 Splitted from here ...
4848 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4849 Transformed into C. Made static. All users updated.
4850 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4851 Transformed into C. Made static. All users updated.
4852 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4853 Moved from here...
4854 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4855 Transformed into C. Made static. All users updated.
4856 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4857 Moved from here...
4858 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4859 Transformed into C. Made static. All users updated.
4860 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4861 Removed (replaced by C version).
4862 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4863 Moved from here...
4864 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4865 Transformed into C. Made static.
4866 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4867 Moved from here...
4868 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4869 ... here. Transformed into C.
4870 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4871 Moved from here...
4872 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4873 ... here. Transformed into C.
4874 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4875 Moved from here...
4876 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4877 ... here. Transformed into C. Made static.
4878 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4879 Moved from here...
4880 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4881 ... here. Transformed into C.
4882 * grub-core/kern/i386/pc/startup.S
4883 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4884 * grub-core/video/i386/pc/vbe.c
4885 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4886 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4887 Moved from here...
4888 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4889 ... here. Transformed into C.
4890 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4891 Moved from here...
4892 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4893 ... here. Transformed into C.
4894 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4895 Moved from here...
4896 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4897 ... here. Transformed into C.
4898 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4899 Moved from here...
4900 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4901 ... here. Transformed into C.
4902 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4903 Moved from here...
4904 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4905 ... here. Transformed into C. Made static.
4906 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4907 Moved from here...
4908 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4909 ... here. Transformed into C. Made static.
4910 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4911 Moved from here...
4912 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4913 ... here. Transformed into C. Made static.
4914 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4915 pxe_rm_entry as third argument.
4916 (grub_bios_interrupt): New function.
4917 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4918 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4919 of calling grub_stop.
4920 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4921 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4922 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4923 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4924 * grub-core/lib/i386/halt.c: Moved from here ...
4925 * grub-core/lib/i386/halt.c: ... here.
4926 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4927 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4928 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4929 grub_stop_floppy.
4930 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4931 * include/grub/i386/coreboot/init.h: Removed.
4932 * include/grub/i386/multiboot/init.h: Likewise.
4933 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4934 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4935 * include/grub/i386/pc/int.h: New file.
4936 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4937 (grub_pxe_scan): Removed.
4938 (grub_pxe_call): Update prototype.
4939 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4940 prototypes.
4941 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4942 * include/grub/i386/qemu/init.h: Removed.
4943 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4944 noreturn.
4945 (grub_halt): Likewise.
4946 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4947 (grub_reboot): Likewise.
4948 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4949 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4950 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4951
4952 2010-08-30 Robert Millan <rmh@gnu.org>
4953
4954 * NEWS: Document addition of ZFS support in `grub-install' and
4955 `grub-mkconfig'.
4956
4957 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4958
4959 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4960 dprintf output.
4961
4962 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Remove leftover embedding of font objects.
4965
4966 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4967 * util/grub-install.in (font): Removed.
4968 * util/grub-mkimage.c (generate_image): Remove font support. All users
4969 updated.
4970
4971 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Remove leftover embedding of font objects.
4974
4975 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4976 * util/grub-install.in (font): Removed.
4977 * util/grub-mkimage.c (generate_image): Remove font support. All users
4978 updated.
4979
4980 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4983 Reported by: Ian Turner
4984
4985 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4988 timeout to avoid indefinite boot stalling.
4989
4990 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4993 (grub_env_write_color_highlight): Likewise.
4994
4995 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/normal/term.c (print_more): Return to normal and not
4998 to standard state after printing "---MORE---".
4999
5000 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
5003 Mask out the bit 0x80 since it has other meaning that specifiing color.
5004
5005 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 New relocator. Allows for more kernel support and more straightforward
5008 loader writing.
5009
5010 * Makefile.am (BOOTTARGET): New variable.
5011 (QEMU32): Likewise.
5012 (linux.init.x86_64): New target.
5013 (linux.init.i386): Likewise.
5014 (multiboot.elf): Likewise.
5015 (kfreebsd.elf): Likewise.
5016 (kfreebsd.aout): Likewise.
5017 (pc-chainloader.elf): Likewise.
5018 (pc-chainloader.bin): Likewise.
5019 (ntldr.elf): Likewise.
5020 (ntldr.bin): Likewise.
5021 (multiboot2.elf): Likewise.
5022 (kfreebsd.init.x86_64): Likewise.
5023 (kfreebsd.init.i386): Likewise.
5024 (knetbsd.init.i386): Likewise.
5025 (kopenbsd.init.i386): Likewise.
5026 (knetbsd.init.x86_64): Likewise.
5027 (kopenbsd.init.x86_64): Likewise.
5028 (linux-initramfs.i386): Likewise.
5029 (linux-initramfs.x86_64): Likewise.
5030 (kfreebsd-mfsroot.i386.img): Likewise.
5031 (knetbsd.image.i386): Likewise.
5032 (kopenbsd.image.i386): Likewise.
5033 (kopenbsd.image.x86_64): Likewise.
5034 (knetbsd.miniroot-image.i386.img): Likewise.
5035 (kfreebsd-mfsroot.x86_64.img): Likewise.
5036 (knetbsd.image.x86_64): Likewise.
5037 (knetbsd.miniroot-image.x86_64.img): Likewise.
5038 (kfreebsd-mfsroot.i386.gz): Likewise.
5039 (bootcheck-kfreebsd-i386): Likewise.
5040 (kfreebsd-mfsroot.x86_64.gz): Likewise.
5041 (bootcheck-kfreebsd-x86_64): Likewise.
5042 (knetbsd.miniroot-image.i386.gz): Likewise.
5043 (bootcheck-knetbsd-i386): Likewise.
5044 (bootcheck-kopenbsd-i386): Likewise.
5045 (bootcheck-kopenbsd-x86_64): Likewise.
5046 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5047 (bootcheck-knetbsd-x86_64): Likewise.
5048 (bootcheck-linux-i386): Likewise.
5049 (bootcheck-linux-x86_64): Likewise.
5050 (bootcheck-linux16-i386): Likewise.
5051 (bootcheck-linux16-x86_64): Likewise.
5052 (bootcheck-multiboot): Likewise.
5053 (bootcheck-multiboot2): Likewise.
5054 (bootcheck-kfreebsd-aout): Likewise.
5055 (bootcheck-pc-chainloader): Likewise.
5056 (bootcheck-ntldr): Likewise.
5057 (CLEANFILES): Add new targets.
5058 (BOOTCHECKS): New variable.
5059 (.PHONY): Add bootchecks.
5060 (SUCCESSFUL_BOOT_STRING): New variable.
5061 (BOOTCHECK_TIMEOUT): Likewise.
5062 (bootcheck): New target
5063 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5064 * configure.ac: Correct efiemu excuse.
5065 * docs/grub.texi (Supported kernels): New chapter.
5066 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5067 include/grub/mm_private.h. Simplify inclusion of
5068 include/grub/boot.h, include/grub/loader.h
5069 and include/grub/msdos_partition.h
5070 (KERNEL_HEADER_FILES) [i386_coreboot]:
5071 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5072 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5073 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5074 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5075 include/grub/machine/loader.h.
5076 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5077 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5078 extra_dist.
5079 (pci.mod): Enable on i386-multiboot.
5080 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5081 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5082 i386-qemu.
5083 (relocator.mod): Rewritten.
5084 (aout.mod): Enable on all x86.
5085 (bsd.mod): Likewise.
5086 (ntldr.mod): New module.
5087 (linux.mod): Use loader/i386/linux.c on all x86.
5088 (xnu.mod): Enable on all x86.
5089 (vga_text.mod): disable on EFI and QEMU.
5090 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5091 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5092 * grub-core/efiemu/loadcore.c: Likewise.
5093 * grub-core/efiemu/main.c: Likewise.
5094 (grub_efiemu_exit_boot_services): Removed.
5095 (grub_efiemu_finish_boot_services): Likewise.
5096 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5097 function.
5098 * grub-core/efiemu/i386/nocfgtables.c: New file.
5099 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5100 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5101 (grub_efi_finish_boot_services): Moved from here ...
5102 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5103 Fille finish memory map and related data.
5104 (finish_mmap_buf): New variable.
5105 (grub_efi_uintn_t finish_mmap_size): Likewise.
5106 (grub_efi_uintn_t finish_key): Likewise.
5107 (grub_efi_uintn_t finish_desc_size): Likewise.
5108 (grub_efi_uint32_t finish_desc_version): Likewise.
5109 (grub_efi_is_finished): Likewise.
5110 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5111 finished.
5112 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5113 (grub_elf64_phdr_iterate): Likewise.
5114 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5115 (grub_os_area_size): Likewise.
5116 (grub_machine_init): Don't reserve os area.
5117 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5118 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5119 * grub-core/kern/i386/loader.S: Removed.
5120 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5121 (grub_os_area_size): Likewise.
5122 (grub_machine_init): Don't reserve os area.
5123 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5124 Don't call grub_dl_unload_all.
5125 Don't include loader.S.
5126 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5127 Declare the memory after _end as available.
5128 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
5129 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
5130 (GRUB_MM_ALLOC_MAGIC): Moved from here...
5131 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5132 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5133 * include/grub/mm_private.h (grub_mm_header): ... here.
5134 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5135 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
5136 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5137 (grub_mm_region): ..here. Removed addr. Added pre_size.
5138 All users updated.
5139 * grub-core/kern/mm.c (base): Renamed to ...
5140 (grub_mm_base): ... this. Made global.
5141 (grub_real_malloc): Alloc from end of region.
5142 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5143 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5144 * grub-core/kern/powerpc/cache_flush.S: ... here.
5145 * grub-core/lib/efi/relocator.c: New file.
5146 * grub-core/lib/i386/relocator.c: Rewritten.
5147 * grub-core/lib/i386/relocator16.S: New file.
5148 * grub-core/lib/i386/relocator32.S: Likewise.
5149 * grub-core/lib/i386/relocator64.S: Likewise.
5150 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5151 * grub-core/lib/i386/relocator_common.S: New file.
5152 * grub-core/lib/ieee1275/relocator.c: Likewise.
5153 * grub-core/lib/mips/relocator.c: Rewritten.
5154 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5155 stylistic adjustments.
5156 * grub-core/lib/powerpc/relocator.c: New file.
5157 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5158 * grub-core/lib/relocator.c: Rewritten.
5159 * grub-core/lib/x86_64/relocator_asm.S: New file.
5160 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5161 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5162 (bsd_tag): New struct.
5163 (tags): New variable.
5164 (tags_last): Likewise.
5165 (netbsd_module): New struct.
5166 (netbsd_mods): New variable.
5167 (netbsd_mods_last): Likewise.
5168 (openbsd_opts): New parameter "serial".
5169 (OPENBSD_SERIAL_ARG): New definition.
5170 (netbsd_opts): New parameter "serial".
5171 (NETBSD_SERIAL_ARG): New definition.
5172 (grub_freebsd_add_meta): Reorganised into ...
5173 (grub_bsd_add_meta): ...this. All users updated.
5174 (grub_freebsd_add_mmap): Reorganised into ...
5175 (generate_e820_mmap): ...this...
5176 (grub_bsd_add_mmap): ...and this. All users updated.
5177 (grub_freebsd_list_modules): Use tags.
5178 (grub_netbsd_add_meta_module): New function.
5179 (grub_netbsd_list_modules): Likewise.
5180 (grub_freebsd_boot): Use relocator and finish EFI.
5181 (grub_openbsd_boot): Likewise.
5182 (grub_netbsd_setup_video): New function.
5183 (grub_netbsd_add_modules): Likewise.
5184 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5185 and finish EFI.
5186 (grub_bsd_unload): Unload tags.
5187 (grub_bsd_load_aout): Use relocator.
5188 (grub_bsd_elf32_size_hook): New function.
5189 (grub_bsd_elf32_hook): Use relocator.
5190 (grub_bsd_elf64_size_hook): New function.
5191 (grub_bsd_elf64_hook): Use relocator.
5192 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5193 (grub_bsd_load): Zero-out openbsd_ramdisk.
5194 (grub_bsd_load): Use relocator.
5195 (grub_cmd_openbsd): Support serial.
5196 (grub_cmd_netbsd): Support modules.
5197 (grub_cmd_freebsd_module): Use relocator.
5198 (grub_netbsd_module_load): New function.
5199 (grub_cmd_netbsd_module): Likewise.
5200 (grub_cmd_openbsd_ramdisk): Likewise.
5201 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5202 kopenbsd_ramdisk.
5203 (GRUB_MOD_FINI): Unregister new commands.
5204 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5205 (grub_freebsd_load_elfmodule_obj): Use relocator.
5206 (grub_freebsd_load_elfmodule): Likewise.
5207 (grub_freebsd_load_elf_meta): Likewise.
5208 (grub_netbsd_load_elf_meta): New function.
5209 (grub_openbsd_find_ramdisk): Likewise.
5210 * grub-core/loader/i386/bsd_helper.S: Removed.
5211 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5212 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5213 * grub-core/loader/i386/efi/linux.c: Likewise.
5214 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5215 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5216 (DEFAULT_VIDEO_MODE): Likewise.
5217 (real_mode_target): New variable.
5218 (prot_mode_target): Likewise.
5219 (initrd_mem_target): Likewise.
5220 (relocator): Likewise.
5221 (efi_mmap_buf): Likewise.
5222 (efi_mmap_size): Likewise.
5223 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5224 (free_pages): Use relocator.
5225 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5226 (grub_linux_setup_video): Return error.
5227 (grub_linux_trampoline_start): Removed.
5228 (grub_linux_trampoline_end): Likewise.
5229 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5230 andd video parameters depending on firmware.
5231 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5232 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5233 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5234 (grub_cmd_initrd): Use relocator.
5235 * grub-core/loader/i386/linux_trampoline.S: Removed.
5236 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5237 (elf_sec_entsize): Likewise.
5238 (elf_sec_shstrndx): Likewise.
5239 (elf_sections): Likewise.
5240 (grub_multiboot_load): Use relocator.
5241 (grub_multiboot_get_mbi_size): Account for sections.
5242 (grub_multiboot_make_mbi): Use relocator and support sections.
5243 (grub_multiboot_add_elfsyms): New function.
5244 (grub_multiboot_free_mbi): Free sections.
5245 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5246 (grub_linux_real_target): Likewise.
5247 (grub_linux_real_chunk): Likewise.
5248 (grub_linux16_prot_size): Likewise.
5249 (grub_linux16_boot): Use relocator.
5250 (grub_linux_unload): Unload relocator.
5251 (grub_cmd_linux): Use relocator.
5252 (grub_cmd_initrd): Likewise.
5253 * grub-core/loader/i386/pc/ntldr.c: New file.
5254 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5255 Don't try to guess CPU frequency.
5256 (grub_xnu_set_video): Stretch bitmap.
5257 (grub_xnu_boot): Use relocator.
5258 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5259 (grub_linux_unload): Free relocator.
5260 (grub_linux_load32): Use relocator.
5261 (grub_linux_load64): Likewise.
5262 (grub_cmd_initrd): Likewise.
5263 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5264 (grub_multiboot_unload): Unload relocator.
5265 (grub_cmd_multiboot): Use relocator.
5266 (grub_cmd_module): Likewise.
5267 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5268 Use relocator and support sections.
5269 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5270 (elf_sec_entsize): Likewise.
5271 (elf_sec_shstrndx): Likewise.
5272 (elf_sections): Likewise.
5273 (grub_multiboot_load): Use relocator.
5274 (grub_multiboot_get_mbi_size): Account for sections.
5275 (grub_multiboot_make_mbi): Use relocator and support sections.
5276 (grub_multiboot_add_elfsyms): New function.
5277 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5278 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5279 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5280 Prototype changed. All users updated.
5281 (grub_xnu_align_heap): Simplified.
5282 (grub_xnu_writetree_toheap): Likewise.
5283 (grub_xnu_unload): Unload relocator.
5284 (grub_cmd_xnu_kernel): Use relocator.
5285 (grub_cmd_xnu_kernel64): Likewise.
5286 (grub_xnu_register_memory): Simplified.
5287 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5288 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5289 EFI is finished.
5290 (grub_console_checkkey): Likewise.
5291 (grub_console_getkey): Likewise.
5292 (grub_console_getwh): Likewise.
5293 (grub_console_getxy): Likewise.
5294 (grub_console_gotoxy): Likewise.
5295 (grub_console_cls): Likewise.
5296 (grub_console_setcolorstate): Likewise.
5297 (grub_console_setcursor): Likewise.
5298 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5299 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5300 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5301 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5302 * grub-core/tests/boot/kernel-8086.S: Likewise.
5303 * grub-core/tests/boot/kernel-i386.S: Likewise.
5304 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5305 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5306 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5307 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5308 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5309 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5310 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5311 * grub-core/tests/boot/linux.cfg: Likewise.
5312 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5313 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5314 * grub-core/tests/boot/linux16.cfg: Likewise.
5315 * grub-core/tests/boot/multiboot.cfg: Likewise.
5316 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5317 * grub-core/tests/boot/ntldr.cfg: Likewise.
5318 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5319 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5320 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5321 New definition.
5322 * include/grub/dl.h (grub_dl_unload_all): Removed.
5323 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5324 (grub_efi_finish_boot_services): Change prototype.
5325 (grub_efi_is_finished): New variable.
5326 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5327 Changed prototype.
5328 (grub_efiemu_finish_boot_services): Removed.
5329 (grub_machine_efiemu_init_tables): New prototype.
5330 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5331 (grub_elf64_phdr_iterate): Likewise.
5332 * include/grub/i386/bsd.h: Include relocator.h.
5333 (freebsd_tag_header): New struct.
5334 (grub_openbsd_bios_mmap): Removed.
5335 (grub_unix_real_boot): Removed.
5336 (grub_freebsd_load_elfmodule32): Changed prototype.
5337 (grub_freebsd_load_elfmodule_obj64): Likewise.
5338 (grub_freebsd_load_elf_meta32): Likewise.
5339 (grub_freebsd_load_elf_meta64): Likewise.
5340 (grub_freebsd_add_meta): Removed.
5341 (grub_netbsd_load_elf_meta32): New prototype.
5342 (grub_netbsd_load_elf_meta64): Likewise.
5343 (grub_bsd_add_meta): Likewise.
5344 (grub_openbsd_ramdisk_descriptor): New struct.
5345 (grub_openbsd_find_ramdisk32): New prototype.
5346 (grub_openbsd_find_ramdisk64): Likewise.
5347 * include/grub/i386/coreboot/loader.h: Removed.
5348 * include/grub/i386/efi/loader.h: Likewise.
5349 * include/grub/i386/ieee1275/loader.h: Likewise.
5350 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5351 to grub_uint32_t.
5352 * include/grub/i386/loader.h: Removed.
5353 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5354 value.
5355 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5356 (grub_phys_addr_t): New type.
5357 (grub_vtop): New inline function.
5358 (grub_map_memory): Likewise.
5359 (grub_unmap_memory): Likewise.
5360 * include/grub/i386/multiboot/loader.h: Removed.
5361 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5362 (NETBSD_BTINFO_CONSOLE): New definition.
5363 (NETBSD_BTINFO_SYMTAB): Likewise.
5364 (NETBSD_BTINFO_MODULES): Likewise.
5365 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5366 (grub_netbsd_bootinfo): New struct.
5367 (grub_netbsd_btinfo_common): Use explicit bitsize.
5368 (grub_netbsd_btinfo_mmap_entry): Removed.
5369 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5370 (grub_netbsd_btinfo_bootdisk): New struct.
5371 (grub_netbsd_btinfo_symtab): Likewise.
5372 (grub_netbsd_btinfo_serial): Likewise.
5373 (grub_netbsd_btinfo_modules): Likewise.
5374 (grub_netbsd_btinfo_framebuf): Likewise.
5375 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5376 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5377 Likewise.
5378 (grub_openbsd_bootargs): Use explicit bitsize.
5379 (grub_openbsd_bootarg_console): New struct.
5380 (GRUB_OPENBSD_COM_MAJOR): New definition.
5381 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5382 * include/grub/i386/pc/efiemu.h: Removed.
5383 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5384 * include/grub/i386/qemu/loader.h: Removed.
5385 * include/grub/i386/relocator.h: Rewritten.
5386 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5387 * include/grub/mips/memory.h: New file.
5388 * include/grub/mips/multiboot.h: Rewritten.
5389 * include/grub/mips/relocator.h: Rewritten.
5390 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5391 (grub_vtop): New function.
5392 (grub_map_memory): Likewise.
5393 (grub_unmap_memory): Likewise.
5394 * include/grub/misc.h (ALIGN_DOWN): New definition.
5395 * include/grub/mm.h (grub_mm_check_real): New proto.
5396 (GRUB_MM_CHECK): New definition.
5397 * include/grub/mm_private.h: New file.
5398 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5399 (grub_multiboot_get_mbi_size): Removed.
5400 (grub_multiboot_make_mbi): Change prottype.
5401 (grub_multiboot_set_accepts_video): New proto.
5402 (grub_multiboot_add_elfsyms): Likewise.
5403 (grub_multiboot_payload_eip): New variable.
5404 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5405 New prototype.
5406 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5407 New definition.
5408 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5409 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5410 * include/grub/powerpc/ieee1275/loader.h: Removed.
5411 * include/grub/powerpc/memory.h: New file.
5412 * include/grub/powerpc/relocator.h: Likewise.
5413 * include/grub/relocator.h: Likewise.
5414 * include/grub/relocator_private.h: Likewise.
5415 * include/grub/sparc64/ieee1275/loader.h: Removed.
5416 * include/grub/x86_64/memory.h: New file.
5417 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5418 (grub_xnu_heap_malloc): Likewise.
5419 (grub_xnu_heap_real_start): Removed.
5420 (grub_xnu_heap_start): Likewise.
5421 (grub_xnu_relocator): New variable.
5422 (grub_xnu_heap_target_start): Likewise.
5423 * tests/util/grub-shell.in: Support non-pc.
5424 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5425
5426 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5429 on malloc error.
5430 (grub_bidi_logical_to_visual): Check that malloc succeded.
5431 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5432 puts.
5433 (grub_xputs_normal): Likewise.
5434
5435 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5438 extra_dist.
5439
5440 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5443
5444 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5447
5448 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5451 dprintf.
5452
5453 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5454
5455 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5456
5457 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/normal/term.c (print_more): Fix a memory leak.
5460 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5461 (grub_xputs_normal): Likewise.
5462
5463 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5466 the begining of the string
5467
5468 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/script/script.c (grub_script_parse): Free parsed on
5471 failure.
5472
5473 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5476 on failure.
5477
5478 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5481 return.
5482
5483 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5486 (scroll_up): Fix a memory leak.
5487
5488 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5491 errors.
5492
5493 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 Handle USB pendrives exposed as floppies.
5496
5497 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5498 floppy.
5499 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5500 Check for partitions on all devices.
5501
5502 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5505 (readkey): Likewise.
5506
5507 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5508
5509 Multiple variable names support to "export" command.
5510
5511 * normal/context.c (grub_cmd_export): "export" command supports
5512 multiple variable names.
5513
5514 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5515
5516 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5517 --target=drive output to Mach device name.
5518
5519 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5520
5521 New Automake based build system for GRUB.
5522
5523 * ABOUT-NLS: New file.
5524 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5525 in Makefile.util.def file.
5526 * Makefile.util.def: New file. Autogen build definitions file for
5527 GRUB host utils.
5528 * conf/Makefile.common: New file. Common variables for GRUB host
5529 utils and target modules.
5530 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5531 * docs/Makefile.am: New file. Automake file for docs.
5532 * gentpl.py: New file. Python script to generate Autogen
5533 template.
5534 * grub-core/Makefile.am: New file. GRUB target modules' rules
5535 that doesn't fit in Makefile.core.def file.
5536 * grub-core/Makefile.core.def: New file. Autogen build
5537 definitions file for GRUB target modules.
5538 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5539 specific setjmp.S file.
5540 * po/Makefile.am: New file.
5541
5542 * .bzrignore: New ignores.
5543 * INSTALL: New requirements, without Ruby.
5544 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5545 * autogen.sh: Updated to invoke autogen as necessary.
5546 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5547 and defines for Automake conditionals.
5548 * geninit.sh: Refactoring.
5549
5550 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5551 necessary.
5552 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5553 New prototype.
5554
5555 * include/grub/test.h: Fix functional test modules' naming.
5556 * grub-core/tests/example_functional_test.c: Fix test module name.
5557
5558 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5559 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5560 * util/grub-editenv.c: Likewise.
5561 * util/grub-fstest.c: Likewise.
5562 * util/grub-mkdevicemap.c: Likewise.
5563 * util/grub-mkfont.c: Likewise.
5564 * util/grub-mkimage.c: Likewise.
5565 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5566 * util/grub-probe.c: Likewise.
5567 * util/grub-script-check.c: Likewise.
5568 * util/i386/pc/grub-setup.c: Likewise.
5569 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5570
5571 * tests/util/grub-shell.in: Fix override directory path.
5572 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5573 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5574
5575 * util/lvm.c: Update #includes.
5576 * util/raid.c: Likewise.
5577 * util/resolve.c: Likewise.
5578 * grub-core/bus/emu/pci.c: Likewise.
5579 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5580 * grub-core/lib/posix_wrap/string.h: Likewise.
5581 * grub-core/kern/emu/main.c: Likewise.
5582
5583 * grub-core/gensymlist.sh: New file. Script for generating kernel
5584 symbols file.
5585 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5586
5587 * grub-core/gentrigtables.c: Fix unused variable warnings.
5588
5589 * Makefile.in: Removed.
5590 * conf/any-emu.rmk: Removed.
5591 * conf/common.rmk: Removed.
5592 * conf/i386-coreboot.rmk: Removed.
5593 * conf/i386-efi.rmk: Removed.
5594 * conf/i386-ieee1275.rmk: Removed.
5595 * conf/i386-multiboot.rmk: Removed.
5596 * conf/i386-pc.rmk: Removed.
5597 * conf/i386-qemu.rmk: Removed.
5598 * conf/i386.rmk: Removed.
5599 * conf/mips-yeeloong.rmk: Removed.
5600 * conf/mips.rmk: Removed.
5601 * conf/powerpc-ieee1275.rmk: Removed.
5602 * conf/sparc64-ieee1275.rmk: Removed.
5603 * conf/tests.rmk: Removed.
5604 * conf/x86-efi.rmk: Removed.
5605 * conf/x86_64-efi.rmk: Removed.
5606 * gendistlist.sh: Removed.
5607 * geninitheader.sh: Removed.
5608 * genkernsyms.sh.in: Removed.
5609 * genmk.rb: Removed.
5610 * gensymlist.sh.in: Removed.
5611 * mkinstalldirs: Removed.
5612 * boot: Moved ...
5613 * grub-core/boot: ... to here.
5614 * bus: Moved ...
5615 * grub-core/bus: ... to here.
5616 * commands: Moved ...
5617 * grub-core/commands: ... to here.
5618 * disk: Moved ...
5619 * grub-core/disk: ... to here.
5620 * efiemu: Moved ...
5621 * grub-core/efiemu: ... to here.
5622 * font: Moved ...
5623 * grub-core/font: ... to here.
5624 * fs: Moved ...
5625 * grub-core/fs: ... to here.
5626 * gencmdlist.sh: Moved ...
5627 * grub-core/gencmdlist.sh: ... to here.
5628 * genemuinit.sh: Moved ...
5629 * grub-core/genemuinit.sh: ... to here.
5630 * genemuinitheader.sh: Moved ...
5631 * grub-core/genemuinitheader.sh: ... to here.
5632 * genfslist.sh: Moved ...
5633 * grub-core/genfslist.sh: ... to here.
5634 * genhandlerlist.sh: Moved ...
5635 * grub-core/genhandlerlist.sh: ... to here.
5636 * genmoddep.awk: Moved ...
5637 * grub-core/genmoddep.awk: ... to here.
5638 * genmodsrc.sh: Moved ...
5639 * grub-core/genmodsrc.sh: ... to here.
5640 * genpartmaplist.sh: Moved ...
5641 * grub-core/genpartmaplist.sh: ... to here.
5642 * genparttoollist.sh: Moved ...
5643 * grub-core/genparttoollist.sh: ... to here.
5644 * genterminallist.sh: Moved ...
5645 * grub-core/genterminallist.sh: ... to here.
5646 * gentrigtables.c: Moved ...
5647 * grub-core/gentrigtables.c: ... to here.
5648 * genvideolist.sh: Moved ...
5649 * grub-core/genvideolist.sh: ... to here.
5650 * gettext: Moved ...
5651 * grub-core/gettext: ... to here.
5652 * gfxmenu: Moved ...
5653 * grub-core/gfxmenu: ... to here.
5654 * gnulib: Moved ...
5655 * grub-core/gnulib: ... to here.
5656 * hello: Moved ...
5657 * grub-core/hello: ... to here.
5658 * hook: Moved ...
5659 * grub-core/hook: ... to here.
5660 * io: Moved ...
5661 * grub-core/io: ... to here.
5662 * kern: Moved ...
5663 * grub-core/kern: ... to here.
5664 * lib: Moved ...
5665 * grub-core/lib: ... to here.
5666 * loader: Moved ...
5667 * grub-core/loader: ... to here.
5668 * mmap: Moved ...
5669 * grub-core/mmap: ... to here.
5670 * normal: Moved ...
5671 * grub-core/normal: ... to here.
5672 * partmap: Moved ...
5673 * grub-core/partmap: ... to here.
5674 * parttool: Moved ...
5675 * grub-core/parttool: ... to here.
5676 * script: Moved ...
5677 * grub-core/script: ... to here.
5678 * term: Moved ...
5679 * grub-core/term: ... to here
5680 * tests/example_functional_test.c: Moved ...
5681 * grub-core/tests/example_functional_test.c: ... to here.
5682 * tests/lib/functional_test.c: Moved ...
5683 * grub-core/tests/lib/functional_test.c: ... to here.
5684 * tests/lib/test.c: Moved ...
5685 * grub-core/tests/lib/test.c: ... to here.
5686 * video: Moved ...
5687 * grub-core/video: ... to here.
5688
5689 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5690
5691 Replace --enable-grub-emu-modules with grub-emu-lite.
5692
5693 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5694 cache.S.
5695
5696 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5697 * kern/emu/full.c: New file. For grub-emu specific initialization.
5698 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5699 * kern/emu/main.c: Call initialization function grub_emu_init.
5700
5701 * Makefile.in: Include grub-emu-lite in install.
5702 * commands/parttool.c: Use grub_no_autoload to differentiate
5703 between grub-emu and grub-emu-lite.
5704 * include/grub/misc.h: New variable grub_no_autoload.
5705
5706 * conf/any-emu.rmk: New rules for grub-emu-lite.
5707 * configure.ac: Remove --enable-grub-emu-modules.
5708 * genmk.rb: Cleanup unnecessary rules.
5709 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5710
5711 * normal/main.c: Don't load list files on grub-emu-lite.
5712 * util/misc.c (grub_arch_sync_caches): Removed.
5713
5714 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5715
5716 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5717 grub-mkimage rather than grub-mkelfimage.
5718 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5719
5720 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5723 a key after CapsLock or NumLock. It's just a qemu bug.
5724
5725 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5728 needed by libusb wrapper.
5729
5730 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5731
5732 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5733
5734 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5737 --nounzip is passed.
5738
5739 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 USB hotunplugging and USB serial support.
5742
5743 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5744 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5745 (grub_uhci_transfer): Respect timeout and set *actual.
5746 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5747 non-standard length.
5748 (grub_usb_device_attach): Autoload modules.
5749 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5750 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5751 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5752 users updated.
5753 (grub_usb_add_hub): Fill nports and children.
5754 (attach_root_port): Receive hub instead of controller.
5755 All users updated. Fill hub->devices.
5756 (grub_usb_root_hub): Allocate hub->devices.
5757 (detach_device): New function.
5758 (poll_nonroot_hub): Fill children and detach devices.
5759 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5760 actual arguments. All users updated.
5761 (grub_usb_bulk_read_extended): New function.
5762 * bus/usb/serial/common.c: New file.
5763 * bus/usb/serial/ftdi.c: Likewise.
5764 * bus/usb/serial/pl2303.c: Likewise.
5765 * commands/terminal.c (handle_command): Support wildcard.
5766 * commands/usbtest.c: Output "Unknown" instead of empty string.
5767 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5768 (usbserial_common_mod_SOURCES): New variable.
5769 (usbserial_common_mod_CFLAGS): Likewise.
5770 (usbserial_common_mod_LDFLAGS): Likewise.
5771 (pkglib_MODULES): Add usbserial_pl2303.mod.
5772 (usbserial_pl2303_mod_SOURCES): New variable.
5773 (usbserial_pl2303_mod_CFLAGS): Likewise.
5774 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5775 (pkglib_MODULES): Add usbserial_ftdi.mod.
5776 (usbserial_ftdi_mod_SOURCES): New variable.
5777 (usbserial_ftdi_mod_CFLAGS): Likewise.
5778 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5779 (pkglib_MODULES): Add serial.mod.
5780 (serial_mod_SOURCES): New variable.
5781 (serial_mod_CFLAGS): Likewise.
5782 (serial_mod_LDFLAGS): Likewise.
5783 * conf/i386-pc.rmk: Likewise.
5784 * conf/mips-yeeloong.rmk: Likewise.
5785 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5786 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5787 * disk/usbms.c (first_available_slot): New variable.
5788 (grub_usbms_attach): Don't reuse free slots due to potential cache
5789 problems.
5790 * include/grub/serial.h: Moved to ..
5791 * include/grub/ns8250.h: ...this.
5792 * include/grub/serial.h: New file.
5793 * include/grub/term.h (grub_term_poll_usb): New variable.
5794 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5795 readkey. All users updated.
5796 (grub_terminfo_output_state): Pass term to put.
5797 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5798 (grub_usb_controller_dev): Add timeout and actual arguments to
5799 transfer. All users updated.
5800 (grub_usb_interface): New field detach_data.
5801 (grub_usb_device): New fields children and nports.
5802 (grub_usb_ep_type_t): New type.
5803 (grub_usb_get_ep_type): New function.
5804 (grub_usb_bulk_read_extended): Likewise.
5805 * include/grub/usbdesc.h (grub_usb_desc): New type.
5806 * include/grub/usbserial.h: New file.
5807 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5808 * kern/term.c (grub_term_poll_usb): New variable.
5809 (grub_getkey): Call grub_term_poll_usb if set.
5810 (grub_checkkey): Likewise.
5811 (grub_getkeystatus): Likewise.
5812 * term/serial.c: Moved controller-specific parts to ...
5813 * term/ns8250.c: ... here.
5814 * term/serial.c: Mostly rewritten.
5815 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5816 according to spec.
5817
5818 2010-08-20 Robert Millan <rmh@gnu.org>
5819
5820 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5821 a separate module and maybe other interesting combinations.
5822
5823 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5824 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5825 (kfreebsd_entry): Add generic filesystem module load routine.
5826 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5827
5828 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5829
5830 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5831 "numcenter" (I misunderstood the purpose of this entry).
5832 * docs/grub.texi (sendkey): Likewise.
5833
5834 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5835
5836 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5837 status flag options; simply omitting the option is equivalent and
5838 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5839 (keysym_table): Rename "num5numlock" to "numlock".
5840 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5841 can uniformly say that only the last of multiple `sendkey'
5842 invocations has any effect.
5843 * docs/grub.texi (sendkey): New section.
5844
5845 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5846
5847 * commands/i386/pc/sendkey.c (options): Fix three typos.
5848
5849 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Implement sendkey support.
5852
5853 * commands/i386/pc/sendkey.c: New file.
5854 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5855 (sendkey_mod_SOURCES): New variable.
5856 (sendkey_mod_CFLAGS): Likewise.
5857 (sendkey_mod_LDFLAGS): Likewise.
5858
5859 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5860
5861 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5862 fix warnings from Autoconf.
5863
5864 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5865
5866 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5867 to avoid false positives with some assemblers that output things
5868 like "someprefix_func" as part of their output.
5869
5870 2010-08-15 Robert Millan <rmh@gnu.org>
5871
5872 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5873 errors.
5874 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5875 grub_get_libzfs_handle() errors.
5876
5877 2010-08-14 Robert Millan <rmh@gnu.org>
5878
5879 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5880 filesystem is not ZFS.
5881
5882 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5883
5884 Fix for misspelled color names defaulting to black/black (bug
5885 reported by Doug Nazar)
5886
5887 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5888 status to prototype.
5889 * normal/color.c (grub_parse_color_name_pair): Return failure
5890 status.
5891 (grub_env_write_color_normal): Ignore bad color names.
5892 (grub_env_write_color_highlight): Likewise.
5893 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5894
5895 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5896
5897 "shift" command support to GRUB script.
5898
5899 * include/grub/script_sh.h (grub_script_shift): New prototype.
5900 * script/execute.c (grub_script_shift): New function.
5901 * script/main.c (grub_script_init): Register shift command.
5902 (grub_script_fini): Unregister shift command.
5903 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5904
5905 * tests/grub_script_shift.in: New testcase.
5906 * conf/tests.rmk: Rules for new testcase.
5907
5908 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5909
5910 "continue" command support to GRUB script.
5911
5912 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5913 (grub_script_break): Continue support.
5914 * script/main.c (grub_script_init): Register continue command.
5915 (grub_script_fini): Unregister continue command.
5916
5917 * tests/grub_script_continue.in: New testcase.
5918 * conf/tests.rmk: Rules for new testcase.
5919
5920 2010-08-12 BVK Chaitanya <bvk@dbook>
5921
5922 "break" command support to GRUB script.
5923
5924 * conf/common.rmk: Rule updates to grub-script-check.
5925 * include/grub/misc.h (grub_min): New function.
5926 * include/grub/script_sh.h (grub_script_init): New prototype.
5927 (grub_script_fini): New prototype.
5928 (grub_script_break): New prototype.
5929 * script/main.c (grub_script_init): New function.
5930 (grub_script_fini): New function.
5931 * script/execute.c (grub_script_break): New function.
5932 * normal/main.c: Calls to grub_script_{init,fini}.
5933 * util/grub-script-check.c (grub_script_break): New function.
5934
5935 * tests/grub_script_break.in: New testcase.
5936 * conf/tests.rmk: Rules for new test case.
5937
5938 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5939
5940 Function parameters support to GRUB script.
5941
5942 * script/yylex.l (VARIABLE): Regular expression update.
5943 * script/function.c (grub_script_function_call): Moved ...
5944 * script/execute.c (grub_script_function_call): ... to here.
5945 (grub_script_execute_arglist_to_argv): Removed.
5946 (grub_script_arglist_to_argv): New function.
5947 * script/argv.c: New file.
5948 (grub_script_argv_free): New function.
5949 (grub_script_argv_next): Likewise.
5950 (grub_script_argv_append): Likewise.
5951 (grub_script_argv_split_append): Likewise.
5952 * include/grub/script_sh.h (grub_script_argv): New struct.
5953 (grub_script_argv_free): New function.
5954 (grub_script_argv_next): Likewise.
5955 (grub_script_argv_append): Likewise.
5956 (grub_script_argv_split_append): Likewise.
5957
5958 * conf/common.rmk (normal.mod): New source script/argv.c.
5959
5960 * tests/grub_script_echo1.in: More tests.
5961 * tests/grub_script_vars1.in: Likewise.
5962 * tests/grub_script_functions.in: New test case.
5963 * conf/tests.rmk: Rules for new testcase.
5964
5965 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5966
5967 Remove grub_script_cmdblock struct.
5968
5969 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5970 * script/parser.y: Likewise.
5971 * script/execute.c: Rename cmdblock suffix to cmdlist.
5972 * script/script.c: Likewise.
5973 * util/grub-script-check.c: Likewise.
5974
5975 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5976
5977 * .bzrignore: add grub-macho2img
5978
5979 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5982
5983 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 Remove the dump of sm712 initialisation sequence.
5986
5987 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5988 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5989 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5990 (GRUB_VGA_CR_*): Added many registers.
5991 (GRUB_VGA_SR_*): Likewise.
5992 (GRUB_VGA_GR_*): Likewise.
5993 (grub_vga_write_arx): New function.
5994 (grub_video_hw_config): New struct.
5995 (grub_vga_set_geometry): New function.
5996 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5997 GRUB_PCI_CLASS_SUBCLASS_VGA.
5998 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5999 * video/sm712.c (grub_sm712_write_reg): New function
6000 (grub_sm712_read_reg): Likewise.
6001 (grub_sm712_sr_write): Likewise.
6002 (grub_sm712_gr_write): Likewise.
6003 (grub_sm712_cr_write): Likewise.
6004 (grub_sm712_write_arx): Likewise.
6005 (grub_sm712_cr_shadow_write): Likewise.
6006 (grub_sm712_write_dda_lookup): Likewise.
6007 (grub_video_sm712_setup): Initialise the video rather then
6008 blindly replay the dump.
6009 (main) [TEST]: Add a routine to be able to compile as standalone for
6010 tests.
6011 * video/sm712_init.c (sm712_init): Removed.
6012 (sm712_sr_seq1): New array.
6013 (sm712_sr_seq2): Likewise.
6014
6015 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * include/grub/vga.h: Add missing grub/pci.h include.
6018
6019 2010-08-10 Yves Blusseau <blusseau@zetam.org>
6020
6021 * util/grub-macho2img.c (main): fix typo
6022
6023 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
6026 (grub_vga_gr_read): Likewise.
6027 (grub_vga_cr_write): Likewise.
6028 (grub_vga_cr_read): Likewise.
6029 (grub_vga_sr_write): Likewise.
6030 (grub_vga_sr_read): Likewise.
6031 (grub_vga_palette_read): Likewise.
6032 (grub_vga_palette_write): Likewise.
6033 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
6034 (grub_sm712_sr_read): New function.
6035 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
6036 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
6037
6038 2010-08-09 Robert Millan <rmh@gnu.org>
6039
6040 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
6041 out unused variables on non-ZFS build.
6042
6043 2010-08-08 Robert Millan <rmh@gnu.org>
6044
6045 Fix path generation for sub-filesystems in ZFS.
6046
6047 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6048 missing slash.
6049
6050 2010-08-08 Robert Millan <rmh@gnu.org>
6051
6052 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6053
6054 2010-08-08 Robert Millan <rmh@gnu.org>
6055
6056 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6057 exist, issue a proper error message (rely on `ls' for translated
6058 strings).
6059
6060 2010-08-08 Robert Millan <rmh@gnu.org>
6061
6062 Fix grub-probe invocation.
6063
6064 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6065
6066 2010-08-04 Robert Millan <rmh@gnu.org>
6067
6068 * configure.ac: Remove checks for getfsstat() and getmntany().
6069 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6070 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6071 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6072 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6073 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6074 function.
6075 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6076 via find_mount_point_from_dir() and getfsstat() / getmntany().
6077
6078 2010-08-04 Robert Millan <rmh@gnu.org>
6079
6080 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6081 (grub_find_zpool_from_mount_point): Merge into ...
6082 (grub_find_zpool_from_dir): ... this.
6083 * kern/emu/misc.c: Likewise.
6084
6085 * kern/emu/misc.c
6086 (grub_make_system_path_relative_to_its_root): Replace
6087 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6088 with grub_find_zpool_from_dir().
6089 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6090
6091 2010-08-04 Robert Millan <rmh@gnu.org>
6092
6093 Support OpenSolaris in ZFS device resolution.
6094
6095 * configure.ac: Check for getmntany().
6096 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6097 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6098 support.
6099
6100 2010-08-03 Robert Millan <rmh@gnu.org>
6101
6102 Fix grub-emu build.
6103
6104 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6105 * include/grub/emu/misc.h: ... here.
6106
6107 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6108 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6109
6110 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6111 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6112 (grub_get_libzfs_handle): Move to ...
6113 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6114 (grub_get_libzfs_handle): ... here.
6115
6116 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6117
6118 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6119 as command name case.
6120
6121 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
6122
6123 * disk/raid.c (insert_array): Select unique numbers for named arrays
6124 as well, for use as keys in the disk cache.
6125
6126 2010-08-01 Robert Millan <rmh@gnu.org>
6127
6128 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6129 kFreeBSD device name, except on ZFS where the filesystem label is
6130 used.
6131 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6132 `/boot/zfs/zpool.cache'.
6133 Set mountfrom kernel variable using ${kfreebsd_device}.
6134
6135 2010-08-01 Robert Millan <rmh@gnu.org>
6136
6137 Make it even harder to use uninitialized `libzfs_handle' (and
6138 make the interface a bit simpler).
6139
6140 * include/grub/util/misc.h (grub_util_init_libzfs)
6141 (libzfs_handle): Remove.
6142 (grub_get_libzfs_handle): New prototype.
6143
6144 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6145 attribute.
6146 (grub_util_init_libzfs): Remove.
6147 (grub_get_libzfs_handle): New function.
6148
6149 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6150 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6151 accessing `libzfs_handle' directly.
6152
6153 2010-08-01 Robert Millan <rmh@gnu.org>
6154
6155 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6156 (grub_find_zpool_from_mount_point): New function prototypes.
6157
6158 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6159 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6160
6161 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6162 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6163 `static' attribute.
6164
6165 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6166 finding zpool from mount point into ...
6167 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6168
6169 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6170 requested path is part of a ZFS pool, use
6171 grub_find_zpool_from_mount_point() to detect its filesystem name,
6172 and generate a path with `/fsname@path' syntax.
6173
6174 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6175
6176 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6177 (void) rather than () so that this is a proper prototype.
6178
6179 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6182
6183 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6186 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6187
6188 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6189
6190 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6191
6192 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6193
6194 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6195
6196 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6197
6198 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6199 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6200 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6201 disable gfxpayload.
6202 (Shell-like scripting): Add real content.
6203 (Serial terminal): Suggest `terminal_input serial; terminal_output
6204 serial' rather than putting the two commands on separate lines,
6205 since console input will be inoperative after the first command.
6206 (menuentry): Document --class, --users, and --hotkey options.
6207 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6208 Vladimir Serbinenko).
6209
6210 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6211 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6212
6213 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6214
6215 2010-08-01 Robert Millan <rmh@gnu.org>
6216
6217 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6218 (grub_find_zpool_from_mount_point): New function prototypes.
6219
6220 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6221 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6222
6223 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6224 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6225 `static' attribute.
6226
6227 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6228 finding zpool from mount point into ...
6229 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6230
6231 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6232 requested path is part of a ZFS pool, use
6233 grub_find_zpool_from_mount_point() to detect its filesystem name,
6234 and generate a path with `/fsname@path' syntax.
6235
6236 2010-08-01 Robert Millan <rmh@gnu.org>
6237
6238 Prevent accidental use of uninitialized libzfs_handle.
6239
6240 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6241 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6242 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6243
6244 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6245
6246 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6247 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6248
6249 2010-08-01 Robert Millan <rmh@gnu.org>
6250
6251 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6252
6253 2010-07-31 Robert Millan <rmh@gnu.org>
6254
6255 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6256
6257 2010-07-31 Robert Millan <rmh@gnu.org>
6258
6259 * kern/emu/misc.c: Add missing license header.
6260
6261 2010-07-31 Robert Millan <rmh@gnu.org>
6262
6263 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6264
6265 * include/grub/util/libnvpair.h: Include `<config.h>'.
6266 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6267 declaring libnvpair prototypes ourselves.
6268 * include/grub/util/libzfs.h: Include `<config.h>'.
6269 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6270 declaring libzfs prototypes ourselves.
6271
6272 (libzfs_handle): Moved to ...
6273 * include/grub/util/misc.h (libzfs_handle): ... here.
6274 Include `<grub/util/libzfs.h>'.
6275
6276 2010-07-30 Robert Millan <rmh@gnu.org>
6277
6278 * include/grub/emu/misc.h: Add missing license header.
6279
6280 2010-07-30 Robert Millan <rmh@gnu.org>
6281
6282 Enable `grub-probe -t device' resolution on ZFS.
6283
6284 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6285 * include/grub/util/libnvpair.h: New file.
6286 * include/grub/util/libzfs.h: New file.
6287
6288 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6289 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6290 `<grub/util/libnvpair.h>'.
6291 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6292
6293 (find_mount_point_from_dir): New static function.
6294 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6295 function.
6296 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6297 find_root_device_from_libzfs() before ressorting to find_root_device().
6298
6299 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6300 prototype.
6301 * util/misc.c: Include `<grub/util/libzfs.h>'.
6302 (grub_util_init_libzfs): New function.
6303 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6304 [HAVE_LIBZFS] (fini_libzfs): New static function.
6305 (grub_util_init_libzfs): New function.
6306 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6307
6308 2010-07-30 Robert Millan <rmh@gnu.org>
6309
6310 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6311 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6312 `warn_unused_result' attribute.
6313 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6314 (grub_xasprintf, grub_xvasprintf): Likewise.
6315 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6316
6317 2010-07-29 Robert Millan <rmh@gnu.org>
6318
6319 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6320 (probe): Handle `PRINT_FS_LABEL'.
6321 (main): Handle `-t fs_label'.
6322
6323 2010-07-29 Robert Millan <rmh@gnu.org>
6324
6325 * configure.ac: Remove grub-mkisofs checks.
6326
6327 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6330 Reported by: Lennart Sorensen.
6331
6332 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6335 prior to terminal_input/terminal_output separation. It's been over 1.5
6336 years and those versions weren't widely deployed.
6337
6338 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6339
6340 * disk/raid.c (insert_array): Don't count named arrays when looking
6341 for unused array numbers.
6342 Reported and tested by: Michael Guntsche.
6343
6344 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6345
6346 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6347 implementation of this so that grub-emu links again, with a note
6348 that this should support hotplugging in the future.
6349
6350 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6351
6352 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6353
6354 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6357 handle on failure.
6358 (grub_loopback_close): Remove empty function.
6359 (grub_loopback_dev): Remove close method.
6360
6361 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6362
6363 Disable EFI cursor when the EFI console becomes inactive.
6364
6365 * term/efi/console.c (grub_efi_console_init): New function.
6366 (grub_efi_console_fini): New function.
6367 (grub_console_term_output): Register init and fini methods.
6368
6369 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6372 sh script.
6373
6374 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * disk/loopback.c (grub_loopback): Replace filename with file.
6377 (delete_loopback): Handle new semantics.
6378 (grub_cmd_loopback): Likewise.
6379 (grub_loopback_iterate): Likewise.
6380 (grub_loopback_close): Likewise.
6381
6382 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6385 with -p "".
6386 Reported by: Tito Keitel.
6387
6388 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * docs/grub.texi (Naming convention): Document new naming convention.
6391
6392 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6393 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6394
6395 Generate device.map in something closer to the old ordering.
6396
6397 * util/deviceiter.c (struct device): New declaration.
6398 (compare_file_names): Rename to ...
6399 (compare_devices): ... this. Sort by kernel name in preference to
6400 the stable by-id name, but keep the latter as a fallback comparison.
6401 Update header comment.
6402 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6403 of `struct device' rather than of plain file names.
6404
6405 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6406
6407 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6408 on i386.
6409
6410 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6413 hardcoding size.
6414 (setv1table): Likewise.
6415
6416 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6417
6418 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6419 removing the homehost if present.
6420 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6421 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6422 removing the homehost if present.
6423 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6424 if possible.
6425 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6426
6427 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6428 parameter. Set its pointer target to 0.
6429 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6430 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6431 `data_offset' value from the superblock for 1.x metadata.
6432 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6433 data on the device.
6434 (insert_array): Record the start sector of data on the device.
6435 (grub_raid_register): Pass start_sector parameters to
6436 grub_raid_list->detect and insert_array.
6437 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6438 member.
6439 (struct grub_raid): Add start_sector parameter to `detect'.
6440
6441 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6442 __attribute__ ((packed)), leaving a comment.
6443 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6444 (grub_mdraid_detect_09): ... here and ...
6445 (grub_mdraid_detect_1x): ... here.
6446
6447 2010-07-20 Peter Henn <peter.henn@web.de>
6448
6449 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6450 chunk size and disk size, which are already given as sector counts
6451 as distinct from the 0.90 units. Fetch the correct device number
6452 from the role table instead of using the table index.
6453
6454 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6455
6456 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6457 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6458 (WriteMostly1): New macro.
6459 Set array->name to NULL for metadata format 0.90. Add support for
6460 metadata 1.x. Fix some comments.
6461 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6462 few comments.
6463 * util/getroot.c (grub_util_get_grub_dev): Add support for
6464 /dev/md/name style devices.
6465
6466 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6467
6468 * .bzrignore: Ignore 20_linux_xen.
6469
6470 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6471
6472 * util/import_unicode.py: Remove unnecessary imports.
6473
6474 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6475
6476 Hotplugging and USB hub support.
6477
6478 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6479 (grub_ohci): Likewise.
6480 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6481 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6482 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6483 (GRUB_OHCI_CTRL_EDS): Likewise.
6484 (GRUB_OHCI_BULK_EDS): Likewise.
6485 (GRUB_OHCI_TDS): Likewise.
6486 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6487 (grub_ohci_ed_phys2virt): New function.
6488 (grub_ohci_virt_to_phys): Likewise.
6489 (grub_ohci_td_phys2virt): Likewise.
6490 (grub_ohci_td_virt2phys): Likewise.
6491 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6492 attachment.
6493 (grub_ohci_find_ed): New function.
6494 (grub_ohci_alloc_td): Likewise.
6495 (grub_ohci_free_td): Likewise.
6496 (grub_ohci_free_tds): Likewise.
6497 (grub_ohci_transfer): Use previously allocated memory.
6498 (grub_ohci_portstatus): Reset status changed bit.
6499 (grub_ohci_detect_dev): Supply status changed.
6500 (grub_ohci_fini_hw): Free memory.
6501 (grub_ohci_restore_hw): Reallocate memory.
6502 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6503 Reset status change.
6504 (grub_uhci_detect_dev): Supply status_change.
6505 * bus/usb/usb.c (attach_hooks): New var.
6506 (grub_usb_device_attach): New function.
6507 (grub_usb_register_attach_hook_class): Likewise.
6508 (grub_usb_unregister_attach_hook_class): Likewise.
6509 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6510 (grub_usb_add_hub): Reset connection changed bit.
6511 (attach_root_port): New function.
6512 (grub_usb_root_hub): Likewise.
6513 (poll_nonroot_hub): Likewise.
6514 (grub_usb_poll_devices): Likewise.
6515 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6516 * disk/usbms.c (grub_usbms_open): Use device hooks.
6517 (grub_usbms_iterate) :Poll devices.
6518 (grub_usbms_finddevs): Split into ...
6519 (grub_usbms_attach): ... this ...
6520 (grub_usbms_attach): ... and this.
6521 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6522 in detect_dev.
6523 (grub_usb_interface): New fields attached and detach_hook.
6524 (grub_usb_attach_hook_class): New type.
6525 (grub_usb_attach_desc): New struct.
6526 (grub_usb_register_attach_hook_class): New function.
6527 (grub_usb_unregister_attach_hook_class): Likewise.
6528 (grub_usb_poll_devices): Likewise.
6529 (grub_usb_device_attach): Likewise.
6530 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6531 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6532
6533 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6536 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6537 delta determination style. Works with most NetBSD partitions too.
6538
6539 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6542 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6543
6544 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6547
6548 2010-07-14 Anton Blanchard <anton@samba.org>
6549
6550 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6551 ET_DYN files.
6552
6553 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6554
6555 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6556
6557 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6558
6559 * kern/partition.c (grub_partition_check_containment): New function to
6560 check that a partition is physically contained in a parent. Since
6561 offsets are relative (and non-negative), this reduces to checking that
6562 the partition ends before its parent.
6563 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6564 (grub_partition_iterate): Likewise.
6565 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6566 comments.
6567 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6568 partitions that start before their parent, and add debug printfs.
6569
6570 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6571
6572 * Makefile.in (.SUFFIX): Spell correctly, as ...
6573 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6574 bare module name without `.mod', e.g. `test') tried to invoke a
6575 Modula-2 compiler.
6576
6577 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6578
6579 * README: Point to the Info manual.
6580
6581 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6582
6583 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6584 2nd superblock position from partition size.
6585
6586 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6587
6588 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6589 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6590 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6591 outputs.
6592
6593 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 Restructure SCSI .id handling.
6596 Reported and tested by: Aleš Nesrsta.
6597
6598 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6599 (grub_atapi_dev): Changed .name to "ata". New field .id.
6600 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6601 (grub_usbms_dev): New field .id.
6602 * disk/scsi.c (grub_scsi_iterate): Generate name.
6603 (grub_scsi_open): Parse name.
6604 * include/grub/scsi.h (grub_make_scsi_id): New function.
6605 (grub_scsi_dev): Change iterate and open to number instead of naming
6606 busses. All users updated.
6607 (grub_scsi): Remove name. Add .bus.
6608
6609 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * commands/help.c (grub_cmd_help): Fix a typo.
6612
6613 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6616 Reported and tested by: Colin Watson.
6617
6618 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6621 in this context.
6622
6623 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6626
6627 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6628
6629 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6630 indentation.
6631
6632 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6633
6634 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6635 and disk/raid6_recover.c.
6636 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6637 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6638
6639 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6640
6641 * term/gfxterm.c (repaint_schedulded): Rename to ...
6642 (repaint_scheduled): ... this. Update all callers.
6643 (repaint_was_schedulded): Rename to ...
6644 (repaint_was_scheduled): ... this. Update all callers.
6645
6646 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6647
6648 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6649 which we expect to be handled by upper layers.
6650
6651 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6652
6653 * bus/usb/usbhub.c: #include time.h header.
6654
6655 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6656
6657 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6658 entry_name also for entries without stat blocks (e.g. ".."); fixes
6659 corruption of the first entry in a directory.
6660
6661 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6662
6663 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6664 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6665 doesn't work otherwise.
6666
6667 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * docs/grub.texi (Features): Update list of supported file systems.
6670 (GNU/Linux): Update for GRUB 2.
6671 (Serial terminal): Remove mention of --disable-serial, which was a
6672 GRUB Legacy configure option. Update instructions to use
6673 `terminal_input' and `terminal_output' rather than `terminal'.
6674 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6675 configuration' and `Installing GRUB using grub-install'.
6676 (Menu entry editor): Update for GRUB 2.
6677 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6678 Document new -a, -u, and -v options.
6679 (initrd): New section.
6680 (initrd16): New section.
6681 (linux): New section.
6682 (linux16): New section.
6683 (search): The `var' argument to `--set' is optional.
6684 (GRUB only offers a rescue shell): Go into a little more detail on
6685 drive ordering.
6686
6687 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6688
6689 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6690
6691 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6692
6693 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6694 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6695
6696 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6697
6698 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6699 install_prefix, in line with install_dos_part and install_bsd_part.
6700 Add new prefix variable, which is copied to install_prefix after
6701 comparing core.img in memory with the one read from disk in the
6702 no-embedding case, and use that rather than overwriting
6703 install_prefix immediately when installing to a partition.
6704 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6705 Bicakci.
6706
6707 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6708
6709 * configure.ac: Avoid == in test command, it's not portable.
6710 * util/grub.d/30_os-prober.in: Likewise.
6711
6712 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6713
6714 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6715
6716 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6717
6718 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6719 multiple (top-level) partmaps.
6720
6721 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6724 Reported by: Tino Keitel.
6725
6726 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Bidi and diacritics support.
6729
6730 * Makefile.in (widthspec.bin): New target.
6731 (widthspec.h): Likewise.
6732 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6733 * autogen.sh: Generate unidata.c.
6734 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6735 * commands/ls.c (grub_ls_list_devices): Likewise.
6736 (grub_ls_list_files): Likewise.
6737 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6738 (grub_mini_cmd_lsmod): Likewise.
6739 * commands/read.c: Likewise.
6740 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6741 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6742 * lib/arg.c (grub_arg_show_help): Likewise.
6743 * lib/crypto.c (grub_password_get): Likewise.
6744 * normal/auth.c (grub_username_get): Likewise.
6745 * normal/misc.c (grub_normal_print_device_info): Likewise.
6746 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6747 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6748 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6749 (normal/charset.c_DEPENDENCIES): New variable.
6750 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6751 (pkglib_MODULES): Remove charset.mod.
6752 (charset_mod_SOURCES): Removed.
6753 (charset_mod_CFLAGS): Likewise.
6754 (charset_mod_LDFLAGS): Likewise.
6755 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6756 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6757 and term/tparm.c.
6758 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6759 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6760 (kernel_img_HEADERS): Add terminfo.h.
6761 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6762 Fill ->font. Reverse ascii bitmaps.
6763 (grub_font_get_xheight): New function.
6764 * font/font.c (grub_font_get_string_width): Moved from here ...
6765 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6766 * font/font.c (grub_font_draw_string): Moved from here ...
6767 * gfxmenu/font.c (grub_font_draw_string): ... here.
6768 * font/font.c (grub_font_dup_glyph): New function.
6769 (grub_font_blit_glyph): Likewise.
6770 (grub_font_blit_glyph_mirror): Likewise.
6771 (blit_comb): Likewise.
6772 (grub_font_construct_dry_run): Likewise.
6773 (grub_font_get_constructed_device_width): Likewise.
6774 (grub_font_construct_glyph): Likewise.
6775 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6776 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6777 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6778 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6779 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6780 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6781 (grub_font_get_xheight): New proto.
6782 (grub_font_get_constructed_device_width): Likewise.
6783 (grub_font_construct_glyph): Likewise.
6784 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6785 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6786 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6787 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6788 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6789 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6790 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6791 (grub_console_getcharwidth): Likewise.
6792 * include/grub/misc.h (grub_xputs): New proto.
6793 (grub_puts): Inlined.
6794 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6795 (grub_normal_get_line_counter): Removed.
6796 (grub_install_newline_hook): Likewise.
6797 (grub_normal_get_char_counter): New proto.
6798 (grub_normal_reset_more): Likewise.
6799 (grub_xputs_normal): Likewise.
6800 * include/grub/powerpc/ieee1275/console.h: Removed.
6801 * include/grub/sparc64/ieee1275/console.h: Likewise.
6802 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6803 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6804 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6805 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6806 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6807 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6808 (grub_term_input): Pass reference to self. All users updated.
6809 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6810 Pass reference to self. New fields normal_color, highlight_color and
6811 data. All users updated.
6812 (grub_putchar): Removed.
6813 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6814 (grub_unicode_estimate_width): New function.
6815 (grub_term_getcharwidth): Add defaults.
6816 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6817 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6818 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6819 (grub_cls): Remove EXPORT_FUNC.
6820 (grub_setcolorstate): Inline.
6821 (grub_newline_hook): Removed.
6822 * include/grub/terminfo.h: Rewritten. All users updated.
6823 * include/grub/unicode.h: New file.
6824 * include/grub/video.h (grub_video_signed_rect): New type.
6825 * kern/emu/console.c (grub_console_highlight_color): Removed.
6826 (grub_console_normal_color): Likewise.
6827 (grub_console_standard_color): Made static.
6828 (grub_ncurses_putchar): Remove mapping.
6829 (grub_ncurses_getcharwidth): Removed.
6830 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6831 (grub_ncurses_setcolor): Removed.
6832 (grub_ncurses_getcolor): Likewise.
6833 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6834 (grub_console_putchar): ... this.
6835 (grub_console_putchar): Handle argument difference.
6836 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6837 console_init_early and console_init_lately.
6838 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6839 * kern/misc.c (grub_puts): Removed.
6840 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6841 (grub_vsnprintf_real): Remove str = NULL support.
6842 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6843 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6844 * kern/term.c (grub_putcode): Renamed to ...
6845 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6846 (grub_putchar): Removed.
6847 (grub_xputs_dumb): New function.
6848 (grub_xputs): New variable.
6849 * lib/charset.c: Move from here ...
6850 * normal/charset.c: ... to here.
6851 (grub_ucs4_to_utf8): New function.
6852 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6853 (join_types): New variable.
6854 (unpack_join): New function.
6855 (bidi_types): New variable.
6856 (unpack_bidi): New function.
6857 (get_bidi_type): Likewise.
6858 (get_join_type): Likewise.
6859 (is_mirrored): Likewise.
6860 (grub_unicode_get_comb_type): Likewise.
6861 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6862 (is_type_after): Likewise.
6863 (grub_unicode_aglomerate_comb): Likewise.
6864 (bidi_line_wrap): Likewise.
6865 (grub_bidi_line_logical_to_visual): Likewise.
6866 (grub_bidi_logical_to_visual): Likewise.
6867 (grub_unicode_mirror_code): Likewise.
6868 (grub_unicode_shape_code): Likewise.
6869 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6870 Don't use grub_putchar.
6871 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6872 (grub_normal_reader_init): Likewise.
6873 (grub_xputs_saved): New variable.
6874 (GRUB_MOD_INIT): Set grub_xputs.
6875 (GRUB_MOD_FINI): Restore grub_xputs.
6876 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6877 (menu_init): Avoid printing gfxmenu error.
6878 (show_menu): Use grub_normal_get_char_counter.
6879 * normal/menu_entry.c (update_screen): Fix out-of-array.
6880 (complete): Avoid NULL dereferencing.
6881 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6882 * normal/menu_text.c (print_spaces): Removed.
6883 (grub_print_ucs4): Likewise.
6884 (grub_print_message_indented): Use grub_print_ucs4.
6885 (print_message): Use grub_putcode.
6886 (print_entry): Hanlde diacritics.
6887 * normal/term.c (term_state): New type.
6888 (grub_more_lines): Removed.
6889 (term_states): New variable.
6890 (grub_normal_line_counter): Renamed to ..
6891 (grub_normal_char_counter): ...this. All users updated.
6892 (grub_normal_get_line_counter): Renamed to ...
6893 (grub_normal_get_char_counter): ... this.
6894 (grub_normal_reset_more): New function.
6895 (process_newline): Removed.
6896 (print_more): New function.
6897 (grub_install_newline_hook): Removed.
6898 (map_code): New function.
6899 (grub_puts_terminal): Use grub_print_ucs4.
6900 (putglyph): New function.
6901 (putcode_real): Likewise.
6902 (grub_putcode): Use putcode_real.
6903 (get_maxwidth): New function.
6904 (get_startwidth): Likewise.
6905 (print_ucs4_terminal): Likewise.
6906 (find_term_state): Likewise.
6907 (put_glyphs_terminal): Likewise.
6908 (print_backlog): Likewise.
6909 (print_ucs4_real): Likewise.
6910 (grub_print_ucs4): Likewise.
6911 (grub_xputs_normal): Likewise.
6912 * term/efi/console.c (grub_console_putchar): Output diacritics.
6913 (grub_console_getcharwidth): Removed.
6914 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6915 * term/gfxterm.c (clear_char): Free chars.
6916 (scroll_up): Avoid leaking memory.
6917 (grub_gfxterm_putchar): Support diacritics.
6918 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6919 * term/i386/pc/console.c (grub_console_term_output): Declare as
6920 GRUB_TERM_CODE_TYPE_VGA.
6921 * term/i386/pc/vga.c (grub_vga_term): Declare as
6922 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6923 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6924 GRUB_TERM_CODE_TYPE_VGA.
6925 * term/i386/vga_common.c (map_char): Removed.
6926 (grub_console_putchar): Likewise.
6927 (grub_console_getcharwidth): Likewise.
6928 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6929 (colors): Reordered to match terminfo.
6930 (grub_ofconsole_normal_color): Removed.
6931 (grub_ofconsole_writeesc): Likewise.
6932 (grub_ofconsole_highlight_color): Likewise.
6933 (grub_ofconsole_getcharwidth): Likewise.
6934 (grub_ofconsole_setcolorstate): Likewise.
6935 (grub_ofconsole_setcolor): Likewise.
6936 (grub_ofconsole_getcolor): Likewise.
6937 (grub_ofconsole_readkey): Renamed to ...
6938 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6939 key.
6940 (grub_ofconsole_checkkey): Removed.
6941 (grub_ofconsole_getkey): Likewise.
6942 (grub_ofconsole_getxy): Likewise.
6943 (grub_ofconsole_gotoxy): Likewise.
6944 (grub_ofconsole_cls): Likewise.
6945 (grub_ofconsole_refresh): Likewise.
6946 (grub_ofconsole_terminfo_input): New struct.
6947 (grub_ofconsole_terminfo_output): Likewise.
6948 (grub_ofconsole_term_input): Use terminfo.
6949 (grub_ofconsole_term_output): Likewise.
6950 (grub_console_init): Split into ...
6951 (grub_console_init_early): ...this and ...
6952 (grub_console_init_lately): ...this. Use terminfo.
6953 (grub_ofconsole_putchar): Renamed to ...
6954 (put): ... this. Remove mapping.
6955 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6956 * term/serial.c: Simplify using terminfo.
6957 (xpos): Removed.
6958 (ypos): Likewise.
6959 (keep_track): Likewise.
6960 (registered): Likewise.
6961 (input_buf): Likewise.
6962 (npending): Likewise.
6963 (serial_translate_key_sequence): Likewise.
6964 (fill_input_buf): Likewise.
6965 (grub_serial_checkkey): Likewise.
6966 (grub_serial_getkey): Likewise.
6967 (grub_serial_getxy): Likewise.
6968 (grub_serial_gotoxy): Likewise.
6969 (grub_serial_putchar): Likewise.
6970 (grub_serial_cls): Likewise.
6971 (grub_serial_setcolorstate): Likewise.
6972 (grub_serial_setcursor): Likewise.
6973 (serial_hw_init): Use serial_hw_fetch.
6974 (grub_serial_terminfo_input): New variable.
6975 (grub_serial_terminfo_output): Likewise.
6976 (grub_serial_term_input): Use terminfo.
6977 (grub_serial_term_output): Likewise.
6978 * term/terminfo.c (putstr): Use put.
6979 (grub_terminfo_all_free): New function
6980 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6981 (grub_terminfo_output_register): New function.
6982 (grub_terminfo_output_unregister): Likewise.
6983 (grub_terminfo_getxy): Likewise.
6984 (grub_terminfo_readkey): Likewise.
6985 (grub_terminfo_checkkey): Likewise.
6986 (grub_terminfo_getkey): Likewise.
6987 (grub_terminfo_input_init): Likewise.
6988 (print_terminfo): Likewise.
6989 (grub_cmd_terminfo): Handle encoding.
6990 (grub_terminfo_gotoxy): Track position.
6991 (grub_terminfo_cls): Likewise.
6992 (grub_terminfo_putchar): Likewise.
6993 (grub_terminfo_setcolorstate): Handle colors
6994 (grub_terminfo_cursor_on): This ...
6995 (grub_terminfo_cursor_off): ... and this merged into ...
6996 (grub_terminfo_setcursor): ... this.
6997 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6998 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6999 * unicode/BidiMirroring.txt: Likewise.
7000 * unicode/UnicodeData.txt: Likewise.
7001 * unicode/COPYING: Likewise.
7002 * util/grub-editenv.c (grub_putchar): Removed.
7003 (grub_xputs_real): New function.
7004 (grub_xputs): New variable.
7005 * util/grub-fstest.c (grub_putchar): Removed.
7006 (grub_xputs_real): New function.
7007 (grub_xputs): New variable.
7008 * util/grub-mkdevicemap.c (grub_putchar): Removed.
7009 (grub_xputs_real): New function.
7010 (grub_xputs): New variable.
7011 * util/grub-probe.c (grub_putchar): Removed.
7012 (grub_xputs_real): New function.
7013 (grub_xputs): New variable.
7014 * util/grub-script-check.c (grub_putchar): Removed.
7015 (grub_xputs_real): New function.
7016 (grub_xputs): New variable.
7017 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
7018 (grub_xputs_real): New function.
7019 (grub_xputs): New variable.
7020 * util/import_unicode.py: New file.
7021 * util/grub-mkfont.c (ft_errmsgs): New array.
7022 (grub_glyph_info): Make bitmap a pointer.
7023 (file_formats): New type WIDTH_SPEC.
7024 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
7025 (options): Add width-spec.
7026 (help): Likewise.
7027 (add_char): Renamed to ...
7028 (add_glyph): ... this.
7029 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
7030 (glyph_replace): New type.
7031 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
7032 (add_char): New function.
7033 (add_subst): Likewise.
7034 (process_cursive): Likewise.
7035 (add_font): Handle GSUB.
7036 (write_font_width_spec): New function.
7037 (main): Sort glyphs.
7038 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
7039 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
7040 * kern/term.c (grub_cls): Moved from here...
7041 * normal/term.c (grub_cls): ... here.
7042
7043 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7044
7045 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7046 suitable for using within the format argument of printf when
7047 converting grub_size_t.
7048 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7049 "x" to convert grub_size_t arguments.
7050
7051 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7054 too long captions.
7055 (list_get_minimal_size): Take selection box into account.
7056
7057 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7060 NULL font.
7061
7062 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7063
7064 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7065 devices when iterating over /dev/disk/by-id; they will be handled
7066 later if appropriate, which they aren't always (e.g. LVM).
7067
7068 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7071 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7072 fails.
7073 (grub_halt): Likewise.
7074 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7075 reset-all fails.
7076 (grub_halt): Don't return, even if all of shut-down, power-off, and
7077 poweroff fail.
7078
7079 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7080
7081 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7082 arguments, not three.
7083
7084 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7085
7086 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7087 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7088 LVM-on-RAID is handled correctly.
7089
7090 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7091
7092 * docs/grub.texi (Changes from GRUB Legacy): New section.
7093 (Future): Fix typo.
7094
7095 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7096
7097 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7098 grub.d/README accidentally ends up executable for one reason or
7099 another. Ignore it.
7100
7101 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7104 (gpt_partition_map_iterate): Support non-512B sectors.
7105
7106 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7109 Tested by: Seth Goldberg.
7110
7111 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7114 Properly align mbi.
7115 Reported by: Seth Goldberg.
7116
7117 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * util/grub-mkrescue.in: Avoid module duplication.
7120
7121 2010-07-01 Sean Finney <seanius@seanius.net>
7122
7123 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7124
7125 2010-07-01 Sean Finney <seanius@seanius.net>
7126
7127 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7128
7129 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * disk/lvm.c (grub_lvm_checkvalue): New function.
7132 (grub_lvm_check_flag): Likewise.
7133
7134 2010-07-01 Robert Millan <rmh@gnu.org>
7135
7136 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7137 Support 'p' as partition separator on kernel of FreeBSD (used
7138 with GPT labels).
7139 (grub_util_biosdisk_get_grub_dev): Likewise.
7140
7141 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Yeeloong firmware port.
7144
7145 * boot/mips/yeeloong/fwstart.S: New file.
7146 * bus/cs5536.c (gpiodump): New const.
7147 (set_io_space): New function.
7148 (set_iod): Likewise.
7149 (set_p2d): Likewise.
7150 (grub_cs5536_init_geode): Likewise.
7151 * commands/mips/yeeloong/lsspd.c: New file.
7152 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7153 (serial_mod_SOURCES): New variable.
7154 (serial_mod_CFLAGS): Likewise.
7155 (serial_mod_LDFLAGS): Likewise.
7156 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7157 term/terminfo.c and term/tparm.c.
7158 (pkglib_IMAGES): Add fwstart.img.
7159 (fwstart_img_SOURCES): New variable.
7160 (fwstart_img_CFLAGS): Likewise.
7161 (fwstart_img_ASFLAGS): Likewise.
7162 (fwstart_img_LDFLAGS): Likewise.
7163 (fwstart_img_FORMAT): Likewise.
7164 (pkglib_MODULES): Add lsspd.mod.
7165 (lsspd_mod_SOURCES): New variable.
7166 (lsspd_mod_CFLAGS): Likewise.
7167 (lsspd_mod_LDFLAGS): Likewise.
7168 (pkglib_MODULES): Add halt.mod.
7169 (halt_mod_SOURCES): New variable.
7170 (halt_mod_CFLAGS): Likewise.
7171 (halt_mod_LDFLAGS): Likewise.
7172 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7173 (serial_mod_SOURCES): Removed.
7174 (serial_mod_CFLAGS): Likewise.
7175 (serial_mod_LDFLAGS): Likewise.
7176 * disk/ata.c (check_device): New function.
7177 (grub_ata_device_initialize): Use check_device.
7178 (grub_ata_iterate): Recheck devices.
7179 (grub_ata_open): Likewise.
7180 (grub_atapi_iterate): Likewise.
7181 (grub_atapi_open): Likewise.
7182 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7183 (GRUB_ATA_CH1_PORT1): Likewise.
7184 (GRUB_ATA_CH0_PORT2): Likewise.
7185 (GRUB_ATA_CH1_PORT2): Likewise.
7186 * include/grub/mips/loongson.h: New file.
7187 * include/grub/mips/yeeloong/ec.h: Likewise.
7188 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7189 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7190 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7191 * include/grub/misc.h (grub_halt): Declare as noreturn.
7192 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7193 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7194 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7195 (UART_ENABLE_DTRRTS): Likewise.
7196 (UART_ENABLE_MODEM): Removed.
7197 (UART_ENABLE_OUT2): New const.
7198 * include/grub/term.h (grub_term_register_input_active): New function.
7199 (grub_term_register_output_active): Likewise.
7200 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7201 argument.
7202 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7203 (init_pci): New function.
7204 (grub_machine_init): Execute platform init when firmware. Init serial.
7205 (grub_halt): Implement.
7206 (grub_exit): Likewise.
7207 (grub_reboot): Likewise.
7208 * term/serial.c (serial_hw_init): Update macros.
7209 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7210 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7211 (image_targets): New target mipsel-yeeloong-flash.
7212 (generate_image): Support IMAGE_YEELOONG_FLASH.
7213 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7214 (grub_video_sm712_setup): Init card.
7215 (grub_video_sm712_set_palette): Removed.
7216 * video/sm712_init.c: New file.
7217
7218 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
7219
7220 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7221 PATH when running help2man and then run it on the unadorned
7222 executable names, rather than passing $(builddir)/* paths to
7223 help2man. This avoids the build directory ending up in generated
7224 manual pages.
7225
7226 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7227
7228 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7229 to avoid accidents when debugging with 'sh -x'.
7230 * util/grub-mkrescue.in: Likewise.
7231 * util/grub.d/00_header.in: Likewise.
7232 * util/grub.d/10_hurd.in: Likewise.
7233 * util/grub.d/10_kfreebsd.in: Likewise.
7234 * util/grub.d/10_linux.in: Likewise.
7235 * util/grub.d/10_netbsd.in: Likewise.
7236 * util/grub.d/10_windows.in: Likewise.
7237 * util/grub.d/20_linux_xen.in: Likewise.
7238 * util/grub.d/30_os-prober.in: Likewise.
7239 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7240
7241 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7242
7243 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7244 last character in the buffer.
7245 Reported by: Vladimir Serbinenko.
7246
7247 2010-06-29 Robert Millan <rmh@gnu.org>
7248
7249 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7250 (Command-line and menu entry commands): Document `badram' command.
7251
7252 2010-06-28 Robert Millan <rmh@gnu.org>
7253
7254 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7255 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7256 command using ${GRUB_BADRAM} as parameter.
7257
7258 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7259
7260 * docs/grub.texi (Device map): New section.
7261 (Themes): New section (stub).
7262 * Makefile.in (docs/grub.info): The info documentation now builds
7263 without errors. Make sure it stays that way.
7264
7265 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Use normal parser for menu entries.
7268 Reported by: Thomas Frauendorfer
7269
7270 * include/grub/parser.h (grub_parser_execute): Don't export.
7271 * normal/menu.c (grub_menu_execute_entry_real): New function.
7272 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7273
7274 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7275
7276 * docs/grub.texi (Embedded configuration): New section (replacing
7277 old "Preset Menu" stub).
7278 (Images): New section.
7279 (configfile): Note that any menu entries defined in `file' are shown
7280 immediately.
7281
7282 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7283
7284 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7285
7286 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * util/grub-install.in: Add --debug-image= option.
7289
7290 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7291
7292 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7293 possible on Linux.
7294
7295 * util/deviceiter.c (check_device): Rename to ...
7296 (check_device_readable_unique): ... this. Update all callers.
7297 Maintain and check a list of which devices (by canonicalized name)
7298 have already been seen.
7299 (clear_seen_devices): New function.
7300 (compare_file_names) [__linux__]: New function.
7301 (grub_util_iterate_devices): Clear the list of seen devices on exit
7302 and (just in case) on entry.
7303 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7304 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7305 seen-devices list, superseded by general code in check_device.
7306
7307 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7308
7309 * commands/cat.c (options): New variable.
7310 (grub_cmd_cat): Parse options. If the --dos option is given, print
7311 DOS-style "\r\n" line endings as simple newlines (Debian bug
7312 #586358).
7313 (GRUB_MOD_INIT): Use extcmd.
7314 (GRUB_MOD_FINI): Likewise.
7315 * docs/grub.texi (cat): Document --dos.
7316
7317 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 XEN with Linux grub-mkconfig support.
7320
7321 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7322 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7323 GRUB_CMDLINE_XEN_DEFAULT.
7324 * util/grub.d/20_linux_xen.in: New file.
7325
7326 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Initialise VGA video on qemu ourselves.
7329
7330 * boot/i386/qemu/boot.S: Don't call 0xc000.
7331 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7332 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7333 (kernel_img_HEADERS): Add pci.h.
7334 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7335 * configure.ac: Force unifont on qemu and yeeloong.
7336 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7337 (grub_vga_palette_write): Use correct register.
7338 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7339 Call grub_qemu_init_cirrus.
7340 * kern/i386/qemu/init.c: New file.
7341 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7342
7343 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7344
7345 2010-06-26 Pavel Roskin <proski@gnu.org>
7346
7347 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7348 13.
7349
7350 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7351
7352 * docs/grub.texi (Simple configuration): Explain that
7353 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7354 set to `true' to disable their respective recovery entries, not
7355 merely set.
7356
7357 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7358
7359 Make the `source' command slightly faster.
7360
7361 * normal/main.c (grub_normal_execute): Don't re-read list files when
7362 nested.
7363
7364 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7365
7366 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7367 field position and mask size to red fields from mode_info, not
7368 green.
7369 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7370 Remove redundant tag->common.framebuffer_type assignment.
7371 Reported by: Seth Goldberg.
7372
7373 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7374
7375 Sync up other versions of the Linux loader with Robert Millan's
7376 change of 2010-01-09, "Make loader output a bit more user-friendly".
7377
7378 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7379 grub_dprintf().
7380 (grub_cmd_linux): Likewise.
7381 (grub_cmd_initrd): Likewise.
7382 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7383 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7384
7385 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7386
7387 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7388 larger than MEMORY_MAP_SIZE.
7389
7390 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7391
7392 Fix parallel build.
7393
7394 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7395 dependency.
7396 * script/parser.y: #include grub_script.tab.h header.
7397
7398 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 Support >3GiB and <16MiB RAM in i386-qemu.
7401
7402 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7403 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7404 (grub_lower_mem): Removed.
7405 (grub_upper_mem): Likewise.
7406 (mem_size): Made static.
7407 (above_4g): New variable.
7408 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7409 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7410 support.
7411
7412 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 Cirrus 5446 and Bochs video cards support.
7415
7416 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7417 video_bochs.mod
7418 (video_cirrus_mod_SOURCES): New variable.
7419 (video_cirrus_mod_CFLAGS): Likewise.
7420 (video_cirrus_mod_LDFLAGS): Likewise.
7421 (video_bochs_mod_SOURCES): Likewise.
7422 (video_bochs_mod_CFLAGS): Likewise.
7423 (video_bochs_mod_LDFLAGS): Likewise.
7424 * include/grub/vga.h: New file.
7425 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7426 (grub_video_fb_set_page_t): New type.
7427 (grub_video_fb_setup): New prototype.
7428 (grub_video_fb_swap_buffers): Likewise.
7429 (grub_video_fb_get_info_and_fini): Likewise.
7430 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7431 (CRTC_DATA_PORT): Likewise.
7432 (CRTC_CURSOR): Likewise.
7433 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7434 (CRTC_CURSOR_ADDR_LOW): Likewise.
7435 (CRTC_CURSOR_DISABLE): Likewise.
7436 (update_cursor): Use grub_vga_cr_write.
7437 (grub_vga_text_setcursor): Likewise.
7438 * video/bochs.c: New file.
7439 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7440 (palette): Likewise.
7441 (palette_size): Likewise.
7442 (framebuffer): New variable.
7443 (grub_video_fb_init): Use 'framebuffer'.
7444 (grub_video_fb_fini): Likewise.
7445 (grub_video_fb_get_info): Likewise.
7446 (grub_video_fb_get_palette): Likewise.
7447 (grub_video_fb_set_palette): Likewise.
7448 (grub_video_fb_set_viewport): Likewise.
7449 (grub_video_fb_get_viewport): Likewise.
7450 (grub_video_fb_map_color): Likewise.
7451 (grub_video_fb_map_rgb): Likewise.
7452 (grub_video_fb_map_rgba): Likewise.
7453 (grub_video_fb_unmap_color): Likewise.
7454 (grub_video_fb_unmap_color_int): Likewise.
7455 (grub_video_fb_fill_rect): Likewise.
7456 (grub_video_fb_blit_bitmap): Likewise.
7457 (grub_video_fb_blit_render_target): Likewise.
7458 (grub_video_fb_scroll): Likewise.
7459 (grub_video_fb_create_render_target): Likewise.
7460 (grub_video_fb_doublebuf_blit_init): Likewise.
7461 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7462 (doublebuf_pageflipping_update_screen): New function.
7463 (doublebuf_pageflipping_init): Likewise.
7464 (grub_video_fb_setup): Likewise.
7465 (grub_video_fb_swap_buffers): Likewise.
7466 (grub_video_fb_get_info_and_fini): Likewise.
7467 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7468 All users updated.
7469 (doublebuf_pageflipping_commit): Restructured into ...
7470 (doublebuf_pageflipping_set_page): ... this.
7471 (doublebuf_pageflipping_update_screen): Removed.
7472 (doublebuf_pageflipping_init): Likewise.
7473 (double_buffering_init): Likewise.
7474 (grub_video_vbe_setup): Use grub_video_fb_setup.
7475 (grub_video_vbe_swap_buffers): Removed.
7476 (grub_video_vbe_set_active_render_target): Likewise.
7477 (grub_video_vbe_get_active_render_target): Likewise.
7478 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7479 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7480 grub_video_fb_set_active_render_target and
7481 grub_video_fb_get_active_render_target.
7482 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7483 (SEQUENCER_DATA_PORT): Likewise.
7484 (MAP_MASK_REGISTER): Likewise.
7485 (CRTC_ADDR_PORT): Likewise.
7486 (CRTC_DATA_PORT): Likewise.
7487 (START_ADDR_HIGH_REGISTER): Likewise.
7488 (START_ADDR_LOW_REGISTER): Likewise.
7489 (GRAPHICS_ADDR_PORT): Likewise.
7490 (GRAPHICS_DATA_PORT): Likewise.
7491 (READ_MAP_REGISTER): Likewise.
7492 (INPUT_STATUS1_REGISTER): Likewise.
7493 (INPUT_STATUS1_VERTR_BIT): Likewise.
7494 (get_map_mask): Use grub_vga_sr_read.
7495 (set_map_mask): Use grub_vga_sr_write.
7496 (set_read_map): Use grub_vga_gr_write.
7497 (set_start_address): Use grub_vga_cr_write.
7498 * video/sm712.c (framebuffer): Remove leftover fields.
7499
7500 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7503 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7504 instead. Replace the gfxterm backend check with a check that
7505 ${GRUB_PREFIX}/video.lst is non-empty.
7506 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7507 again.
7508 (load_video): New generated function. Call it before loading
7509 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7510 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7511 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7512 * docs/grub.texi (Simple configuration): Document
7513 GRUB_VIDEO_BACKEND.
7514
7515 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Use video functions in linux and xnu loaders.
7518
7519 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7520 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7521 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7522 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7523 loader/i386/pc/linux.c.
7524 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7525 (find_line_len): Removed.
7526 (find_framebuf): Likewise.
7527 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7528 * loader/i386/efi/xnu.c: Removed.
7529 * loader/i386/pc/xnu.c: Moved from here...
7530 * loader/i386/xnu.c: ...here.
7531
7532 Enable priorities in video drivers.
7533
7534 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7535 (grub_video_adapter): New field prio.
7536 (grub_video_register): Respect prio when inserting.
7537 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7538 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7539 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7540 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7541 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7542 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7543 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7544
7545 Fix SDL driver ID.
7546
7547 * include/grub/video.h (grub_video_driver_id_t): New value
7548 GRUB_VIDEO_DRIVER_SDL.
7549 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7550
7551 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7552
7553 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7554 argument to printf.
7555 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7556
7557 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7558
7559 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7560 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7561
7562 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7563
7564 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7565 directly, and recommend grub-install instead.
7566 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7567
7568 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7569
7570 Fix i386-pc prefix handling with nested partitions (Debian bug
7571 #585068). Note that the case where the core image is booted using
7572 multiboot and relocated from its original location still requires
7573 more work.
7574
7575 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7576 with "(,", fill the boot drive in between those two characters, but
7577 expect that a full partition specification including partition map
7578 names will follow.
7579 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7580 specified, write a prefix without the drive name but including a
7581 full partition specification.
7582
7583 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7584
7585 * util/grub-mkconfig.in: Ignore non-option arguments, for
7586 compatibility with older versions (before 2010-06-12) which did the
7587 same. In particular, this makes it easier to ship an update-grub
7588 wrapper which is compatible with that used with GRUB Legacy (Debian
7589 bug #586056).
7590
7591 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7592
7593 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7594 for manual page generation.
7595
7596 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7597
7598 * po/POTFILES: Remove leftover commands/handler.c.
7599
7600 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7601
7602 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7603 left this script non-functional.
7604
7605 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7606
7607 * docs/man/grub-emu.h2m: New file.
7608
7609 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7610
7611 * docs/grub.texi (Commands): Document reduced command set in rescue
7612 mode.
7613 (cpuid): New section.
7614
7615 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7616
7617 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7618 new partition naming style.
7619 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7620
7621 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7622
7623 Add "-o grub.iso" like cmdline options support.
7624
7625 * util/grub-install.in: Improve cmdline option parsing.
7626 * util/grub-mkconfig.in: Likewise.
7627 * util/grub-mkrescue.in: Likewise.
7628 * util/grub-reboot.in: Likewise.
7629 * util/grub-set-default.in: Likewise.
7630 * util/i386/efi/grub-install.in: Likewise.
7631 * util/ieee1275/grub-install.in: Likewise.
7632 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7633
7634 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7635
7636 * .bzrignore: Ignore 41_custom.
7637
7638 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7639
7640 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7641
7642 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7643
7644 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7645 prototype declarations.
7646
7647 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7648 generating fs, partmap, and video lists.
7649 * include/grub/fs.h (grub_fs_register): Omit prototype if
7650 GRUB_LST_GENERATOR is defined.
7651 * include/grub/partition.h (grub_partition_map_register): Likewise.
7652 * include/grub/video.h (grub_video_register): Likewise.
7653
7654 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7655
7656 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7657
7658 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7659
7660 * util/grub-mkrescue.in: Support --xorriso argument.
7661
7662 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7665 Suggested by: Thomas Schmitt.
7666
7667 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7670 Suggested by: Thomas Schmitt.
7671
7672 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 custom.cfg support.
7675
7676 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7677 * util/grub.d/41_custom.in: New file.
7678
7679 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7680
7681 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7682 been merged back into normal.
7683
7684 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7685
7686 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7687 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7688
7689 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7690
7691 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7692 when generating manual pages.
7693 * docs/man/grub-bin2h.h2m: New file.
7694 * docs/man/grub-editenv.h2m: New file.
7695 * docs/man/grub-fstest.h2m: New file.
7696 * docs/man/grub-install.h2m: New file.
7697 * docs/man/grub-macho2img.h2m: New file.
7698 * docs/man/grub-mkconfig.h2m: New file.
7699 * docs/man/grub-mkdevicemap.h2m: New file.
7700 * docs/man/grub-mkfont.h2m: New file.
7701 * docs/man/grub-mkimage.h2m: New file.
7702 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7703 * docs/man/grub-mkrelpath.h2m: New file.
7704 * docs/man/grub-mkrescue.h2m: New file.
7705 * docs/man/grub-ofpathname.h2m: New file.
7706 * docs/man/grub-pe2elf.h2m: New file.
7707 * docs/man/grub-probe.h2m: New file.
7708 * docs/man/grub-reboot.h2m: New file.
7709 * docs/man/grub-script-check.h2m: New file.
7710 * docs/man/grub-set-default.h2m: New file.
7711 * docs/man/grub-setup.h2m: New file.
7712
7713 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 Use FOR_* macros instead of *_iterate whenever possible.
7716
7717 * commands/handler.c: Removed.
7718 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7719 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7720 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7721 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7722 (grub_probe_SOURCES): Remove kern/parser.c.
7723 (util/grub-script-check.c_DEPENDENCIES): Removed.
7724 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7725 and grub_script_check_init.c.
7726 (grub_script_check_init.lst): Removed.
7727 (grub_script_check_init.h): Likewise.
7728 (grub_script_check_init.c): Likewise.
7729 (pkglib_MODULES): Remove handler.mod and sh.mod.
7730 (handler_mod_SOURCES): Removed.
7731 (handler_mod_CFLAGS): Likewise.
7732 (handler_mod_LDFLAGS): Likewise.
7733 (normal_mod_SOURCES): Remove normal/handler.c.
7734 Add script/main.c, script/script.c, script/execute.c,
7735 script/function.c, script/lexer.c, grub_script.tab.c
7736 and grub_script.yy.c.
7737 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7738 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7739 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7740 (grub_setup_SOURCES): Remove kern/parser.c.
7741 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7742 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7743 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7744 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7745 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7746 (grub_setup_SOURCES): Remove kern/parser.c.
7747 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7748 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7749 * include/grub/command.h (grub_command_iterate): Removed.
7750 (FOR_COMMANDS): New macro.
7751 * include/grub/dl.h (grub_dl): New member next.
7752 (grub_dl_iterate): Removed.
7753 (grub_dl_head): New variable declaration.
7754 (FOR_DL_MODULES): New macro.
7755 * include/grub/fs.h: Include list.h.
7756 (grub_fs): Make next first element.
7757 (grub_fs_list): New variable declaration.
7758 (grub_fs_register): Make inline.
7759 (grub_fs_unregister): Likewise.
7760 (grub_fs_iterate): Removed.
7761 (FOR_FILESYSTEMS): New macro.
7762 * include/grub/handler.h: Removed.
7763 * include/grub/list.h (grub_list_hook_t): Removed.
7764 (grub_list_test_t): Likewise.
7765 (grub_list_pop): Likewise.
7766 (grub_list_iterate): Likewise.
7767 (grub_list_insert): Likewise.
7768 (FOR_LIST_ELEMENTS): New macro.
7769 * include/grub/parser.h (grub_parser_class): Removed.
7770 (grub_parser_register): Likewise.
7771 (grub_parser_unregister): Likewise.
7772 (grub_parser_get_current): Likewise.
7773 (grub_parser_set_current): Likewise.
7774 (grub_register_rescue_parser): Likewise.
7775 (grub_rescue_parse_line): New function.
7776 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7777 * include/grub/script_sh.h (grub_script_function_list): New variable
7778 declaration.
7779 (FOR_SCRIPT_FUNCTIONS): New macro.
7780 (grub_script_function_iterate): Removed.
7781 (grub_normal_parse_line): New prototype.
7782 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7783 (FOR_DISABLED_TERM_INPUTS): Likewise.
7784 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7785 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7786 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7787 element.
7788 (grub_video_register): Inline.
7789 (grub_video_unregister): Likewise.
7790 (grub_video_adapter_list): New variable declaration.
7791 (grub_video_iterate): Removed.
7792 (FOR_VIDEO_ADAPTERS): New macro.
7793 * kern/dl.c (grub_dl_list): Removed. All users updated.
7794 (grub_dl_iterate): Removed.
7795 * kern/fs.c (grub_fs_list): Make global.
7796 (grub_fs_register): Removed.
7797 (grub_fs_unregister): Likewise.
7798 (grub_fs_iterate): Likewise.
7799 * kern/handler.c: Removed.
7800 * kern/list.c (grub_list_pop): Removed.
7801 (grub_list_iterate): Likewise.
7802 (grub_list_insert): Likewise.
7803 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7804 (grub_prio_list_insert): Don't use grub_list_insert.
7805 * kern/main.c (grub_register_rescue_parser): Don't call
7806 grub_register_rescue_parser.
7807 * kern/parser.c (grub_parser_class): Removed.
7808 (grub_parser_execute): Use grub_rescue_parse_line.
7809 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7810 (grub_rescue_parser): Removed.
7811 (grub_register_rescue_parser): Likewise.
7812 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7813 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7814 (grub_auth_check_authentication): Likewise.
7815 * normal/completion.c (iterate_command): Removed.
7816 (grub_normal_do_completion): Use FOR_COMMANDS.
7817 * normal/handler.c: Removed.
7818 * normal/main.c (read_config_file): Remove parser changing.
7819 (grub_normal_execute): Don't call read_handler_list.
7820 (grub_normal_read_line_real): Statically allocate prompt.
7821 (grub_cmdline_run): Use grub_normal_parse_line.
7822 (GRUB_MOD_FINI): Don't call free_handler_list.
7823 * normal/menu_entry.c (run): Likewise.
7824 * script/function.c (grub_script_function_list): Make global.
7825 (grub_script_function_iterate): Removed.
7826 * script/main.c (grub_normal_parse_line): Make global.
7827 (grub_sh_parser): Removed.
7828 (GRUB_MOD_INIT): Likewise.
7829 (GRUB_MOD_FINI): Likewise.
7830 * tests/lib/functional_test.c (grub_functional_test): Use
7831 FOR_LIST_ELEMENTS.
7832 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7833 (grub_test_run): Use FOR_LIST_ELEMENTS.
7834 * tests/lib/unit_test.c (main): Likewise.
7835 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7836 grub_list_pop.
7837 * util/grub-fstest.c (grub_term_input_class): Removed.
7838 (grub_term_output_class): Likewise.
7839 * util/grub-probe.c: Likewise.
7840 * util/i386/pc/grub-setup.c: Likewise.
7841 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7842 * util/grub-script-check.c (main): Don't call grub_init_all and
7843 grub_fini_all.
7844 * video/video.c (grub_video_adapter_list): Make global.
7845 (grub_video_register): Removed.
7846 (grub_video_unregister): Likewise.
7847 (grub_video_iterate): Likewise.
7848
7849 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7852 reported by Henrique Ferreiro.
7853
7854 2010-06-09 Robert Millan <rmh@gnu.org>
7855
7856 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7857 ones, when both are available.
7858
7859 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7860
7861 Make --version uniform and avoid hard-coded program name.
7862
7863 * util/grub-mkimage.c (main): Use `program_name' instead of
7864 hard-coded string.
7865 * util/i386/pc/grub-setup.c (main): Likewise.
7866 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7867 * util/grub-install.in: Save the basename of $0 in $self, and use the
7868 latter in informational messages. Use the same format for --version
7869 as the binary programs.
7870 * util/grub-mkconfig.in: Likewise.
7871 * util/grub-mkrescue.in: Likewise.
7872 * util/grub-reboot.in: Likewise.
7873 * util/grub-set-default.in: Likewise.
7874 * util/i386/efi/grub-install.in: Likewise.
7875 * util/ieee1275/grub-install.in: Likewise.
7876 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7877
7878 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7879
7880 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7881 embedding area. Use <= instead of == when checking for non-emptiness.
7882
7883 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7884
7885 * configure.ac: Add `.' to the directories searched for unifont.
7886
7887 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7888
7889 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7890 grub_script.yy.h.
7891
7892 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7893
7894 * docs/grub.texi (History): Expand to cover GRUB 2.
7895 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7896 commands, not `terminal'.
7897 (serial): Likewise.
7898 (terminal_input): New section.
7899 (terminal_output): New section.
7900 (uppermem): New section (stub).
7901 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7902
7903 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7904
7905 * docs/grub.texi (Security): Menu entries are unrestricted by
7906 default, not restricted to superusers as I had previously thought.
7907 Reword to account for this.
7908
7909 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7910
7911 * kern/emu/misc.c (device_mapper_null_log): New function.
7912 (grub_device_mapper_supported): New function.
7913 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7914 prototype.
7915 * kern/emu/hostdisk.c (find_partition_start): Check whether
7916 device-mapper is supported before trying to use it.
7917 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7918
7919 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7920
7921 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7922 (File name syntax): Likewise.
7923 (help): --all is no longer supported in GRUB 2. Be more precise
7924 about pattern matching.
7925
7926 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7927
7928 * normal/completion.c (grub_normal_do_completion): When completing
7929 arguments to "set" and the current word contains an equals sign,
7930 skip to after the equals sign before starting completion.
7931
7932 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7935
7936 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7937
7938 * docs/grub.texi (Network): New section.
7939 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7940 `(nd)' as in GRUB Legacy.
7941 (pxe_unload): New section.
7942
7943 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7944
7945 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7946 in the rescue shell, so recommend using `set' instead. Thanks,
7947 Jordan Uggla.
7948
7949 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7950
7951 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7952 (password): New section.
7953 (password_pbkdf2): New section.
7954 (search): New section.
7955 (Security): New section.
7956 (Troubleshooting): New section, currently very incomplete.
7957 (Invoking grub-mkpasswd-pbkdf2): New section.
7958 (Internals): New section, currently very incomplete.
7959
7960 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7961
7962 * util/grub.d/00_header.in: Add some more quoting (of
7963 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7964 work again.
7965 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7966
7967 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7968
7969 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7970 to `count', fixing variable shadowing that broke the -c option.
7971
7972 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7973
7974 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7975 in case they contain spaces.
7976
7977 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7980 "part_" to partmap module names, in line with grub-install.
7981 Reported by: Jindřich Makovička (Debian bug #584426).
7982
7983 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7984
7985 * util/grub-mkimage.c: Make target-related error messages slightly
7986 more helpful; -O talks about "format". Explicitly point to the use
7987 of -O if no target is specified.
7988 Reported by: Didier Raboud (Debian bug #584415).
7989
7990 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7991
7992 * INSTALL: Document several build requirements for optional features
7993 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7994
7995 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7996
7997 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7998 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7999 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
8000
8001 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8002
8003 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
8004 Thanks to Jordan Uggla for spotting this.
8005
8006 2010-06-02 Aleš Nesrsta <starous@volny.cz>
8007
8008 Finally make USB usable.
8009
8010 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
8011 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
8012 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
8013 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
8014 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
8015 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
8016 (GRUB_OHCI_FSMPS): Likewise.
8017 (GRUB_OHCI_PERIODIC_START): Likewise.
8018 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
8019 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
8020 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
8021 (GRUB_OHCI_SET_PORT_RESET): Likewise.
8022 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
8023 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
8024 (grub_ohci_transaction): Likewise.
8025 (grub_ohci_transfer): Improve condition detection algorithms.
8026 Handle toggle property. Program the transactions correctly.
8027 Improve error handling. Various important fixups.
8028 (grub_ohci_portstatus): Put register writes in right order.
8029 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
8030 (grub_uhci_transfer): Don't show "failed" message on success.
8031 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
8032 array.
8033 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
8034 determine its size.
8035 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
8036 before initialization is completed. Use IN direction for empty
8037 transfers. Use last_trans and compute toggle.
8038 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
8039 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
8040 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
8041 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
8042 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
8043 (grub_usb_device): Increase toggle to 256.
8044 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8045 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8046 GRUB_USBMS_SUBCLASS_SFF8070.
8047 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8048 (grub_scsi_inquiry): New member page and alloc_length.
8049 (grub_scsi_request_sense): New structure.
8050 (grub_scsi_request_sense_data): Likewise.
8051 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8052 control.
8053 * disk/scsi.c (grub_scsi_request_sense): New function.
8054 (grub_scsi_test_unit_ready): Likewise.
8055 (grub_scsi_inquiry): Fill new fields.
8056 (grub_scsi_read_capacity): Likewise.
8057 (grub_scsi_read10): Add request sense at the end.
8058 (grub_scsi_read12): Likewise.
8059 (grub_scsi_write10): Likewise.
8060 (grub_scsi_write12): Likewise.
8061 (grub_scsi_open): Add Test Unit Ready.
8062 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8063 Support additional subclasses. Con't clear halt yet. Activate the
8064 proper config. Calculate LUNs correctly.
8065 (grub_usbms_transfer): Various important fixups.
8066
8067 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8070 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8071 (grub_ohci_fini_hw): New function.
8072 (grub_ohci_restore_hw): Likewise.
8073 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8074 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8075 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8076
8077 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 Dedicated DMA allocations.
8080
8081 * bus/pci.c (grub_memalign_dma32): New function
8082 (grub_dma_free): Likewise.
8083 (grub_dma_get_virt): Likewise.
8084 (grub_dma_get_phys): Likewise.
8085 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8086 (grub_ohci_pci_iter): Use dma32_alloc.
8087 (grub_ohci_transfer): Likewise.
8088 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8089 (grub_usb_bulk_readwrite): Likewise.
8090 * include/grub/pci.h: Add declarations.
8091
8092 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 CS5536 support.
8095
8096 * bus/cs5536.c: New file.
8097 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8098 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8099 (cs5536_mod_SOURCES): New variable.
8100 (cs5536_mod_CFLAGS): Likewise.
8101 (cs5536_mod_LDFLAGS): Likewise.
8102 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8103 machine/pci.h.
8104 (kernel_img_SOURCES): Add bus/cs5536.c.
8105 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8106 usb_keyboard.mod.
8107 (usb_mod_SOURCES): New variable.
8108 (usb_mod_CFLAGS): New variable.
8109 (usb_mod_LDFLAGS): New variable.
8110 (usbtest_mod_SOURCES): New variable.
8111 (usbtest_mod_CFLAGS): New variable.
8112 (usbtest_mod_LDFLAGS): New variable.
8113 (ohci_mod_SOURCES): New variable.
8114 (ohci_mod_CFLAGS): New variable.
8115 (ohci_mod_LDFLAGS): New variable.
8116 (usbms_mod_SOURCES): New variable.
8117 (usbms_mod_CFLAGS): New variable.
8118 (usbms_mod_LDFLAGS): New variable.
8119 (usb_keyboard_mod_SOURCES): New variable.
8120 (usb_keyboard_mod_CFLAGS): New variable.
8121 (usb_keyboard_mod_LDFLAGS): New variable.
8122 * include/grub/smbus.h: New file.
8123 * include/grub/cs5536.h: New file.
8124
8125 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8126
8127 * util/grub.d/00_header.in: Add safety check to make sure that
8128 ${locale_dir} exists before trying to probe it.
8129
8130 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8131
8132 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8133 per the GNU Coding Standards; this is now too obscure to be worth
8134 documenting.
8135 (QNX): Likewise.
8136 (chainloader): Remove cross-reference to `SCO UnixWare'.
8137
8138 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8139
8140 * docs/grub.texi (Chain-loading): New section.
8141 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8142 adjusted for GRUB 2.
8143 (SCO UnixWare): Likewise.
8144 (QNX): Likewise.
8145 (chainloader): Add reference to `Block list syntax'.
8146 (drivemap): New section.
8147 (parttool): New section.
8148
8149 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8150
8151 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8152 the grub shell'.
8153 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8154 (Installing GRUB using grub-install): Remove reference to the grub
8155 shell; mention `grub-mkimage' and `grub-setup' instead.
8156 (Invoking grub-install): Likewise.
8157 (Interface): Add reference to `Menu entry editor'.
8158 (serial): Remove `--device' option.
8159
8160 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8161
8162 * docs/grub.texi (Configuration): New section, documenting
8163 configuration file generation using grub-mkconfig. I've left a slot
8164 for documenting the full shell scripting format but have not yet
8165 started on writing that up.
8166 (Invoking grub-mkconfig): New section.
8167
8168 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8169
8170 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8171 (GNU GRUB manual): Likewise.
8172 (General commands): Update description of `terminfo' for GRUB 2.
8173
8174 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8175
8176 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8177 (GRUB_MOD_INIT): Fix capitalisation.
8178 * docs/grub.texi (Command-line and menu entry commands): Document
8179 gettext and gptsync commands.
8180
8181 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8184 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8185
8186 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
8187
8188 Add btrfs probing support, currently only in the single-device case.
8189
8190 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8191 function.
8192 (grub_guess_root_device): Call find_root_device_from_mountinfo
8193 before looking in /dev.
8194
8195 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8198 GRUB_DISK_SIZE_UNKNOWN.
8199 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8200
8201 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
8202
8203 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8204 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8205 corrupted or not synced properly.
8206
8207 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8210 Reported by: Seth Goldberg.
8211
8212 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8215 addition of dest.
8216 Reported by: Seth Goldberg.
8217
8218 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8221 Reported by: Seth Goldberg.
8222
8223 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8226 64-bit address as signed on MIPS.
8227
8228 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8229
8230 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8231 to the empty string.
8232
8233 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8234
8235 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8236
8237 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8238 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8239 * kern/misc.c (__enable_execute_stack): Disable on
8240 GRUB_MACHINE_EMU.
8241
8242 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8243
8244 Make grub-probe work with symbolic links under /dev/mapper as well
8245 as with real block devices. The Linux world seems to be (at best)
8246 in transition here, and GRUB shouldn't get caught in the middle.
8247
8248 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8249 /dev/mapper.
8250
8251 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8252
8253 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8254 input files (in which case exit zero).
8255
8256 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8257
8258 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8259 return NULL for various reasons even if it has a maximum-length
8260 buffer: for example, there might be a symlink loop, or the path
8261 might exceed PATH_MAX. If this happens, return NULL.
8262
8263 2010-05-27 Robert Millan <rmh@gnu.org>
8264
8265 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8266 partmap module to handle cross-partmap setups.
8267 Reported by Orestes Mas. Gràcies!
8268
8269 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8270
8271 * util/grub-mkrescue.in: Initialise override_dir rather than
8272 assuming that it's unset or empty in the environment.
8273
8274 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8275
8276 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8277 variable index into p_index to suppress a warning with -Wshadow.
8278
8279 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8280
8281 * INSTALL: Added flex >= 2.5.35 requirement.
8282
8283 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8286
8287 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 cmostest support.
8290
8291 * commands/i386/cmostest.c: New file.
8292 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8293 (cmostest_mod_SOURCES): New variable.
8294 (cmostest_mod_CFLAGS): Likewise.
8295 (cmostest_mod_LDFLAGS): Likewise.
8296 * conf/i386-pc.rmk: Likewise.
8297 * docs/grub.texi (Vendor power-on keys): New section.
8298 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8299 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8300 and GRUB_BUTTON_CMOS_ADDRESS.
8301 * util/grub.d/00_header.in: Handle powering-on by separate button.
8302
8303 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8306 Removed drawing_scrollbar argument. All users updated
8307 Fixes #29792.
8308 Reported by Jo Shields
8309
8310 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8313 buffer since gfxterm handles double repaint.
8314
8315 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8318 * term/gfxterm.c (real_scroll): Likewise.
8319
8320 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8323 before calling BIOS.
8324
8325 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * include/grub/i18n.h: Always enable grub_gettext.
8328
8329 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8332 partition naming style.
8333
8334 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8335
8336 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8337 not the first option.
8338
8339 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8340
8341 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8342
8343 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8344
8345 * util/misc.c: Move inclusion of <limits.h> to ...
8346 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8347
8348 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8349
8350 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8351 Fix merge error in NetBSD code.
8352 (find_partition_start) [__NetBSD__]: Likewise.
8353
8354 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8355
8356 Fix grub-mkrescue usage unit testing.
8357
8358 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8359
8360 2010-05-18 Christian Franke <franke@computer.org>
8361
8362 * util/grub.d/10_windows.in: Use path names instead of
8363 drive letters to prevent warning from Cygwin 1.7.
8364 Add drivemap command to menuentry if needed.
8365
8366 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8367
8368 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8369 gnumach and gnumach.gz.
8370
8371 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * include/grub/i18n.h (gettext): Inline instead of using #define.
8374 (grub_gettext): Likewise.
8375 (_): Likewise.
8376
8377 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8380 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8381 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8382 (main): Add a slash after pkglibdirroot.
8383
8384 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * util/grub-install.in: Add missing "in" keyword.
8387
8388 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8391 Reported by: Seth Goldberg.
8392
8393 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8396
8397 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8398
8399 * configure.ac: Check for Linux device-mapper support.
8400
8401 * util/hostdisk.c (device_is_mapped): New function.
8402 (find_partition_start): New function, partly broken out from
8403 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8404 device-mapper support added.
8405 (linux_find_partition): Use find_partition_start.
8406 (convert_system_partition_to_system_disk): Add `st' argument.
8407 Support Linux /dev/mapper/* devices if device-mapper support is
8408 available; only DM-RAID devices are understood at present.
8409 (find_system_device): Add `st' argument. Pass it to
8410 convert_system_partition_to_system_disk.
8411 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8412 find_system_device and convert_system_partition_to_system_disk. Use
8413 find_partition_start.
8414
8415 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8416 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8417 * util/deviceiter.c [__linux__]: Define MINOR.
8418 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8419 * util/mkdevicemap.c (grub_putchar): New function.
8420 (grub_getkey): New function.
8421 (grub_refresh): New function.
8422 (main): Set debug=all if -v -v is used.
8423
8424 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8425
8426 Fix build with non-GNU libcs.
8427
8428 * util/misc.c (canonicalize_file_name): Move to ...
8429 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8430 grub_make_system_path_relative_to_its_root.
8431
8432 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8433
8434 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8435 we handle finding grub-mkimage. Default to finding grub-mkimage in
8436 ${bindir} with program_transform_name applied, and provide a
8437 --grub-mkimage option to override this.
8438
8439 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Remove grub-mkisofs.
8442
8443 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8444 (grub_mkisofs_SOURCES): Removed.
8445 (grub_mkisofs_CFLAGS): Removed.
8446 * util/mkisofs/defaults.h: Removed.
8447 * util/mkisofs/eltorito.c: Likewise.
8448 * util/mkisofs/exclude.h: Likewise.
8449 * util/mkisofs/hash.c: Likewise.
8450 * util/mkisofs/include/: Likewise.
8451 * util/mkisofs/include/fctldefs.h: Likewise.
8452 * util/mkisofs/include/mconfig.h: Likewise.
8453 * util/mkisofs/include/prototyp.h: Likewise.
8454 * util/mkisofs/include/statdefs.h: Likewise.
8455 * util/mkisofs/iso9660.h: Likewise.
8456 * util/mkisofs/joliet.c: Likewise.
8457 * util/mkisofs/match.c: Likewise.
8458 * util/mkisofs/match.h: Likewise.
8459 * util/mkisofs/mkisofs.c: Likewise.
8460 * util/mkisofs/mkisofs.h: Likewise.
8461 * util/mkisofs/msdos_partition.h: Likewise.
8462 * util/mkisofs/multi.c: Likewise.
8463 * util/mkisofs/name.c: Likewise.
8464 * util/mkisofs/rock.c: Likewise.
8465 * util/mkisofs/tree.c: Likewise.
8466 * util/mkisofs/write.c: Likewise.
8467
8468 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Unify grub-mkimage accross platforms.
8471
8472 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8473 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8474 (grub_mkelfimage_SOURCES): Removed.
8475 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8476 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8477 (bin_UTILITIES): Add grub-mkimage.
8478 (grub_mkimage_SOURCES): New variable.
8479 (kernel_img_HEADERS): Remove machine/kernel.h.
8480 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8481 (pkglib_PROGRAMS): Add kernel.img.
8482 (kernel_img_HEADERS): Add machine/kernel.h.
8483 (kernel_img_FORMAT): Removed.
8484 (bin_UTILITIES): Remove grub-mkimage.
8485 (grub_mkimage_SOURCES): Removed.
8486 (grub_mkimage_CFLAGS): Likewise.
8487 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8488 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8489 (pkglib_PROGRAMS): Add kernel.img.
8490 (bin_UTILITIES): Remove grub-mkimage.
8491 (grub_mkimage_SOURCES): Removed.
8492 (grub_mkimage_CFLAGS): Likewise.
8493 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8494 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8495 (pkglib_PROGRAMS): Add kernel.img.
8496 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8497 (pkglib_PROGRAMS): Add kernel.img.
8498 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8499 (grub_mkimage_SOURCES): Removed.
8500 (grub_mkimage_CFLAGS): Likewise.
8501 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8502 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8503 (pkglib_PROGRAMS): Add kernel.img.
8504 (bin_UTILITIES): Remove grub-mkimage.
8505 (grub_mkimage_SOURCES): Removed.
8506 (grub_mkimage_CFLAGS): Likewise.
8507 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8508 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8509 (grub_mkimage_SOURCES): Removed.
8510 (grub_mkimage_CFLAGS): Likewise.
8511 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8512 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8513 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8514 (grub_pe32_optional_header): ... this.
8515 (grub_pe64_optional_header): ... and this. All users updated.
8516 (GRUB_PE32_PE32_MAGIC): Split into ..
8517 (GRUB_PE32_PE32_MAGIC): .. this.
8518 (GRUB_PE32_PE64_MAGIC): .. and this.
8519 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8520 * include/grub/elf.h (PT_GNU_STACK): New definition.
8521 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8522 * include/grub/i386/efi/kernel.h: Likewise.
8523 * include/grub/i386/kernel.h: Likewise.
8524 * include/grub/i386/pc/kernel.h: Likewise.
8525 * include/grub/i386/qemu/boot.h: Likewise.
8526 * include/grub/mips/kernel.h: Likewise.
8527 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8528 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8529 * include/grub/powerpc/kernel.h: Likewise.
8530 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8531 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8532 * include/grub/sparc64/kernel.h: Likewise.
8533 * include/grub/x86_64/efi/kernel.h: Likewise.
8534 * include/grub/x86_64/kernel.h: Likewise.
8535 * include/grub/offsets.h: New file.
8536 * include/grub/kernel.h (grub_module_info): Split into ...
8537 (grub_module_info32): ... this.
8538 (grub_module_info64): ... and this.
8539 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8540 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8541 (grub_boot_blocklist): Moved from here ...
8542 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8543 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8544 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8545 * include/grub/types.h (grub_target_to_host16): Removed.
8546 (grub_target_to_host32): Likewise.
8547 (grub_target_to_host64): Likewise.
8548 (grub_host_to_target16): Likewise.
8549 (grub_host_to_target32): Likewise.
8550 (grub_host_to_target64): Likewise.
8551 (grub_host_to_target_addr): Likewise.
8552
8553 Support grub-mkrescue for efi, coreboot and qemu.
8554
8555 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8556 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8557 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8558 * util/grub-mkrawimage.c: Moved from here ...
8559 * util/grub-mkimage.c: ... here. All users updated.
8560 (ALIGN_ADDR): Use image_target.
8561 (TARGET_NO_FIELD): New const.
8562 (image_target_desc): New type.
8563 (image_targets): New array.
8564 (grub_target_to_host64): Use image_target.
8565 (grub_target_to_host32): Likewise.
8566 (grub_target_to_host16): Likewise.
8567 (grub_host_to_target64): Likewise.
8568 (grub_host_to_target32): Likewise.
8569 (grub_host_to_target16): Likewise.
8570 (grub_host_to_target_addr): Likewise.
8571 (generate_image): Handle multiimage.
8572 (main): Require -O parameter. All users updated.
8573 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8574 util/efi/grub-mkimage.c
8575 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8576 New option --rom-directory.
8577 Use xorriso.
8578 * util/i386/efi/grub-mkimage.c: Removed.
8579 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8580 (grub_target_to_host32): Likewise.
8581 (grub_target_to_host64): Likewise.
8582 (grub_host_to_target16): Likewise.
8583 (grub_host_to_target32): Likewise.
8584 (grub_host_to_target64): Likewise.
8585 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8586 (grub_target_to_host32): Likewise.
8587 (grub_target_to_host64): Likewise.
8588 (grub_host_to_target16): Likewise.
8589 (grub_host_to_target32): Likewise.
8590 (grub_host_to_target64): Likewise.
8591
8592 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8593
8594 Source tree is reorganized for emu build.
8595
8596 * include/grub/util/console.h: Move from here...
8597 * include/grub/emu/console.h: ...to here.
8598 * include/grub/util/getroot.h: Move from here...
8599 * include/grub/emu/getroot.h: ...to here.
8600 * include/grub/util/hostdisk.h: Move from here...
8601 * include/grub/emu/hostdisk.h: ...to here.
8602 * util/console.c: Move from here...
8603 * kern/emu/console.c: ...to here.
8604 * util/getroot.c: Move from here...
8605 * kern/emu/getroot.c: ...to here.
8606 * util/grub-emu.c: Move from here...
8607 * kern/emu/main.c: ...to here.
8608 * util/hostdisk.c: Move from here...
8609 * kern/emu/hostdisk.c: ...to here.
8610 * util/hostfs.c: Move from here...
8611 * kern/emu/hostfs.c: ...to here.
8612 * util/mm.c: Move from here...
8613 * kern/emu/mm.c: ...to here.
8614 * util/pci.c: Move from here...
8615 * bus/emu/pci.c: ...to here.
8616 * util/sdl.c: Move from here...
8617 * video/emu/sdl.c: ...to here.
8618 * util/time.c: Move from here...
8619 * kern/emu/time.c: ...to here.
8620 * util/usb.c: Move from here...
8621 * bus/usb/emu/usb.c: ...to here.
8622
8623 * include/grub/emu/misc.h: New header for grub-emu functions.
8624 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8625
8626 * conf/any-emu.rmk: Rule updates for above renames.
8627 * conf/common.rmk: Likewise.
8628 * conf/i386-pc.rmk: Likewise.
8629 * conf/i386-qemu.rmk: Likewise.
8630 * conf/mips.rmk: Likewise.
8631 * conf/sparc64-ieee1275.rmk: Likewise.
8632 * conf/x86-efi.rmk: Likewise.
8633
8634 * disk/lvm.h: #include updates for above renames.
8635 * util/grub-mkrelpath.c: Likewise.
8636 * util/grub-probe.c: Likewise.
8637 * util/i386/pc/grub-setup.c: Likewise.
8638 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8639 * kern/emu/console.c: Likewise.
8640 * kern/emu/getroot.c: Likewise.
8641 * kern/emu/hostdisk.c: Likewise.
8642 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8643
8644 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8645 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8646 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8647 * util/misc.c: Remove grub-emu functions.
8648
8649 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 Fix gfxmenu crash.
8652 Reported by: Thorsten Grützmacher.
8653
8654 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8655 timeout hook.
8656 (circprog_set_property): Register and unregister timeout hook.
8657 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8658 (label_destroy): Free template. and unregister hook.
8659 (label_set_state): New function.
8660 (label_set_property): Handle templates and hooks.
8661 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8662 timeout hook.
8663 (progress_bar_set_property): Register and unregister timeout hook.
8664 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8665 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8666 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8667 (update_timeout_visit): Removed.
8668 (update_timeouts): New function.
8669 (redraw_timeouts): Likewise.
8670 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8671 (grub_gfxmenu_clear_timeout): Likewise.
8672 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8673 (grub_gfxmenu_timeout_notify): Likewise.
8674 (grub_gfxmenu_timeout_notifications): New external variable.
8675 (grub_gfxmenu_timeout_register): New function.
8676 (grub_gfxmenu_timeout_unregister): Likewise.
8677
8678 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 Transform (broken) vga terminal into (working) vga video driver.
8681
8682 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8683 video/i386/pc/vga.c.
8684 * include/grub/video.h (grub_video_driver_id):
8685 Add GRUB_VIDEO_DRIVER_VGA.
8686 * term/i386/pc/vga.c: Renamed to ...
8687 * video/i386/pc/vga.c: ...this
8688 (DEBUG_VGA): Removed.
8689 (CHAR_WIDTH): Likewise.
8690 (CHAR_HEIGHT): Likewise.
8691 (TEXT_WIDTH): Likewise.
8692 (TEXT_HEIGHT): Likewise.
8693 (DEFAULT_FG_COLOR): Likewise.
8694 (DEFAULT_BG_COLOR): Likewise.
8695 (colored_char): Likewise.
8696 (xpos): Likewise.
8697 (ypos): Likewise.
8698 (cursor_state): Likewise.
8699 (fg_color): Likewise.
8700 (bg_color): Likewise.
8701 (text_buf): Likewise.
8702 (page): Likewise.
8703 (font): Likewise.
8704 (framebuffer): New variable.
8705 (set_read_map): Disabled.
8706 (setup): New variable.
8707 (is_target): Likewise.
8708 (grub_vga_mod_init): Likewise.
8709 (grub_vga_mod_fini): Likewise.
8710 (check_vga_mem): Likewise.
8711 (write_char): Likewise.
8712 (write_cursor): Likewise.
8713 (scroll_up): Likewise.
8714 (grub_vga_putchar): Likewise.
8715 (grub_vga_getcharwidth): Likewise.
8716 (grub_vga_getwh): Likewise.
8717 (grub_vga_getxy): Likewise.
8718 (grub_vga_gotoxy): Likewise.
8719 (grub_vga_cls): Likewise.
8720 (grub_vga_setcolorstate): Likewise.
8721 (grub_vga_setcursor): Likewise.
8722 (grub_video_vga_init): New function.
8723 (grub_video_vga_setup): Likewise.
8724 (grub_video_vga_fini): Likewise.
8725 (update_target): Likewise.
8726 (grub_video_vga_blit_bitmap): Likewise.
8727 (grub_video_vga_blit_render_target): Likewise.
8728 (grub_video_vga_set_active_render_target): Likewise.
8729 (grub_video_vga_get_active_render_target): Likewise.
8730 (grub_video_vga_swap_buffers): Likewise.
8731 (grub_video_vga_set_palette): Likewise.
8732 (grub_video_vga_get_info_and_fini): Likewise.
8733 (grub_vga_term): Removed.
8734 (grub_video_vga_adapter): New variable.
8735 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8736 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8737
8738 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * video/readers/jpeg.c: Indented.
8741
8742 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 Various jpeg cleanups.
8745
8746 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8747 (grub_jpeg_decode_quan_table): Use sizeof.
8748 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8749
8750 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8751
8752 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8753 tables. Ignore non-last ac bit.
8754 (grub_jpeg_decode_quan_table): Likewise.
8755
8756 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8759 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8760 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8761 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8762 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8763 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8764
8765 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8768 error.
8769
8770 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8773
8774 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8777 condition.
8778
8779 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8782 part.
8783
8784 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8787 pointers.
8788
8789 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8792
8793 2010-05-01 Christian Franke <franke@computer.org>
8794
8795 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8796 Remove broken Cygwin path conversion.
8797 * util/misc.c: [__CYGWIN__] Add include and define.
8798 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8799 for Cygwin 1.7.
8800 (make_system_path_relative_to_its_root): Simplify loop, replace early
8801 return by break.
8802 [__CYGWIN__] Add conversion to win32 path.
8803 Include "/" case in trailing slash removal.
8804
8805 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8808 Reported by: Seth Goldberg
8809
8810 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * commands/help.c (grub_cmd_help): Fix a typo.
8813 Reported by: Seth Goldberg
8814
8815 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8818 name and add N_.
8819 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8820 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8821 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8822 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8823 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8824 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8825 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8826 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8827 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8828 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8829 * normal/context.c (GRUB_MOD_INIT): Likewise.
8830 * normal/main.c (GRUB_MOD_INIT): Likewise.
8831 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8832 * term/serial.c (GRUB_MOD_INIT): Likewise.
8833 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8834
8835 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8838 extra == 0.
8839
8840 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * commands/iorw.c: New file.
8843 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8844 (iorw_mod_SOURCES): New variable.
8845 (iorw_mod_CFLAGS): Likewise.
8846 (iorw_mod_LDFLAGS): Likewise.
8847
8848 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Hotkey support
8851
8852 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8853 * normal/main.c (hotkey_aliases): New variable.
8854 (grub_normal_add_menu_entry): Parse "--hotkey".
8855 * normal/menu_text.c (run_menu): Handle hotkeys.
8856
8857 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * kern/i386/coreboot/init.c (grub_machine_init): Call
8860 grub_machine_mmap_init on qemu.
8861
8862 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * boot/i386/qemu/boot.S: Add a missing .code16.
8865
8866 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Use LBIO on coreboot.
8869
8870 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8871 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8872 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8873 New declaration.
8874 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8875 grub_machine_mmap_init on coreboot.
8876 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8877 GRUB_LINUXBIOS_MEMBER_LINK.
8878 (grub_machine_mmap_iterate): Fix declaration.
8879 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8880
8881 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Split coreboot and multiboot ports.
8884
8885 * conf/i386-multiboot.rmk: New file.
8886 * configure.ac: Add multiboot port.
8887 * include/grub/i386/multiboot/boot.h: New file.
8888 * include/grub/i386/multiboot/console.h: Likewise.
8889 * include/grub/i386/multiboot/init.h: Likewise.
8890 * include/grub/i386/multiboot/kernel.h: Likewise.
8891 * include/grub/i386/multiboot/loader.h: Likewise.
8892 * include/grub/i386/multiboot/memory.h: Likewise.
8893 * include/grub/i386/multiboot/serial.h: Likewise.
8894 * include/grub/i386/multiboot/time.h: Likewise.
8895 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8896 * loader/multiboot.c: Likewise.
8897 * loader/multiboot_mbi2.c: Likewise.
8898 * util/grub-mkrescue.in: Generate multiboot rescue.
8899
8900 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8903
8904 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 Merge handling of input and output terminals. Fix a hang.
8907
8908 * commands/terminal.c (abstract_terminal): New struct.
8909 (handle_command): New function. Based on grub_cmd_terminal_input.
8910 (grub_cmd_terminal_input): Use handle_command.
8911 (grub_cmd_terminal_output): Use handle_command.
8912
8913 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8914
8915 Fix comment handling.
8916
8917 * tests/grub_script_comments.in: New testcase.
8918 * conf/tests.rmk: Rules for new testcase.
8919 * script/yylex.l: Updated flex rules.
8920
8921 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8922
8923 * docs/grub.texi (play): Document that zero pitches produce rests.
8924 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8925 if argc is 1.
8926
8927 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8930 autogen issues.
8931
8932 2010-04-26 Christian Franke <franke@computer.org>
8933
8934 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8935 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8936 (grub_get_prefix): Remove function.
8937 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8938 make_system_path_relative_to_its_root ().
8939 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8940
8941 2010-04-24 Christian Franke <franke@computer.org>
8942
8943 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8944 (kernel_img_LDFLAGS): Remove -static-libgcc.
8945
8946 2010-04-24 Christian Franke <franke@computer.org>
8947
8948 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8949 and CHECK_END_SYMBOL if grub-emu is built.
8950 Unset TARGET_OBJ2ELF if grub-emu is built
8951 without module support.
8952
8953 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8954
8955 Nilfs2 support.
8956
8957 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8958 (grub_fstest_SOURCES): Likewise.
8959 (pkglib_MODULES): Add nilfs2.mod.
8960 (nilfs2_mod_SOURCES): New variable.
8961 (nilfs2_mod_CFLAGS): Likewise.
8962 (nilfs2_mod_LDFLAGS): Likewise.
8963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8964 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8965 * fs/nilfs2.c: New file.
8966
8967 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8970 is not supported.
8971
8972 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8973
8974 Add grub-mkconfig support for NetBSD.
8975
8976 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8977 * util/grub-mkconfig.in: export new NetBSD specific variables.
8978 * po/POTFILES-shell: added 10_netbsd.in.
8979 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8980
8981 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8982
8983 Fix emu build with grub-emu-pci and grub-emu-modules.
8984
8985 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8986 functions.
8987 * include/grub/libpciaccess.h: New file.
8988 * conf/any-emu.rmk: Update kernel headers for emu build.
8989
8990 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8993
8994 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8997
8998 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
9001 Retrieve chosen/bootpath if bootpath isn't hardcoded.
9002 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
9003 util/ieee1275/ofpath.c.
9004 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
9005 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
9006 * include/grub/sparc64/ieee1275/boot.h
9007 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
9008 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
9009 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
9010 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
9011 const char *.
9012 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
9013 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
9014 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
9015 install.
9016
9017 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9018
9019 * util/grub-mkconfig.in: Corrected two == equality tests.
9020 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
9021 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
9022 expect a number appended to it.
9023 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
9024 expects a number appended to it.
9025
9026 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
9029
9030 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * util/hostdisk.c (make_device_name): Change to new partition naming.
9033
9034 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
9037
9038 2010-04-17 Christian Franke <franke@computer.org>
9039
9040 * Makefile.in: Add missing localedir setting.
9041
9042 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
9043
9044 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9045 mistake in r2156. Noticed by Anthony Fok.
9046
9047 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9048 @localedir@.
9049 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9050
9051 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9052
9053 Fix a spurious, uninitialized variable warning.
9054
9055 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9056 Initialize variable, shdr.
9057 (grub_freebsd_load_elfmodule): Likewise.
9058 (grub_freebsd_load_elf_meta): Likewise.
9059
9060 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9061
9062 Fix for escaped dollar in double quoted strings.
9063
9064 * script/yylex.l: Updated flex rules.
9065 * conf/tests.rmk: Rule for new testcase.
9066 * tests/grub_script_dollar.in: New testcase.
9067
9068 2010-04-13 Carles Pina i Estany <carles@pina.cat>
9069 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
9070
9071 Enclose all translated strings in grub.cfg in single quotes, and
9072 escape them appropriately (Ubuntu bug #552921).
9073
9074 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9075 * util/grub.d/10_hurd.in: Use it.
9076 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9077 * util/grub.d/10_linux.in (linux_entry): Likewise.
9078
9079 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 Fix cygwin compilation.
9082
9083 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9084 * include/grub/misc.h (__register_frame_info)
9085 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9086 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9087 * kern/misc.c (__register_frame_info)
9088 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9089 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9090
9091 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9094
9095 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 Unify libgcc processing.
9098
9099 * Makefile.in (kernel_img_LDFLAGS): New variable.
9100 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9101 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9102 overwriting.
9103 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9104 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9105 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9106 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9107 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9108 overwriting. Remove -lgcc and -static-libgcc
9109 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9110 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9111 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9112 (kernel_img_LDFLAGS): Append instead of overwriting.
9113 Remove -lgcc and -static-libgcc
9114 * conf/sparc64-ieee1275.rmk: Likewise.
9115 * include/grub/powerpc/libgcc.h: Move to ...
9116 * include/grub/libgcc.h: .. this.
9117 * include/grub/libgcc.h: Don't export most of the function on x86.
9118 (__bswapsi2): New export.
9119 (__bswapdi2): Likewise.
9120 * include/grub/mips/libgcc.h: Removed.
9121 * include/grub/sparc64/libgcc.h: Likewise.
9122
9123 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9126 disk_info_msg (conflicts with gettexting into languages with cases).
9127
9128 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9129
9130 Add grub-probe support for NetBSD.
9131
9132 * util/getroot.c (find_root_device): Convert block device to
9133 character device on NetBSD.
9134 * util/probe.c (probe): Require character device on NetBSD.
9135 * util/hostdisk.c: NetBSD specific headers.
9136 (configure_device_driver): new function to tune device driver
9137 parameters (currently only for NetBSD floppy driver).
9138 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9139 via disklabel ioctl).
9140 (open_device): call configure_device_driver on NetBSD.
9141 (convert_system_partition_to_system_disk): NetBSD specific code.
9142 (device_is_wholedisk): Likewise.
9143 (grub_util_biosdisk_get_grub_dev): Likewise.
9144 (make_device_name): Fixed a typo in bsd_part_str.
9145 * configure.ac: check for opendisk() and getrawpartition() on
9146 NetBSD and set LIBUTIL.
9147 * Makefile.in: add LIBUTIL to LIBS.
9148
9149 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9150
9151 Documentation fix.
9152
9153 * util/grub-script-check.c: Better help message.
9154
9155 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9156
9157 Fix FreeBSD build.
9158
9159 * configure.ac: Flex version check.
9160 * conf/common.rmk: Add -Wno-error to sh.mod.
9161 * script/yylex.l: Remove all #pragma.
9162
9163 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9166 prototype.
9167 Reported by: Seth Goldberg.
9168
9169 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9172 Rename "module" to "module2".
9173 Reported by: Seth Goldberg.
9174
9175 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9178 EXPORT_FUNC.
9179 Reported by: Seth Goldberg.
9180
9181 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * lib/posix_wrap/locale.h: Add missing file.
9184 Reported by: Seth Goldberg.
9185
9186 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 grub-emu module load support.
9189
9190 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9191 NO_DYNAMIC_MODULES switched to this.
9192 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9193 (CFLAGS): Likewise.
9194 * conf/any-emu.rmk: Generate symlist.
9195 (kernel_img_HEADERS): Add util/datetime.h.
9196 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9197 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9198 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9199 kern/$(target_cpu)/cache.S.
9200 * configure.ac (grub-emu-modules): New option.
9201 * genmk.rb: Handle multiple source lists.
9202 * include/grub/sdl.h: New file.
9203 * include/grub/libusb.h: Likewise.
9204 * util/grub-emu.c (main): Hanle (host) root.
9205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9206 GRUB_ERR_UNKNOWN_DEVICE.
9207 * util/misc.c: Move mm functions to ...
9208 * util/mm.c: ... here. All users updated.
9209
9210 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9213 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9214 missing files.
9215 (maintainer-clean): Remove libgcrypt-grub.
9216
9217 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9220
9221 2010-04-09 EFI Coder <eficoder@hotmail.com>
9222
9223 * normal/menu_text.c (print_message): Clean up the message and show
9224 the Fn information when on EFI
9225 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9226
9227 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9230 All users updated.
9231 * normal/crypto.c (read_crypto_list): Likewise.
9232 * normal/dyncmd.c (read_command_list): Likewise.
9233 * normal/term.c (read_terminal_list): Likewise.
9234 * normal/main.c (read_lists): Use explicit prefix.
9235 (read_lists_hook): Use read_lists.
9236 (grub_normal_execute): Likewise.
9237
9238 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9241 Reported by: Thomas Schmitt.
9242 Add -no-emul-boot to grub-mkisofs parameters.
9243
9244 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * font/font.c: Indented.
9247
9248 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9249
9250 Elif support to GRUB script (by Deepak Vankadaru).
9251
9252 * tests/grub_script_if.in: New testcase.
9253 * conf/tests.rmk: Rule for new testcase.
9254 * script/parser.y: Grammar rules for elif.
9255
9256 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9257
9258 While and until loops support to GRUB script.
9259
9260 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9261 (grub_script_create_cmdwhile): New function prototype.
9262 (grub_script_execute_cmdwhile): New function prototype.
9263 * script/execute.c (grub_script_execute_cmdwhile): New function.
9264 * script/parser.y (command): New commands.
9265 (whilecmd): New grammar rule.
9266 (untilcmd): New grammar rule.
9267 * script/script.c (grub_script_create_cmdwhile): New function.
9268 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9269 function.
9270
9271 * tests/grub_script_while1.in: New testcase.
9272 * conf/tests.rmk: Rule for new testcase.
9273
9274 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9277 as *.jpg.
9278
9279 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9280
9281 GRUB_BACKGROUND support.
9282
9283 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9284 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9285
9286 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 Load fonts and modules for gfxmenu in grub-mkconfig.
9289 Idea by: Mario Vazquez
9290
9291 * util/grub.d/00_header.in: Load pf2 and image modules.
9292
9293 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 grub-mkconfig multiple terminal support.
9296
9297 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9298 * util/grub.d/00_header.in: Likewise.
9299
9300 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9303 we use cd $(srcdir).
9304
9305 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9306
9307 * util/grub.d/10_linux.in: Only use the first word of
9308 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9309 spaces in GRUB_DISTRIBUTOR.
9310 * util/grub.d/10_kfreebsd.in: Likewise.
9311 * util/grub.d/10_hurd.in: Likewise.
9312
9313 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9314
9315 Fix unit testing framework for Qemu 0.12.
9316
9317 * tests/util/grub-shell.in: Remove -serial stdio option.
9318
9319 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 POSIX header file wrappers.
9322
9323 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9324 equivalents.
9325 * lib/posix_wrap/ctype.h: Likewise.
9326 * lib/posix_wrap/errno.h: Likewise.
9327 * lib/posix_wrap/langinfo.h: Likewise.
9328 * lib/posix_wrap/limits.h: Likewise.
9329 * lib/posix_wrap/localcharset.h: Likewise.
9330 * lib/posix_wrap/stdint.h: Likewise.
9331 * lib/posix_wrap/stdio.h: Likewise.
9332 * lib/posix_wrap/stdlib.h: Likewise.
9333 * lib/posix_wrap/string.h: Likewise.
9334 * lib/posix_wrap/sys/types.h: Likewise.
9335 * lib/posix_wrap/unistd.h: Likewise.
9336 * lib/posix_wrap/wchar.h: Likewise.
9337 * lib/posix_wrap/wctype.h: Likewise.
9338 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9339 (grub_script.yy.h): Likewise.
9340 * script/yylex.l: Remove POSIX emulation #defines.
9341 * Makefile.in (POSIX_CFLAGS): New variable.
9342 (GNULIB_UTIL_CFLAGS): Likewise.
9343
9344 Regexp support.
9345
9346 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9347 (regexp_mod_SOURCES): New variable.
9348 (regexp_mod_CFLAGS): Likewise.
9349 (regexp_mod_LDFLAGS): Likewise.
9350 * commands/regexp.c: New file.
9351 * gnulib/regcomp.c: New file. Imported from gnulib.
9352 * gnulib/regex.c: Likewise.
9353 * gnulib/regex_internal.c: Likewise.
9354 * gnulib/regex_internal.h: Likewise.
9355 * gnulib/regexec.c: Likewise.
9356 * gnulib/regex.h: Likewise.
9357
9358 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9361 unsupported video mode types.
9362
9363 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9366
9367 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9370 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9371
9372 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Remove unused grub_vga_get_font.
9375
9376 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9377 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9378
9379 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9380
9381 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9382 * include/grub/misc.h: Likewise.
9383
9384 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9385
9386 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9387 for which failure is fatal.
9388
9389 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9390
9391 * util/grub-install.in: Use mkdir -p to create grub directory.
9392 * util/i386/efi/grub-install.in: Likewise.
9393 * util/ieee1275/grub-install.in: Likewise.
9394
9395 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9396
9397 * Makefile.in (LEX): new variable.
9398
9399 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9400
9401 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9402 `=' and added double quotes on operands of this equality test.
9403
9404 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * Makefile.in (uninstall): Remove a leftover debug echo.
9407 Reported by: Grégoire Sutre
9408
9409 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 MIPS multiboot2 support.
9412
9413 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9414 (multiboot2_mod_SOURCES): New variable.
9415 (multiboot2_mod_CFLAGS): Likewise.
9416 (multiboot2_mod_LDFLAGS): Likewise.
9417 (multiboot2_mod_ASFLAGS): Likewise.
9418 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9419 definition.
9420 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9421 (MULTIBOOT_MBI_REGISTER): Likewise.
9422 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9423 (MULTIBOOT_ELF32_MACHINE): Likewise.
9424 (MULTIBOOT_ELF64_MACHINE): Likewise.
9425 * include/grub/mips/multiboot.h: New file.
9426 * include/grub/video.h (grub_video_driver_id): New type
9427 GRUB_VIDEO_DRIVER_SM712.
9428 (grub_video_get_info_and_fini): Export.
9429 (grub_video_get_palette): Likewise.
9430 (grub_video_get_driver_id): Likewise.
9431 * include/multiboot2.h: Resynced with spec.
9432 * loader/i386/multiboot.c: Moved from here ...
9433 * loader/multiboot.c: ... here. All users updated.
9434 (grub_multiboot_boot): Use platform-specific macros.
9435 * loader/i386/multiboot_elfxx.c: Moved from here ...
9436 * loader/multiboot_elfxx.c: ... here. All users updated.
9437 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9438 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9439 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9440
9441 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 Import gnulib argp module.
9444
9445 * gnulib/argp-ba.c: New file.
9446 * gnulib/argp-eexst.c: Likewise.
9447 * gnulib/argp-fmtstream.c: Likewise.
9448 * gnulib/argp-fmtstream.h: Likewise.
9449 * gnulib/argp-fs-xinl.c: Likewise.
9450 * gnulib/argp-help.c: Likewise.
9451 * gnulib/argp-namefrob.h: Likewise.
9452 * gnulib/argp-parse.c: Likewise.
9453 * gnulib/argp-pin.c: Likewise.
9454 * gnulib/argp-pv.c: Likewise.
9455 * gnulib/argp-pvh.c: Likewise.
9456 * gnulib/argp-version-etc.c: Likewise.
9457 * gnulib/argp-version-etc.h: Likewise.
9458 * gnulib/argp-xinl.c: Likewise.
9459 * gnulib/argp.h: Likewise.
9460
9461 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * kern/device.c (grub_device_iterate): Clear errors after failed
9464 opening device.
9465
9466 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9469 returned by firmware.
9470
9471 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9474 compilation on coreboot and qemu
9475
9476 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * include/multiboot2.h: Resync with spec.
9479
9480 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 Multiboot2 tag support
9483
9484 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9485 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9486 Remove loader/multiboot_loader.c.
9487 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9488 (grub_multiboot2_real_boot): Likewise.
9489 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9490 (grub_get_multiboot_mmap_count): New proto.
9491 (grub_fill_multiboot_mmap): Likewise.
9492 (grub_multiboot_set_video_mode): Likewise.
9493 (grub_multiboot_set_console): Likewise.
9494 (grub_multiboot_load): Likewise.
9495 (grub_multiboot_load_elf): Likewise.
9496 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9497 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9498 * include/multiboot.h: Resynced with specification.
9499 * include/multiboot2.h: Resynced with specification.
9500 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9501 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9502 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9503 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9504 users updated.
9505 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9506 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9507 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9508 Removed.
9509 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9510 Moved from here...
9511 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9512 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9513 Moved from here...
9514 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9515 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9516 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9517 All users updated.
9518 * loader/i386/multiboot_mbi2.c: New file.
9519
9520 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Resync with gnulib.
9523
9524 * Makefile.in (GNULIB_CFLAGS): New variable.
9525 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9526 (grub_script_check_CFLAGS): New variable.
9527 * gnulib/alloca.h: Resync with gnulib.
9528 * gnulib/error.c: Likewise.
9529 * gnulib/error.h: Likewise.
9530 * gnulib/fnmatch.c: Likewise.
9531 * gnulib/fnmatch_loop.c: Likewise.
9532 * gnulib/getdelim.c: Likewise.
9533 * gnulib/getline.c: Likewise.
9534 * gnulib/getopt.c: Likewise.
9535 * gnulib/getopt1.c: Likewise.
9536 * gnulib/getopt_int.h: Likewise.
9537 * gnulib/gettext.h: Likewise.
9538 * gnulib/progname.c: Likewise.
9539 * gnulib/progname.h: Likewise.
9540
9541 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9542
9543 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9544 which is the case with --disabled-nls.
9545
9546 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9547 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9548 * util/misc.c: Likewise.
9549 * util/mkisofs/mkisofs.c: Likewise.
9550 * util/mkisofs/mkisofs.h: Likewise.
9551
9552 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 Simplify Apple CC support.
9555
9556 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9557 Add 0 byte at the end not to have a symbol with empty target.
9558 * mmap/i386/pc/mmap_helper.S: Likewise.
9559 * genmk.rb: Ignore errors 2030 and 2050.
9560 * kern/i386/pc/startup.S: Use LOCAL when possible.
9561
9562 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9563
9564 Testcase and the fix for final semicolon on cmdline.
9565
9566 * tests/grub_script_final_semicolon.in: New testcase.
9567 * conf/tests.rmk: Rules for the new testcase.
9568 * script/parser.y: Grammar fix.
9569
9570 2010-03-26 BVK Chaitanya <bvk@localhost>
9571
9572 Blank lines testcase for GRUB script.
9573
9574 * tests/grub_script_blanklines.in: New testcase.
9575 * conf/tests.rmk: Rules for the new testcase.
9576
9577 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Don't use __FILE__.
9580
9581 * genmk.rb: Add -DGRUB_FILE to all C targets.
9582 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9583 * include/grub/list.h: Likewise.
9584 * include/grub/misc.h: Likewise.
9585 * include/grub/mm.h: Likewise.
9586 * include/grub/test.h: Likewise.
9587 * kern/mm.c: Likewise.
9588 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9589
9590 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 Sunpc partitions support.
9593
9594 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9595 (grub_fstest_SOURCES): Likewise.
9596 (pkglib_MODULES): Add part_sunpc.mod.
9597 (part_sunpc_mod_SOURCES): New variable.
9598 (part_sunpc_mod_CFLAGS): Likewise.
9599 (part_sunpc_mod_LDFLAGS): Likewise.
9600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9601 * partmap/sunpc.c: New file.
9602
9603 2010-03-26 BVK Chaitanya <bvk@localhost>
9604
9605 For loop support to GRUB script.
9606
9607 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9608 (grub_script_create_cmdfor): New function prototype.
9609 (grub_script_execute_cmdfor): New function prototype.
9610 * script/execute.c (grub_script_execute_cmdfor): New function.
9611 * script/parser.y (command): New for command.
9612 (forcmd): New grammar rule.
9613 * script/script.c (grub_script_create_cmdfor): New function.
9614 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9615 function.
9616 * tests/grub_script_for1.in: New testcase.
9617 * conf/tests.rmk: Rules for new testcase.
9618
9619 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Nested partitions
9622
9623 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9624 'partition' is NULL, grub_partition_get_start already does that.
9625 * commands/loadenv.c (check_blocklists): Likewise.
9626 (write_blocklists): Likewise.
9627 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9628 (grub_fstest_SOURCES): Likewise.
9629 (pkglib_MODULES): Add part_bsd.mod.
9630 (part_bsd_mod_SOURCES): New variable.
9631 (part_bsd_mod_CFLAGS): Likewise.
9632 (part_bsd_mod_LDFLAGS): Likewise.
9633 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9634 (grub_emu_SOURCES): Likewise.
9635 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9636 * include/grub/bsdlabel.h: New file.
9637 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9638 'get_name'.
9639 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9640 (grub_partition_map_list): New variable.
9641 (grub_partition_map_register): Inline.
9642 (grub_partition_map_unregister): Likewise.
9643 (FOR_PARTITION_MAPS): New macro.
9644 (grub_partition_map_iterate): Removed.
9645 (grub_partition_get_start): Handle nested partitions.
9646 * include/grub/msdos_partition.h: Remove bsd-related entries.
9647 (grub_pc_partition): Remove.
9648 * kern/disk.c (grub_disk_close): Free partition data.
9649 (grub_disk_adjust_range): Handle nested partitions.
9650 * kern/partition.c (grub_partition_map_probe): New function.
9651 (grub_partition_probe): Parse name to number, handle subpartitions.
9652 (get_partmap): New function.
9653 (grub_partition_iterate): Handle subpartitions.
9654 (grub_partition_get_name): Likewise.
9655 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9656 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9657 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9658 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9659 Set 'number'.
9660 (acorn_partition_map_probe): Remove.
9661 (acorn_partition_map_get_name): Likewise.
9662 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9663 Set 'number'.
9664 Set 'index' to 0 since there can be only one partition entry per sector.
9665 (amiga_partition_map_probe): Remove.
9666 (amiga_partition_map_get_name): Likewise.
9667 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9668 Set 'number'.
9669 Set 'offset' and 'index' to real positions of partitions.
9670 (apple_partition_map_probe): Remove.
9671 (apple_partition_map_get_name): Likewise.
9672 * partmap/bsdlabel.c: New file.
9673 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9674 Set 'number'.
9675 Allocate 'data' so it can be correctly freed.
9676 Set 'index' to offset inside sector.
9677 (gpt_partition_map_probe): Remove.
9678 (gpt_partition_map_get_name): Likewise.
9679 * partmap/msdos.c (grub_partition_parse): Remove.
9680 (pc_partition_map_iterate): Don't force raw access.
9681 Set 'number'.
9682 Make 'ext_offset' a local variable.
9683 (pc_partition_map_probe): Remove.
9684 (pc_partition_map_get_name): Remove.
9685 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9686 Set 'number'.
9687 (sun_partition_map_probe): Remove.
9688 (sun_partition_map_get_name): Likewise.
9689 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9690 (grub_pcpart_type): Likewise.
9691 * util/hostdisk.c (open_device): Handle new numbering scheme.
9692 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9693 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9694 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9695 * util/grub-install.in: Insert all subpartition modules.
9696 * util/ieee1275/grub-install.in: Likewise.
9697
9698 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9699
9700 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9701 grammar.
9702
9703 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9704
9705 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9706
9707 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9708
9709 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9710 match where 'make install' puts them.
9711 * util/i386/efi/grub-install.in: Likewise.
9712
9713 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9714
9715 * .bzrignore: Add gentrigtables, grub-script-check,
9716 grub_script_check_init.c, grub_script_check_init.h, and
9717 trigtables.c.
9718
9719 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * kern/parser.c: Indented.
9722
9723 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9726
9727 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9730 alpha_mask_size == 0 case.
9731
9732 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9733
9734 GRUB shell lexer and parser improvements.
9735
9736 * conf/any-emu.rmk: Build rule updates.
9737 * conf/common.rmk: Likewise.
9738 * conf/i386-coreboot.rmk: Likewise.
9739 * conf/i386-efi.rmk: Likewise.
9740 * conf/i386-ieee1275.rmk: Likewise.
9741 * conf/i386-pc.rmk: Likewise.
9742 * conf/powerpc-ieee1275.rmk: Likewise.
9743 * conf/x86_64-efi.rmk: Likewise.
9744
9745 * configure.ac: Configure check for flex.
9746
9747 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9748 types.
9749 (grub_lexer_param): Struct member updates.
9750 (grub_parser_param): Likewise.
9751 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9752 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9753 (grub_script_lexer_init): Prototype update.
9754 (grub_script_lexer_record_start): Likewise.
9755 (grub_script_lexer_record_stop): Likewise.
9756 (grub_script_lexer_yywrap): New function prototype.
9757 (grub_script_lexer_fini): Likewise.
9758 (grub_script_execute_argument_to_string): Removed by...
9759 (grub_script_execute_argument_to_argv): ...better version.
9760
9761 * script/execute.c (ROUND_UPTO): New macro.
9762 (grub_script_execute_cmdline): Out of memory fixes.
9763 (grub_script_execute_menuentry): Likewise.
9764 (grub_script_execute_argument_to_string): Removed. Update all
9765 users by...
9766 (grub_script_execute_argument_to_argv): ...better version.
9767 * script/function.c (grub_script_function_create): Use
9768 grub_script_execute_argument_to_argv instead of
9769 grub_script_execute_argument_to_string.
9770
9771 * script/lexer.c (check_varstate): Removed.
9772 (check_textstate): Removed.
9773 (grub_script_lexer_record_start): Likewise.
9774 (grub_script_lexer_record_stop): Likewise.
9775 (recordchar): Replaced with...
9776 (grub_script_lexer_record): ...new function.
9777 (nextchar): Removed.
9778 (grub_script_lexer_init): Rewritten.
9779 (grub_script_yylex): Rewritten.
9780 (append_newline): New function.
9781 (grub_script_lexer_yywrap): New function.
9782 (grub_script_lexer_fini): New function.
9783 (grub_script_yyerror): Sets error flag.
9784
9785 * script/yylex.l: New file.
9786 (grub_lexer_yyfree): Wrapper for flex yyffre.
9787 (grub_lexer_yyalloc): Likewise.
9788 (grub_lexer_yyrealloc): Likewise.
9789 * script/parser.y: Refactored.
9790
9791 * script/script.c (grub_script_arg_add): Out of memory fixes.
9792 (grub_script_add_arglist): Likewise.
9793 (grub_script_create_cmdline): Likewise.
9794 (grub_script_create_cmdmenu): Likewise.
9795 (grub_script_add_cmd): Likewise.
9796 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9797 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9798 unnecessary code.
9799
9800 * tests/grub_script_echo1.in: New testcase.
9801 * tests/grub_script_vars1.in: New testcase.
9802 * tests/grub_script_echo_keywords.in: New testcase.
9803
9804 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Remove some redundancy in build system.
9807
9808 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9809 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9810 (TARGET_LDFLAGS): Add -nostdlib.
9811 (TARGET_IMG_LDFLAGS): Likewise.
9812 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9813 anything since mmap isn't available.
9814 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9815 Add util/time.c.
9816 (pkglib_MODULES): Remove reboot.mod.
9817 (reboot_mod_SOURCES): Removed.
9818 (reboot_mod_CFLAGS): Likewise.
9819 (reboot_mod_LDFLAGS): Likewise.
9820 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9821 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9822 (DEFSYMFILES): Add kernel_syms.lst.
9823 (kernel_img_HEADERS): Add common headers.
9824 (symlist.c): New target.
9825 (kernel_syms.lst): Likewise.
9826 (pkglib_MODULES): Add memdisk.mod.
9827 (memdisk_mod_SOURCES): New variable.
9828 (memdisk_mod_CFLAGS): Likewise.
9829 (memdisk_mod_LDFLAGS): Likewise.
9830 (pkglib_MODULES): Add reboot.mod.
9831 (reboot_mod_SOURCES): New variable.
9832 (reboot_mod_CFLAGS): Likewise.
9833 (reboot_mod_LDFLAGS): Likewise.
9834 (pkglib_MODULES): Add date.mod.
9835 (date_mod_SOURCES): New variable.
9836 (date_mod_CFLAGS): Likewise.
9837 (date_mod_LDFLAGS): Likewise.
9838 (pkglib_MODULES): Add datehook.mod.
9839 (datehook_mod_SOURCES): New variable.
9840 (datehook_mod_CFLAGS): Likewise.
9841 (datehook_mod_LDFLAGS): Likewise.
9842 (pkglib_MODULES): Add lsmmap.mod.
9843 (lsmmap_mod_SOURCES): New variable.
9844 (lsmmap_mod_CFLAGS): Likewise.
9845 (lsmmap_mod_LDFLAGS): Likewise.
9846 (pkglib_MODULES): Add boot.mod.
9847 (boot_mod_SOURCES): New variable.
9848 (boot_mod_CFLAGS): Likewise.
9849 (boot_mod_LDFLAGS): Likewise.
9850 * conf/i386-coreboot.rmk: Removed redundant parts.
9851 * conf/i386-ieee1275.rmk: Likewise.
9852 * conf/i386-pc.rmk: Likewise.
9853 * conf/mips-yeeloong.rmk: Likewise.
9854 * conf/mips.rmk: Likewise.
9855 * conf/powerpc-ieee1275.rmk: Likewise.
9856 * conf/sparc64-ieee1275.rmk: Likewise.
9857 * conf/x86_64-efi.rmk: Likewise.
9858 * conf/i386-coreboot.rmk: Moved qemu parts ..
9859 * conf/i386-qemu.rmk: ... here
9860 * conf/i386-efi.rmk: Moved common parts to...
9861 * conf/x86-efi.rmk: ... here.
9862 * conf/i386.rmk: Added modules common to all x86 variants.
9863 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9864 * disk/memdisk.c: Remove grub/machine/kernel.h.
9865 * gensymlist.sh.in: Include symbol.h.
9866 * hook/datehook.c: Correct module name.
9867 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9868 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9869 * include/grub/i386/efi/serial.h: New file.
9870 * include/grub/x86_64/efi/serial.h: Likewise.
9871 * util/time.c: Likewise.
9872 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9873
9874 2010-03-14 Colin King <colin.king@ubuntu.com>
9875 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9876
9877 Shrink the pre-partition-table part of boot.img by eight bytes.
9878
9879 * boot/i386/pc/boot.S (ERR): New macro.
9880 (chs_mode): Use ERR.
9881 (geometry_error): Likewise.
9882 (hd_probe_error): Remove. This is only used once, so we wrwite
9883 it inline instead.
9884 (read_error): Instead of printing read_error_string, just set up
9885 %si and fall through to ...
9886 (error_message): ... this new function, also used by ERR.
9887
9888 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9889
9890 Speed up consecutive hostdisk operations on the same device.
9891
9892 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9893 (grub_util_biosdisk_open): Initialise disk->data.
9894 (struct linux_partition_cache): New structure.
9895 (linux_find_partition): Cache partition start positions; these are
9896 expensive to compute on every read and write.
9897 (open_device): Cache open file descriptor in disk->data, so that we
9898 don't have to reopen it and flush the buffer cache for consecutive
9899 operations on the same device.
9900 (grub_util_biosdisk_close): New function.
9901 (grub_util_biosdisk_dev): Set `close' member.
9902
9903 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9904 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9905 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9906 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9907 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9908
9909 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Compile parts of grub-emu as modules.
9912
9913 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9914 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9915 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9916 (all-local): Add $(GRUB_EMU).
9917 (install-local): Install $(GRUB_EMU).
9918 (uninstall): Uninstall $(GRUB_EMU).
9919 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9920 * kern/dl.c: Likewise.
9921 * commands/sleep.c: Not include machine/time.h.
9922 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9923 (COMMON_CFLAGS): Likewise.
9924 (sbin_UTILITIES): Remove grub-emu.
9925 (grub_emu_SOURCES): Removed.
9926 (kernel_img_RELOCATABLE): New variable.
9927 (pkglib_PROGRAMS): Add kernel.img.
9928 (kernel_img_SOURCES): New variable
9929 (kernel_img_CFLAGS): Likewise.
9930 (kernel_img_LDFLAGS): Likewise.
9931 (TARGET_NO_STRIP): Likewise.
9932 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9933 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9934 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9935 (grub-emu): New target.
9936 (GRUB_EMU): New variable.
9937 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9938 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9939 * loader/xnu.c: Likewise.
9940 * include/grub/pci.h: Likewise.
9941 * genemuinit.sh: New file.
9942 * genemuinitheader.sh: Likewise.
9943 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9944 Support TARGET_NO_DYNAMIC_MODULES.
9945 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9946 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9947 * disk/loopback.c: Likewise.
9948 * font/font_cmd.c: Likewise.
9949 * partmap/acorn.c: Likewise.
9950 * partmap/amiga.c: Likewise.
9951 * partmap/apple.c: Likewise.
9952 * partmap/gpt.c: Likewise.
9953 * partmap/msdos.c: Likewise.
9954 * partmap/sun.c: Likewise.
9955 * parttool/msdospart.c: Likewise.
9956 * term/gfxterm.c: Likewise.
9957 * video/bitmap.c: Likewise.
9958 * video/readers/jpeg.c: Likewise.
9959 * video/readers/png.c: Likewise.
9960 * video/readers/tga.c: Likewise.
9961 * video/video.c: Likewise.
9962 * util/grub-emu.c (read_command_list): Removed.
9963 (main): Don't call util_init_nls.
9964 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9965 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9966
9967 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9970 date.mod, datehook.mod.
9971 (datetime_mod_SOURCES): New variable.
9972 (datetime_mod_CFLAGS): Likewise.
9973 (datetime_mod_LDFLAGS): Likewise.
9974 (date_mod_SOURCES): Likewise.
9975 (date_mod_CFLAGS): Likewise.
9976 (date_mod_LDFLAGS): Likewise.
9977 (datehook_mod_SOURCES): Likewise.
9978 (datehook_mod_CFLAGS): Likewise.
9979 (datehook_mod_LDFLAGS): Likewise.
9980 * conf/sparc64-ieee1275.rmk: Likewise.
9981 * lib/ieee1275/datetime.c: New file.
9982
9983 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9986 (ieee1275_fb_mod_SOURCES): New variable.
9987 (ieee1275_fb_mod_CFLAGS): Likewise.
9988 (ieee1275_fb_mod_LDFLAGS): Likewise.
9989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9990 New proto.
9991 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9992 (HEAP_MAX_ADDR): Likewise.
9993 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9994 type.
9995 Correct stop condition.
9996 (grub_ieee1275_devices_iterate): New function.
9997 * video/ieee1275.c: New file.
9998
9999 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
10002
10003 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
10004 as scratch.
10005 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
10006 SCRATCH_PAD_DISKBOOT as scratch.
10007 (bootit): Pass Openfirmware pointer in %o4.
10008 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
10009 of 0x200000.
10010 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
10011 with util/grub-mkrawimage.c.
10012 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
10013 * include/grub/aout.h (AOUT_MID_SUN): New definition.
10014 (grub_aout_get_type) [GRUB_UTIL]: Removed.
10015 (grub_aout_load) [GRUB_UTIL]: Likewise.
10016 * include/grub/kernel.h (grub_modules_get_end): New proto.
10017 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
10018 (SCRATCH_PAD_BOOT): New definition.
10019 (SCRATCH_PAD_DISKBOOT): Likewise.
10020 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
10021 * include/grub/sparc64/ieee1275/ieee1275.h
10022 (grub_ieee1275_original_stack): New variable
10023 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10024 New definition
10025 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
10026 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
10027 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
10028 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
10029 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
10030 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
10031 (grub_platform_image_format_t): New type.
10032 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
10033 * kern/main.c (grub_modules_get_end)
10034 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
10035 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
10036 (codestart): Switch stacks.
10037 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
10038 variable.
10039 (grub_heap_init): Use grub_modules_get_end.
10040 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
10041 stack.
10042 * util/grub-mkrawimage.c (generate_image): Support sparc64.
10043 (main): Likewise.
10044 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10045
10046 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
10047
10048 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10049
10050 2010-03-08 Matt Kraai <kraai@ftbfs.org>
10051
10052 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10053 bug #559005).
10054
10055 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * genmoddep.awk: Output all missing symbols and not only first.
10058
10059 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * NEWS: Put the date of 1.98 release.
10062
10063 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10066 ft2build.h.
10067
10068 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10071 completition in the middle of string.
10072
10073 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * util/grub-mkrescue.in: Use mktemp with explicit template.
10076
10077 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10080
10081 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10084 right pointer.
10085
10086 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 Fix FreeBSD compilation.
10089
10090 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10091 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10092
10093 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10096
10097 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10100
10101 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10104
10105 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10106
10107 Support relative image path in theme file.
10108
10109 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10110 (image_set_property): Handle theme_dir and relative path.
10111
10112 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * configure.ac: Alias amd64 to x86_64.
10115
10116 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * NEWS: mention multiboot on EFI.
10119
10120 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * kern/main.c (grub_load_modules): Handle errors from init functions of
10123 embeded modules.
10124
10125 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * normal/autofs.c (autoload_fs_module): Handle errors.
10128
10129 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 Disable linux.mod on qemu-mips since it's not functional and leads
10132 to compilation failure.
10133
10134 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10135 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10136 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10137 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10138 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10139 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10140 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10141 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10142 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10143 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10144 Reported by: BVK Chaitanya
10145
10146 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10147
10148 * INSTALL: Add gettext as a dependency and add qemu to a new section
10149 "Prerequisites for make-check".
10150
10151 2010-03-04 Christian Franke <franke@computer.org>
10152
10153 * util/grub-pe2elf.c: Add missing include "progname.h".
10154
10155 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * normal/crypto.c (read_crypto_list): Fix a typo.
10158 Reported by: Seth Goldberg.
10159
10160 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
10163 Reported by: Seth Goldberg.
10164
10165 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10168 ascii.bitmaps.
10169
10170 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * genmk.rb: Remove terminal*.lst in make clean.
10173 Reported by: Seth Goldberg.
10174
10175 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * util/i386/efi/grub-install.in: Copy gettext files.
10178
10179 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10182
10183 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 Wait for user entry basing on presence of output rather than on errors.
10186
10187 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10188 (grub_install_newline_hook): Likewise.
10189 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10190 * normal/menu.c (show_menu): Check line_counter to determine presence
10191 of output.
10192 * normal/term.c (grub_normal_line_counter): New variable.
10193 (grub_normal_get_line_counter): New function.
10194 (grub_install_newline_hook): Likewise.
10195
10196 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10199
10200 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * configure.ac: Update version to 1.98.
10203
10204 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * util/grub.d/10_linux.in (linux_entry): Don't default to
10207 gfxpayload=keep if Linux doesn't support video handover.
10208
10209 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 Don't compile video modules on yeeloong since video subsystem is part
10212 of kernel.
10213
10214 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10215 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10216 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10217 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10218 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10219 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10220 * include/grub/bitmap_scale.h: Likewise.
10221 * include/grub/bufio.h: Likewise.
10222 * include/grub/font.h: Likewise.
10223 * include/grub/gfxterm.h: Likewise.
10224 * include/grub/video.h: Likewise.
10225 * include/grub/vbe.h: Don't include video_fb.h.
10226 * video/i386/pc/vbe.c: Include video_fb.h.
10227 * commands/i386/pc/vbetest.c: Include video.h.
10228
10229 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10230
10231 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10232 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10233 default entry if GRUB_SAVEDEFAULT=true. This allows using
10234 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10235 saving a new default on every boot.
10236
10237 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10240 * normal/term.c (read_terminal_list): Likewise.
10241 * normal/main.c (grub_normal_init_page): Likewise.
10242 (grub_normal_read_line_real): Likewise.
10243
10244 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10247 memory leak.
10248 Reported by: Seth Goldberg.
10249
10250 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10251
10252 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10253 duplicate declaration of `start'.
10254
10255 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10258 filename.
10259 Reported by: Georgy Buranov
10260
10261 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10262
10263 * util/grub-mkrawimage.c (usage): Change string formatting to
10264 improve gettext.
10265
10266 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10267
10268 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10269 backspace keys.
10270
10271 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10274 Reported by: Michael Suchanek.
10275
10276 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10277
10278 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10279 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10280
10281 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Remove any reference to non-free fonts.
10284
10285 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10286 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10287 uses non-free components.
10288 * font/font.c (grub_font_get_name): Remove example name.
10289 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10290 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10291 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10292 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10293
10294 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10295
10296 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10297
10298 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10301 Double divisor.
10302 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10303 features.
10304 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10305
10306 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10309
10310 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10311
10312 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10313 * docs/grub.texi (Command-line and menu entry commands): Document play
10314 command.
10315
10316 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10317
10318 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10319 parse arguments as inline tempo and notes. Move code for playing notes
10320 to...
10321 (play): ... new function.
10322
10323 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10324
10325 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10326 grub_uint16_t instead of short.
10327 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10328 disk from little endian to cpu endianness.
10329
10330 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10331
10332 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10333 GRUB_TICKS_PER_SECOND instead of 120.
10334
10335 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10338 escape sequence after \e.
10339
10340 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10343 non-ASCII characters.
10344
10345 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10348 set root in single quotes to prevent \, from being unescaped.
10349
10350 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 Prevent unknown commands from stopping menuentry execution.
10353
10354 * script/execute.c (grub_script_execute_cmdline): Print error after
10355 unknown command.
10356
10357 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10360 Reported by: Pavel Pisa.
10361
10362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10365
10366 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Merge grub_ieee1275_map_physical into grub_map and rename to
10369 grub_ieee1275_map
10370
10371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10372 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10373 Remove.
10374 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10375 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10376 necessary.
10377 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10378
10379 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10382 opening and not after.
10383
10384 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10387 constants.
10388
10389 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10392 (alloc_phys): Use ALIGN_UP instead of align_addr.
10393
10394 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10397
10398 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10401
10402 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10405 verbose dprintf.
10406
10407 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 Fix over-4GiB seek on sparc64.
10410
10411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10412 Replace pos_i and pos_lo with pos. All users updated.
10413 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10414 New constant.
10415 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10416 Likewise.
10417 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10418 and pos_lo.
10419
10420 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * util/grub-mkrawimage.c (main): Call set_program_name.
10423
10424 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 Properly align 64-bit targets.
10427
10428 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10429 (generate_image): Use ALIGN_ADDR.
10430
10431 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 Properly create cross-endian images.
10434
10435 * include/grub/types.h (grub_host_to_target_addr): New macro
10436 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10437
10438 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10441
10442 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10445
10446 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10447 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10448 (grub_linux_boot): Divide by 64K when on VESA.
10449
10450 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 Support GRUB_GFXPAYLOAD_LINUX.
10453
10454 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10455 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10456
10457 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10460 to show messages instead of discarding them.
10461 Process errors after executing command and not before. Keep old method
10462 too as precaution.
10463
10464 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * configure.ac: Check for ft2build.h.
10467
10468 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10471
10472 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 * genkernsyms.sh.in: Use TARGET_CC.
10475
10476 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10477
10478 * NEWS: Update.
10479
10480 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * include/grub/multiboot2.h: Remove leftover file.
10483 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10484 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10485
10486 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10487
10488 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10489
10490 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Fix warnings in grub-emu when compiling with maximum warning options.
10493
10494 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10495 (grub_arch_modules_addr): Return 0 and not NULL.
10496 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10497 (xstrdup): Use newstr instead of dup.
10498 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10499 of disk to dsk to avoid shadowing.
10500 (find_free_slot): Fix prototype.
10501 * util/getroot.c (grub_util_is_dmraid): Make static.
10502 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10503 Add missing prototype.
10504 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10505
10506 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10509 appropriately.
10510
10511 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10514 code out.
10515
10516 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10519 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10520 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10521 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10522 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10523 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10524
10525 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * include/grub/err.h (grub_err_printf): Don't export.
10528
10529 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10532
10533 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10536 * kern/misc.c (grub_gettext_dummy): Make static.
10537
10538 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10541 by non-valid ones.
10542 * kern/term.c (grub_putchar): Likewise.
10543
10544 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10547 buggy hook call and memory leak.
10548
10549 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10552
10553 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10556
10557 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10560 modevar.
10561 Return grub_errno on allocation error.
10562
10563 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10566
10567 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10568
10569 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10570 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10571
10572 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10575 non-pxe disk.
10576 (grub_pxefs_open): Likewise.
10577
10578 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10579
10580 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10581 * util/grub.d/10_kfreebsd.in: Likewise.
10582 * util/grub.d/10_linux.in: Likewise.
10583
10584 2010-02-06 Colin D Bennett <colin@gibibit.com>
10585
10586 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10587 (gfxmenu_mod_SOURCES): New variable.
10588 (gfxmenu_mod_CFLAGS): Likewise.
10589 (gfxmenu_mod_LDFLAGS): Likewise.
10590 * include/grub/term.h (grub_term_set_current_output): Declare
10591 argument as const.
10592 * docs/gfxmenu-theme-example.txt: New file.
10593 * gfxmenu/gfxmenu.c: Likewise.
10594 * gfxmenu/gui_box.c: Likewise.
10595 * gfxmenu/gui_canvas.c: Likewise.
10596 * gfxmenu/gui_circular_progress.c: Likewise.
10597 * gfxmenu/gui_image.c: Likewise.
10598 * gfxmenu/gui_label.c: Likewise.
10599 * gfxmenu/gui_list.c: Likewise.
10600 * gfxmenu/gui_progress_bar.c: Likewise.
10601 * gfxmenu/gui_string_util.c: Likewise.
10602 * gfxmenu/gui_util.c: Likewise.
10603 * gfxmenu/icon_manager.c: Likewise.
10604 * gfxmenu/model.c: Likewise.
10605 * gfxmenu/named_colors.c: Likewise.
10606 * gfxmenu/theme_loader.c: Likewise.
10607 * gfxmenu/view.c: Likewise.
10608 * gfxmenu/widget-box.c: Likewise.
10609 * include/grub/gfxmenu_model.h: Likewise.
10610 * include/grub/gfxmenu_view.h: Likewise.
10611 * include/grub/gfxwidgets.h: Likewise.
10612 * include/grub/gui.h: Likewise.
10613 * include/grub/gui_string_util.h: Likewise.
10614 * include/grub/icon_manager.h: Likewise.
10615
10616 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 Agglomerate scrolling in gfxterm.
10619
10620 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10621 (grub_virtual_screen_setup): Initialise 'total_screen'.
10622 (write_char): Split to ...
10623 (paint_char): ... this ...
10624 (write_char): ... and this.
10625 (paint_char): Handle delayed scrolling.
10626 (draw_cursor): Likewise.
10627 (scroll_up): Split to ...
10628 (real_scroll): ... this ...
10629 (scroll_up): ... and this.
10630 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10631 characters.
10632 (grub_gfxterm_refresh): Call real_scroll.
10633
10634 2010-02-06 Colin D Bennett <colin@gibibit.com>
10635
10636 * include/grub/misc.h (grub_iscntrl): New inline function.
10637 (grub_isalnum): Likewise.
10638 (grub_strtol): Likewise.
10639
10640 2010-02-06 Colin D Bennett <colin@gibibit.com>
10641
10642 * normal/menu_text.c (get_entry_number): Move from here ...
10643 * normal/menu.c (get_entry_number): ... moved here.
10644 * include/grub/menu.h (grub_menu_get_default_entry_index):
10645 New prototype.
10646 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10647 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10648 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10649 (grub_menu_viewer_should_return): Likewise.
10650 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10651 * normal/menu_text.c (run_menu): Enable menu switching.
10652 * normal/menu_viewer.c (should_return): New variable.
10653 (menu_viewer_changed): Likewise.
10654 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10655 (grub_menu_viewer_should_return): New function.
10656 (menuviewer_write_hook): Likewise.
10657 (grub_menu_viewer_init): Likewise.
10658
10659 2010-02-06 Colin D Bennet <colin@gibibit.com>
10660 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 Support for gfxterm in a window.
10663
10664 * include/grub/gfxterm.h: New file.
10665 * include/grub/video.h (struct grub_video_rect): New declaration.
10666 (grub_video_rect_t): Likewise.
10667 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10668 (refcount): New variable.
10669 (render_target): Likewise.
10670 (window): Likewise.
10671 (repaint_callback): Likewise.
10672 (grub_virtual_screen_setup): Use 'render_target'.
10673 (init_window): New function.
10674 (grub_gfxterm_init_window): Likewise.
10675 (grub_gfxterm_init): Check reference counter.
10676 Use init_window.
10677 (destroy_window): New function.
10678 (grub_gfxterm_destroy_window): Likewise.
10679 (grub_gfxterm_fini): Check reference counter.
10680 Use destroy_window.
10681 (redraw_screen_rect): Restore viewport.
10682 Use 'render_target' and 'window'.
10683 Call 'repaint_callback'.
10684 (write_char): Use 'render_target'.
10685 (draw_cursor): Likewise.
10686 (scroll_up): Restore viewport.
10687 Use 'render_target' and 'window'.
10688 Call 'repaint_callback'.
10689 (grub_gfxterm_cls): Likewise.
10690 (grub_gfxterm_refresh): Use 'window'.
10691 (grub_gfxterm_set_repaint_callback): New function.
10692 (grub_gfxterm_background_image_cmd): Use 'window'.
10693 (grub_gfxterm_get_term): New function.
10694 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10695
10696 2010-02-06 Colin D Bennett <colin@gibibit.com>
10697
10698 Bitmap scaling support.
10699
10700 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10701 (bitmap_scale_mod_SOURCES): New variable.
10702 (bitmap_scale_mod_CFLAGS): Likewise.
10703 (bitmap_scale_mod_LDFLAGS): Likewise.
10704 * include/grub/bitmap_scale.h: New file.
10705 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10706 (background_image_cmd_options): New variable.
10707 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10708 (cmd): Rename and change type to ...
10709 (background_image_cmd_handle): ... this. All users updated.
10710 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10711 * video/bitmap_scale.c: New file.
10712
10713 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 SDL support.
10716
10717 * Makefile.in (LIBSDL): New variable.
10718 (enable_grub_emu_sdl): Likewise.
10719 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10720 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10721 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10722 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10723 * util/sdl.c: New file.
10724
10725 2010-02-06 Colin D Bennett <colin@gibibit.com>
10726 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 Double buffering support.
10729
10730 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10731 * include/grub/video.h: Update comment.
10732 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10733 New type.
10734 (grub_video_fb_doublebuf_blit_init): New prototype.
10735 * term/gfxterm.c (scroll_up): Support double buffering.
10736 (grub_gfxterm_refresh): Likewise.
10737 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10738 (grub_video_fb_doublebuf_blit_init): Likewise.
10739 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10740 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10741 'displayed_page', 'render_page' and 'update_screen'.
10742 (grub_video_vbe_fini): Free offscreen buffer.
10743 (doublebuf_pageflipping_commit): New function.
10744 (doublebuf_pageflipping_update_screen): Likewise.
10745 (doublebuf_pageflipping_init): Likewise.
10746 (double_buffering_init): Likewise.
10747 (grub_video_vbe_setup): Enable doublebuffering.
10748 (grub_video_vbe_swap_buffers): Implement.
10749 (grub_video_vbe_set_active_render_target): Handle double buffering.
10750 (grub_video_vbe_get_active_render_target): Likewise.
10751 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10752 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10753 (grub_video_vbe_enable_double_buffering): Likewise.
10754 (grub_video_vbe_swap_buffers): Use update_screen.
10755 (grub_video_set_mode): Use double buffering.
10756
10757 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10758
10759 * maintainance/gentrigtables.py: Remove.
10760 * lib/trig.c: Likewise.
10761
10762 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10763
10764 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10765 `trigtables.c'.
10766 (trigtables.c): New rule.
10767 (gentrigtables): Likewise.
10768 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10769
10770 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10771
10772 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10773 integer constants.
10774
10775 2010-02-06 Colin D Bennet <colin@gibibit.com>
10776
10777 Trigonometry support.
10778
10779 * include/grub/trig.h: New file.
10780 * lib/trig.c: Likewise.
10781 * maintainance/gentrigtables.py: Likewise.
10782 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10783 (trig_mod_SOURCES): New variable.
10784 (trig_mod_CFLAGS): Likewise.
10785 (trig_mod_LDFLAGS): Likewise.
10786
10787 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10790 disk devices.
10791
10792 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10795 error.
10796
10797 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * util/hostdisk.c (open_device): Don't use partition device when reading
10800 before the partition.
10801 (grub_util_biosdisk_read): Don't read from partition and before the
10802 partition in single operation.
10803 (grub_util_biosdisk_write): Don't write to partition and before the
10804 partition in single operation.
10805
10806 2010-02-03 Torsten Landschoff <torsten@debian.org>
10807
10808 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10809 last sectors.
10810
10811 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10814 CDROM reads.
10815 (grub_biosdisk_write): Refuse to write to CDROM.
10816
10817 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10820
10821 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * font/font.c (find_glyph): Check that bmp_idx is available before
10824 using it.
10825 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10826 with (font == NULL).
10827
10828 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10829
10830 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10831
10832 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10833
10834 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10835 * util/grub-script-check.c (getline): Fix empty lines case.
10836
10837 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10838
10839 * Makefile.in (check): Exit with fail status when one of the tests
10840 fails.
10841 * tests/example_functional_test.c (example_test): Fix reversed assert.
10842 * tests/example_unit_test.c (example_test): Likewise.
10843
10844 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10845
10846 * util/grub.d/10_linux.in: This script does not use any of the
10847 contents of gettext.sh, only the external command `gettext', so stop
10848 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10849 the same prefix as GRUB.)
10850 * util/grub.d/10_kfreebsd.in: Likewise.
10851
10852 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10855 of the line.
10856
10857 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10860 last sectors.
10861
10862 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10865 having a 4KiB and not 32KiB buffer size.
10866
10867 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10868
10869 * util/hostfs.c: Include `<errno.h>'.
10870 (grub_hostfs_read): Handle errors from fseeko() and fread().
10871
10872 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10873
10874 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10875 loop when using read hooks on files whose size isn't sector-aligned.
10876
10877 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10878
10879 Remove unused parameter.
10880
10881 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10882 (grub_iso9660_open): Remove initialization of `data->length'.
10883
10884 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10885
10886 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10887 memleak conditions.
10888
10889 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10890
10891 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10892 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10893
10894 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10895
10896 * util/bin2h.c (usage): Fix warning (space after backslash).
10897
10898 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10899
10900 * font/font.c: Include `grub/fontformat.h.
10901 Remove font file format constants.
10902 (grub_font_load): Use the new macros.
10903 * include/grub/fontformat.h: New file.
10904 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10905 (write_font_pf2): Use the new macros.
10906
10907 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10908
10909 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10910 does.
10911
10912 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10913
10914 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10915
10916 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10917 (_start): Macroify `0x7F'.
10918
10919 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10920 (make_install_device): Use "(pxe)" as fallback prefix when booting
10921 via PXE.
10922
10923 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * configure.ac: Reset LIBS after check for libgcc symbols.
10926
10927 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * util/hostdisk.c (open_device): Add trailing newline to debug
10930 message.
10931
10932 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10933
10934 * configure.ac: Check for `limits.h'.
10935 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10936
10937 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10938
10939 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10940 capitalize error strings.
10941
10942 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10943
10944 * util/grub.d/10_hurd.in: Add a recovery mode.
10945
10946 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * configure.ac: Check for libgcc symbols with -nostdlib.
10949
10950 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10951
10952 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10953
10954 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10957 stack since heap may be unavailable at that point.
10958 (grub_ofconsole_gotoxy): Likewise.
10959
10960 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * configure.ac: Check for _restgpr_14_x.
10963 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10964 and _savegpr_* prototypes.
10965
10966 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10967
10968 Use generic grub_reboot() for i386-efi.
10969
10970 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10971 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10972 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10973
10974 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10977 presence of "prefix" variable as it breaks when normal.mod is
10978 embedded.
10979
10980 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10983 stack since heap is unavailable at that point.
10984
10985 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10988 (grub_freebsd_bootinfo): Rewritten.
10989 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10990
10991 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10994
10995 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10996
10997 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10998 domain now.
10999
11000 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
11001
11002 * util/misc.c (make_system_path_relative_to_its_root): Change the work
11003 around for handling "/" to the correct fix. Fix a memory leak. Use
11004 xstrdup instead of strdup.
11005
11006 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
11009
11010 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 Optimise glyph lookup by Basic Multilingual Plane lookup array.
11013
11014 * font/font.c (struct grub_font): New member 'bmp_idx'.
11015 (font_init): Initialise 'bmp_idx'.
11016 (load_font_index): Fill 'bmp_idx'.
11017 (find_glyph): Make inline. Use bmp_idx for BMP characters.
11018
11019 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
11022 unnecessary calls.
11023
11024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 Move context handling out of the kernel.
11027
11028 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
11029 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
11030 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
11031 * conf/i386-efi.rmk: Likewise.
11032 * conf/i386-ieee1275.rmk: Likewise.
11033 * conf/i386-pc.rmk: Likewise.
11034 * conf/powerpc-ieee1275.rmk: Likewise.
11035 * conf/sparc64-ieee1275.rmk: Likewise.
11036 * conf/x86_64-efi.rmk: Likewise.
11037 * include/grub/env.h: Include grub/menu.h.
11038 (grub_env_var_type): Removed.
11039 (grub_env_var): Replaced field 'type' with 'global'.
11040 (grub_env_find): New prototype.
11041 (grub_env_context_open): Remove EXPORT_FUNC.
11042 (grub_env_context_close): Likewise.
11043 (grub_env_export): Likewise.
11044 (grub_env_set_data_slot): Removed.
11045 (grub_env_get_data_slot): Likewise.
11046 (grub_env_unset_data_slot): Likewise.
11047 (grub_env_unset_menu): New prototype.
11048 (grub_env_set_menu): Likewise.
11049 (grub_env_get_menu): Likewise.
11050 * include/grub/env_private.h: New file.
11051 * include/grub/normal.h (grub_context_init): New prototype.
11052 (grub_context_fini): Likewise.
11053 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11054 * normal/context.c (grub_cmd_export): ... to here.
11055 * kern/env.c: Include env_private.h.
11056 (HASHSZ): Moved to include/grub/env_private.h.
11057 (grub_env_context): Likewise.
11058 (grub_env_sorted_var): Likewise.
11059 (current_context): Renamed from this ...
11060 (grub_current_context): ...to this. 'static' removed. All users updated.
11061 (grub_env_find): Removed 'static'.
11062 (grub_env_context_open): Moved to normal/context.c.
11063 (grub_env_context_close): Likewise.
11064 (grub_env_export): Likewise.
11065 (mangle_data_slot_name): Removed.
11066 (grub_env_set_data_slot): Likewise.
11067 (grub_env_get_data_slot): Likewise.
11068 (grub_env_unset_data_slot): Likewise.
11069 * kern/main.c (grub_set_root_dev): Don't export root.
11070 It will be done later.
11071 (grub_main): Don't export prefix.
11072 It will be done later.
11073 * normal/context.c: New file.
11074 * normal/main.c (free_menu): Use grub_env_unset_menu.
11075 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11076 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11077 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11078 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11079
11080 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 setpci support.
11083
11084 * commands/setpci.c: New file.
11085 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11086 (setpci_mod_SOURCES): New variable.
11087 (setpci_mod_CFLAGS): Likewise.
11088 (setpci_mod_LDFLAGS): Likewise.
11089
11090 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 Byte-addressable PCI configuration space.
11093
11094 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11095 dword address.
11096 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11097 GRUB_PCI_REG_CACHELINE.
11098 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11099 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11100 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11101 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11102 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11103 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11104 grub_pci_make_address.
11105 (lock_rom_area): Likewise.
11106 * commands/lspci.c (grub_lspci_iter): Use macroses
11107 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11108 of grub_pci_make_address.
11109 * disk/ata.c (grub_ata_pciinit): Likewise.
11110 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11111 (GRUB_PCI_REG_VENDOR): Likewise.
11112 (GRUB_PCI_REG_DEVICE): Likewise.
11113 (GRUB_PCI_REG_COMMAND): Likewise.
11114 (GRUB_PCI_REG_STATUS): Likewise.
11115 (GRUB_PCI_REG_REVISION): Likewise.
11116 (GRUB_PCI_REG_CLASS): Likewise.
11117 (GRUB_PCI_REG_CACHELINE): Likewise.
11118 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11119 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11120 (GRUB_PCI_REG_BIST): Likewise.
11121 (GRUB_PCI_REG_ADDRESSES): Likewise.
11122 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11123 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11124 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11125 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11126 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11127 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11128 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11129 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11130 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11131 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11132 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11133 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11134 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11135 (GRUB_PCI_REG_MIN_GNT): Likewise.
11136 (GRUB_PCI_REG_MAX_LAT): Likewise.
11137 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11138 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11139 * video/efi_uga.c (find_framebuf): Likewise.
11140 * video/sm712.c (grub_video_sm712_setup): Likewise.
11141 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11142 space.
11143
11144 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11145
11146 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11147 can be reliably determined to be supported.
11148
11149 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11150
11151 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11152 that VESA is supported.
11153 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11154 supported.
11155
11156 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11159
11160 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11161
11162 * util/misc.c (make_system_path_relative_to_its_root): Work around
11163 special-casing of "/", as previous incarnation of this routine did.
11164
11165 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 Fix any-emu compilation.
11168
11169 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11170 * grub_bin2h_SOURCES: New variable.
11171
11172 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11173
11174 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11175
11176 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11177
11178 * util/grub.d/00_header.in: Fix handling of locale_dir.
11179
11180 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11183 as possible unifont location (Gentoo).
11184 Reported by: Alexander Brüning
11185
11186 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 Don't try to generate lists for kernel.img.
11189
11190 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11191 (pkglib_MODULES): Remove kernel.img.
11192 (kernel_img_EXPORTS): Removed.
11193 (kernel_img_RELOCATABLE): New variable.
11194 * conf/x86_64-efi.rmk: Likewise.
11195 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11196
11197 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11200 grub_xasprintf or grub_snprintf.
11201 (grub_vsprintf): Likewise.
11202 (grub_snprintf): New proto.
11203 (grub_vsnprintf): Likewise.
11204 (grub_xasprintf): Likewise.
11205 (grub_xvasprintf): Likewise.
11206 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11207 (grub_sprintf): Removed.
11208 (grub_vsnprintf): New function.
11209 (grub_snprintf): Likewise.
11210 (grub_xvasprintf): Likewise.
11211 (grub_xasprintf): Likewise.
11212 (grub_vsprintf): Renamed to ...
11213 (grub_vsnprintf_real): ...this. New argument max_len.
11214
11215 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11216
11217 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11218 fix grub-script-check warning.
11219
11220 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * include/grub/font.h (grub_font_load): Fix prototype.
11223
11224 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11227
11228 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * include/grub/x86_64/at_keyboard.h: New file.
11231
11232 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * loader/mips/linux.c: Include missing grub/i18n.h.
11235
11236 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11237
11238 * normal/menu.c (notify_execution_failure): Clarify error message.
11239
11240 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11241
11242 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11243 return value (and revert all return statements). Update users.
11244
11245 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11246
11247 * kern/device.c (grub_device_iterate): Allocate new part_ent
11248 structure based on sizeof (*p) rather than sizeof (p->next), to
11249 account for structure padding.
11250
11251 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11252 disk is NULL, which might happen for LVM physical volumes with no
11253 LVM signature.
11254
11255 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11256
11257 * loader/mips/linux.c (grub_cmd_initrd)
11258 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11259
11260 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11261
11262 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11263 (grub_video_video_init, grub_video_bitmap_init)
11264 (grub_font_manager_init, grub_term_gfxterm_init)
11265 (grub_at_keyboard_init): New extern declarations.
11266 (grub_machine_init): Initialize gfxterm and at_keyboard.
11267
11268 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11269
11270 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11271 `gfxterm.mod' into core image.
11272
11273 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11274 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11275 (kernel_img_FORMAT): Copy to ...
11276
11277 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11278 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11279 (kernel_img_FORMAT): ... here, and ...
11280
11281 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11282 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11283 (kernel_img_FORMAT): ... here.
11284
11285 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11286 and input (at_keyboard) terminals in kernel.
11287 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11288
11289 (pkglib_MODULES): Remove `pci.mod'.
11290 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11291 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11292 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11293 (at_keyboard_mod_LDFLAGS): Remove variables.
11294
11295 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11296
11297 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11298
11299 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11300
11301 * include/grub/mips/libgcc.h: Only export symbols for functions
11302 that libgcc provides.
11303
11304 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 MIPS support.
11307
11308 * bus/bonito.c: New file.
11309 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11310 GRUB_PCI_NUM_DEVICES.
11311 * term/i386/pc/serial.c: Move to ...
11312 * term/serial.c: ... here. All users updated.
11313 * util/i386/pc/grub-mkimage.c: Move to ...
11314 * util/grub-mkrawimage.c: ... here. All users updated.
11315 * term/i386/pc/at_keyboard.c: Move to ...
11316 * term/at_keyboard.c: ... here. All users updated.
11317 * conf/mips-qemu-mips.rmk: New file.
11318 * conf/mips-yeeloong.rmk: Likewise.
11319 * conf/mips.rmk: Likewise.
11320 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11321 mipsel-qemu-mips.
11322 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11323 to port addresses.
11324 (grub_ata_pciinit): Support CS5536.
11325 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11326 * font/font_cmd.c (loadfont_command): Open file before passing it to
11327 grub_font_load.
11328 (pseudo_file_read): New function.
11329 (pseudo_file_close): Likewise.
11330 (pseudo_fs): New structure.
11331 (load_font_module): New function.
11332 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11333 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11334 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11335 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11336 * include/grub/i386/at_keyboard.h: Split into ...
11337 * include/grub/at_keyboard.h: ... this ...
11338 * include/grub/i386/at_keyboard.h: ... and this.
11339 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11340 New prototype.
11341 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11342 updated.
11343 (grub_elf64_size): Likewise.
11344 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11345 filename.
11346 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11347 * include/grub/i386/coreboot/serial.h: Rewritten.
11348 * include/grub/i386/ieee1275/serial.h: Include
11349 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11350 * include/grub/i386/pc/serial.h: Moved from here ...
11351 * include/grub/serial.h: ... to here. All users updated.
11352 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11353 (GRUB_PCI_NUM_BUS): Likewise.
11354 (GRUB_PCI_NUM_DEVICES): Likewise.
11355 (grub_pci_device_map_range): Add missing volatile keyword.
11356 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11357 * include/grub/mips/at_keyboard.h: New file.
11358 * include/grub/mips/cache.h: Likewise.
11359 * include/grub/mips/io.h: Likewise.
11360 * include/grub/mips/kernel.h: Likewise.
11361 * include/grub/mips/libgcc.h: Likewise.
11362 * include/grub/mips/pci.h: Likewise.
11363 * include/grub/mips/qemu-mips/boot.h: Likewise.
11364 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11365 * include/grub/mips/qemu-mips/loader.h: Likewise.
11366 * include/grub/mips/qemu-mips/memory.h: Likewise.
11367 * include/grub/mips/qemu-mips/serial.h: Likewise.
11368 * include/grub/mips/qemu-mips/time.h: Likewise.
11369 * include/grub/mips/relocator.h: Likewise.
11370 * include/grub/mips/time.h: Likewise.
11371 * include/grub/mips/types.h: Likewise.
11372 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11373 * include/grub/mips/yeeloong/boot.h: Likewise.
11374 * include/grub/mips/yeeloong/kernel.h: Likewise.
11375 * include/grub/mips/yeeloong/loader.h: Likewise.
11376 * include/grub/mips/yeeloong/memory.h: Likewise.
11377 * include/grub/mips/yeeloong/pci.h: Likewise.
11378 * include/grub/mips/yeeloong/serial.h: Likewise.
11379 * include/grub/mips/yeeloong/time.h: Likewise.
11380 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11381 * kern/elf.c (grub_elf32_size): New parameter. All users
11382 updated.
11383 (grub_elf64_size): Likewise.
11384 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11385 Load modules before saying "Welcome to GRUB!".
11386 Call grub_refresh after saying "Welcome to GRUB!".
11387 * kern/mips/cache.S: New file.
11388 * kern/mips/cache_flush.S: Likewise.
11389 * kern/mips/dl.c: Likewise.
11390 * kern/mips/init.c: Likewise.
11391 * kern/mips/qemu-mips/init.c: Likewise.
11392 * kern/mips/startup.S: Likewise.
11393 * kern/mips/yeeloong/init.c: Likewise.
11394 * kern/term.c (grub_putcode): Handle NULL terminal.
11395 (grub_getcharwidth): Likewise.
11396 (grub_getkey): Likewise.
11397 (grub_checkkey): Likewise.
11398 (grub_getkeystatus): Likewise.
11399 (grub_getxy): Likewise.
11400 (grub_getwh): Likewise.
11401 (grub_gotoxy): Likewise.
11402 (grub_cls): Likewise.
11403 (grub_setcolorstate): Likewise.
11404 (grub_setcolor): Likewise.
11405 (grub_getcolor): Likewise.
11406 (grub_refresh): Likewise.
11407 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11408 (write_jump): Add hatch nop.
11409 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11410 * lib/mips/setjmp.S: New file.
11411 * loader/mips/linux.c: Likewise.
11412 * term/i386/pc/at_keyboard.c: Move from here ...
11413 * term/at_keyboard.c: ... to here.
11414 * term/i386/pc/serial.c: Moved from here ...
11415 * term/serial.c: ... to here. All users updated.
11416 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11417 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11418 (serial_translate_key_sequence): Avoid deadlock.
11419 (grub_serial_getkey): Handle backspace.
11420 (grub_serial_putchar): Fix newline handling.
11421 * util/i386/pc/grub-mkimage.c: Move from here ...
11422 * util/grub-mkrawimage.c: ... to here. All users updated.
11423 (generate_image): New parameters 'font_path' and 'format'.
11424 Support embedding font.
11425 Use grub_host_to_target* instead of grub_cpu_to_le*.
11426 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11427 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11428 (options): New option "--font".
11429 (usage): Likewise.
11430 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11431 (main): Handle "--font".
11432 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11433 (grub_virtual_screen_setup): Set bg_color_display.
11434 (redraw_screen_rect): Use bg_color_display instead of incorrect
11435 bg_color.
11436 (grub_gfxterm_cls): Likewise.
11437 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11438 Support embedding config file.
11439 (add_segments): Likewise.
11440 (options): New option "--config".
11441 (main): Handle "--config".
11442 * video/sm712.c: New file.
11443
11444 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11445
11446 Fix parallel builds.
11447
11448 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11449 font.c depend on ascii.h).
11450
11451 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11452
11453 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11454
11455 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11456
11457 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11458 By default: disabled.
11459 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11460 parameter.
11461
11462 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11463
11464 * font/font.c: Update copyright years.
11465 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11466
11467 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11468
11469 * font/font.c: Include `ascii.h'.
11470 (ASCII_BITMAP_SIZE): New macro.
11471 (ascii_font_glyph): Define.
11472 (ascii_glyph_lookup): New function.
11473 (grub_font_get_string_width): Change comment. If glyph not found, use
11474 ascii_glyph_lookup.
11475 (grub_font_get_glyph_with_fallback): If glyph not available returns
11476 ascii_glyph_lookup.
11477 * util/grub-mkfont.c (file_formats): New enum.
11478 (options): Add `ascii-bitmaps' new option.
11479 (usage): Add `asii-bitmaps' new option.
11480 (write_font_ascii_bitmap): New function.
11481 (write_font): Rename to ...
11482 (write_font_p2): ... this. Remove print_glyphs call.
11483 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11484 used. Call print_glyphs.
11485 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11486
11487 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11488
11489 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11490 (grub_bin2h_SOURCES): New variable.
11491 * util/bin2h.c: New file.
11492
11493 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * include/multiboot.h: Resynced with spec.
11496 * include/multiboot2.h: Likewise.
11497 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11498 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11499
11500 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11501
11502 * include/grub/term.h (grub_term_register_input,
11503 grub_term_register_output): Check return of terminal init()
11504 routines, and abort if errors are raised.
11505
11506 * commands/terminal.c: Update copyright year.
11507
11508 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11509
11510 * commands/terminal.c (grub_cmd_terminal_input)
11511 (grub_cmd_terminal_output): Check return of terminal init()
11512 routines, and abort if errors are raised.
11513
11514 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * include/grub/i386/bsd.h: Fix include pathes.
11517
11518 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 Add missing *BSD copyright headers.
11521
11522 * include/grub/aout.h: Add BSD licence.
11523 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11524 * include/grub/i386/freebsd_linker.h: ... here,
11525 * include/grub/i386/freebsd_reboot.h: ... here,
11526 * include/grub/i386/netbsd_bootinfo.h: ... here,
11527 * include/grub/i386/netbsd_reboot.h: ... here,
11528 * include/grub/i386/openbsd_bootarg.h: ... here,
11529 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11530 licence to each file.
11531
11532 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11533
11534 * acinclude.m4: Remove `nop' assembly instruction; it's not
11535 implemented by all architectures.
11536
11537 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11538
11539 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11540 ELILO. This is no longer necessary.
11541
11542 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11543
11544 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11545
11546 * util/grub-script-check.c: grub-script-check tool.
11547 * conf/common.rmk: Make rules for grub-script-check.
11548
11549 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11550
11551 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11552 spotting it back in 2008. Shame on me for forgetting he did.
11553
11554 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11555
11556 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11557
11558 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11559 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11560 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11561 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11562 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11563 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11564
11565 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11566
11567 * include/grub/test.h: Add license header.
11568 * tests/example_functional_test.c: Likewise.
11569 * tests/example_unit_test.c: Likewise.
11570 * tests/lib/functional_test.c: Likewise.
11571 * tests/lib/test.c: Likewise.
11572 * tests/lib/unit_test.c: Likewise.
11573
11574 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 Use flag-based instead of hook-based video mode selection and "auto"
11577 keyword.
11578
11579 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11580 (grub_video_set_mode): Changed prototype. All users updated.
11581 (grub_video_check_mode_flag): New inline function.
11582 * video/video.c (parse_modespec): New function.
11583 (grub_video_set_mode): Parse flags and keywords.
11584
11585 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11586
11587 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11588 fprintf call.
11589
11590 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11591
11592 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11593
11594 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11595
11596 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11597 string.
11598 * util/grub-emu.c (usage): Likewise.
11599 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11600 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11601 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11602 * util/i386/pc/grub-setup.c (usage): Likewise.
11603
11604 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11605
11606 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11607 the message.
11608 (grub_util_info): Likewise.
11609 (grub_util_error): Likewise.
11610 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11611 and/or new lines in `grub_util_warna', `grub_util_info',
11612 `grub_util_error' calls.
11613 * util/getroot.c: Likewise.
11614 * util/grub-editenv.c: Likewise.
11615 * util/grub-emu.c: Likewise.
11616 * util/grub-fstest.c: Likewise.
11617 * util/grub-mkdevicemap.c: Likewise.
11618 * util/grub-mkfont.c: Likewise.
11619 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11620 * util/grub-mkrelpath.c: Likewise.
11621 * util/grub-pe2elf.c: Likewise.
11622 * util/grub-probe.c: Likewise.
11623 * util/hostdisk.c: Likewise.
11624 * util/i386/efi/grub-mkimage.c: Likewise.
11625 * util/i386/pc/grub-mkimage.c: Likewise.
11626 * util/i386/pc/grub-setup.c: Likewise.
11627 * util/ieee1275/ofpath.c: Likewise.
11628 * util/mkisofs/eltorito.c: Likewise.
11629 * util/mkisofs/rock.c: Likewise.
11630 * util/mkisofs/write.c: Likewise.
11631 * util/raid.c: Likewise.
11632 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11633 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11634
11635 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Enable multiboot on non-pc.
11638
11639 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11640 multiboot.mod and multiboot2.mod to ...
11641 * conf/i386.rmk (pkglib_MODULES): ... here.
11642 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11643 Moved to ...
11644 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11645 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11646 Moved to ...
11647 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11648 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11649 Moved to ...
11650 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11651 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11652 Moved to ...
11653 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11654 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11655 relocator.mod.
11656 (ata_mod_SOURCES): Removed.
11657 (ata_mod_CFLAGS): Likewise.
11658 (ata_mod_LDFLAGS): Likewise.
11659 (relocator_mod_SOURCES): Removed.
11660 (relocator_mod_CFLAGS): Likewise.
11661 (relocator_mod_ASFLAGS): Likewise.
11662 (relocator_mod_LDFLAGS): Likewise.
11663 Include i386.mk.
11664 * include/grub/x86_64/multiboot.h: New file.
11665 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11666 Terminate EFI.
11667
11668 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 Video multiboot support.
11671
11672 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11673 New prototype.
11674 * include/multiboot.h: Resynced with multiboot specification.
11675 * include/multiboot2.h: Likewise.
11676 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11677 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11678 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11679 (HAS_VGA_TEXT): Likewise.
11680 (accepts_video): New variable.
11681 (grub_multiboot_set_accepts_video): New function.
11682 (grub_multiboot_get_mbi_size): Account for video structures.
11683 (set_video_mode): New function.
11684 (retrieve_video_parameters): Likewise.
11685 (grub_multiboot_make_mbi): Fill video fields.
11686
11687 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 Video driver ids.
11690
11691 * include/grub/video.h (grub_video_driver_id): New type.
11692 (grub_video_adapter): New member 'id'. All users updated.
11693 (grub_video_get_driver_id): New proto.
11694 * video/video.c (grub_video_get_driver_id): New function.
11695
11696 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11697
11698 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11699 `var=val'.
11700
11701 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11702
11703 * normal/cmdline.c (print_completion): Gettextizze.
11704
11705 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11706
11707 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11708
11709 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11710
11711 * gettext/gettext.c (grub_gettext_translate): Push and pop
11712 grub_errno.
11713 (grub_gettext_delete_list): Change comment style.
11714 * kern/err.c (grub_error): Gettextizze.
11715 (grub_fatal): Gettextizze.
11716
11717 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11718
11719 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11720 (grub_linux16_real_boot): ... this.
11721 * kern/i386/loader.S: Likewise.
11722 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11723 (grub_linux16_boot): New function. Switches to text mode and calls
11724 grub_linux16_real_boot().
11725
11726 * loader/i386/bsd.c: Include `<grub/video.h>'.
11727 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11728 text mode before calling grub_unix_real_boot().
11729
11730 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11731 (grub_multiboot_boot): Switch to text mode before calling
11732 grub_relocator32_boot().
11733
11734 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11735 (grub_chainloader_boot): Switch to text mode before calling
11736 grub_chainloader_real_boot().
11737
11738 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11739 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11740
11741 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11742 non-empty value.
11743
11744 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11745 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11746
11747 * util/grub.d/00_header.in: Define a "savedefault" function for use
11748 in menu entries.
11749 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11750
11751 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11752 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11753
11754 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11755 saved_entry if boot_once is unset.
11756 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11757 previous saved entry (i.e. grub-reboot).
11758
11759 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11760
11761 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11762
11763 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11764
11765 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11766 `var=val'.
11767 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11768
11769 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11770
11771 * util/grub-reboot.in: Fix --version output.
11772 * util/grub-set-default.in: Likewise.
11773
11774 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11775
11776 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11777 blocks.
11778
11779 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11780
11781 * util/grub.d/00_header.in: Quote the value assigned to `default',
11782 in case it contains spaces.
11783
11784 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11785
11786 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11787 `save_default_entry' call from the macosx case to the linux case.
11788
11789 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11790 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11791
11792 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11793 in `chosen' environment variable.
11794 * normal/menu_text.c (get_entry_number): Check if the variable
11795 matches the title of a menu entry.
11796 (run_menu): Pass menu to get_entry_number.
11797
11798 * util/grub-reboot.in: New file.
11799 * util/grub-set-default.in: New file.
11800 * conf/common.rmk (grub-reboot): New utility.
11801 (grub-set-default): New utility.
11802
11803 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11804 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11805 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11806 move it to `saved_entry' for the next boot. Load environment on
11807 initialisation.
11808 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11809 * util/grub.d/10_hurd.in: Likewise.
11810 * util/grub.d/10_linux.in (linux_entry): Likewise.
11811 * util/grub.d/10_windows.in: Likewise.
11812 * util/grub.d/30_os-prober.in: Likewise.
11813
11814 * util/grub-install.in: Create environment block.
11815 * util/i386/efi/grub-install.in: Likewise.
11816 * util/ieee1275/grub-install.in: Likewise.
11817 * util/sparc64/ieee1275/grub-install.in: Likewise.
11818
11819 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11820
11821 Unit testing framework for GRUB.
11822
11823 * Makefile.in: Test framework build rules for 'make check'.
11824 * conf/tests.rmk: Build rules for individual tests and framework.
11825
11826 * include/grub/test.h: Header file for whitebox tests.
11827 * tests/lib/functional_test.c: Framework support for whitebox
11828 functional tests.
11829 * tests/lib/test.c: Common whitebox testing code for unit and
11830 functional tests.
11831 * tests/lib/unit_test.c: Framework support for whitebox unit
11832 tests.
11833
11834 * tests/util/grub-shell-tester.in: Support utility for grub-script
11835 tests.
11836 * tests/util/grub-shell.in: Utility to execute grub-script
11837 commands in a Qemu instance.
11838
11839 * tests/example_functional_test.c: Example whitebox functional
11840 test.
11841 * tests/example_grub_script_test.in: Example grub-script test.
11842 * tests/example_scripted_test.in: Example scripted test.
11843 * tests/example_unit_test.c: Example whitebox unit test.
11844
11845 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11848 Add loader/i386/multiboot_mbi.c.
11849 (multiboot2_mod_SOURCES): Likewise.
11850 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11851 (multiboot2_mod_SOURCES): Likewise.
11852 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11853 (grub_multiboot_make_mbi): Likewise.
11854 (grub_multiboot_free_mbi): Likewise.
11855 (grub_multiboot_init_mbi): Likewise.
11856 (grub_multiboot_add_module): Likewise.
11857 (grub_multiboot_set_bootdev): Likewise.
11858 * loader/i386/multiboot.c (mbi): Removed.
11859 (mbi_dest): Likewise.
11860 (alloc_mbi): New variable.
11861 (grub_multiboot_payload_size): Removed. All users updated.
11862 (grub_multiboot_pure_size): New variable.
11863 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11864 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11865 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11866 (grub_fill_multiboot_mmap): Likewise.
11867 (grub_multiboot_get_bootdev): Likewise.
11868 (grub_multiboot): Use multiboot_mbi functions.
11869 * loader/i386/multiboot_mbi.c: New file.
11870
11871 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11874 it would result in module crash.
11875
11876 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11879 (grub_ofconsole_getwh): Split to ...
11880 (grub_ofconsole_getwh): ... this.
11881 (grub_ofconsole_dimensions): ...and this.
11882 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11883
11884 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11885
11886 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11887
11888 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * loader/i386/pc/multiboot2.c: Removed stalled file.
11891
11892 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11895 Reported by: Grégoire Sutre
11896
11897 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11898
11899 * util/misc.c (canonicalize_file_name): New function.
11900 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11901 instead of realpath().
11902
11903 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11904
11905 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11906 and make it clearer that it's optional. Based on confusion
11907 witnessed on IRC.
11908
11909 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11912 in premature implicit newline.
11913
11914 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11917 which resulted in garbled command line at the end of screen.
11918
11919 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11920
11921 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11922 initialization with similar approach as with other Linux loaders.
11923
11924 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11925
11926 Fix i386-ieee1275 build.
11927
11928 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11929 and grub_term_height() for video_{width,height} initialization.
11930
11931 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11932
11933 Fix grub-emu build.
11934
11935 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11936
11937 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11938 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11939
11940 Support for multiple terminals.
11941
11942 * Makefile.in (pkglib_DATA): terminal.lst.
11943 (terminal.lst): New target.
11944 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11945 (GRUB_MOD_INIT(handler)): Likewise.
11946 (GRUB_MOD_FINI(handler)): Likewise.
11947 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11948 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11949 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11950 (grub_cmd_sleep): Use grub_term_save_pos.
11951 * commands/terminal.c: New file.
11952 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11953 commands/terminal.c and lib/charset.c.
11954 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11955 (pkglib_MODULES): Add terminal.mod.
11956 (terminal_mod_SOURCES): New variable.
11957 (terminal_mod_CFLAGS): Likewise.
11958 (terminal_mod_LDFLAGS): Likewise.
11959 * genhandlerlist.sh: Don't handle terminals.
11960 * genmk.rb: Generate terminal-*.lst.
11961 * genterminallist.sh: New file.
11962 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11963 (grub_is_valid_utf8): Likewise.
11964 (grub_utf8_to_ucs4_alloc): Likewise.
11965 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11966 (grub_menu_register_viewer): Changed argument.
11967 (grub_menu_try_text): New proto.
11968 (grub_gfxmenu_try_hook): New declaration.
11969 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11970 (grub_menu_init_page): Additional argument term.
11971 (grub_normal_init_page): Likewise.
11972 (grub_cmdline_get): Arguments simplified.
11973 (grub_utf8_to_ucs4_alloc): Removed.
11974 (grub_print_ucs4): Additional argument term.
11975 (grub_getstringwidth): Likewise.
11976 (grub_print_message_indented): Likewise.
11977 (grub_menu_text_register_instances): New proto.
11978 (grub_show_menu): Likewise.
11979 (read_terminal_list): Likewise.
11980 (grub_set_more): Likewise.
11981 * include/grub/parser.h: Include handler.h.
11982 * include/grub/reader.h: Rewritten.
11983 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11984 (GRUB_TERM_WIDTH): Changed to function.
11985 (GRUB_TERM_HEIGHT): Likewise.
11986 (GRUB_TERM_BORDER_WIDTH): Likewise.
11987 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11988 (GRUB_TERM_NUM_ENTRIES): Likewise.
11989 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11990 (GRUB_TERM_CURSOR_X): Likewise.
11991 (grub_term_input_class): Likewise.
11992 (grub_term_output_class): Likewise.
11993 (grub_term_outputs_disabled): New declaration.
11994 (grub_term_inputs_disabled): Likewise.
11995 (grub_term_outputs): Likewise.
11996 (grub_term_inputs): Likewise.
11997 (grub_term_register_input): Rewritten.
11998 (grub_term_register_output): Likewise.
11999 (grub_term_unregister_input): Likewise.
12000 (grub_term_unregister_output): Likewise.
12001 (FOR_ACTIVE_TERM_INPUTS): New macro.
12002 (FOR_DISABLED_TERM_INPUTS): Likewise.
12003 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12004 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12005 * include/grub/terminfo.h: Add oterm argument to all protypes.
12006 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
12007 Use grub_rescue_run.
12008 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
12009 All users updated.
12010 * kern/reader.c: Removed. All users updated.
12011 * kern/rescue_reader.c (grub_rescue_init): Removed.
12012 (grub_rescue_reader): Likewise.
12013 (grub_register_rescue_reader): Likewise.
12014 (grub_rescue_run): New function based on kern/reader.c.
12015 * kern/term.c: Adapted for multiterm.
12016 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
12017 (grub_is_valid_utf8): Likewise.
12018 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
12019 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
12020 right terminal.
12021 * loader/i386/linux.c (grub_linux_boot): Likewise.
12022 * normal/auth.c (grub_username_get): New function.
12023 (grub_auth_check_authentication): Use grub_username_get.
12024 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
12025 * normal/color.c: Adapt for multiterm.
12026 * normal/main.c (read_config_file): Don't use grub_reader_loop.
12027 (grub_normal_init_page): Additional argument term.
12028 (read_lists): Call read_terminal_lists.
12029 (grub_enter_normal_mode): Call grub_cmdline_run.
12030 Handle grub_normal_exit_level.
12031 (grub_cmd_normal): Make reentrant.
12032 (grub_cmd_normal_exit): New function.
12033 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
12034 * normal/menu.c: Adapt for multiterm.
12035 * normal/menu_entry.c: Likewise.
12036 * normal/menu_text.c: Likewise.
12037 * normal/menu_viewer.c: Removed. All users updated.
12038 * normal/term.c: New file.
12039 * util/console.c: Change order of includes to workaround a bug in
12040 ncurses headers.
12041 * term/terminfo.c: New argument oterm on all exported functions.
12042 All users updated.
12043 * util/grub-editenv.c (grub_term_input_class): Removed.
12044 (grub_term_output_class): Likewise.
12045
12046 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12047
12048 Make loader output a bit more user-friendly.
12049
12050 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12051 is being loaded. Likewise for the Hurd.
12052
12053 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12054 that kernel of FreeBSD ${version} is being loaded.
12055
12056 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12057 grub_dprintf().
12058 (grub_cmd_initrd): Likewise.
12059 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12060 that Linux ${version} is being loaded. Likewise for initrd.
12061
12062 2010-01-09 Carles Pina i Estany <carles@pina.cat>
12063
12064 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12065
12066 2010-01-08 Carles Pina i Estany <carles@pina.cat>
12067
12068 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12069 (GRUB_MOD_INIT): Gettextizze.
12070 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12071 (GRUB_MOD_INIT): Gettextizze.
12072 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12073 (grub_cmd_linux): Capitalise Linux.
12074 (GRUB_MOD_INIT): Gettextizze.
12075 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12076 (grub_cmd_linux): Capitalise Linux.
12077 (GRUB_MOD_INIT): Gettextizze.
12078 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12079 (grub_cmd_linux): Capitalise Linux.
12080 (GRUB_MOD_INIT): Gettextizze.
12081 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12082 (GRUB_MOD_INIT): Gettextizze.
12083 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12084 (grub_cmd_linux): Capitalise Linux.
12085 (GRUB_MOD_INIT): Gettextizze.
12086 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12087 (grub_cpu_xnu_init): Gettextizze.
12088 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12089 (GRUB_MOD_INIT): Gettextizze.
12090 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12091 (GRUB_MOD_INIT): Gettextizze.
12092 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12093 (grub_linux_load64): Capitalise Linux.
12094 (GRUB_MOD_INIT): Gettextizze.
12095 * loader/xnu.c: Include `<grub/i18n.h>'.
12096 (GRUB_MOD_INIT): Gettextizze.
12097 * po/POTFILES: Add `loader/efi/appleloader.c',
12098 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12099 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12100 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12101 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12102 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12103 and `loader/xnu.c'.
12104
12105 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12106
12107 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12108
12109 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12110
12111 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12112 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12113 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12114
12115 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12116
12117 Reset Multiboot 2 support. New loader implements the draft in
12118 /branches/multiboot2 and shares as much code as possible with the
12119 production Multiboot 1 implementation.
12120
12121 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12122 * loader/multiboot2.c: Likewise.
12123 * loader/i386/multiboot_helper.S: Likewise.
12124 * include/multiboot2.h: Replace with latest version from the draft
12125 in /branches/multiboot2.
12126
12127 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12128 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12129 and `loader/multiboot2.c'.
12130 (pkglib_MODULES): Add `multiboot2.mod'.
12131 (multiboot2_mod_SOURCES): New variable.
12132 (multiboot2_mod_LDFLAGS): Likewise.
12133 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12134
12135 * conf/i386-pc.rmk: Likewise.
12136
12137 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12138 (multiboot_mod_SOURCES): Remove variable.
12139 (multiboot_mod_LDFLAGS): Likewise.
12140 (multiboot_mod_CFLAGS): Likewise.
12141
12142 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12143 `<multiboot2.h>' instead of `<multiboot.h>'.
12144 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12145 (MULTIBOOT_HEADER_MAGIC): New macros.
12146
12147 * loader/multiboot_loader.c (module_version_status): Remove variable.
12148 (find_multi_boot2_header): Remove function.
12149 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12150 logic. Always check for the Multiboot version we're compiling for.
12151 (grub_cmd_module_loader): Likewise.
12152 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12153 command instead of `multiboot'.
12154
12155 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12156
12157 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12158 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12159 all users.
12160
12161 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12162 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 Fix breakage introduced with previous commit.
12165
12166 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12167 commands.
12168 * normal/handler.c (read_handler_list): Revert part of previous commit
12169 affecting this file.
12170 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12171 (grub_normal_execute): ... here.
12172
12173 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12174
12175 Merge prefix-redefinition-fix branch.
12176
12177 * normal/autofs.c (read_fs_list): Make function capable of being
12178 run multiple times, gracefuly replacing the previous data
12179 structures.
12180 * normal/dyncmd.c (read_command_list): Likewise.
12181 * normal/handler.c (read_handler_list): Likewise.
12182 * normal/main.c (read_lists): New function. Calls all the
12183 list reading functions.
12184 (grub_normal_execute): Use read_lists() instead of calling all
12185 list reading functions explicitly. Register read_lists() as a
12186 variable hook attached to ${prefix}.
12187
12188 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 Merge crypto branch.
12191
12192 * Makefile.in (pkglib_DATA): Add crypto.lst.
12193 (crypto.lst): New target.
12194 * commands/hashsum.c: New file.
12195 * commands/password.c (check_password): Use grub_crypto_memcmp.
12196 * commands/password_pbkdf2.c: New file.
12197 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12198 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12199 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12200 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12201 -I$(srcdir)/lib/libgcrypt_wrap.
12202 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12203 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12204 password_pbkdf2.mod.
12205 (crypto_mod_SOURCES): New variable.
12206 (crypto_mod_CFLAGS): Likewise.
12207 (crypto_mod_LDFLAGS): Likewise.
12208 (hashsum_mod_SOURCES): New variable.
12209 (hashsum_mod_CFLAGS): Likewise.
12210 (hashsum_mod_LDFLAGS): Likewise.
12211 (pbkdf2_mod_SOURCES): New variable.
12212 (pbkdf2_mod_CFLAGS): Likewise.
12213 (pbkdf2_mod_LDFLAGS): Likewise.
12214 (password_pbkdf2_mod_SOURCES): New variable.
12215 (password_pbkdf2_mod_CFLAGS): Likewise.
12216 (password_pbkdf2_mod_LDFLAGS): Likewise.
12217 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12218 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12219 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12220 Include conf/gcry.rmk.
12221 * include/grub/auth.h: Rewritten.
12222 * include/grub/crypto.h: New file.
12223 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12224 * include/grub/normal.h (read_crypto_list): New prototype.
12225 * lib/crypto.c: New file.
12226 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12227 * lib/pbkdf2.c: Likewise.
12228 * normal/auth.c (grub_auth_strcmp): Removed.
12229 (grub_iswordseparator): Likewise.
12230 (grub_auth_strword): Likewise.
12231 (is_authenticated): Use grub_strword.
12232 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12233 and grub_strword. Pass entered password to authentication callback.
12234 * normal/crypto.c: New file.
12235 * normal/main.c: Call read_crypto_list.
12236 * util/grub-mkpasswd-pbkdf2.c: New file.
12237 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12238
12239 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 Fix descent and ascent calculation.
12242
12243 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12244 (options): New option "asce".
12245 (usage): Likewise.
12246 (add_char): Ignore invalid glyphs for descent calculation.
12247 Calculate ascent from actual content.
12248 (print_glyphs): Use 'asce'.
12249 (write_font): Likewise. Allow ascent override.
12250 (main): Handle "asce" option.
12251
12252 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12253
12254 * kern/err.c: Include `<grub/i18n.h>'.
12255 (grub_print_error): Add full stop. Gettextizze.
12256 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12257 (grub_bsd_load_elf): Capitalise ELF.
12258 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12259 (grub_cmd_freebsd_module): Likewise.
12260 (grub_cmd_freebsd_module_elf): Likewise.
12261 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12262
12263 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12264
12265 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12266 * commands/search_file.c (HELP_MESSAGE): New macro.
12267 * commands/search_label.c (HELP_MESSAGE): Likewise.
12268 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12269 * po/POTFILES: Add `commands/search_file.c',
12270 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12271 `commands/search.c'.
12272
12273 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12274
12275 * config.rpath: Update from Gnulib.
12276
12277 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12278
12279 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12280
12281 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12282
12283 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12284
12285 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12286
12287 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12288 arguments to fread so that we get a return value in bytes, rather
12289 than something that will normally be rounded down to 0.
12290 Adjust error handling to avoid producing garbage when size_t is not
12291 the same size as long long.
12292
12293 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12294
12295 * util/mkisofs/write.c (padblock_write): Check return value of
12296 fread.
12297
12298 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12299
12300 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12301 floppy images now.
12302
12303 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12304
12305 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12306
12307 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12308 instead of manual alignment.
12309 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12310 verbose). Avoid attempts to read past end of the device
12311 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12312 but GRUB_DISK_CACHE_SIZE may exceed that).
12313
12314 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12315
12316 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12317 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12318 it to upper layer.
12319
12320 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12323 New constant.
12324 (grub_efi_piwg_device_path): New structure
12325 (grub_efi_piwg_device_path_t): New type.
12326 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12327 (devpath_1): Transform to a structure. All users updated.
12328 (devpath_2): Likewise.
12329 (devpath_3): Likewise.
12330 (devpath_4): Likewise.
12331 (devpath_5): Likewise.
12332
12333 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * loader/efi/appleloader.c: Restored. Update all users.
12336
12337 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12338
12339 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12340
12341 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12342 (struct boot_blocklist): Move from here ...
12343 * include/grub/i386/pc/boot.h [ASM_FILE]
12344 (struct grub_boot_blocklist): ... to here. Update all users.
12345 (setup): Only initialize `start' member of `first_block'
12346 structure. Add assert() calls to verify the other members.
12347
12348 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12349 (generate_image): Fix broken blocklist length initialization.
12350 Add assert() call to verify blocklist `segment' field.
12351
12352 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12353
12354 * loader/efi/appleloader.c: Remove. Update all users.
12355
12356 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12357
12358 * boot/i386/pc/boot.S: Update copyright year.
12359 * boot/i386/pc/cdboot.S: Likewise.
12360 * boot/i386/pc/diskboot.S: Likewise.
12361 * boot/i386/pc/lnxboot.S: Likewise.
12362 * boot/i386/pc/pxeboot.S: Likewise.
12363 * bus/pci.c: Likewise.
12364 * commands/cmp.c: Likewise.
12365 * commands/help.c: Likewise.
12366 * commands/hexdump.c: Likewise.
12367 * commands/i386/pc/halt.c: Likewise.
12368 * commands/i386/pc/play.c: Likewise.
12369 * commands/i386/pc/vbeinfo.c: Likewise.
12370 * commands/ls.c: Likewise.
12371 * commands/test.c: Likewise.
12372 * disk/dmraid_nvidia.c: Likewise.
12373 * disk/i386/pc/biosdisk.c: Likewise.
12374 * disk/ieee1275/nand.c: Likewise.
12375 * disk/ieee1275/ofdisk.c: Likewise.
12376 * disk/lvm.c: Likewise.
12377 * disk/raid.c: Likewise.
12378 * disk/raid6_recover.c: Likewise.
12379 * disk/scsi.c: Likewise.
12380 * fs/affs.c: Likewise.
12381 * fs/cpio.c: Likewise.
12382 * fs/ext2.c: Likewise.
12383 * fs/hfs.c: Likewise.
12384 * fs/iso9660.c: Likewise.
12385 * fs/ntfs.c: Likewise.
12386 * fs/sfs.c: Likewise.
12387 * fs/udf.c: Likewise.
12388 * fs/ufs.c: Likewise.
12389 * fs/xfs.c: Likewise.
12390 * gencmdlist.sh: Likewise.
12391 * genmk.rb: Likewise.
12392 * include/grub/disk.h: Likewise.
12393 * include/grub/efi/api.h: Likewise.
12394 * include/grub/efi/efi.h: Likewise.
12395 * include/grub/efi/pe32.h: Likewise.
12396 * include/grub/elf.h: Likewise.
12397 * include/grub/fs.h: Likewise.
12398 * include/grub/i386/at_keyboard.h: Likewise.
12399 * include/grub/i386/pc/memory.h: Likewise.
12400 * include/grub/i386/pc/vbe.h: Likewise.
12401 * include/grub/i386/pci.h: Likewise.
12402 * include/grub/i386/tsc.h: Likewise.
12403 * include/grub/ieee1275/ieee1275.h: Likewise.
12404 * include/grub/ntfs.h: Likewise.
12405 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12406 * include/grub/sparc64/libgcc.h: Likewise.
12407 * include/grub/symbol.h: Likewise.
12408 * include/grub/types.h: Likewise.
12409 * include/multiboot2.h: Likewise.
12410 * io/gzio.c: Likewise.
12411 * kern/device.c: Likewise.
12412 * kern/disk.c: Likewise.
12413 * kern/efi/efi.c: Likewise.
12414 * kern/efi/mm.c: Likewise.
12415 * kern/elf.c: Likewise.
12416 * kern/file.c: Likewise.
12417 * kern/i386/dl.c: Likewise.
12418 * kern/i386/pc/init.c: Likewise.
12419 * kern/i386/pc/startup.S: Likewise.
12420 * kern/ieee1275/ieee1275.c: Likewise.
12421 * kern/ieee1275/init.c: Likewise.
12422 * kern/main.c: Likewise.
12423 * kern/mm.c: Likewise.
12424 * kern/powerpc/dl.c: Likewise.
12425 * kern/sparc64/dl.c: Likewise.
12426 * kern/x86_64/dl.c: Likewise.
12427 * lib/hexdump.c: Likewise.
12428 * loader/efi/appleloader.c: Likewise.
12429 * loader/i386/ieee1275/linux.c: Likewise.
12430 * loader/i386/pc/chainloader.c: Likewise.
12431 * loader/i386/pc/linux.c: Likewise.
12432 * loader/i386/pc/multiboot2.c: Likewise.
12433 * loader/ieee1275/multiboot2.c: Likewise.
12434 * loader/multiboot2.c: Likewise.
12435 * loader/multiboot_loader.c: Likewise.
12436 * loader/powerpc/ieee1275/linux.c: Likewise.
12437 * normal/completion.c: Likewise.
12438 * normal/menu_entry.c: Likewise.
12439 * partmap/apple.c: Likewise.
12440 * util/grub.d/10_hurd.in: Likewise.
12441 * util/hostfs.c: Likewise.
12442 * video/readers/png.c: Likewise.
12443
12444 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * include/grub/misc.h (GNUC_PREREQ): New macro.
12447 (ATTRIBUTE_ERROR): New macro.
12448 * include/grub/list.h (grub_bad_type_cast_real): Use
12449 ATTRIBUTE_ERROR.
12450
12451 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12452
12453 * normal/menu_text.c (print_message): Change messages.
12454
12455 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12456
12457 * normal/menu_entry.c (store_completion): Gettextizze.
12458
12459 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12460
12461 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12462
12463 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12464
12465 * po/POTFILES: Sort correctly.
12466
12467 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12468
12469 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12470 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12471 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12472 full stop.
12473 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12474 summary. Gettextizze the strings.
12475 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12476 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12477 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12478 full stop.
12479 (GRUB_MOD_INIT): Remove command name from summary.
12480 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12481 summary.
12482 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12483 * term/i386/pc/serial.c (options): Add full stops.
12484 (GRUB_MOD_INIT): Remove command name from the summary.
12485
12486 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12487
12488 * commands/acpi.c: Gettextizze help strings and/or options. Include
12489 `grub/i18n.h' if needed.
12490 * commands/blocklist.c: Likewise.
12491 * commands/boot.c: Likewise.
12492 * commands/cat.c: Likewise.
12493 * commands/cmp.c: Likewise.
12494 * commands/configfile.c: Likewise.
12495 * commands/crc.c: Likewise.
12496 * commands/date.c: Likewise.
12497 * commands/echo.c: Likewise.
12498 * commands/efi/fixvideo.c: Likewise.
12499 * commands/efi/loadbios.c: Likewise.
12500 * commands/gptsync.c: Likewise.
12501 * commands/halt.c: Likewise.
12502 * commands/handler.c: Likewise.
12503 * commands/hdparm.c: Likewise.
12504 * commands/hexdump.c: Likewise.
12505 * commands/i386/cpuid.c: Likewise.
12506 * commands/i386/pc/drivemap.c: Likewise.
12507 * commands/i386/pc/halt.c: Likewise.
12508 * commands/i386/pc/pxecmd.c: Likewise.
12509 * commands/i386/pc/vbeinfo.c: Likewise.
12510 * commands/i386/pc/vbetest.c: Likewise.
12511 * commands/ieee1275/suspend.c: Likewise.
12512 * commands/keystatus.c: Likewise.
12513 * commands/loadenv.c: Likewise.
12514 * commands/ls.c: Likewise.
12515 * commands/lsmmap.c: Likewise.
12516 * commands/lspci.c: Likewise.
12517 * commands/memrw.c: Likewise.
12518 * commands/minicmd.c: Likewise.
12519 * commands/parttool.c: Likewise.
12520 * commands/password.c: Likewise.
12521 * commands/probe.c: Likewise.
12522 * commands/read.c: Likewise.
12523 * commands/reboot.c: Likewise.
12524 * commands/search.c: Likewise.
12525 * commands/sleep.c: Likewise.
12526 * commands/test.c: Likewise.
12527 * commands/true.c: Likewise.
12528 * commands/usbtest.c: Likewise.
12529 * commands/videotest.c: Likewise.
12530 * commands/xnu_uuid.c: Likewise.
12531 * disk/loopback.c: Likewise.
12532 * hello/hello.c: Likewise.
12533 * loader/i386/bsd.c: Likewise.
12534 * term/i386/pc/serial.c: Likewise.
12535 * po/POTFILES: Add new files.
12536
12537 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12538
12539 * term/i386/pc/at_keyboard.c
12540 (keyboard_controller_wait_untill_ready): Rename to ...
12541 (keyboard_controller_wait_until_ready): ... this. Update all users.
12542
12543 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12544
12545 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12546 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12547 string using string width.
12548 * normal/menu_text.c (grub_print_message_indented): Use
12549 grub_print_spaces and not print_spaces.
12550 (print_timeout): Likewise.
12551 (print_spaces): Move to...
12552 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12553
12554 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12555
12556 Import from Gnulib.
12557
12558 * gnulib/getdelim.c: New file.
12559 * gnulib/getline.c: Likewise.
12560
12561 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12562
12563 * include/grub/list.h (grub_assert_fail): Removed.
12564 (grub_bad_type_cast_real): New function.
12565 (grub_bad_type_cast): New macro.
12566 (GRUB_AS_LIST): Use grub_bad_type_cast.
12567 (GRUB_AS_LIST_P): Likewise.
12568 (GRUB_AS_NAMED_LIST): Likewise.
12569 (GRUB_AS_NAMED_LIST_P): Likewise.
12570 (GRUB_AS_PRIO_LIST): Likewise.
12571 (GRUB_AS_PRIO_LIST_P): Likewise.
12572 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12573
12574 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12577 Fix syntax error.
12578
12579 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12580
12581 * configure.ac: Check for TARGET_CFLAGS initialization before we
12582 initialize it ourselves (sigh).
12583 Move a few modifications to TARGET_CFLAGS to be unconditional
12584 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12585 eh_frame)
12586
12587 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12588 * term/i386/pc/at_keyboard.c
12589 (keyboard_controller_wait_untill_ready): Likewise.
12590 (keyboard_controller_led): Rename `led_status' paramter to avoid
12591 name conflict.
12592
12593 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12594
12595 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12596 quotes.
12597
12598 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12601
12602 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * normal/menu_text.c (grub_print_message_indented): Prevent
12605 past-the-end-of-array dereference.
12606
12607 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12610 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12611
12612 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12613
12614 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12615 * normal/main.c (grub_normal_read_line): Remove a space from the
12616 default prompt.
12617
12618 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12619
12620 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12621 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12622 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12623 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12624 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12625 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12626 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12627
12628 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12629
12630 * video/readers/jpeg.c (cmd): Declare.
12631 (grub_cmd_jpegtest): Use `grub_command_t' type.
12632 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12633 Assign to `cmd'.
12634 (GRUB_MOD_FINI): Use `cmd' to unregister.
12635 * video/readers/png.c (cmd): Declare.
12636 (grub_cmd_pngtest): Use `grub_command_t' type.
12637 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12638 Assign to `cmd'.
12639 (GRUB_MOD_FINI): Use `cmd' to unregister.
12640 * video/readers/tga.c (cmd): Declare.
12641 (grub_cmd_tgatest): Use `grub_command_t' type.
12642 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12643 Assign to `cmd'.
12644 (GRUB_MOD_FINI): Use `cmd' to unregister.
12645
12646 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12647
12648 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12649 stops.
12650 * kern/corecmd.c (grub_register_core_commands): Likewise.
12651 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12652 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12653 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12654 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12655 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12656 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12657 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12658 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12659 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12660 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12661 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12662 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12663 * normal/handler.c (insert_handler): Likewise.
12664 * normal/main.c (GRUB_MOD_INIT): Likewise.
12665 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12666
12667 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12668
12669 * commands/help.c (grub_cmd_help): Print the command name before the
12670 summary.
12671 (GRUB_MOD_INIT): Remove command name from the summary.
12672 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12673 string as summary.
12674 * lib/arg.c (find_long): Print the command name before the summary.
12675 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12676 summary.
12677 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12678 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12679 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12680 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12681 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12682 * commands/date.c (GRUB_MOD_INIT): Likewise.
12683 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12684 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12685 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12686 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12687 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12688 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12689 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12690 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12691 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12692 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12693 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12694 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12695 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12696 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12697 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12698 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12699 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12700 * commands/password.c (GRUB_MOD_INIT): Likewise.
12701 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12702 * commands/read.c (GRUB_MOD_INIT): Likewise.
12703 * commands/search.c (GRUB_MOD_INIT): Likewise.
12704 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12705 * commands/test.c (GRUB_MOD_INIT): Likewise.
12706 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12707 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12708 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12709 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12710 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12711 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12712 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12713 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12714 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12715 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12716 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12717 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12718 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12719 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12720
12721 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Use search command for preliminar UUID search.
12724
12725 * commands/search.c: Split into ...
12726 * commands/search_wrap.c: ...this
12727 * commands/search.c: ...and this.
12728 * commands/search_file.c: New file.
12729 * commands/search_label.c: New file.
12730 * commands/search_uuid.c: New file.
12731 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12732 Add commands/search_wrap.c, commands/search_file.c,
12733 commands/search_label.c and commands/search_uuid.c.
12734 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12735 (search_mod_SOURCES): Set to commands/search_wrap.c.
12736 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12737 search_label.mod.
12738 (search_fs_file_mod_SOURCES): New variable.
12739 (search_fs_file_mod_CFLAGS): Likewise.
12740 (search_fs_file_mod_LDFLAGS): Likewise.
12741 (search_label_mod_SOURCES): Likewise.
12742 (search_label_mod_CFLAGS): Likewise.
12743 (search_label_mod_LDFLAGS): Likewise.
12744 (search_fs_uuid_mod_SOURCES): New variable.
12745 (search_fs_uuid_mod_CFLAGS): Likewise.
12746 (search_fs_uuid_mod_LDFLAGS): Likewise.
12747 (fs_file_mod_SOURCES): Removed.
12748 (fs_file_mod_CFLAGS): Likewise.
12749 (fs_file_mod_LDFLAGS): Likewise.
12750 (fs_uuid_mod_SOURCES): Removed.
12751 (fs_uuid_mod_CFLAGS): Likewise.
12752 (fs_uuid_mod_LDFLAGS): Likewise.
12753 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12754 Set to util/grub-install.in.
12755 * disk/fs_file.c: Removed.
12756 * disk/fs_uuid.c: Likewise.
12757 * include/grub/search.h: New file.
12758 * util/grub-install.in: Handle sparc64.
12759 Create and use load.cfg.
12760 * util/sparc64/ieee1275/grub-install.in: Removed.
12761
12762 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12765 Ignore return status if CF is cleared.
12766 (grub_biosdisk_get_diskinfo_standard): Likewise.
12767
12768 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12769
12770 * term/i386/pc/at_keyboard.c
12771 (keyboard_controller_wait_untill_ready): New function.
12772 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12773 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12774 for keyboard polling, rather than duplicate the same loop. This
12775 saves a few bytes in code size.
12776
12777 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Support for (pxe[:server[:gateway]]) syntax and
12780 use environment variable for PXE.
12781
12782 * commands/i386/pc/pxecmd.c (options): Removed.
12783 (print_ip): Removed.
12784 (grub_cmd_pxe): Removed
12785 (grub_cmd_pxe_unload): New function.
12786 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12787 (grub_pxe_your_ip): Made static.
12788 (grub_pxe_default_server_ip): Likewise.
12789 (grub_pxe_default_gateway_ip): Likewise.
12790 (grub_pxe_blksize): Likewise.
12791 (parse_ip): New function.
12792 (grub_pxe_open): Support server and gateway specification.
12793 (grub_pxe_close): Free disk->data.
12794 (grub_pxefs_open): Use disk->data.
12795 (grub_pxefs_read): Likewise.
12796 (grub_env_write_readonly): New function.
12797 (set_mac_env): Likewise.
12798 (set_env_limn_ro): Likewise.
12799 (parse_dhcp_vendor): Likewise.
12800 (grub_pxe_detect): Set the environment variables.
12801 (set_ip_env): New function.
12802 (write_ip_env): Likewise.
12803 (grub_env_write_pxe_default_server): Likewise.
12804 (grub_env_write_pxe_default_gateway): Likewise.
12805 (grub_env_write_pxe_blocksize): Likewise.
12806 (GRUB_MOD_INIT(pxe)): Set environment variables.
12807 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12808 (grub_pxe_mac_addr_t): ... this. All users updated.
12809 (grub_pxe_your_ip): Removed.
12810 (grub_pxe_server_ip): Likewise.
12811 (grub_pxe_gateway_ip): Likewise.
12812 (grub_pxe_blksize): Likewise.
12813
12814 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12815
12816 * commands/help.c: Include `<grub/i18n.h>'.
12817 (grub_cmd_help): Gettextizze.
12818 (GRUB_MOD_INIT): Likewise.
12819 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12820 (GRUB_MOD_INIT): Gettextizze.
12821 * commands/search.c: Include `<grub/i18n.h>'.
12822 (options): Gettextizze.
12823 (GRUB_MOD_INIT): Gettextizze.
12824 * lib/arg.c: Include `<grub/i18n.h>'.
12825 (help_options): Gettextizze.
12826 (find_long): Likewise.
12827 (grub_arg_show_help): Likewise.
12828 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12829 (read_command_list): Gettextizze.
12830 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12831 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12832
12833 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12834
12835 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12836 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12837 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12838 (led_status): New variable.
12839 (keyboard_controller_led): New function.
12840 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12841 update led status for caps lock, num lock and scroll lock.
12842
12843 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12844
12845 * util/hostdisk.c (open_device): Fix a comment.
12846
12847 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12848
12849 * util/grub-install.in (host_os): New variable.
12850 * util/i386/efi/grub-install.in (host_os): Likewise.
12851
12852 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12853
12854 * util/mkisofs/write.c (padblock_write): Abort when given an
12855 excedingly large embed image, instead of silently truncating it.
12856
12857 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12858
12859 * include/multiboot.h: Indentation fixes.
12860
12861 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12862
12863 * include/multiboot.h (struct multiboot_aout_symbol_table)
12864 (struct multiboot_elf_section_header_table): New structure
12865 declarations (stolen from GRUB Legacy).
12866 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12867 table information.
12868
12869 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12870 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12871 type aliases.
12872
12873 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12874
12875 * include/multiboot.h: Make comments src2texi-friendly.
12876
12877 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12878
12879 For consistency with [multiboot]/docs/boot.S.
12880
12881 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12882 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12883 (MULTIBOOT_MAGIC2): Rename from this ...
12884 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12885
12886 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12887
12888 * include/multiboot.h: Remove `<grub/types.h>'.
12889 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12890 types. Update all users.
12891
12892 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12893
12894 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12895 `couldn't' and `can not' by `cannot'.
12896 * commands/i386/pc/drivemap.c: Likewise.
12897 * disk/ata.c: Likewise.
12898 * disk/ieee1275/nand.c: Likewise.
12899 * fs/affs.c: Likewise.
12900 * fs/fat.c: Likewise.
12901 * fs/hfs.c: Likewise.
12902 * fs/hfsplus.c: Likewise.
12903 * fs/iso9660.c: Likewise.
12904 * fs/jfs.c: Likewise.
12905 * fs/minix.c: Likewise.
12906 * fs/reiserfs.c: Likewise.
12907 * fs/sfs.c: Likewise.
12908 * fs/udf.c: Likewise.
12909 * fs/ufs.c: Likewise.
12910 * fs/xfs.c: Likewise.
12911 * loader/powerpc/ieee1275/linux.c: Likewise.
12912 * loader/sparc64/ieee1275/linux.c: Likewise.
12913 * util/grub-probe.c: Likewise.
12914 * util/misc.c: Likewise.
12915
12916 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12917
12918 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12919 grub_errno calls.
12920 * commands/acpi.c: Likewise.
12921 * commands/blocklist.c: Likewise.
12922 * commands/efi/loadbios.c: Likewise.
12923 * commands/i386/pc/drivemap.c: Likewise.
12924 * commands/loadenv.c: Likewise.
12925 * commands/memrw.c: Likewise.
12926 * commands/password.c: Likewise.
12927 * commands/videotest.c: Likewise.
12928 * disk/ata.c: Likewise.
12929 * disk/ata_pthru.c: Likewise.
12930 * disk/dmraid_nvidia.c: Likewise.
12931 * disk/ieee1275/nand.c: Likewise.
12932 * disk/ieee1275/ofdisk.c: Likewise.
12933 * disk/loopback.c: Likewise.
12934 * disk/lvm.c: Likewise.
12935 * disk/mdraid_linux.c: Likewise.
12936 * disk/raid.c: Likewise.
12937 * disk/raid6_recover.c: Likewise.
12938 * disk/scsi.c: Likewise.
12939 * efiemu/main.c: Likewise.
12940 * efiemu/mm.c: Likewise.
12941 * efiemu/pnvram.c: Likewise.
12942 * efiemu/symbols.c: Likewise.
12943 * font/font.c: Likewise.
12944 * fs/cpio.c: Likewise.
12945 * fs/hfsplus.c: Likewise.
12946 * fs/iso9660.c: Likewise.
12947 * fs/jfs.c: Likewise.
12948 * fs/minix.c: Likewise.
12949 * fs/ntfs.c: Likewise.
12950 * fs/ntfscomp.c: Likewise.
12951 * fs/reiserfs.c: Likewise.
12952 * fs/ufs.c: Likewise.
12953 * fs/xfs.c: Likewise.
12954 * gettext/gettext.c: Likewise.
12955 * include/grub/auth.h: Likewise.
12956 * kern/elf.c: Likewise.
12957 * kern/file.c: Likewise.
12958 * kern/ieee1275/init.c: Likewise.
12959 * kern/ieee1275/mmap.c: Likewise.
12960 * kern/ieee1275/openfw.c: Likewise.
12961 * kern/powerpc/dl.c: Likewise.
12962 * kern/sparc64/dl.c: Likewise.
12963 * lib/arg.c: Likewise.
12964 * loader/i386/bsd.c: Likewise.
12965 * loader/i386/bsdXX.c: Likewise.
12966 * loader/i386/efi/linux.c: Likewise.
12967 * loader/i386/efi/xnu.c: Likewise.
12968 * loader/i386/ieee1275/linux.c: Likewise.
12969 * loader/i386/linux.c: Likewise.
12970 * loader/i386/multiboot.c: Likewise.
12971 * loader/i386/pc/linux.c: Likewise.
12972 * loader/i386/pc/multiboot2.c: Likewise.
12973 * loader/i386/xnu.c: Likewise.
12974 * loader/ieee1275/multiboot2.c: Likewise.
12975 * loader/macho.c: Likewise.
12976 * loader/machoXX.c: Likewise.
12977 * loader/multiboot2.c: Likewise.
12978 * loader/multiboot_loader.c: Likewise.
12979 * loader/powerpc/ieee1275/linux.c: Likewise.
12980 * loader/sparc64/ieee1275/linux.c: Likewise.
12981 * loader/xnu.c: Likewise.
12982 * loader/xnu_resume.c: Likewise.
12983 * mmap/i386/pc/mmap.c: Likewise.
12984 * normal/menu_viewer.c: Likewise.
12985 * partmap/acorn.c: Likewise.
12986 * partmap/amiga.c: Likewise.
12987 * partmap/apple.c: Likewise.
12988 * script/lexer.c: Likewise.
12989 * term/gfxterm.c: Likewise.
12990 * term/i386/pc/serial.c: Likewise.
12991 * term/i386/pc/vga.c: Likewise.
12992 * term/ieee1275/ofconsole.c: Likewise.
12993 * term/terminfo.c: Likewise.
12994 * video/bitmap.c: Likewise.
12995 * video/efi_gop.c: Likewise.
12996 * video/efi_uga.c: Likewise.
12997 * video/fb/video_fb.c: Likewise.
12998 * video/i386/pc/vbe.c: Likewise.
12999 * video/readers/tga.c: Likewise.
13000 * video/video.c: Likewise.
13001
13002 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
13003
13004 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
13005 * commands/lspci.c: Likewise.
13006 * commands/probe.c: Likewise.
13007 * commands/xnu_uuid.c: Likewise.
13008 * conf/i386-coreboot.rmk: Likewise.
13009 * conf/i386-efi.rmk: Likewise.
13010 * conf/i386-ieee1275.rmk: Likewise.
13011 * conf/i386-pc.rmk: Likewise.
13012 * conf/powerpc-ieee1275.rmk: Likewise.
13013 * conf/sparc64-ieee1275.rmk: Likewise.
13014 * conf/x86_64-efi.rmk: Likewise.
13015 * fs/i386/pc/pxe.c: Likewise.
13016 * gettext/gettext.c: Likewise.
13017 * include/grub/efi/graphics_output.h: Likewise.
13018 * include/grub/i386/pc/memory.h: Likewise.
13019 * kern/env.c: Likewise.
13020 * kern/i386/qemu/startup.S: Likewise.
13021 * lib/i386/pc/biosnum.c: Likewise.
13022 * lib/i386/relocator.c: Likewise.
13023 * lib/i386/relocator_asm.S: Likewise.
13024 * lib/relocator.c: Likewise.
13025 * loader/i386/bsd.c: Likewise.
13026 * loader/i386/multiboot.c: Likewise.
13027 * loader/i386/pc/chainloader.c: Likewise.
13028 * loader/i386/xnu.c: Likewise.
13029 * loader/xnu.c: Likewise.
13030 * normal/main.c: Likewise.
13031 * normal/menu_text.c: Likewise.
13032 * util/getroot.c: Likewise.
13033 * util/grub-mkconfig_lib.in: Likewise.
13034 * util/grub.d/00_header.in: Likewise.
13035 * util/i386/pc/grub-mkimage.c: Likewise.
13036 * util/mkisofs/eltorito.c: Likewise.
13037 * util/mkisofs/exclude.h: Likewise.
13038 * util/mkisofs/hash.c: Likewise.
13039 * util/mkisofs/iso9660.h: Likewise.
13040 * util/mkisofs/joliet.c: Likewise.
13041 * util/mkisofs/mkisofs.c: Likewise.
13042 * util/mkisofs/mkisofs.h: Likewise.
13043 * util/mkisofs/multi.c: Likewise.
13044 * util/mkisofs/name.c: Likewise.
13045 * util/mkisofs/rock.c: Likewise.
13046 * util/mkisofs/tree.c: Likewise.
13047 * util/mkisofs/write.c: Likewise.
13048 * video/efi_gop.c: Likewise.
13049
13050 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13053 size counting.
13054
13055 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13056
13057 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13058 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13059
13060 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13063 (GRUB_MOD_INIT(memrw)): Update help line.
13064
13065 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13068 Use grub_extcmd_t. All users updated.
13069 (options): New variable.
13070 (grub_cmd_read): Restructure for readability. Support "-v" option.
13071 (grub_cmd_write): Restructure for readability.
13072
13073 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13074
13075 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13076
13077 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13078
13079 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13080 with the actual contents of the correspondending make variable.
13081 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13082 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13083 specifying `*.lst' and `efiemu??.o'
13084
13085 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13086
13087 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13088 after function name.
13089 Noticed by Rene Engelhard <rene@debian.org>.
13090
13091 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13094 (options): New variable.
13095 (iospace): Likewise.
13096 (grub_lspci_iter): List IO spaces if "-i" was given.
13097 (grub_cmd_lspci): Parse options.
13098 (GRUB_MOD_INIT(lspci)): Use extcmd.
13099 (GRUB_MOD_FINI(lspci)): Likewise.
13100
13101 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13102
13103 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13104 `function' keyword.
13105 Patch by Tony Mancill <tmancill@debian.org>.
13106
13107 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13110 (grub_uhci_portstatus): Likewise.
13111 (grub_uhci_portstatus): Add necessary delay.
13112 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
13113
13114 2009-12-21 Carles Pina i Estany <carles@pina.cat>
13115
13116 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13117 (GRUB_MOD_INIT): Likewise.
13118 * commands/boot.c (GRUB_MOD_INIT): Likewise.
13119 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13120 * commands/echo.c (options): Fix capitalizations and/or full stops.
13121 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13122 (enable_rom_area): Likewise.
13123 (GRUB_MOD_INIT): Likewise.
13124 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13125 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13126 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13127 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13128 * commands/hexdump.c (options): Likewise.
13129 * commands/i386/cpuid.c (options): Likewise.
13130 (GRUB_MOD_INIT): Likewise.
13131 * commands/i386/pc/drivemap.c (options): Likewise.
13132 (GRUB_MOD_INIT): Likewise.
13133 * commands/i386/pc/halt (options): Likewise.
13134 (GRUB_MOD_INIT): Likewise.
13135 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13136 * commands/i386/pc/pxecmd.c (options): Likewise.
13137 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13138 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13139 * commands/keystatus.c (options): Likewise.
13140 (GRUB_MOD_INIT): Likewise.
13141 * commands/loadenv.c (options): Likewise.
13142 * commands/ls.c (options): Likewise.
13143 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13144 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13145 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13146 * commands/parttool.c (helpmsg): Likewise.
13147 * commands/probe.c (options): Likewise.
13148 * commands/read.c (GRUB_MOD_INIT): Likewise.
13149 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13150 * commands/search.c (options): Likewise.
13151 * commands/sleep.c (options): Likewise.
13152 * commands/test.c (GRUB_MOD_INIT): Likewise.
13153 * commands/true.c (GRUB_MOD_INIT): Likewise.
13154 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13155 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13156 * lib/arg.c (help_options): Likewise.
13157 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13158 `$(XGETTEXT)'.
13159 * po/POTFILES: Add `commands/loadenv.c'.
13160
13161 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
13162
13163 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
13164 instead of specifying them explicit.
13165
13166 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13167
13168 * NEWS: Add grub-probe support for GNU/Hurd.
13169
13170 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13171
13172 * NEWS: gettext was added after 1.97.
13173
13174 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13175
13176 * util/mkisofs/msdos_partition.h: New file (based on
13177 include/grub/msdos_partition.h).
13178 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13179 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13180 (ld_options, main): Recognize --protective-msdos-label.
13181 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13182 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13183 (padblock_write): If `use_protective_msdos_label' is set, patch a
13184 protective DOS-style label in the output image.
13185
13186 * util/grub-mkrescue.in: Use --protective-msdos-label.
13187
13188 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13189
13190 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13191 boot.
13192
13193 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13194
13195 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13196 variables.
13197 (ld_options, main): Recognize `--embedded-boot'.
13198 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13199 declarations.
13200 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13201 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13202 (padblock_write): Likewise. Rewrite to support embedded boot image.
13203
13204 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13205 for BIOS-based disk boot instead of only ElTorito.
13206
13207 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13208
13209 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13210 build (not needed for bootstrap).
13211
13212 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13213
13214 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13215 from i386-pc build (not needed for bootstrap).
13216 Rewrite a pair of strings.
13217
13218 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13219
13220 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13221
13222 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13225
13226 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13227
13228 * kern/env.c (grub_env_context_open): Mark exported variable for
13229 reexport.
13230
13231 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13232
13233 * kern/env.c (grub_env_export): Create nonexistent variables before
13234 exporting.
13235
13236 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13237
13238 * include/grub/auth.h: Include `<grub/i18n.h>'.
13239 (GRUB_GET_PASSWORD): Gettextizze string.
13240 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13241 menu_text.c.
13242 (grub_utf8_to_ucs4_alloc): Fix indentation.
13243 (grub_print_ucs4): Likewise.
13244 (grub_getstringwidth): Likewise.
13245 (print_message_indented): New declaration.
13246 * normal/auth.c: Include `<grub/i18n.h>'.
13247 (grub_auth_check_authentication): Gettexttize string.
13248 * normal/cmdline.c: Include `<grub/i18n.h>'.
13249 (grub_cmdline_get): Gettextizze.
13250 * normal/color.c: Include `<grub/i18n.h>'.
13251 (grub_parse_color_name_pair): Gettexttize strings.
13252 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13253 string (use `print_message_indented').
13254 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13255 `include/grub/normal.h'.
13256 (print_message_indented): Renamed to ...
13257 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13258 used in normal/main.c).
13259 (print_message): Use `grub_print_message_indented' instead of
13260 `print_message_indented'.
13261 (print_timeout): Likewise.
13262 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13263 (grub_normal_print_device_info): Gettexttize strings.
13264 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13265
13266 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13269 of arguments. Return number of tokens and not arguments. All users
13270 updated.
13271
13272 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13275 non-MSDOS paritions.
13276
13277 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * include/grub/types.h (UNUSED): Removed since it conflicts with
13280 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13281 Reported by Grégoire Sutre.
13282
13283 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13284
13285 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13286 (grub_print_ucs4_alloc): Likewise.
13287 (grub_getstringwidth): Likewise.
13288 * normal/main.c (grub_normal_init_page): Gettextize version string.
13289 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13290 (getstringwidth): Renamed to ...
13291 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13292 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13293 (grub_print_ucs4): Remove `static' qualifer (now used in
13294 normal/main.c).
13295 * po/POTFILES: Add normal/main.c.
13296
13297 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13298
13299 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13300 (print_message_indented): Add `margin_left' and `margin_right'
13301 parameters.
13302 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13303 strings.
13304 (print_timeout): Use `print_message_indented' to print the message.
13305 Deletes `second_stage' parameter.
13306 (run_menu): Update `print_timeout' calls.
13307
13308 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 Fix console palette on OpenFirmware.
13311
13312 * term/ieee1275/ofconsole.c (MAX): Removed.
13313 (colors): Redone based on VGA palette.
13314 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13315 colors are supported.
13316 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13317
13318 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 Fix potential EfiEmu double prepare.
13321
13322 * efiemu/main.c (prepared): New variable
13323 (grub_efiemu_unload): Set prepare to '0'.
13324 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13325
13326 set_virtual_address_map support.
13327
13328 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13329 prototype.
13330 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13331 prototype.
13332 (grub_efiemu_crc32): Likewise.
13333 (grub_efiemu_crc64): Likewise.
13334 (grub_efiemu_set_virtual_address_map): Likewise.
13335 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13336 New definition.
13337 (grub_autoefi_set_virtual_address_map): Likewise.
13338 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13339 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13340 Restructure flow to accomodate it.
13341 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13342 (grub_efiemu_crc): Recompute CRC32.
13343 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13344 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13345 * efiemu/symbols.c (relocated_handle): New variable.
13346 (grub_efiemu_free_syms): Free relocated_handle.
13347 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13348 (grub_efiemu_write_sym_markers): New function.
13349 (grub_efiemu_set_virtual_address_map): Likewise.
13350
13351 Newer XNU parameters.
13352
13353 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13354 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13355 (grub_xnu_fill_devicetree): New prototype.
13356 (grub_xnu_heap_real_start): New variable.
13357 * loader/xnu.c (get_name_ptr): New function.
13358 (grub_xnu_load_driver): Fill namelen and name.
13359
13360 64-bit xnu support.
13361
13362 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13363 and 'loader/macho64.c'.
13364 * conf/i386-pc.rmk: Likewise.
13365 * conf/x86_64-efi.rmk: Likewise.
13366 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13367 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13368 * include/grub/macho.h (grub_macho_segment64): New structure.
13369 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13370 (grub_macho_size32): ... to this.
13371 (grub_macho32_get_entry_point): Renamed from ...
13372 (grub_macho_get_entry_point32): ... to this.
13373 (grub_macho_contains_macho64): New prototype.
13374 (grub_macho_size64): Likewise.
13375 (grub_macho_get_entry_point64): Likewise.
13376 (grub_macho32_load): Renamed from ...
13377 (grub_macho_load32): ... to this.
13378 (grub_macho32_filesize): Renamed from ...
13379 (grub_macho_filesize32): ... to this.
13380 (grub_macho32_readfile): Renamed from ...
13381 (grub_macho_readfile32): ... to this.
13382 (grub_macho_filesize64): New prototype.
13383 (grub_macho_readfile64): Likewise.
13384 (grub_macho_parse32): Likewise.
13385 (grub_macho_parse64): Likewise.
13386 * loader/macho.c: Split into ...
13387 * loader/machoXX.c: ... and this. Replace 32 with XX.
13388 * loader/macho32.c: New file.
13389 * loader/macho64.c: Likewise.
13390 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13391 (grub_cmd_xnu_kernel): Make 32-bit only.
13392 (grub_cmd_xnu_kernel64): New function.
13393 (grub_xnu_load_driver): Support Mach-O 64.
13394 (grub_cmd_xnu_mkext): Likewise.
13395 * util/grub.d/30_os-prober.in (osx_entry): New function.
13396 Generate entries for 64-bit boot too.
13397
13398 Eliminate ad-hoc tree format in XNU and EfiEmu.
13399
13400 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13401 * efiemu/pnvram.c: Rewritten to use environment variables.
13402 All users updated.
13403
13404 Inline utf16_to_utf8.
13405
13406 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13407 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13408 All users updated.
13409 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13410
13411 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13412 * commands/usbtest.c (grub_usb_get_string): ... move here.
13413 (usb_print_str): Fix error handling.
13414 * include/grub/usb.h (grub_usb_get_string): Remove.
13415
13416 UTF-8 to UTF-16 transformation.
13417
13418 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13419 (charset_mod_SOURCES): New variable.
13420 (charset_mod_CFLAGS): Likewise.
13421 (charset_mod_LDFLAGS): Likewise.
13422 * include/grub/utf.h: New file.
13423 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13424
13425 Support for device properties.
13426
13427 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13428 (grub_xnu_devprop_device_header): Likewise.
13429 (grub_xnu_devprop_device_descriptor): Likewise.
13430 (grub_xnu_devprop_add_device): New prototype.
13431 (grub_xnu_devprop_remove_device): Likewise.
13432 (grub_xnu_devprop_remove_property): Likewise.
13433 (grub_xnu_devprop_add_property_utf8): Likewise.
13434 (grub_xnu_devprop_add_property_utf16): Likewise.
13435 (grub_cpu_xnu_init): Likewise.
13436 (grub_cpu_xnu_fini): Likewise.
13437 (grub_cpu_xnu_unload): Likewise.
13438 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13439 (property_descriptor): Likewise.
13440 (devices): New variable.
13441 (grub_xnu_devprop_remove_property): New function.
13442 (grub_xnu_devprop_add_device): Likewise.
13443 (grub_xnu_devprop_remove_device): Likewise.
13444 (grub_xnu_devprop_add_property): Likewise.
13445 (grub_xnu_devprop_add_property_utf8): Likewise.
13446 (grub_xnu_devprop_add_property_utf16): Likewise.
13447 (hextoval): Likewise.
13448 (grub_cpu_xnu_fill_devprop): Likewise.
13449 (grub_cmd_devprop_load): Likewise.
13450 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13451 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13452 (cmd_devprop_load): New variable.
13453 (grub_cpu_xnu_init): New function.
13454 (grub_cpu_xnu_fini): Likewise.
13455 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13456 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13457 (grub_cmd_xnu_devtree): Likewise.
13458 (hextoval): New function.
13459 (unescape): Likewise.
13460 (grub_xnu_fill_devicetree): Likewise.
13461
13462 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13463 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13464
13465 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Workaround for broken ATI VBE.
13468
13469 * video/i386/pc/vbe.c (last_set_mode): New variable.
13470 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13471 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13472 (grub_video_vbe_setup): Don't check for reserved flag.
13473
13474 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13475
13476 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13477 the `find' command.
13478
13479 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 UUID support for HFS.
13482
13483 * fs/hfs.c (grub_hfs_uuid): New function.
13484 (grub_hfs_fs): New value .uuid.
13485 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13486
13487 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13488
13489 Fix a segfault with parsing unknown long options.
13490
13491 * util/grub-mkrelpath.c (options): Zero terminate it.
13492
13493 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13494
13495 * include/grub/misc.h (grub_puts): New declaration.
13496 (grub_puts_): Likewise.
13497 * kern/misc.c (grub_puts): New definition.
13498 (grub_puts_): Likewise.
13499
13500 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13501
13502 * util/grub-probe.c (probe): Improve error message.
13503
13504 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13505
13506 * loader/i386/multiboot_elfxx.c
13507 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13508 initialization.
13509
13510 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Relocator framework
13513
13514 * loader/i386/xnu_helper.S: Removed. All users updated.
13515 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13516 (relocator_mod_SOURCES): New variable.
13517 (relocator_mod_CFLAGS): Likewise.
13518 (relocator_mod_LDFLAGS): Likewise.
13519 (relocator_mod_ASFLAGS): Likewise.
13520 * conf/x86_64.rmk: Likewise.
13521 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13522 (grub_multiboot_payload_entry_offset): Likewise.
13523 (grub_multiboot_forward_relocator): Likewise.
13524 (grub_multiboot_forward_relocator_end): Likewise.
13525 (grub_multiboot_backward_relocator): Likewise.
13526 (grub_multiboot_backward_relocator_end): Likewise.
13527 (grub_multiboot_payload_eip): New variable.
13528 (grub_multiboot_payload_orig): Likewise.
13529 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13530 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13531 * include/grub/i386/memory.h
13532 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13533 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13534 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13535 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13536 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13537 * include/grub/i386/relocator.h: New file.
13538 * include/grub/x86_64/relocator.h: Likewise.
13539 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13540 (XNU_RELOCATOR): New macro.
13541 (grub_xnu_launcher_start): Remove.
13542 (grub_xnu_launcher_end): Likewise.
13543 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13544 (grub_xnu_heap_real_start): Remove.
13545 (grub_xnu_heap_start): Change to void *. All users updated.
13546 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13547 * lib/i386/relocator.c: New file.
13548 * lib/i386/relocator_asm.S: Likewise.
13549 * lib/i386/relocator_backward.S: Likewise.
13550 * lib/mips/relocator.c: Likewise.
13551 * lib/mips/relocator_asm.S: Likewise.
13552 * lib/relocator.c: Likewise.
13553 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13554 (entry): Removed.
13555 (playground): Likewise.
13556 (grub_multiboot_payload_orig): New variable.
13557 (grub_multiboot_payload_dest): Likewise.
13558 (grub_multiboot_payload_size): Likewise.
13559 (grub_multiboot_payload_eip): Likewise.
13560 (grub_multiboot_payload_esp): Likewise.
13561 (grub_multiboot_boot): Use grub_relocator32_boot.
13562 (grub_multiboot_unload): Free relocators.
13563 (grub_multiboot): Setup stack. Use relocators.
13564 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13565 (grub_multiboot_load_elfXX): Use relocators.
13566 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13567 (grub_multiboot_payload_size): Likewise.
13568 (grub_multiboot_payload_dest): Likewise.
13569 (grub_multiboot_payload_entry_offset): Likewise.
13570 (grub_multiboot_forward_relocator): Likewise.
13571 (grub_multiboot_backward_relocator): Likewise.
13572 (grub_multiboot_real_boot): Likewise.
13573 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13574 (grub_xnu_entry_point): Likewise.
13575 (grub_xnu_arg1): Likewise.
13576 (grub_xnu_stack): Likewise.
13577 (grub_xnu_launch): Removed.
13578 (grub_xnu_boot_resume): New function.
13579 (grub_xnu_boot): Use relocators.
13580 * loader/i386/xnu_helper.S: Removed.
13581 * loader/xnu.c (grub_xnu_heap_start): New variable.
13582 (grub_xnu_heap_size): Likewise.
13583 (grub_xnu_heap_malloc): Use relocators.
13584 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13585
13586 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13589 anything.
13590
13591 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13592
13593 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13594 GRUB_ERR_NONE before calling grub_env_set.
13595
13596 2009-12-12 Robert Millan <rmh@aybabtu.com>
13597
13598 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13599 * genmk.rb (video): New variable.
13600 (CLEANFILES, VIDEOFILES): Add #{video}.
13601 (#{video}): New target rule.
13602 * genvideolist.sh: New file.
13603 * Makefile.in (pkglib_DATA): Add video.lst.
13604 (video.lst): New target rule.
13605 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13606 `video.lst'.
13607 * util/grub.d/30_os-prober.in: Replace `vbe' with
13608 ${GRUB_VIDEO_BACKEND}.
13609
13610 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13611
13612 * THANKS: Add David Miller.
13613
13614 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 libpciaccess support.
13617
13618 * Makefile.in (LIBPCIACCESS): New variable.
13619 (enable_grub_emu_pci): Likewise.
13620 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13621 util/pci.c and commands/lspci.c.
13622 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13623 * configure.ac (grub-emu-pci): New option.
13624 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13625 (grub_pci_device_unmap_range): Likewise.
13626 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13627 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13628 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13629 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13630 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13631 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13632 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13633 * include/grub/pciutils.h: New file.
13634 * util/pci.c: Likewise.
13635
13636 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13637
13638 * util/misc.c: Don't include <errno.h> twice.
13639
13640 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13641
13642 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13643 name in an error message.
13644 (grub_biosdisk_rw): Likewise.
13645
13646 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 Eliminate NTFS 4Gib barrier.
13649
13650 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13651 (read_run_data): Likewise.
13652 (grub_ntfs_read_run_list): Likewise.
13653 (grub_ntfs_read_block): Likewise.
13654 (grub_ntfs_iterate_dir): Likewise.
13655 (read_mft): Likewise.
13656 (read_data): Likewise.
13657 Use COM_LOG_LEN.
13658 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13659 to avoid 64-bit division
13660 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13661 (grub_ntfs_rlst): Use grub_disk_addr_t.
13662
13663 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 Eliminate grub-fstest 4Gib barrier.
13666
13667 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13668 (read_file): Fix error reporting.
13669
13670 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 Eliminate hexdump 4Gib barrier.
13673
13674 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13675 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13676
13677 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13680 Fixes amarsh bug.
13681
13682 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13683
13684 Remove miscellaneous files in distclean target.
13685
13686 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13687
13688 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13689
13690 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13691 if they're already set. This resolves the conflict between my
13692 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13693 fixing the --grub-probe option again.
13694 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13695 change on 2009-10-06, so that we now once again source
13696 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13697
13698 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13699
13700 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13701 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13702 `util/devicemap.c'.
13703
13704 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13705
13706 * include/grub/misc.h (grub_printf_): New declaration.
13707 * kern/misc.c (grub_printf_): New definition.
13708 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13709 instead of `grub_printf' and `_'.
13710 * normal/menu_entry.c (store_completion): Likewise.
13711 (run): Likewise.
13712 (grub_menu_entry_run): Likewise.
13713 * normal/menu_text.c (grub_wait_after_message): Likewise.
13714 (notify_booting): Likewise.
13715 (notify_fallback): Likewise.
13716 (notify_execution_failure): Likewise.
13717
13718 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13719
13720 * configure.ac: Check for vasprintf.
13721 * util/misc.c (asprintf): Move allocation from here ...
13722 (vasprintf): ... to here. New function.
13723 (xasprintf): New function.
13724 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13725 prototypes.
13726 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13727 * util/grub-mkfont.c (write_font): Likewise.
13728 * util/grub-probe.c (probe): Likewise.
13729 * util/hostdisk.c (make_device_name): Likewise.
13730
13731 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13732
13733 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13734 anything even prefixed with 'cdrom' as a cdrom.
13735
13736 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13737
13738 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13739 mount points.
13740
13741 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13742
13743 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13744 grub_gettext_msg_list.
13745 (grub_gettext_gettranslation_from_position): Return const char *
13746 and not char *.
13747 (grub_gettext_translate): Add the translated strings into a list,
13748 returns from the list if existing there.
13749 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13750 (grub_gettext_delete_list): Delete the list.
13751 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13752 lang environment variable is changed.
13753 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13754
13755 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 Rename kernel.mod to kernel.img.
13758
13759 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13760 (kernel_mod_EXPORTS): Rename to ...
13761 (kernel_img_EXPORTS): ... this.
13762 (kernel_mod_SOURCES): Rename to ...
13763 (kernel_img_SOURCES): ... this.
13764 (kernel_mod_HEADERS): Rename to ...
13765 (kernel_img_HEADERS): ... this. All users updated.
13766 (kernel_mod_CFLAGS): Rename to ...
13767 (kernel_img_CFLAGS): ... this.
13768 (kernel_mod_ASFLAGS): Rename to ...
13769 (kernel_img_ASFLAGS): ... this.
13770 (kernel_mod_LDFLAGS): Rename to ...
13771 (kernel_img_LDFLAGS): ... this.
13772 * conf/x86_64-efi.rmk: Likewise.
13773 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13774 (read_kernel_image): ... this. All users updated.
13775 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13776
13777 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13778
13779 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13780 (print_spaces): New function.
13781 (grub_print_ucs4): New function.
13782 (getstringwidth): New function.
13783 (print_message_indented): New function.
13784 (print_message): Gettexttize strings using print_message_indented.
13785 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13786 width.
13787 (get_entry_number): Gettextize and uses dynamic terminal width.
13788 (notify_booting, notify_fallback, notify_execution_failure):
13789 Gettextize.
13790 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13791 string.
13792 (run): Likewise.
13793 (grub_menu_entry_run): Likewise.
13794 * PO/POTFILES: Add normal/menu_entry.c.
13795
13796 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13799
13800 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13801
13802 * util/grub-install.in: Install gettext .mo files.
13803 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13804
13805 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13806
13807 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13808 grub_dprintf.
13809
13810 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13811
13812 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13813 non-firmware-dependant one in realmode.S takes precedence.
13814
13815 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13816
13817 * commands/halt.c: Replace misc arch-specific headers with
13818 `<grub/misc.h>'.
13819 * commands/reboot.c: Likewise.
13820 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13821 `<grub/misc.h>'.
13822 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13823 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13824 (kernel_img_SOURCES): ... to here.
13825
13826 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13827 * include/grub/i386/pc/init.h: Likewise.
13828 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13829 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13830
13831 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13832
13833 * include/grub/i386/halt.h: Remove.
13834 * include/grub/i386/reboot.h: Likewise.
13835
13836 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13837
13838 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13839
13840 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13841 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13842 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13843 "progname.h"
13844 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13845 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13846 (usage): Add missing comma in printf.
13847
13848 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13849
13850 Use the same reboot approach on i386 coreboot and qemu as we do on
13851 BIOS.
13852
13853 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13854 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13855 * kern/i386/reboot.c: Remove.
13856 * include/grub/i386/reboot.h (grub_reboot): Export function.
13857 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13858 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13859 0xf000:0xfff0 instead of 0xffff:0x0000.
13860 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13861 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13862
13863 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13864
13865 Fix $srcdir != $objdir build.
13866
13867 * Makefile.in (po/%.po): Rewrite as ...
13868 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13869
13870 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13871
13872 Fix GNU/Hurd grub-install crash.
13873 * util/grub-probe.c (probe): Try to access `path' only when it is not
13874 NULL.
13875
13876 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 Correct module naming.
13879
13880 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13881 (GRUB_MOD_INIT(efi_uga)): ... to this
13882 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13883 (GRUB_MOD_FINI(efi_uga)): ... to this
13884 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13885 (GRUB_MOD_INIT(efi_gop)): ... to this
13886 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13887 (GRUB_MOD_FINI(efi_gop)): ... to this
13888
13889 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13890
13891 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13892 translatable.
13893 (usage): Translate `arg' strings using gettext().
13894 Thanks to Jordi Mallach for the suggestion.
13895
13896 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 GOP support. Based on patch from Bean
13899 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13900
13901 * video/efi_gop.c: New file.
13902 * include/grub/efi/graphics_output.h: Likewise.
13903 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13904 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13905 variables.
13906 * conf/x86_64-efi.rmk: Likewise.
13907
13908 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Rename efi_fb to efi_uga.
13911
13912 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13913 'efi_uga.mod'.
13914 (efi_fb_mod_SOURCES): Rename this ...
13915 (efi_uga_mod_SOURCES): ... to this.
13916 (efi_fb_mod_CFLAGS): Rename this ...
13917 (efi_uga_mod_CFLAGS): ... to this.
13918 (efi_fb_mod_LDFLAGS): Rename this ...
13919 (efi_uga_mod_LDFLAGS): ... to this.
13920 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13921 'efi_uga.mod'.
13922 (efi_fb_mod_SOURCES): Rename this ...
13923 (efi_uga_mod_SOURCES): ... to this.
13924 (efi_fb_mod_CFLAGS): Rename this ...
13925 (efi_uga_mod_CFLAGS): ... to this.
13926 (efi_fb_mod_LDFLAGS): Rename this ...
13927 (efi_uga_mod_LDFLAGS): ... to this.
13928 * video/efi_fb.c: Move this ...
13929 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13930
13931 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13932
13933 * po/README: New file. Explain our PO file workflow.
13934
13935 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13936
13937 * po/ChangeLog: Remove. Move relevant entries back to ...
13938 * ChangeLog: ... here.
13939 * po/ca.po: Remove (now handled by TLP).
13940 * po/id.po: Likewise.
13941 * po/zh_CN.po: Likewise.
13942 * Makefile.in (LINGUAS): Initialize in a way that supports
13943 empty set.
13944
13945 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13946
13947 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13948 reliing on po/LINGUAS.
13949 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13950 (po/%.po): ... this.
13951
13952 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13953
13954 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13955 (main): Use `program_name' instead of nonexistent `progname'.
13956
13957 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13958
13959 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13960 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13961
13962 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13963
13964 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13965 commit.
13966 * conf/i386-efi.rmk: Likewise.
13967 * conf/i386-ieee1275.rmk: Likewise.
13968 * conf/powerpc-ieee1275.rmk: Likewise.
13969 * conf/sparc64-ieee1275.rmk: Likewise.
13970 * conf/x86_64-efi.rmk: Likewise.
13971
13972 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13973
13974 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13975
13976 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13977
13978 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13979
13980 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13981
13982 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13983 (grub_mkdevicemap_SOURCES): New variable.
13984 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13985 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13986 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13987 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13988 (grub_mkdevicemap_SOURCES): Remove.
13989 * conf/i386-efi.rmk: Likewise.
13990 * conf/i386-ieee1275.rmk: Likewise.
13991 * conf/i386-pc.rmk: Likewise.
13992 * conf/powerpc-ieee1275.rmk: Likewise.
13993 * conf/sparc64-ieee1275.rmk: Likewise.
13994 * conf/x86_64-efi.rmk: Likewise.
13995 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13996 (usage): Fix strings to use `program_name'.
13997 (main): Initialize gettext.
13998 * util/grub-editenv.c: Likewise.
13999 * util/grub-emu.c: Likewise.
14000 * util/grub-fstest.c: Likewise.
14001 * util/grub-mkdevicemap.c: Likewise.
14002 * util/grub-mkfont.c: Likewise.
14003 * util/grub-mkrelpath.c: Likewise.
14004 * util/grub-pe2elf.c: Likewise.
14005 * util/grub-probe.c: Likewise.
14006 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14007 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14008 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14009
14010 * util/misc.c: Include `"progname.h"'.
14011 (progname): Remove variable.
14012 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
14013
14014 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
14015
14016 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
14017 printf and print a newline after the menuentry header line.
14018 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14019
14020 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
14021
14022 autoconf >= 2.60 support $(localedir).
14023
14024 * INSTALL: Note that autoconf 2.60 is required.
14025 * configure.ac (AC_PREREQ): Bump to 2.60.
14026 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
14027 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14028
14029 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
14030
14031 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
14032 aclocal is run.
14033
14034 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14035
14036 * normal/main.c (grub_normal_read_line): Fix off-by-one
14037 buffer overflow.
14038
14039 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14040
14041 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
14042 "parser.grub" in grub_command_execute() call.
14043
14044 2009-11-24 Carles Pina i Estany <carles@pina.cat>
14045
14046 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14047 * conf/i386-efi.rmk: Likewise.
14048 * conf/i386-ieee1275.rmk: Likewise.
14049 * conf/i386-pc.rmk: Likewise.
14050 * conf/powerpc-ieee1275.rmk: Likewise.
14051 * conf/sparc64-ieee1275.rmk: Likewise.
14052 * conf/x86_64-efi.rmk: Likewise.
14053 * gettext/gettex.c: Include <grub/i18n.h>.
14054 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14055 here ...
14056 * include/grub/i18n.h: ... to here
14057 * include/grub/i18n.h: ... to here.
14058 * kern/misc.c: Include <grub/i18n.h>
14059 (grub_gettext_dummy): Move above user.
14060
14061 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14062
14063 * util/Makefile.in (install-local): Convert a `for' into a normal
14064 shell expansion.
14065
14066 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14067
14068 * autogen.sh: Add automake call.
14069 * config.guess: Remove.
14070 * config.sub: Likewise.
14071 * install-sh: Likewise.
14072
14073 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14074
14075 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14076
14077 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14078
14079 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14080 function to a normal shell `for'.
14081
14082 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14083
14084 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14085
14086 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14087
14088 * util/grub-mkrelpath.c: New file.
14089 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14090 (grub_mkrelpath_SOURCES): New variable.
14091 * include/grub/util/misc.h: New function prototype.
14092 * util/misc.c (make_system_path_relative_to_its_root): New function.
14093
14094 * util/grub-mkconfig_lib.in (bindir): New variable.
14095 (grub_mkrelpath): Likewise.
14096 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14097
14098 * util/probe.c (probe): Make the file path relative to its root.
14099 Change a info message to use the GRUB path. Enable again the
14100 check if we can read the file with GRUB facilities.
14101
14102 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14103 to its root.
14104
14105 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14106
14107 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14108 platform.
14109
14110 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14111
14112 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14113 strncmp().
14114
14115 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14116
14117 * util/getroot.c (grub_util_is_dmraid): New function.
14118 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14119 devices as normal ones, not as LVM.
14120
14121 2009-11-23 Carles Pina i Estany <carles@pina.cat>
14122
14123 * conf/common.rmk: Add grub-gettext_lib target and updates
14124 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14125 LDFLAGS.
14126 * gettext/gettext.c: New file. (Reads mo files).
14127 * include/grub/file.h (grub_file_pread): New prototype.
14128 * include/grub/i18n.h (_): New prototype.
14129 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14130 prototypes.
14131 * kern/misc.c (grub_gettext_dummy): New function.
14132 * normal/menu_text.c: Include <grub/i18n.h>.
14133 * normal/menu_text.c (print_timeout): Gettexttize string.
14134 * normal/menu_text.c (print_message): Gettexttize string.
14135 * po/POTFILES: Add `normal/menu_text.c'.
14136 * po/ca.po: Add new translations.
14137 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14138 gettext module and defines locale_dir and lang in grub.cfg.
14139 * NEWS: Add gettext support.
14140
14141 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14142
14143 * util/hostdisk.c: Include `<grub/i18n.h>'.
14144 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14145 (make_device_name): Rewrite using asprintf.
14146 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14147 (find_system_device): If a device is not found, generate one just
14148 by reusing the OS path name.
14149 (read_device_map): Make it permissible for device.map not to exist.
14150
14151 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14152
14153 * script/sh/execute.c: Move from here ...
14154 * script/execute.c: ... to here. Update all users.
14155 * script/sh/function.c: Move from here ...
14156 * script/function.c: ... to here. Update all users.
14157 * script/sh/lexer.c: Move from here ...
14158 * script/lexer.c: ... to here. Update all users.
14159 * script/sh/main.c: Move from here ...
14160 * script/main.c: ... to here. Update all users.
14161 * script/sh/parser.y: Move from here ...
14162 * script/parser.y: ... to here. Update all users.
14163 * script/sh/script.c: Move from here ...
14164 * script/script.c: ... to here. Update all users.
14165
14166 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14167
14168 * configure.ac: Detect all `emu' platforms. Define
14169 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14170 --enable-grub-emu logic. Disable include/grub/machine
14171 symlink on `emu' platforms.
14172
14173 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14174 * gensymlist.sh.in: Likewise.
14175
14176 * include/grub/i386/coreboot/machine.h: Remove file.
14177 * include/grub/i386/efi/machine.h: Likewise.
14178 * include/grub/i386/ieee1275/machine.h: Likewise.
14179 * include/grub/i386/pc/machine.h: Likewise.
14180 * include/grub/i386/qemu/machine.h: Likewise.
14181 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14182 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14183 * include/grub/x86_64/efi/machine.h: Likewise.
14184
14185 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14186 * commands/halt.c: Likewise.
14187 * commands/reboot.c: Likewise.
14188 * include/grub/autoefi.h: Likewise.
14189 * include/grub/i386/at_keyboard.h: Likewise.
14190 * include/grub/i386/kernel.h: Likewise.
14191 * include/grub/i386/loader.h: Likewise.
14192 * include/grub/i386/pc/memory.h: Likewise.
14193 * kern/dl.c: Likewise.
14194 * kern/i386/coreboot/init.c: Likewise.
14195 * loader/i386/bsd.c: Likewise.
14196 * loader/i386/linux.c: Likewise.
14197 * loader/multiboot_loader.c: Likewise.
14198 * term/i386/pc/serial.c: Likewise.
14199 * term/usb_keyboard.c: Likewise.
14200
14201 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14202 `<grub/machine/machine.h>'
14203 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14204 * util/misc.c: Remove `<grub/machine/machine.h>' and
14205 `<grub/machine/time.h>'.
14206
14207 * Makefile.in (enable_grub_emu): Remove variable.
14208 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14209
14210 * conf/any-emu.rmk: New file.
14211 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14212 (grub_emu_init.c): Move from here ...
14213 * conf/any-emu.rmk: ... to here.
14214
14215 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14216 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14217 * conf/any-emu.rmk: ... to here.
14218
14219 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14220
14221 * include/grub/parser.h (grub_parser_register): Document need
14222 of `name' parameter.
14223 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14224 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14225 "sh" to "grub".
14226
14227 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14228
14229 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14230 `$(XGETTEXT)'.
14231 * include/grub/i18n.h (N_): New macro.
14232 * util/mkisofs/mkisofs.h: Likewise.
14233 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14234 around N_().
14235 (usage): Use gettext() to translate help strings when printing them.
14236
14237 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14238
14239 Based on patch from Bean
14240 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14241
14242 * video/efi_fb.c: New file.
14243 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14244 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14245 variables.
14246 * conf/x86_64-efi.rmk: Likewise.
14247
14248 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14249
14250 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14251 * util/i386/pc/grub-setup.c: Likewise.
14252
14253 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14254
14255 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14256 <hurd/fs.h>
14257 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14258 file_get_storage_info to implement grub_guess_root_device.
14259
14260 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14261
14262 * Makefile.in (target): Use make's builtin $(shell) function
14263 instead of calling directly $(SHELL) to create the locale directories,
14264 inside the $(foreach) function.
14265
14266 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14267
14268 * util/grub-mkrescue.in: Print an error and usage if output option
14269 has not been given.
14270
14271 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14272
14273 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14274 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14275 root and /boot are on different devices.
14276
14277 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14278
14279 Fix build for srcdir != objdir.
14280
14281 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14282 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14283 $(srcdir).
14284 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14285 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14286 reference for input.
14287
14288 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14289
14290 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14291 or hardlinking it). Remove -J option, Joliet is not compatible with
14292 multiple source directories.
14293
14294 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14295 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14296
14297 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14298 (process_input_dir): New function. Process an arbitrary input
14299 directory.
14300 Misc adjustments to support both "override mode" and system-wide mode.
14301
14302 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14303
14304 * configure.ac (UNIFONT_BDF): Rename to ...
14305 (FONT_SOURCE): ... this. Update all users.
14306
14307 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14308
14309 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14310 to the list of unifont files to look for.
14311
14312 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14313
14314 Patch from Joe Auricchio <jauricchio@gmail.com>
14315 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14316 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14317 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14318
14319 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14320
14321 * Makefile.in (install-local): Add a missing backslash.
14322
14323 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14324
14325 * include/grub/x86_64/io.h: New file.
14326
14327 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14328
14329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14330 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14331 Include `"progname.h"'.
14332 (main): Initialize gettext.
14333 * util/i386/pc/grub-setup.c: Gettexttize.
14334 * util/i386/pc/grub-mkimage.c: Likewise.
14335
14336 * Makefile.in (po/*.po): Redefine as ...
14337 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14338
14339 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14340
14341 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14342
14343 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14344 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14345 (program_name): Remove.
14346 (main): Initialize gettext support.
14347 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14348 Include `<libintl.h>'.
14349 (_): New macro.
14350
14351 * util/mkisofs/eltorito.c: Gettexttize.
14352 * util/mkisofs/joliet.c: Likewise.
14353 * util/mkisofs/mkisofs.c: Likewise.
14354 * util/mkisofs/multi.c: Likewise.
14355 * util/mkisofs/rock.c: Likewise.
14356 * util/mkisofs/tree.c: Likewise.
14357 * util/mkisofs/write.c: Likewise.
14358
14359 * po/POTFILES: Update with new files.
14360
14361 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14362
14363 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14364 * util/mkisofs/iso9660.h: Likewise.
14365 * util/mkisofs/joliet.c: Likewise.
14366 * util/mkisofs/mkisofs.c: Likewise.
14367 * util/mkisofs/mkisofs.h: Likewise.
14368 * util/mkisofs/rock.c: Likewise.
14369 * util/mkisofs/tree.c: Likewise.
14370 * util/mkisofs/write.c: Likewise.
14371
14372 * util/mkisofs/eltorito.c (rcsid): Remove.
14373 * util/mkisofs/hash.c: Likewise.
14374 * util/mkisofs/joliet.c: Likewise.
14375 * util/mkisofs/name.c: Likewise.
14376 * util/mkisofs/rock.c: Likewise.
14377 * util/mkisofs/tree.c: Likewise.
14378 * util/mkisofs/write.c: Likewise.
14379
14380 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14381
14382 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14383 instead of static allocation.
14384 * util/mkisofs/match.h: Likewise.
14385
14386 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14387
14388 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14389 and `util/grub.d/10_linux.in'.
14390 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14391 translatable Shell files.
14392
14393 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14394
14395 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14396
14397 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14398
14399 * INSTALL: Document Automake is needed for bootstrap.
14400 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14401 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14402 Add gettext initialization.
14403 (kfreebsd_entry): Make menuentry output translatable.
14404
14405 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14406
14407 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14408 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14409 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14410 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14411 (LINGUAS): Auto-generate using `po/LINGUAS'.
14412 * po/LINGUAS: New file.
14413
14414 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14415
14416 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14417 other things).
14418 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14419 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14420 bindtextdomain() calls for gettext initialization.
14421
14422 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14423
14424 * gnulib/progname.c: New file (imported from Gnulib).
14425 * gnulib/progname.h: Likewise.
14426 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14427 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14428 (usage): Replace `progname' with `program_name'.
14429 (main): Use set_program_name() for program name initialization.
14430
14431 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14432
14433 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14434 from here ...
14435 * Makefile.in (CPPFLAGS): ... to here.
14436
14437 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14438
14439 * aclocal.m4: Move from here ...
14440 * acinclude.m4: ... to here.
14441 * autogen.sh: Add call to `aclocal'.
14442 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14443
14444 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14445
14446 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14447 (LINGUAS): New variable.
14448 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14449 (install-local): Install MO files.
14450 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14451 * include/grub/i18n.h: New file.
14452 * po/POTFILES: New file.
14453 * po/ca.po: New file.
14454 * util/grub.d/10_linux.in (bindir): New variable.
14455 Add gettext initialization.
14456 (linux_entry): Make menuentry output translatable.
14457 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14458 (usage): Make --help output translatable.
14459 (main): Initialize gettext.
14460
14461 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14462
14463 * import_gcry.py: New file (written by Vladimir with minor
14464 adjustments).
14465 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14466 ciphers.
14467 * INSTALL: Document that Python is required for bootstrap.
14468
14469 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14470
14471 Import ciphers from libgcrypt 1.4.4.
14472
14473 * lib/libgcrypt/cipher/ChangeLog
14474 * lib/libgcrypt/cipher/ac.c
14475 * lib/libgcrypt/cipher/arcfour.c
14476 * lib/libgcrypt/cipher/bithelp.h
14477 * lib/libgcrypt/cipher/blowfish.c
14478 * lib/libgcrypt/cipher/camellia-glue.c
14479 * lib/libgcrypt/cipher/camellia.c
14480 * lib/libgcrypt/cipher/camellia.h
14481 * lib/libgcrypt/cipher/cast5.c
14482 * lib/libgcrypt/cipher/cipher.c
14483 * lib/libgcrypt/cipher/crc.c
14484 * lib/libgcrypt/cipher/des.c
14485 * lib/libgcrypt/cipher/dsa.c
14486 * lib/libgcrypt/cipher/ecc.c
14487 * lib/libgcrypt/cipher/elgamal.c
14488 * lib/libgcrypt/cipher/hash-common.c
14489 * lib/libgcrypt/cipher/hash-common.h
14490 * lib/libgcrypt/cipher/hmac-tests.c
14491 * lib/libgcrypt/cipher/md.c
14492 * lib/libgcrypt/cipher/md4.c
14493 * lib/libgcrypt/cipher/md5.c
14494 * lib/libgcrypt/cipher/primegen.c
14495 * lib/libgcrypt/cipher/pubkey.c
14496 * lib/libgcrypt/cipher/rfc2268.c
14497 * lib/libgcrypt/cipher/rijndael-tables.h
14498 * lib/libgcrypt/cipher/rijndael.c
14499 * lib/libgcrypt/cipher/rmd.h
14500 * lib/libgcrypt/cipher/rmd160.c
14501 * lib/libgcrypt/cipher/rsa.c
14502 * lib/libgcrypt/cipher/seed.c
14503 * lib/libgcrypt/cipher/serpent.c
14504 * lib/libgcrypt/cipher/sha1.c
14505 * lib/libgcrypt/cipher/sha256.c
14506 * lib/libgcrypt/cipher/sha512.c
14507 * lib/libgcrypt/cipher/tiger.c
14508 * lib/libgcrypt/cipher/twofish.c
14509 * lib/libgcrypt/cipher/whirlpool.c
14510
14511 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14512
14513 Fix build for systems without error().
14514
14515 * gnulib/error.c: New file (imported from Gnulib).
14516 * gnulib/error.h: Likewise.
14517 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14518 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14519 (this variable is now used by error()).
14520
14521 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14522
14523 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14524 instead of relying that char is signed.
14525
14526 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14529 blocksize different from specified.
14530 (grub_pxefs_read): Likewise.
14531
14532 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14533
14534 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14535
14536 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14537 (grub_ata_readwrite): Likewise. Update 2 format strings.
14538 (grub_atapi_read): Likewise.
14539
14540 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14541 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14542 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14543 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14544 (ata_mod_LDFLAGS): Move from here ...
14545 * conf/i386.rmk: ... to here ...
14546 * conf/x86_64-efi.rmk: ... and here.
14547 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14548 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14549
14550 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14551
14552 Relicense multiboot.h, with RMS' blessing.
14553
14554 * include/multiboot.h: Change to X11 license.
14555
14556 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 Support --version in grub-mkisofs.
14559
14560 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14561 (OPTION_VERSION): New macro.
14562 (ld_options): Recognize --version.
14563 (usage): Move `program_name' from here ...
14564 (program_name): ... to here. Add `static' qualifier.
14565 (main): Recognize `OPTION_VERSION'.
14566
14567 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14568
14569 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14570 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14571
14572 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14573
14574 Fix help2man generation for mkisofs.
14575
14576 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14577 (usage): Send output to stdout (rather than stderr).
14578
14579 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14580
14581 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14582 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14583 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14584 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14585 (bin_SCRIPTS): Add `grub-mkfloppy'.
14586 (grub_mkfloppy_SOURCES): New variable.
14587
14588 * util/grub-mkrescue.in: New file.
14589 * util/i386/pc/grub-mkfloppy.in: New file.
14590
14591 * util/i386/coreboot/grub-mkrescue.in: Remove.
14592 * util/i386/pc/grub-mkrescue.in: Remove.
14593
14594 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14595
14596 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14597 from here ...
14598 * include/multiboot.h (struct multiboot_header): ... to here. Update
14599 all users.
14600 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14601 from here ...
14602 * include/multiboot.h (struct multiboot_info): ... to here. Update
14603 all users.
14604 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14605 from here ...
14606 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14607 Update all users.
14608 * include/grub/multiboot.h (struct grub_mod_list): Move
14609 from here ...
14610 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14611 Update all users.
14612
14613 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14614
14615 * include/multiboot2.h (multiboot_word): Rename from this ...
14616 (multiboot2_word): ... to this. Update all users.
14617 (multiboot_header): Rename from this ...
14618 (multiboot2_header): ... to this. Update all users.
14619 (multiboot_tag_header): Rename from this ...
14620 (multiboot2_tag_header): ... to this. Update all users.
14621 (multiboot_tag_start): Rename from this ...
14622 (multiboot2_tag_start): ... to this. Update all users.
14623 (multiboot_tag_name): Rename from this ...
14624 (multiboot2_tag_name): ... to this. Update all users.
14625 (multiboot_tag_module): Rename from this ...
14626 (multiboot2_tag_module): ... to this. Update all users.
14627 (multiboot_tag_memory): Rename from this ...
14628 (multiboot2_tag_memory): ... to this. Update all users.
14629 (multiboot_tag_unused): Rename from this ...
14630 (multiboot2_tag_unused): ... to this. Update all users.
14631 (multiboot_tag_end): Rename from this ...
14632 (multiboot2_tag_end): ... to this. Update all users.
14633
14634 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14635
14636 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14637 this platform we should support Multiboot1 first.
14638
14639 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14640 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14641 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14642
14643 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14644
14645 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14646 of write calls (converting them to fwrite() if they aren't already).
14647 (get_torito_desc): Likewise.
14648 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14649
14650 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14651
14652 * util/i386/pc/grub-install.in: Move from here ...
14653 * util/grub-install.in: ... to here. Update all users.
14654
14655 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14656
14657 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14658
14659 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14660
14661 Support for El Torito without floppy emulation.
14662
14663 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14664 (init_boot_catalog): Improve error handling.
14665 (get_torito_desc): Don't use floppy emulation unless requested by
14666 user. Patch boot information table when requested via
14667 `-boot-info-table'.
14668 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14669 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14670 (use_boot_info_table): New variables.
14671 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14672 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14673 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14674 `--eltorito-emul-floppy'.
14675 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14676 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14677 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14678 (use_boot_info_table, get_731): New prototypes.
14679 * util/mkisofs/write.c (get_731): New function.
14680
14681 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14682
14683 Fix the generation of the man page.
14684
14685 * util/pc/i386/grub-install.in: Source
14686 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14687
14688 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14689
14690 Large file support for grub-mkisofs.
14691
14692 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14693 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14694 (session_start): Upgrade type to `uint64_t'. Update all users.
14695 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14696 (struct directory_entry): Upgrade type of `starting_block' and
14697 `size' to `uint64_t'. Update all users.
14698 (struct deferred): Remove unused structure.
14699 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14700 Update all users.
14701 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14702 file is larger than `UINT32_MAX'.
14703 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14704 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14705 return value.
14706 (struct deferred_write): Upgrade type of `extent' and `size' to
14707 `uint64_t'. Update all users.
14708 (last_extent_written): Upgrade type to `uint64_t'. Update all
14709 users.
14710 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14711 Update all users. Upgrade type of `remain' to `int64_t' and
14712 `use' to `size_t'. Use error() to handle fread() errors.
14713 (write_files): Rely on write_one_file() rather than calling
14714 xfwrite() directly.
14715
14716 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14717
14718 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14719
14720 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14721
14722 * util/mkisofs/fnmatch.c: Remove.
14723 * util/mkisofs/getopt1.c: Likewise.
14724 * util/mkisofs/getopt.c: Likewise.
14725 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14726 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14727 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14728 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14729 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14730
14731 * configure.ac: Detect `mingw32msvc' host_os.
14732 Check for lstat(), getuid() and getgid().
14733
14734 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14735 instances of `u_char' with `uint8_t'.
14736
14737 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14738 [!HAVE_GETUID] (getuid): New function (stub).
14739 [!HAVE_GETGID] (getgid): Likewise.
14740 [!HAVE_LSTAT] (lstat): Likewise.
14741 [!S_IROTH] (S_IROTH): New macro (dummy).
14742 [!S_IRGRP] (S_IRGRP): Likewise.
14743
14744 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14745
14746 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14747 conditional expression).
14748
14749 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14750
14751 Import from Gnulib.
14752
14753 * gnulib/fnmatch.c: New file.
14754 * gnulib/fnmatch.h: Likewise.
14755 * gnulib/fnmatch_loop.c: Likewise.
14756 * gnulib/getopt.c: Likewise.
14757 * gnulib/getopt.h: Likewise.
14758 * gnulib/getopt1.c: Likewise.
14759 * gnulib/getopt_int.h: Likewise.
14760 * gnulib/gettext.h: Likewise.
14761
14762 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14763
14764 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14765 * normal/handler.c (read_handler_list): Likewise.
14766
14767 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14768
14769 Misc cleanup.
14770
14771 * kern/command.c (grub_register_command_prio): Use
14772 grub_zalloc() instead of explicitly zeroing data.
14773 * kern/list.c: Include `<grub/mm.h>'.
14774 (grub_named_list_find): Replace `0' with `NULL'.
14775 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14776 (fs_module_list): Change type to `grub_named_list_t'. Update all
14777 users.
14778 * normal/dyncmd.c (read_command_list): Add space between function
14779 call and parenthesis.
14780 * normal/handler.c (read_handler_list): Likewise.
14781
14782 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14783
14784 * normal/auth.c (punishment_delay): Moved from here ...
14785 (grub_auth_strcmp): ... to here (inside function).
14786
14787 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14788
14789 * include/grub/list.h (struct grub_named_list): Remove `const'
14790 qualifier from `name'.
14791 (struct grub_prio_list): Likewise.
14792
14793 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14794
14795 * normal/auth.c: Include `<grub/time.h>'.
14796 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14797
14798 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14799
14800 * normal/auth.c (punishment_delay): New variable.
14801 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14802 (grub_auth_check_authentication): Punish failed login attempts with
14803 an incremental (2^N) delay.
14804
14805 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14806
14807 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14808 path with $(srcdir).
14809
14810 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14813
14814 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14815
14816 * util/i386/coreboot/grub-mkrescue.in: New file.
14817 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14818 variables.
14819
14820 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14821 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14822 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14823 requirements.
14824 * util/mkisofs/defaults.h: New file.
14825 * util/mkisofs/eltorito.c: Likewise.
14826 * util/mkisofs/exclude.h: Likewise.
14827 * util/mkisofs/fnmatch.c: Likewise.
14828 * util/mkisofs/getopt.c: Likewise.
14829 * util/mkisofs/getopt1.c: Likewise.
14830 * util/mkisofs/hash.c: Likewise.
14831 * util/mkisofs/include/fctldefs.h: Likewise.
14832 * util/mkisofs/include/mconfig.h: Likewise.
14833 * util/mkisofs/include/prototyp.h: Likewise.
14834 * util/mkisofs/include/statdefs.h: Likewise.
14835 * util/mkisofs/iso9660.h: Likewise.
14836 * util/mkisofs/joliet.c: Likewise.
14837 * util/mkisofs/match.c: Likewise.
14838 * util/mkisofs/match.h: Likewise.
14839 * util/mkisofs/mkisofs.c: Likewise.
14840 * util/mkisofs/mkisofs.h: Likewise.
14841 * util/mkisofs/multi.c: Likewise.
14842 * util/mkisofs/name.c: Likewise.
14843 * util/mkisofs/rock.c: Likewise.
14844 * util/mkisofs/tree.c: Likewise.
14845 * util/mkisofs/write.c: Likewise.
14846
14847 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14850 being insecure.
14851
14852 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14853
14854 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14855 `grub-mkimage' (and use $0 when possible).
14856
14857 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14858
14859 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14860 error message for excessively large memory map.
14861
14862 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14863
14864 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14865 executable bit.
14866
14867 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14870 message for coreboot users.
14871
14872 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14873
14874 Fix build with GNU gold.
14875
14876 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14877 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14878 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14879 link addresses.
14880 * aclocal.m4: Likewise.
14881
14882 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14883
14884 * configure.ac (AC_PREREQ): Bump to 2.59d.
14885 * INSTALL: Make it more clear when Autoconf and Ruby are
14886 needed and when to run `./autogen.sh'.
14887
14888 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14889
14890 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14891 OSes.
14892
14893 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14894
14895 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14896
14897 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14898
14899 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14900 giving it to GNU Mach.
14901
14902 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14903
14904 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14905 GNU partition number to get internal GRUB partition number.
14906
14907 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14908
14909 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14910 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14911
14912 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14913
14914 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14915 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14916 case.
14917
14918 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14919
14920 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14921
14922 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14923
14924 Fix build problem.
14925
14926 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14927 `-isystem=$(srcdir)/include'.
14928
14929 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14930
14931 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14932 checked (grub-install doesn't currently rely on it).
14933
14934 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14935
14936 Revert SVN r2660.
14937
14938 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14939 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14940 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14941 * conf/i386-ieee1275.rmk: Likewise.
14942 * conf/i386-pc.rmk: Likewise.
14943 * conf/powerpc-ieee1275.rmk: Likewise.
14944 * conf/sparc64-ieee1275.rmk: Likewise.
14945 * conf/x86_64-efi.rmk: Likewise.
14946
14947 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14948
14949 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14950
14951 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * include/grub/misc.h: Stop checking for APPLE_CC.
14954
14955 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14956
14957 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14958 doesn't cause an infinite call loop.
14959
14960 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14961
14962 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14963 strings.
14964
14965 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14966
14967 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14968 variable.
14969 * Makefile.in: Likewise.
14970
14971 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14972
14973 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14974
14975 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14976
14977 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14978
14979 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14980
14981 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14982
14983 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14984
14985 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14986 from here ...
14987 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14988
14989 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14990
14991 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14992 in $(MAKEINFO) invocation. This makes it clear in output that
14993 errors are being ignored.
14994
14995 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14998 from here ...
14999 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15000 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
15001 * conf/i386-ieee1275.rmk: Likewise.
15002 * conf/i386-pc.rmk: Likewise.
15003 * conf/powerpc-ieee1275.rmk: Likewise.
15004 * conf/sparc64-ieee1275.rmk: Likewise.
15005 * conf/x86_64-efi.rmk: Likewise.
15006
15007 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
15008
15009 * util/grub-editenv.c (main): If only a command is given, use
15010 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
15011 (usage): FILENAME is now optional and has a default.
15012
15013 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
15014
15015 Improve grub-mkconfig performance when there are several menu
15016 entries on a single filesystem.
15017
15018 * util/grub.d/10_linux.in (linux_entry): Cache the output of
15019 prepare_grub_to_access_device.
15020 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15021 * util/grub.d/30_os-prober.in: Likewise.
15022
15023 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15024
15025 * util/grub.d/10_freebsd.in: Remove.
15026 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
15027 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
15028
15029 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15030
15031 * docs/grub.cfg: Fix example usage of *BSD loaders.
15032
15033 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15034
15035 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
15036 grub_util_error() call.
15037
15038 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15039
15040 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
15041 `reserved_first_sector' member.
15042 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
15043 `reserved_first_sector' to 1.
15044 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15045 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15046 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15047 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15048 filesystems which begin at first sector.
15049 (options): New option --skip-fs-probe.
15050 (main): Handle --skip-fs-probe and pass it to setup().
15051
15052 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15053
15054 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15055 (memset): Fix function prototype.
15056
15057 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15058 2009-10-25 Vasily Averin <vvs@parallels.com>
15059
15060 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15061 `dirent.direntlen == 0'.
15062
15063 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15064
15065 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15066 `cpio'.
15067 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15068
15069 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15070
15071 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15072 `__trampoline_setup' and `__ucmpdi2'.
15073 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15074 that libgcc provides.
15075
15076 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15077
15078 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15079 * include/grub/sparc64/libgcc.h (memset): Likewise.
15080 * include/grub/misc.h (memset, memcmp): New function prototypes.
15081
15082 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15083
15084 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15085 `cpio'.
15086 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15087
15088 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15089
15090 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15091 * docs/grub.cfg: Compensate for recent change in multiboot
15092 loader (since 2009-08-14 it won't pass filename to payload).
15093 * util/grub.d/10_hurd.in: Likewise.
15094
15095 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
15096
15097 * config.guess: Update to latest version from config git
15098 repository.
15099 * config.sub: Likewise.
15100
15101 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15102
15103 Fix build on sparc64.
15104
15105 * configure.ac: Perform checks for libgcc symbols before
15106 adding `-nostdlib' to LDFLAGS.
15107
15108 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 Let user specify OpenBSD root device.
15111
15112 * loader/i386/bsd.c (openbsd_root): New variable.
15113 (openbsd_opts): New option 'root'.
15114 (OPENBSD_ROOT_ARG): New macro.
15115 (grub_openbsd_boot): Use 'openbsd_root'.
15116 (grub_cmd_openbsd): Fill 'openbsd_root'.
15117
15118 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15119
15120 * NEWS: Misc adjustments.
15121
15122 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15125
15126 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15127
15128 * configure.ac: Bump version to 1.97.
15129
15130 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
15131
15132 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15133 -mno-3dnow on x86 architectures. Some toolchains enable these
15134 features by default, but they rely on registers that aren't enabled
15135 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15136
15137 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15138
15139 Make entry text a bit more readable.
15140
15141 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15142
15143 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15146
15147 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15150 operations.
15151
15152 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 * configure.ac: Add missing dollar.
15155
15156 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15157
15158 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15159
15160 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15161 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15162 exports.
15163 * include/grub/sparc64/libgcc.h: Likewise. Use
15164 preprocessor conditionals.
15165
15166 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15167
15168 * conf/common.rmk (grub-dumpbios): Remove rule.
15169 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15170 * util/grub-dumpbios.in: Remove file.
15171
15172 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15173
15174 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15175 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15176
15177 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15178 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15179 users.
15180
15181 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15182 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15183 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15184 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15185 users.
15186
15187 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15188
15189 * term/tparm.c: Switch to GPLv3.
15190
15191 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15192
15193 * include/grub/i386/cpuid.h: Add header protection.
15194
15195 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15196
15197 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15198
15199 * include/grub/i386/cpuid.h: New file.
15200 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15201 (has_longmode): Rename to ...
15202 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15203 `static' attribute.
15204 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15205 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15206 on a CPU that doesn't implement AMD64 instruction set.
15207
15208 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15209
15210 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15211 that version.texi is rebuilt on version number changes.
15212
15213 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15216 Fixes bug #27602.
15217
15218 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15219
15220 * util/i386/pc/grub-install.in: Source
15221 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15222 that the --grub-probe option will work.
15223 * util/sparc64/ieee1275/grub-install.in: Likewise.
15224
15225 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 * configure.ac: Bump version to 1.97~beta4.
15228
15229 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15230
15231 Resync grub-mkdevicemap in x86_64-efi.
15232
15233 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15234 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15235 `util/devicemap.c'.
15236
15237 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15238
15239 * util/grub-editenv.c (create_envblk_file): Write new block with a
15240 .new suffix and then rename it into place, to ensure atomic
15241 creation.
15242
15243 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15244
15245 Do not automatically install headers.
15246
15247 * Makefile.in (include_DATA): Remove. Update all users.
15248
15249 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15250
15251 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15252 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15253
15254 * util/osdetect.lua: Remove.
15255 * script/lua/lauxlib.c: Likewise.
15256 * script/lua/ldebug.c: Likewise.
15257 * script/lua/grub_main.c: Likewise.
15258 * script/lua/lauxlib.h: Likewise.
15259 * script/lua/ldebug.h: Likewise.
15260 * script/lua/ltablib.c: Likewise.
15261 * script/lua/liolib.c: Likewise.
15262 * script/lua/lstrlib.c: Likewise.
15263 * script/lua/lualib.h: Likewise.
15264 * script/lua/ldo.c: Likewise.
15265 * script/lua/ldump.c: Likewise.
15266 * script/lua/ldo.h: Likewise.
15267 * script/lua/loslib.c: Likewise.
15268 * script/lua/lundump.c: Likewise.
15269 * script/lua/grub_lib.c: Likewise.
15270 * script/lua/ldblib.c: Likewise.
15271 * script/lua/lundump.h: Likewise.
15272 * script/lua/lmem.c: Likewise.
15273 * script/lua/grub_lib.h: Likewise.
15274 * script/lua/lmathlib.c: Likewise.
15275 * script/lua/lstate.c: Likewise.
15276 * script/lua/ltm.c: Likewise.
15277 * script/lua/lvm.c: Likewise.
15278 * script/lua/lmem.h: Likewise.
15279 * script/lua/lstate.h: Likewise.
15280 * script/lua/ltm.h: Likewise.
15281 * script/lua/ltable.c: Likewise.
15282 * script/lua/lvm.h: Likewise.
15283 * script/lua/llex.c: Likewise.
15284 * script/lua/lgc.c: Likewise.
15285 * script/lua/grub_lua.h: Likewise.
15286 * script/lua/loadlib.c: Likewise.
15287 * script/lua/lfunc.c: Likewise.
15288 * script/lua/lopcodes.c: Likewise.
15289 * script/lua/lparser.c: Likewise.
15290 * script/lua/ltable.h: Likewise.
15291 * script/lua/llex.h: Likewise.
15292 * script/lua/lgc.h: Likewise.
15293 * script/lua/lfunc.h: Likewise.
15294 * script/lua/lbaselib.c: Likewise.
15295 * script/lua/lopcodes.h: Likewise.
15296 * script/lua/lparser.h: Likewise.
15297 * script/lua/lzio.c: Likewise.
15298 * script/lua/linit.c: Likewise.
15299 * script/lua/lobject.c: Likewise.
15300 * script/lua/llimits.h: Likewise.
15301 * script/lua/lstring.c: Likewise.
15302 * script/lua/lzio.h: Likewise.
15303 * script/lua/lapi.c: Likewise.
15304 * script/lua/lcode.c: Likewise.
15305 * script/lua/lua.h: Likewise.
15306 * script/lua/lobject.h: Likewise.
15307 * script/lua/lstring.h: Likewise.
15308 * script/lua/lapi.h: Likewise.
15309 * script/lua/lcode.h: Likewise.
15310 * script/lua/luaconf.h: Likewise.
15311
15312 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * docs/grub.texi (Command-line and menu entry commands): Document
15315 date and echo commands.
15316
15317 2009-09-24 Pavel Roskin <proski@gnu.org>
15318
15319 * include/grub/kernel.h (struct grub_module_header): Remove
15320 `grub_module_header_types'. Make `type' unsigned. Make `size'
15321 32-bit on all platforms.
15322 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15323 8-bit field. Use grub_host_to_target32() for `size'.
15324 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15325 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15326 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15327
15328 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15329
15330 Fix "lost keypress" bug in at_keyboard.
15331
15332 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15333 Checks for readyness of input buffer (without flushing it).
15334 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15335 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15336
15337 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15338
15339 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15340 size check within GRUB_MACHINE_PCBIOS section.
15341
15342 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15343
15344 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15345 return value.
15346 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15347 KEYBOARD_ISREADY check.
15348 (grub_at_keyboard_checkkey): Rename to ...
15349 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15350 Remove gratuitous cast.
15351
15352 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15353
15354 * configure.ac: Call AC_PROG_MKDIR_P.
15355 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15356 version.texi in $(builddir) rather than $(srcdir).
15357 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15358 to makeinfo's @include search path.
15359
15360 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15361
15362 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15363
15364 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15365
15366 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15367 for `*.dpkg-new'.
15368
15369 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15370
15371 Build info documentation. Some code borrowed from Automake.
15372
15373 * configure.ac: Check for makeinfo.
15374 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15375 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15376 docs/version.texi.
15377 (MOSTLYCLEANFILES): Add vti.tmp.
15378 (docs/version.texi, docs/stamp-vti): Update automatically.
15379 (docs/grub.info): Build info documentation. Use --force and ignore
15380 errors for now.
15381 (all-local): Add $(INFOS).
15382 (install-local): Install info files.
15383 (uninstall): Uninstall info files.
15384 * docs/version.texi: Remove from revision control. This file is
15385 automatically generated on build now.
15386 * gendistlist.sh: Add `*.info'.
15387
15388 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15389
15390 * kern/term.c: Fix indentation.
15391
15392 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15393
15394 * util/hostdisk.c: Fix a comment.
15395
15396 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15397
15398 Fix regression introduced in r2539.
15399
15400 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15401 to 0xA1.
15402
15403 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15404
15405 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15406 os-prober. Under normal operation, it does not print anything to
15407 stderr; if it does, we need to debug it, and throwing away stderr
15408 makes that excessively difficult.
15409
15410 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15413
15414 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15415
15416 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15417 AC_LANG_PROGRAM from autoconf.
15418 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15419 prototypes (fixes warning).
15420
15421 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15422 `--disable-werror' was used.
15423
15424 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15425
15426 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15427 uninitialized `lastaddr'.
15428
15429 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15432
15433 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15434
15435 * commands/test.c (get_fileinfo): Return immediately if
15436 grub_fs_probe fails.
15437
15438 2009-09-14 José Martínez <xosemp@gmail.com>
15439
15440 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15441
15442 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15443
15444 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15445 output.
15446
15447 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15448
15449 * configure.ac: Remove --enable-grub-pe2elf. Only build
15450 grub-pe2elf when needed by the build system itself.
15451 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15452
15453 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15454
15455 * configure.ac: Bump version to 1.97~beta3.
15456 * docs/version.texi: Likewise.
15457
15458 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15459
15460 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15461 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15462 from here ...
15463 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15464 (grub_linux_setup_video): ... to here (with some adjustments).
15465
15466 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15467
15468 Fix memory corruption issue (spotted by Colin Watson).
15469
15470 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15471 causing returned size to be stored in an incorrect memory location.
15472 Fix use of uninitialized value when storing the returned size.
15473
15474 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15475
15476 Change clean rules to properly remove files
15477
15478 * genmk.rb: add new clean rules
15479 * Makefile.in (clean): add the new targets
15480 (mostlyclean): likewise
15481
15482 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15483
15484 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15485 to grub_uint64_t.
15486 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15487 non-resident files.
15488
15489 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15490
15491 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15492 part of bug #27349.
15493
15494 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15495
15496 * util/grub-mkconfig.in: Make the created config mode 400 and
15497 print a warning if it fails.
15498
15499 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15500
15501 * util/grub.d/40_custom.in: Ask user to type custom entries below
15502 comment, rather than below 'exec tail' line.
15503
15504 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15507 visible in grub.cfg.
15508
15509 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15510
15511 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15512 file.
15513
15514 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15515
15516 * docs/grub.cfg: Add an example menu entry for memtest86+.
15517
15518 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15519
15520 * config.guess: Update to latest version from config git.
15521 * config.sub: Likewise.
15522
15523 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15524
15525 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15526 unknown-command case. Fixes bug #27320.
15527
15528 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15529
15530 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15531 `help' if the command exists.
15532
15533 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15534
15535 * INSTALL: Require GCC 4.1.3 or later.
15536
15537 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15538
15539 * Makefile.in (RMKFILES): add i386-qemu.rmk
15540 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15541 $(srcdir)/stamp-h.in
15542
15543 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15544
15545 * util/grub-probe.c (probe): Comment out buggy codepath, which
15546 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15547 should be re-enabled after 1.97.
15548
15549 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15550
15551 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15552 find searches for.
15553
15554 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15557 unnecessary calls to grub_error.
15558
15559 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15560
15561 * NEWS: Mention `keystatus' and Unicode fonts.
15562
15563 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15564
15565 * configure.ac: Bump version to 1.97~beta2.
15566 * docs/version.texi: Likewise.
15567
15568 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15569
15570 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15571 containing unwind information in some cases where it previously did
15572 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15573 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15574 discussion.
15575
15576 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15577
15578 Embedding loadenv module into grub-emu
15579
15580 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15581 commands/loadenv.c
15582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15583 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15584 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15586 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15587 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15588
15589 2009-09-03 Magnus Granberg <zorry@ume.nu>
15590
15591 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15592 include -fPIE in the default specs.
15593 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15594 to TARGET_CFLAGS.
15595
15596 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15597
15598 * INSTALL: Note that GNU Bison 2.3 or later is required.
15599
15600 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15601
15602 * kern/i386/pc/startup.S: Fix typo.
15603
15604 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15607 according to GCS.
15608
15609 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15610
15611 * docs/grub.texi (Naming convention): Describe one-based partition
15612 numbering.
15613 (Device syntax): Likewise.
15614 (File name syntax): Likewise.
15615 (Block list syntax): Likewise.
15616 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15617 menu.lst.
15618 (File name syntax): Likewise.
15619 (Command-line and menu entry commands): Document acpi, blocklist,
15620 crc, export, insmod, keystatus, ls, set, and unset commands.
15621
15622 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15623
15624 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15625 to avoid implying that only one of --shift, --ctrl, or --alt may be
15626 used.
15627
15628 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15629
15630 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15631 rather than comparing against S_IFREG, which will almost never work.
15632
15633 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15636 (write_blocklists): Likewise.
15637
15638 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15639
15640 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15641 argument to grub_printf.
15642
15643 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15644
15645 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15646 non GNU test.
15647
15648 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * kern/file.c (grub_file_read): Spelling fix
15651
15652 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15655 loading of headers in some cases.
15656
15657 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15658
15659 * configure.ac: Bump version to 1.97~beta1.
15660 * docs/version.texi: Likewise.
15661
15662 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * include/grub/i386/xnu.h: Add license header.
15665 include grub/err.h explicitly.
15666
15667 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15668
15669 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15670 to `ufs' in the vfs.root.mountfrom kernel parameter.
15671
15672 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15673
15674 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15675
15676 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15677 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15678
15679 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15680 `ARRAY_SIZE' macro.
15681
15682 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * kern/file.c (grub_file_read): Check offset.
15685 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15686 * fs/jfs.c (grub_jfs_read_file): Likewise.
15687 * fs/ntfs.c (grub_ntfs_read): Likewise.
15688 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15689 * fs/minix.c (grub_minix_read_file): Correct offset check.
15690 * fs/ufs.c (grub_ufs_read_file): Likewise.
15691
15692 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15693
15694 * term/i386/pc/console.c (bios_data_area): Cast
15695 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15696
15697 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 1-bit optimised blitters.
15700
15701 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15702 prototype.
15703 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15704 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15705 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15706 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15707 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15708 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15709 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15710 function.
15711 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15712 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15713 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15714 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15715 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15716 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15717 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15718 when possible.
15719 * video/video.c (grub_video_get_blit_format): Return
15720 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15721
15722 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15723
15724 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15725 the first argument to grub_printf.
15726
15727 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15728 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15729
15730 Add `getkeystatus' terminal method. Add a new `keystatus' command
15731 to query it.
15732
15733 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15734 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15735 modifier key bitmasks.
15736 (struct grub_term_input): Add `getkeystatus' member.
15737 (grub_getkeystatus): Add prototype.
15738 * kern/term.c (grub_getkeystatus): New function.
15739
15740 * include/grub/i386/pc/memory.h
15741 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15742 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15743 Data Area layout.
15744 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15745 (grub_console_term_input): Set `getkeystatus' member.
15746 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15747 constants.
15748 (grub_usb_keyboard_getreport): Likewise.
15749 (grub_usb_keyboard_checkkey): Likewise.
15750 (grub_usb_keyboard_getkeystatus): New function.
15751 (grub_usb_keyboard_term): Set `getkeystatus' member.
15752
15753 * commands/keystatus.c: New file.
15754 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15755 (keystatus_mod_SOURCES): New variable.
15756 (keystatus_mod_CFLAGS): Likewise.
15757 (keystatus_mod_LDFLAGS): Likewise.
15758 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15759 commands/keystatus.c.
15760 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15762 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15764 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15765 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15766
15767 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 Split befs.mod and afs.mod into *_be.mod and *.mod
15770
15771 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15772 (grub_fstest_SOURCES): Likewise.
15773 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15774 (afs_be_mod_SOURCES): New variable.
15775 (afs_be_mod_CFLAGS): Likewise.
15776 (afs_be_mod_LDFLAGS): Likewise.
15777 (befs_be_mod_SOURCES): Likewise.
15778 (befs_be_mod_CFLAGS): Likewise.
15779 (befs_be_mod_LDFLAGS): Likewise.
15780 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15783 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15784 (grub_emu_SOURCES): Likewise.
15785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15787 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15788 * fs/afs_be.c: New file.
15789 * fs/befs_be.c: New file.
15790 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15791 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15792 (U16): Replaced with ...
15793 (grub_afs_to_cpu16): ...this. All users updated.
15794 (U32): Replaced with ...
15795 (grub_afs_to_cpu32): ...this. All users updated.
15796 (U64): Replaced with ...
15797 (grub_afs_to_cpu64): ...this. All users updated.
15798 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15799 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15800 (grub_afs_validate_sblock): Check only one endianness.
15801 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15802 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15803 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15804 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15805 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15806 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15807 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15808 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15809
15810 2009-08-26 Bean <bean123ch@gmail.com>
15811
15812 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15813 64-bit number.
15814 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15815 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15816 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15817
15818 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 NetBSD memory map support.
15821
15822 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15823 (grub_netbsd_btinfo_mmap_header): New structure.
15824 (grub_netbsd_btinfo_mmap_entry): Likewise.
15825 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15826
15827 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Enable bsd.mod on coreboot.
15830
15831 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15832 (bsd_mod_SOURCES): New variable.
15833 (bsd_mod_CFLAGS): Likewise.
15834 (bsd_mod_LDFLAGS): Likewise.
15835 (bsd_mod_ASFLAGS): Likewise.
15836 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15837 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15838
15839 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 Cleanup NetBSD root support.
15842
15843 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15844 grub_bsd_get_device.
15845 Fix typo.
15846
15847 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15848
15849 * util/grub.d/00_header.in: Move check for the video backend of
15850 gfxterm from here ...
15851 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15852 a suitable video backend.
15853
15854 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Fix breakage in grub-setup.
15857
15858 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15859 "msdos_partition_map".
15860
15861 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 Fix breakage in normal/auth.c.
15864
15865 * normal/auth.c (grub_iswordseparator): New function.
15866
15867 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 Authentication support.
15870
15871 * commands/password.c: New file.
15872 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15873 (password_mod_SOURCES): New variable.
15874 (password_mod_CFLAGS): Likewise.
15875 (password_mod_LDFLAGS): Likewise.
15876 (normal_mod_SOURCES): Add normal/auth.c.
15877 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15878 normal/auth.c.
15879 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15881 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15884 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15885 * include/grub/auth.h: New file.
15886 * include/grub/err.h (grub_err_t): New enum value
15887 GRUB_ERR_ACCESS_DENIED.
15888 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15889 'users'.
15890 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15891 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15892 users updated.
15893 * normal/auth.c: New file.
15894 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15895 (grub_cmdline_run): Don't allow to go to command line without
15896 authentication.
15897 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15898 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15899 menuentry without superuser rights.
15900 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15901 user isn't a superuser.
15902
15903 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Save space by inlining misc.c functions.
15906
15907 * kern/misc.c (grub_iswordseparator): Made static.
15908 * kern/misc.c (grub_strcat): Moved from here ...
15909 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15910 * kern/misc.c (grub_strncat): Moved from here ...
15911 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15912 * kern/misc.c (grub_strcasecmp): Moved from here ...
15913 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15914 * kern/misc.c (grub_strncasecmp): Moved from here ...
15915 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15916 * kern/misc.c (grub_isalpha): Moved from here ...
15917 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15918 * kern/misc.c (grub_isdigit): Moved from here ...
15919 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15920 * kern/misc.c (grub_isgraph): Moved from here ...
15921 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15922 * kern/misc.c (grub_tolower): Moved from here ...
15923 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15924
15925 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 * script/sh/function.c (grub_script_function_find): Cut error message
15928 not to flood terminal.
15929 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15930 limit.
15931 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15932
15933 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15934
15935 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15936 `report' grub_uint8_t *.
15937 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15938 Use a 50-millisecond timeout rather than just repeating
15939 grub_usb_keyboard_getreport 50 times.
15940 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15941
15942 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 Rename *_partition_map to part_*
15945
15946 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15947 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15948 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15949 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15950 All users updated.
15951 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15952 All users updated.
15953 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15954 * util/grub-probe.c (probe_partmap): Don't transform partition name
15955 to get module name.
15956
15957 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 Fix OpenBSD and NetBSD support.
15960
15961 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15962 memory address conflict.
15963 (OPENBSD_MMAP_ACPI): New definition.
15964 (OPENBSD_MMAP_NVS): Likewise.
15965 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15966 and OPENBSD_MMAP_NVS.
15967 Add memory map terminator
15968 Explicit cast when calling grub_unix_real_boot.
15969 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15970
15971 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 Let user specify NetBSD root device.
15974
15975 * loader/i386/bsd.c (netbsd_root): New variable.
15976 (netbsd_opts): New option 'root'.
15977 (NETBSD_ROOT_ARG): New macro.
15978 (grub_netbsd_boot): Use 'netbsd_root'.
15979 (grub_bsd_unload): Free 'netbsd_root'.
15980 (grub_cmd_netbsd): Fill 'netbsd_root'.
15981
15982 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 Support for 64-bit NetBSD.
15985
15986 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15987 point when booting non-FreeBSD.
15988
15989 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 Support --no-smp and --no-acpi for NetBSD.
15992
15993 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15994 (NETBSD_AB_NOACPI): Likewise.
15995 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15996 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15997
15998 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
16001 errors.
16002 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
16003 errors. Call grub_error when needed.
16004
16005 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * commands/search.c (search_fs): Try searching without autoload first.
16008 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16009 filesystem module explicitly for faster booting.
16010
16011 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
16012
16013 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
16014
16015 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * util/grub.d/30_os-prober.in: Disable os-prober if
16018 `GRUB_DISABLE_OS_PROBER' was set to true.
16019
16020 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
16021
16022 * partmap/pc.c: Rename to ...
16023 * partmap/msdos.c: ... this. Update all users.
16024 (grub_pc_partition_map): Rename to ...
16025 (grub_msdos_partition_map): ... this. Update all users.
16026
16027 * parttool/pcpart.c: Rename to ...
16028 * parttool/msdospart.c: ... this. Update all users.
16029
16030 * include/grub/pc_partition.h: Rename to ...
16031 * include/grub/msdos_partition.h: ... this. Update all users.
16032 (grub_pc_partition_bsd_entry): Rename to ...
16033 (grub_msdos_partition_bsd_entry): ... this. Update all users.
16034 (grub_pc_partition_disk_label): Rename to ...
16035 (grub_msdos_partition_disk_label): ... this. Update all users.
16036 (grub_pc_partition_entry): Rename to ...
16037 (grub_msdos_partition_entry): ... this. Update all users.
16038 (grub_pc_partition_mbr): Rename to ...
16039 (grub_msdos_partition_mbr): ... this. Update all users.
16040 (grub_pc_partition): Rename to ...
16041 (grub_msdos_partition): ... this. Update all users.
16042 (grub_pc_partition_is_empty): Rename to ...
16043 (grub_msdos_partition_is_empty): ... this. Update all users.
16044 (grub_pc_partition_is_extended): Rename to ...
16045 (grub_msdos_partition_is_extended): ... this. Update all users.
16046 (grub_pc_partition_is_bsd): Rename to ...
16047 (grub_msdos_partition_is_bsd): ... this. Update all users.
16048
16049 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16050 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16051 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16052 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16053 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16054 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16055 (gpt_mod_LDFLAGS): Rename to ...
16056 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16057 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16058 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16059 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16060 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16061 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16062 (part_gpt_mod_LDFLAGS): ... this.
16063 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16064 `pcpart.mod' to `msdospart.mod'.
16065 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16066 to ...
16067 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16068 (msdospart_mod_LDFLAGS): ... this.
16069
16070 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16073 (openbsd_opts): Likewise.
16074 (netbsd_opts): Likewise.
16075 (freebsd_flags): Added 0 terminator.
16076 (openbsd_flags): Likewise.
16077 (netbsd_flags): Likewise.
16078 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16079 (grub_cmd_freebsd): Transformed into extended command.
16080 (grub_cmd_openbsd): Likewise.
16081 (grub_cmd_netbsd): Likewise.
16082 (cmd_freebsd): Changed type to grub_extcmd_t.
16083 (cmd_openbsd): Likewise.
16084 (cmd_netbsd): Likewise.
16085 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16086 grub_cmd_openbsd as extended commands.
16087 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16088 cmd_netbsd and cmd_openbsd
16089
16090 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16093
16094 2009-08-21 Pavel Roskin <proski@gnu.org>
16095
16096 * Makefile.in (install-local): When checking if a file is in the
16097 build directory, use "test -e" to detect symlinks.
16098
16099 * Makefile.in (install-local): Remove all files in
16100 $(DESTDIR)$(pkglibdir) before installing new files there.
16101
16102 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16103
16104 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16105 grub-mkelfimage.
16106
16107 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16108
16109 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16110 explicitly specified by the user.
16111
16112 2009-08-18 Pavel Roskin <proski@gnu.org>
16113
16114 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16115 grub_uint8_t pointer for data.
16116 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16117 Likewise.
16118 * video/fb/fbutil.c: Remove unnecessary casts.
16119
16120 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16121
16122 VBE cleanup.
16123
16124 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16125 (grub_vbe_set_video_mode): Save active mode info
16126 only after setting the mode.
16127 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16128 second argument.
16129
16130 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16131
16132 Rename variables for clarity.
16133
16134 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16135 (active_vbe_mode_info): ... this. All users updated.
16136 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16137 All users updated.
16138 (initial_mode): Rename to ...
16139 (initial_vbe_mode): ... this. All users updated.
16140 (mode_in_use): Rename to ..
16141 (vbe_mode_in_use): ... this. All users updated.
16142 (mode_list): Rename to ..
16143 (vbe_mode_list): ... this. All users updated.
16144 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16145 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16146 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16147 'mode_list_size' to 'vbe_mode_list_size'.
16148 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16149 'best_mode_info' to 'best_vbe_mode_info' and
16150 'best_mode' to 'best_vbe_mode'
16151
16152 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16153
16154 Remove duplicate grub_video_fb_get_video_ptr.
16155
16156 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16157 (grub_video_fb_get_video_ptr): ... this.
16158 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16159 * video/fb/fbutil.c: Add comment about addressing.
16160 (get_data_ptr): Rename to ...
16161 (grub_video_fb_get_video_ptr): ... this. All users updated.
16162 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16163
16164 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16165
16166 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16167 grub_dprintf() that was just added.
16168
16169 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16170
16171 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16172 (DEFAULT_VIDEO_MODE): Remove macros.
16173 (grub_linux_boot): Remove assumption that Linux has FB support,
16174 and use "text" as default video mode.
16175
16176 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16179 grub_dprintf.
16180 * fs/fat.c (grub_fat_read_data): Likewise.
16181
16182 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16185 payload.
16186 (grub_module): Likewise.
16187
16188 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16191 mbi->cmdline but free playground.
16192
16193 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Handle group offset on UFS1.
16196
16197 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16198 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16199
16200 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 Split ufs.mod into ufs1.mod and ufs2.mod.
16203
16204 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16205 (grub_fstest_SOURCES): Likewise.
16206 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16207 (ufs_mod_SOURCES): Remove.
16208 (ufs_mod_CFLAGS): Likewise.
16209 (ufs_mod_LDFLAGS): Likewise.
16210 (ufs1_mod_SOURCES): New variable.
16211 (ufs1_mod_CFLAGS): Likewise.
16212 (ufs1_mod_LDFLAGS): Likewise.
16213 (ufs2_mod_SOURCES): New variable.
16214 (ufs2_mod_CFLAGS): Likewise.
16215 (ufs2_mod_LDFLAGS): Likewise.
16216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16217 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16218 Likewise.
16219 (grub_emu_SOURCES): Likewise.
16220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16221 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16222 (grub_setup_SOURCES): Likewise.
16223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16224 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16225 (grub_setup_SOURCES): Likewise.
16226 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16227 Likewise.
16228 * fs/ufs2.c: New file.
16229 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16230
16231 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 Framebuffer split.
16234
16235 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16236 subsystem at the end.
16237 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16238 (video_fb_mod_SOURCES): New variable.
16239 (video_fb_mod_CFLAGS): Likewise.
16240 (video_fb_mod_LDFLAGS): Likewise.
16241 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16242 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16243 * video/i386/pc/vbeblit.c: Moved from here ...
16244 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16245 * video/i386/pc/vbefill.c: Moved from here ...
16246 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16247 * video/i386/pc/vbeutil.c: Moved from here ...
16248 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16249 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16250 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16251 * include/grub/i386/pc/vbefill.h: Moved from here ...
16252 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16253 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16254 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16255 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16256 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16257 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16258 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16259 (grub_video_adapter): Added 'get_info_and_fini'.
16260 (grub_video_get_info_and_fini): New prototype.
16261 (grub_video_set_mode): make modestring const char *.
16262 * loader/i386/linux.c (grub_linux_setup_video): Use
16263 grub_video_get_info_and_fini.
16264 (grub_linux_boot): Move modesetting just before booting.
16265 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16266 grub_video_get_info_and_fini.
16267 * video/i386/pc/vbe.c: Moved framebuffer part ...
16268 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16269 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16270 grub_video_fbstd_colors and grub_video_fb_set_palette.
16271 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16272 grub_video_fb_init.
16273 (grub_video_vbe_fini): Use grub_video_fb_fini.
16274 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16275 render_target and use grub_video_fb_set_active_render_target and
16276 grub_video_fb_set_palette.
16277 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16278 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16279 (grub_video_vbe_adapter): Use framebuffer.
16280 * video/video.c (grub_video_get_info_and_fini): New function.
16281 (grub_video_set_mode): Make modestring const char *.
16282 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16283 values are already initialised.
16284
16285 2009-08-14 Pavel Roskin <proski@gnu.org>
16286
16287 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16288 ABS and APPLE_CC.
16289 * boot/i386/pc/diskboot.S: Likewise.
16290 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16291 sectors allow compilation on MacOSX.
16292 * conf/i386-pc.rmk: Enable unconditional compilation of
16293 lnxboot.img.
16294
16295 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16296
16297 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16298 * util/grub.d/00_header.in: Enter interruptible sleep if
16299 GRUB_HIDDEN_TIMEOUT is set.
16300
16301 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16302
16303 * include/grub/symbol.h: Add the LOCAL macro.
16304 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16305 starting with "L_".
16306
16307 2009-08-13 Pavel Roskin <proski@gnu.org>
16308
16309 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16310 any modern compilers we support.
16311
16312 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16313 Use local labels starting with "L_" so that Apple assembler
16314 knows they are local.
16315
16316 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16317
16318 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16319 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16320 (bsd_kernel_types): ... this enum.
16321
16322 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16323 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16324 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16325
16326 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16327 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16328 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16329 messages.
16330
16331 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16332
16333 * util/grub-dumpdevtree: Moved from here ...
16334 * util/i386/efi/grub-dumpdevtree: ... to here.
16335 (hexify): New function. Converts a string to its hex version.
16336 Generate hex versions of "efi" and "device-properties" by calling
16337 hexify() on the ASCII strings rather than by hardcoding numbers.
16338
16339 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16340
16341 * fs/jfs.c: Update copyright year.
16342
16343 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16344
16345 * util/grub.d/00_header.in: Fix a comment.
16346 * util/grub.d/10_linux.in: Likewise.
16347 * util/grub.d/10_windows.in: Likewise.
16348 * util/grub.d/10_hurd.in: Likewise.
16349
16350 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16351
16352 * util/grub-mkconfig.in: Allow the user to specify the used font
16353 with GRUB_FONT.
16354
16355 2009-08-08 Pavel Roskin <proski@gnu.org>
16356
16357 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16358 available, xfs.mod needs it now.
16359
16360 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16361 the "g" modifier in sed when the intention is to strip something
16362 once. This fixes comparison of kernels with multiple dashes.
16363
16364 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16365 on it. Add missing space before closing bracket. Fix
16366 misleading formatting.
16367
16368 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16369
16370 * docs/grub.texi: Major overhaul. Remove all sections that are
16371 specific to GRUB Legacy, or mostly composed of Legacy-specific
16372 information.
16373
16374 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16375
16376 * docs/version.texi: New file. Provides version information for
16377 grub.texi.
16378
16379 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16380
16381 * docs/grub.texi: Update CVS information to SVN.
16382 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16383
16384 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16385
16386 * util/grub-mkconfig.in: Remove a wrong `fi'.
16387
16388 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16389
16390 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16391 (grub_jfs_uuid): New function.
16392 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16393
16394 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16395
16396 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16397 of it to ...
16398 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16399 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16400
16401 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16402
16403 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16404 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16405 Update all users.
16406
16407 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16408 not just "vmlinu[zx]".
16409 Moved from here ...
16410 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16411 all users.
16412
16413 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16414 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16415 all users.
16416
16417 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16418
16419 * util/grub.d/10_freebsd.in: Use an absolute device path for
16420 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16421
16422 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16423
16424 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16425 handling of multiple abstraction modules.
16426
16427 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16428
16429 Fix a bug resulting in black screen when loading Linux using a
16430 packed video mode.
16431
16432 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16433 function.
16434
16435 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16436 (grub_vbe_bios_getset_dac_palette_width): New function.
16437 (grub_vbe_bios_get_dac_palette_width)
16438 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16439 grub_vbe_bios_getset_dac_palette_width()).
16440
16441 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16442 check for return status.
16443 (grub_vbe_get_video_mode_info): When getting information for a packed
16444 mode (<= 8 bpp), obtain DAC palette width using
16445 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16446 {red,green,blue}_mark_size.
16447
16448 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16449
16450 * commands/search.c (options): Fix help output to match actual code.
16451
16452 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16455 of homegrown code.
16456
16457 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16460 on XFS or ReiserFS.
16461
16462 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Support Apple partition map with sector size different from 512 bytes.
16465
16466 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16467 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16468 and 'apart.partmap_size'.
16469
16470 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16471 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16472
16473 Fix cpuid command.
16474
16475 * commands/i386/cpuid.c (options): New variable.
16476 (grub_cmd_cpuid): Return real error.
16477 (GRUB_MOD_INIT(cpuid)): Declare options.
16478
16479 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16482 valid.
16483
16484 2009-07-31 Bean <bean123ch@gmail.com>
16485
16486 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16487 log2_inode.
16488 (grub_fshelp_node): Move inode field to the end.
16489 (grub_xfs_data): Remove inode field.
16490 (grub_xfs_inode_block): Calculate inode size using sblock.
16491 (grub_xfs_inode_offset): Likewise.
16492 (grub_xfs_read_inode): Calculate inode size using sblock.
16493 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16494 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16495 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16496 to match inode size.
16497 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16498 not accessible when data is null.
16499 (grub_xfs_open): Likewise.
16500
16501 2009-07-31 Bean <bean123ch@gmail.com>
16502
16503 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16504 Don't change pv->disk if it's already set.
16505
16506 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16507 (grub_raid_register): ... here.
16508 (grub_raid_rescan): Removed.
16509
16510 * include/grub/raid.h (grub_raid_rescan): Removed.
16511
16512 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16513 (fstest): Replace grub_raid_rescan with module fini function followed
16514 by init function.
16515
16516 * util/grub-probe.c: Add include file <grub/raid.h>.
16517 (probe_raid_level): New function.
16518 (probe): Detect abstraction by walking the disk device, support two
16519 level of abstraction (LVM on RAID) when detecting partition map.
16520
16521 2009-07-31 Pavel Roskin <proski@gnu.org>
16522
16523 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16524 to grub_zalloc(), it was erroneous.
16525 Reported by Bean <bean123ch@gmail.com>
16526
16527 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16528
16529 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16530 embedding zone, not only the first one.
16531
16532 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16533
16534 * term/gfxterm.c (clear_char): New function.
16535 (grub_virtual_screen_setup): Use clear_char.
16536 (scroll_up): Likewise.
16537 (grub_virtual_screen_cls): Likewise.
16538
16539 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16540
16541 * util/deviceiter.c (get_acceleraid_disk_name): New static
16542 function.
16543 (grub_util_iterate_devices): Handle Accelraid devices.
16544 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16545
16546 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16547
16548 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16549 separator for the suggested gfxpayload string (';' collides with the
16550 parser and needs escaping).
16551
16552 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16555 Clear direction flag before jumping to OS.
16556 (grub_multiboot2_real_boot): Likewise.
16557
16558 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16559
16560 * util/i386/pc/grub-install: Fix parsing of --disk-module
16561 option.
16562
16563 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16564
16565 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16566 when embedding.
16567
16568 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16569
16570 * util/grub-mkconfig.in (package_version): New variable.
16571 Use it do display the version.
16572
16573 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16574
16575 * kern/file.c (grub_file_open): Revert to previous check with
16576 grub_errno.
16577
16578 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16581 from help line. It's out of sync with code.
16582
16583 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16586 entries on failed boot.
16587
16588 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16589
16590 * kern/file.c (grub_file_open): Fix an error check.
16591
16592 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16595 partition map couldn't be identified.
16596
16597 2009-07-23 Pavel Roskin <proski@gnu.org>
16598
16599 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16600 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16601 case of little endian words becomes just an optimization.
16602 Respect const modifier.
16603 (md5_final): Use code that doesn't depend on endianness.
16604
16605 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16606 to avoid loss of upper bits if align is unsigned and shorter
16607 than addr.
16608
16609 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 UUID support for UFS
16612
16613 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16614 (grub_ufs_uuid): New function.
16615 (grub_ufs_fs): add .uuid
16616
16617 2009-07-21 Pavel Roskin <proski@gnu.org>
16618
16619 * kern/dl.c (grub_dl_check_header): Make static.
16620
16621 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16622
16623 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16624 add drivemap for Vista. It breaks Windows 7.
16625
16626 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16629 128 bytes
16630
16631 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Add BFS support
16634
16635 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16636 (grub_fstest_SOURCES): Likewise.
16637 (pkglib_MODULES): Add befs.mod.
16638 (befs_mod_SOURCES): New variable.
16639 (befs_mod_CFLAGS): Likewise.
16640 (befs_mod_LDFLAGS): Likewise.
16641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16642 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16644 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16645 (grub_setup_SOURCES): Likewise.
16646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16648 (grub_setup_SOURCES): Likewise.
16649 * fs/befs.c: New file.
16650 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16651 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16652 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16653 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16654 (B_KEY_INDEX_ALIGN): New declaration.
16655 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16656 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16657 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16658 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16659 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16660 (grub_afs_mount) [MODE_BFS]: Likewise.
16661 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16662 (grub_afs_fs): Use GRUB_AFS_FSNAME
16663 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16664 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16665 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16666 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16667
16668 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16669
16670 * util/getroot.c (find_root_device): Add support for MacOSX.
16671 * util/hostdisk.c: Likewise.
16672
16673 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * font/font.c (find_glyph): Check whether a font is present to avoid
16676 segmentation fault.
16677
16678 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16679
16680 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16681
16682 2009-07-20 Pavel Roskin <proski@gnu.org>
16683
16684 * configure.ac: Trim excessively wordy excuses.
16685
16686 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 Add symlink, mtime and label support to AtheFS.
16689
16690 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16691 (grub_afs_iterate_dir): Handle symlinks.
16692 (grub_afs_open): Use grub_afs_read_symlink.
16693 (grub_afs_dir): Likewise.
16694 Pass mtime.
16695 (grub_afs_label): New function.
16696 (grub_afs_fs): Add grub_afs_label.
16697 (grub_afs_read_symlink): New function.
16698
16699 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 Fix AtheFS support.
16702
16703 * fs/afs.c: Fix comments style.
16704 (grub_afs_blockrun): Declare as packed.
16705 (grub_afs_datastream): Likewise.
16706 (grub_afs_bnode): Likewise.
16707 (grub_afs_btree): Likewise.
16708 (grub_afs_sblock): Likewise.
16709 Declare `name' as char.
16710 (grub_afs_inode): Declare as packed.
16711 Change void *vnode to grub_uint32_t unused.
16712 (grub_afs_iterate_dir): Check that key_size is positive.
16713 (grub_afs_mount): Don't read superblock twice.
16714 (grub_afs_dir): Don't free node in case of error,
16715 grub_fshelp_find_file already handles this.
16716 (grub_afs_open): Likewise.
16717
16718 2009-07-19 Pavel Roskin <proski@gnu.org>
16719
16720 * Makefile.in: Remove LIBLZO and enable_lzo.
16721 * conf/i386-pc.rmk: Remove lzo support.
16722 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16723 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16724 support.
16725 * kern/i386/pc/lzo1x.S: Remove.
16726 * kern/i386/pc/startup.S: Remove lzo support.
16727 * util/i386/pc/grub-mkimage.c: Likewise.
16728
16729 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16732 * fs/xfs.c (grub_xfs_dir): Likewise.
16733 * fs/afs.c (grub_afs_dir): Likewise.
16734 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16735 (grub_iso9660_open): Likewise.
16736 * fs/jfs.c (grub_jfs_open): Likewise.
16737 * fs/ext2.c (grub_ext2_dir): Likewise.
16738 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16739 * script/sh/lexer.c (grub_script_yylex): Likewise.
16740
16741 2009-07-16 Pavel Roskin <proski@gnu.org>
16742
16743 * configure.ac: Never add "-c" to CFLAGS.
16744
16745 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16746
16747 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16748 grub_cv_cc_efiemu should be used.
16749
16750 * configure.ac: Typo fixes.
16751
16752 * kern/mm.c (grub_zalloc): New function.
16753 (grub_debug_zalloc): Likewise.
16754 * include/grub/mm.h: Declare grub_zalloc() and
16755 grub_debug_zalloc().
16756 * util/misc.c (grub_zalloc): New function.
16757 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16758 instead of grub_malloc(), remove unneeded initializations.
16759 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16760 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16761 * commands/parttool.c (grub_cmd_parttool): Likewise.
16762 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16763 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16764 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16765 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16766 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16767 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16768 (grub_cmd_efiemu_pnvram): Likewise.
16769 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16770 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16771 (grub_iso9660_iterate_dir): Likewise.
16772 * fs/jfs.c (grub_jfs_opendir): Likewise.
16773 * fs/ntfs.c (list_file): Likewise.
16774 (grub_ntfs_mount): Likewise.
16775 * kern/disk.c (grub_disk_open): Likewise.
16776 * kern/dl.c (grub_dl_load_core): Likewise.
16777 * kern/elf.c (grub_elf_file): Likewise.
16778 * kern/env.c (grub_env_context_open): Likewise.
16779 (grub_env_set): Likewise.
16780 (grub_env_set_data_slot): Likewise.
16781 * kern/file.c (grub_file_open): Likewise.
16782 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16783 * loader/i386/multiboot.c (grub_module): Likewise.
16784 * loader/xnu.c (grub_xnu_create_key): Likewise.
16785 (grub_xnu_create_value): Likewise.
16786 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16787 (read_config_file): Likewise.
16788 * normal/menu_entry.c (make_screen): Likewise.
16789 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16790 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16791 * script/sh/script.c (grub_script_parse): Likewise.
16792 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16793 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16794 * video/readers/png.c (grub_png_output_byte): Likewise.
16795 (grub_video_reader_png): Likewise.
16796
16797 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Enable all targets that can be built by default
16800
16801 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16802 grub-mkfont and grub-fstest if they can be built
16803
16804 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 Fix hang and segmentation fault in grub-emu-usb
16807
16808 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16809 * util/usb.c (grub_libusb_devices): likewise
16810 (grub_libusb_init): rename to ...
16811 (GRUB_MOD_INIT (libusb)):...this
16812 (grub_libusb_fini): rename to ..
16813 (GRUB_MOD_FINI (libusb)):...this
16814 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16815 * include/grub/disk.h (grub_raid_init): removed, it's useless
16816 (grub_raid_fini): likewise
16817 (grub_lvm_init): likewise
16818 (grub_lvm_fini): likewise
16819 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16820 by grub_init_all
16821
16822 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 Fix libusb
16825
16826 * Makefile.in (LIBUSB): new macro
16827 * genmk.rb (Utility/print_tail): new method
16828 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16829 (top level): call util.print_tail at the end.
16830
16831 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Make FreeBSD accept zpool.cache
16834
16835 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16836 type is /boot/zfs/zpool.cache
16837
16838 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 Fix 64-bit efiemu
16841
16842 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16843 correct wrong typedef
16844 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16845
16846 2009-07-15 Pavel Roskin <proski@gnu.org>
16847
16848 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16849 * kern/disk.c (struct grub_disk_cache): Likewise.
16850
16851 * commands/probe.c (options): Typo fix.
16852
16853 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16854 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16855 accordingly.
16856 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16857
16858 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16859 the end of "Error" to make the message more readable.
16860
16861 * boot/i386/pc/boot.S (kernel_segment): Remove.
16862 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16863 for destination.
16864
16865 * boot/i386/pc/boot.S (boot_version): Remove.
16866 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16867 Remove.
16868
16869 * include/grub/i386/pc/boot.h: Sort all offsets.
16870 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16871 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16872 * boot/i386/pc/boot.S: Assert location of every offset listed in
16873 include/grub/i386/pc/boot.h.
16874
16875 2009-07-13 Pavel Roskin <proski@gnu.org>
16876
16877 * include/grub/i386/coreboot/machine.h: Rename
16878 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16879 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16880 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16881
16882 * kern/dl.c: Force native word size to suppress warnings when
16883 compiling grub-emu.
16884
16885 * kern/device.c (grub_device_iterate): Change struct part_ent to
16886 hold the name, not a pointer to it. Use one grub_malloc() per
16887 partition, not two. Free partition_name if grub_malloc() fails.
16888 Set ents to NULL only before grub_partition_iterate() is called.
16889
16890 2009-07-11 Bean <bean123ch@gmail.com>
16891
16892 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16893 childname.
16894
16895 2009-07-10 Bean <bean123ch@gmail.com>
16896 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16897
16898 * kern/ieee1275/openfw.c (grub_children_iterate)
16899 (grub_devalias_iterate): Fix size evaluation for property or path
16900 strings, which was broken since r2132.
16901
16902 2009-07-07 Pavel Roskin <proski@gnu.org>
16903
16904 * commands/search.c (search_file): Merge into ...
16905 (search_fs): ... this. Accept search type as argument.
16906 (grub_cmd_search): Pass search type to search_fs().
16907
16908 * include/grub/util/console.h: New file.
16909 * util/console.c: Use it instead of grub/machine/console.h.
16910 * util/grub-emu.c: Likewise.
16911
16912 * lib/arg.c (find_long_option): Remove.
16913 (find_long): Add `len' argument, make `s' const char *.
16914 (grub_arg_parse): Parse long options in place, not in a
16915 temporary buffer.
16916
16917 2009-07-06 Pavel Roskin <proski@gnu.org>
16918
16919 * commands/search.c (search_fs): Fix potential NULL pointer
16920 dereference.
16921
16922 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16923 function pointer.
16924
16925 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16926
16927 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16928 comparison.
16929
16930 2009-07-05 Pavel Roskin <proski@gnu.org>
16931
16932 * include/grub/i386/linux.h (struct linux_kernel_params):
16933 Restore padding3, it's still needed.
16934
16935 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16936 FreeBSD.
16937 * util/osdetect.lua: Likewise.
16938
16939 2009-07-05 Bean <bean123ch@gmail.com>
16940
16941 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16942
16943 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16944 (grub_lua_getenv): Likewise.
16945 (grub_lua_setenv): Likewise.
16946 (save_errno): New function.
16947 (push_result): Likewise.
16948 (grub_lua_enum_device): Likewise.
16949 (grub_lua_enum_file): Likewise.
16950 (grub_lua_file_open): Likewise.
16951 (grub_lua_file_close): Likewise.
16952 (grub_lua_file_seek): Likewise.
16953 (grub_lua_file_read): Likewise.
16954 (grub_lua_file_getline): Likewise.
16955 (grub_lua_file_getsize): Likewise.
16956 (grub_lua_file_getpos): Likewise.
16957 (grub_lua_file_eof): Likewise.
16958 (grub_lua_file_exist): Likewise.
16959 (grub_lua_add_menu): Likewise.
16960
16961 * script/lua/grub_lua.h (isupper): New inline function.
16962 (islower): Likewise.
16963 (ispunct): Likewise.
16964 (isxdigit): Likewise.
16965 (strcspn): Change to normal function.
16966 (strpbkr): New function declaration.
16967 (memchr): Likewise.
16968
16969 * script/lua/grub_main.c (scan_str): New function.
16970 (strcspn): Likewise.
16971 (strpbrk): Likewise.
16972 (memchr): Likewise.
16973
16974 * script/lua/linit.c (lualibs): Enable the string library.
16975
16976 * util/osdetect.lua: New file.
16977
16978 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16979
16980 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16981 `capabilities' member.
16982
16983 2009-07-02 Pavel Roskin <proski@gnu.org>
16984
16985 * genparttoollist.sh: Add missing newline at the end.
16986
16987 2009-07-01 Pavel Roskin <proski@gnu.org>
16988
16989 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16990
16991 * util/hostdisk.c (open_device): Remove `const' from
16992 `sysctl_size', as sysctlbyname() can change it (in this case it
16993 doesn't actually happen).
16994
16995 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16996 using signed long int constants.
16997
16998 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16999 constant to avoid a warning on FreeBSD.
17000
17001 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
17002 where it's needed.
17003
17004 * Makefile.in: Install include/grub/machine symlink.
17005
17006 * Makefile.in: When installing symlinks, use "cp -fR", which
17007 works on FreeBSD and MacOSX.
17008 From Yves Blusseau <cl7m42e02@sneakemail.com>
17009
17010 * kern/dl.c (grub_dl_resolve_symbol): Make static.
17011 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
17012
17013 * util/misc.c: Move grub_reboot() and grub_halt() ...
17014 * util/grub-emu.c: ... here. Make main_env static.
17015 * include/grub/util/misc.h: Remove main_env.
17016
17017 * kern/mm.c: Use correct format to print size_t.
17018
17019 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
17020 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
17021 * kern/powerpc/dl.c: Likewise.
17022 * kern/sparc64/dl.c: Likewise.
17023 * kern/x86_64/dl.c: Likewise.
17024
17025 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17026
17027 Fix grub-emu build on sparc64-ieee1275.
17028
17029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
17030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
17031
17032 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17033
17034 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
17035 (grub_reboot, grub_halt): New functions.
17036
17037 * util/i386/pc/misc.c: Delete. Update all users.
17038 * util/sparc64/ieee1275/misc.c: Likewise.
17039 * util/powerpc/ieee1275/misc.c: Likewise.
17040
17041 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17042
17043 * conf/i386.rmk (setjmp_mod_SOURCES)
17044 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17045 * conf/common.rmk (setjmp_mod_SOURCES)
17046 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17047 to use $(target_cpu).
17048 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17049 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17050 * conf/powerpc-ieee1275.rmk: Likewise.
17051 * conf/sparc64-ieee1275.rmk: Likewise.
17052
17053 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17054 $(target_cpu) for kern/$(target_cpu)/dl.c.
17055 * conf/i386-efi.rmk: Likewise.
17056 * conf/i386-ieee1275.rmk: Likewise.
17057 * conf/x86_64-efi.rmk: Likewise.
17058 * conf/i386-coreboot.rmk: Likewise.
17059 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17060 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17061 kern/$(target_cpu)/cache.S.
17062 * conf/sparc64-ieee1275.rmk: Likewise.
17063
17064 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17065
17066 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17067 type to `grub_uint8_t', and adjust `padding9' accordingly.
17068
17069 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17070
17071 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17072
17073 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17074 assembly in final jump, using register constraints.
17075
17076 (grub_linux_boot): For text mode, initialize `have_vga' using
17077 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17078
17079 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17080 right before the final jump.
17081
17082 Set `video_mode' to 0x3.
17083
17084 Document initialization of `video_page', `video_mode' and
17085 `video_ega_bx'.
17086
17087 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17088
17089 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17090 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
17091 and set GRUB_LINUX_FLAG_QUIET appropriately.
17092
17093 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17094
17095 Fix build on Debian / sparc.
17096
17097 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17098
17099 2009-06-28 Pavel Roskin <proski@gnu.org>
17100
17101 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17102 fix a warning.
17103
17104 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17105
17106 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17107
17108 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17109 `err'.
17110
17111 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17112
17113 Revert r2338.
17114
17115 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17116 file can't be opened. grub_file_open() is already supposed to set
17117 grub_errno / grub_errmsg appropriately.
17118 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17119
17120 2009-06-27 Pavel Roskin <proski@gnu.org>
17121 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17122
17123 * include/grub/dl.h: Include grub/elf.h.
17124 (struct grub_dl): Add symtab field.
17125 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17126 GRUB_MODULES_MACHINE_READONLY.
17127 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17128 of the header for read-only modules.
17129 (grub_dl_unload): Free mod->symtab for read-only modules.
17130 * kern/i386/dl.c: Use mod->symtab.
17131 * kern/powerpc/dl.c: Likewise.
17132 * kern/sparc64/dl.c: Likewise.
17133 * kern/x86_64/dl.c: Likewise.
17134
17135 * conf/i386-qemu.rmk: New file.
17136 * kern/i386/qemu/startup.S: Likewise.
17137 * kern/i386/qemu/mmap.c: Likewise.
17138 * boot/i386/qemu/boot.S: Likewise.
17139 * include/grub/i386/qemu/time.h: Likewise.
17140 * include/grub/i386/qemu/serial.h: Likewise.
17141 * include/grub/i386/qemu/kernel.h: Likewise.
17142 * include/grub/i386/qemu/console.h: Likewise.
17143 * include/grub/i386/qemu/boot.h: Likewise.
17144 * include/grub/i386/qemu/init.h: Likewise.
17145 * include/grub/i386/qemu/machine.h: Likewise.
17146 * include/grub/i386/qemu/loader.h: Likewise.
17147 * include/grub/i386/qemu/memory.h: Likewise.
17148
17149 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17150 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17151 [qemu] (pkglib_IMAGES): Add `boot.img'.
17152 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17153 [qemu] (boot_img_FORMAT): New variables.
17154 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17155 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17156 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17157 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17158 [qemu] (kernel_img_FORMAT): New variables.
17159
17160 * configure.ac: Recognise `i386-qemu'.
17161
17162 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17163 (for no compression).
17164 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17165 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17166 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17167 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17168 ifdefs).
17169
17170 2009-06-27 Pavel Roskin <proski@gnu.org>
17171
17172 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17173 read.
17174 * efiemu/prepare32.c: Likewise.
17175 * efiemu/prepare64.c: Likewise.
17176
17177 2009-06-26 Pavel Roskin <proski@gnu.org>
17178
17179 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17180 * include/grub/elf.h: Define symbols without "32" or "64" based
17181 on GRUB_TARGET_WORDSIZE.
17182 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17183 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17184 ELF definitions.
17185 * efiemu/loadcore64.c: Likewise.
17186 * loader/i386/bsd32.c: Likewise.
17187 * loader/i386/bsd64.c: Likewise.
17188 * kern/dl.c: Remove own ELF definitions.
17189 * util/i386/efi/grub-mkimage.c: Likewise.
17190
17191 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17192
17193 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17194 segment 0x0 unconditionally, because the reference generated by
17195 GAS is an absolute address.
17196
17197 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17198
17199 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17200 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17201
17202 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17203
17204 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17205 indexes. Check for -f explicitly.
17206 (search_file): Improve error message.
17207 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
17208
17209 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17210
17211 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17212 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17213
17214 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17215
17216 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17217 * conf/i386-ieee1275.rmk: Likewise.
17218 * conf/i386-coreboot.rmk: Likewise.
17219
17220 * kern/i386/pc/startup.S (grub_stop): Remove function.
17221 * kern/i386/ieee1275/startup.S: Likewise.
17222 * kern/i386/coreboot/startup.S: Likewise.
17223 * kern/i386/misc.S (grub_stop): New function.
17224
17225 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17226
17227 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17228 * kern/i386/realmode.S (real_to_prot): ... to here.
17229
17230 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17231
17232 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17233 with `kernel.img'.
17234 (kernel_elf_SOURCES): Rename to ...
17235 (kernel_img_SOURCES): ... this.
17236 (kernel_elf_HEADERS): Rename to ...
17237 (kernel_img_HEADERS): ... this. Update all users.
17238 (kernel_elf_ASFLAGS): Rename to ...
17239 (kernel_img_ASFLAGS): ... this.
17240 (kernel_elf_CFLAGS): Rename to ...
17241 (kernel_img_CFLAGS): ... this.
17242 (kernel_elf_LDFLAGS): Rename to ...
17243 (kernel_img_LDFLAGS): ... this.
17244 * conf/i386-coreboot.rmk: Likewise.
17245 * conf/powerpc-ieee1275.rmk: Likewise.
17246
17247 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17248 with "kernel.img".
17249
17250 2009-06-21 Pavel Roskin <proski@gnu.org>
17251
17252 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17253 to match nested functions.
17254 * loader/sparc64/ieee1275/linux.c: Likewise.
17255
17256 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17257
17258 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17259
17260 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17261 all i386 platforms.
17262
17263 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17264
17265 Fix asm file handling on ELF, and remove workarounds.
17266
17267 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17268 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17269 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17270 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17271
17272 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 Load BSD ELF modules
17275
17276 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17277 and loader/i386/bsd64.c
17278 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17279 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17280 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17281 (grub_freebsd_load_elfmodule32): New declaration
17282 (grub_freebsd_load_elfmoduleobj64): Likewise
17283 (grub_freebsd_load_elf_meta32): Likewise
17284 (grub_freebsd_load_elf_meta64): Likewise
17285 (grub_freebsd_add_meta): Likewise
17286 (grub_freebsd_add_meta_module): Likewise
17287 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17288 (grub_freebsd_add_meta_module): Likewise and move module-specific
17289 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17290 (grub_cmd_freebsd): Add elf-kernel specific parts
17291 based on grub_freebsd_add_meta_module
17292 (grub_cmd_freebsd_module): Add type parsing moved from
17293 grub_freebsd_add_meta_module
17294 (grub_cmd_freebsd_module_elf): New function
17295 (cmd_freebsd_module_elf): New variable
17296 (GRUB_MOD_INIT): Register freebsd_module_elf
17297 * loader/i386/bsd32.c: New file
17298 * loader/i386/bsd64.c: Likewise
17299 * loader/i386/bsdXX.c: Likewise
17300 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17301 (grub_elf64_load): Likewise
17302 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17303 All users updated
17304 (grub_elf64_load_hook_t): Likewise
17305
17306 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17307
17308 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17309 variable.
17310 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17311 don't write a menu entry for recovery mode.
17312
17313 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17314
17315 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17316 after it's no longer needed.
17317
17318 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17319
17320 * include/grub/i386/loader.h (grub_linux_prot_size)
17321 (grub_linux_tmp_addr, grub_linux_real_addr)
17322 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17323 GRUB_MACHINE_PCBIOS.
17324 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17325 common grub_util_info() call to ...
17326 (generate_image): ... here.
17327 Fix use of uninitialized memory, comparison of signed with
17328 unsigned integers and memory leak.
17329 Remove bogus module address message.
17330
17331 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17334 grub_raid_register
17335 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17336
17337 2009-06-19 Pavel Roskin <proski@gnu.org>
17338
17339 * configure.ac: Remove stray AC_MSG_CHECKING.
17340
17341 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17344
17345 2009-06-18 Pavel Roskin <proski@gnu.org>
17346
17347 * conf/common.rmk: Add fs_file.mod.
17348 * disk/fs_file.c: New file.
17349 * include/grub/disk.h (enum grub_disk_dev_id): Add
17350 GRUB_DISK_DEVICE_FILE_ID.
17351
17352 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 Fix build with Apple's toolchain. Part 2
17355
17356 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17357 a fake start
17358
17359 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Fix build with Apple's toolchain. Part 1
17362
17363 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17364 for long calls
17365 * configure.ac: remove a leftover AC_MSG_RESULT
17366 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17367 Apple's toolchain
17368
17369 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 Fix warnings
17372
17373 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17374 (decomp_block): initialize ch
17375 use grub_memcpy instead of memcpy
17376
17377 2009-06-17 Pavel Roskin <proski@gnu.org>
17378
17379 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17380 version, use declarations needed to use vga_text as the startup
17381 console.
17382
17383 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17384 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17385 the kernel.
17386 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17387 and grub_at_keyboard_fini(), it's done on module load and
17388 unload.
17389
17390 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17391
17392 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17393 file can't be found.
17394 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17395
17396 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 Fix newline handling
17399
17400 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17401 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17402 (grub_script_yylex): don't segfault on unterminated script
17403 newline terminates command and variable
17404
17405 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 avoid double grub_adjust_range call. Bug reported by David Simner
17408
17409 * kern/disk.c (grub_disk_write): change to raw disk access before
17410 calling disk_read
17411
17412 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17415 spaces, for the benefit of help2man.
17416 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17417
17418 2009-06-16 Pavel Roskin <proski@gnu.org>
17419
17420 * kern/i386/halt.c: Include grub/machine/init.h.
17421 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17422
17423 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17424
17425 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17426 drivemap menuentry.
17427
17428 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17429
17430 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17431 `echo' command.
17432
17433 2009-06-16 Pavel Roskin <proski@gnu.org>
17434
17435 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17436 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17437 save %dx, we only need %dl and we never change it.
17438 * boot/i386/pc/cdboot.S: Don't set the root drive.
17439 * boot/i386/pc/pxeboot.S: Likewise.
17440 * include/grub/i386/pc/boot.h: Remove
17441 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17442 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17443 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17444 * kern/i386/pc/init.c (make_install_device): Remove references
17445 to grub_root_drive.
17446 * kern/i386/pc/startup.S: Likewise.
17447 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17448
17449 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 xnu_uuid command
17452
17453 * commands/xnu_uuid.c: new file
17454 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17455 (xnu_uuid_mod_SOURCES): new variable
17456 (xnu_uuid_mod_CFLAGS): likewise
17457 (xnu_uuid_mod_LDFLAGS): likewise
17458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17459 * conf/i386-ieee1275.rmk: likewise
17460 * conf/i386-pc.rmk: likewise
17461 * conf/powerpc-ieee1275.rmk: likewise
17462 * conf/sparc64-ieee1275.rmk: likewise
17463 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17464
17465 2009-06-16 Pavel Roskin <proski@gnu.org>
17466
17467 * configure.ac: Avoid '==' in test command, it's not portable.
17468
17469 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 Probe command
17472
17473 * commands/probe.c: new file
17474 * conf/common.rmk (pkglib_MODULES): add probe.mod
17475 (probe_mod_SOURCES): new variable
17476 (probe_mod_CFLAGS): likewise
17477 (probe_mod_LDFLAGS): likewise
17478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17479 * conf/i386-ieee1275.rmk: likewise
17480 * conf/i386-pc.rmk: likewise
17481 * conf/powerpc-ieee1275.rmk: likewise
17482 * conf/sparc64-ieee1275.rmk: likewise
17483
17484 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 Fix handling of string like \"hello\" and "a
17487 b"
17488
17489 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17490 (grub_script_yylex): fix parsing of quoting, escaping and newline
17491
17492 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17495 handling
17496
17497 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17498
17499 * util/grub-mkconfig.in: Fix parsing of --output option.
17500
17501 2009-06-12 Pavel Roskin <proski@gnu.org>
17502
17503 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17504 genmk.rb don't need to be generated or installed.
17505
17506 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 * commands/i386/pc/drivemap_int13h.S: add more comments
17509
17510 2009-06-11 Pavel Roskin <proski@gnu.org>
17511
17512 * Makefile.in (uninstall): Uninstall manuals.
17513
17514 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17515 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17516 and update-grub_lib in two places.
17517 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17518
17519 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17520 a compiler warning.
17521
17522 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17523 `entry_lo' to fix variable shadowing.
17524
17525 2009-06-11 Christian Franke <franke@computer.org>
17526
17527 * kern/misc.c (__enable_execute_stack): Add missing return type
17528 to prevent gcc warning.
17529
17530 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17531
17532 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17533
17534 2009-06-11 Pavel Roskin <proski@gnu.org>
17535
17536 * Makefile.in: Don't rely on any scripts being executable.
17537 Always use $(SHELL) to run shell scripts.
17538
17539 * configure.ac: Always define ___main if using -nostdlib. This
17540 fixes tests on Cygwin.
17541
17542 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17543
17544 UDF fix
17545
17546 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17547 is in bytes and not in blocks
17548
17549 2009-06-11 Pavel Roskin <proski@gnu.org>
17550
17551 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17552 warning.
17553
17554 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17555
17556 * util/grub.d/30_os-prober.in: Fix a comment. Source
17557 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17558 to set the root device. Place drivemap command in the generated
17559 chain entry.
17560
17561 2009-06-11 Pavel Roskin <proski@gnu.org>
17562
17563 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17564 have long been resolved.
17565
17566 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17567
17568 * util/grub.d/10_linux.in: Capitalise "Linux".
17569
17570 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17571
17572 2009-06-11 Pavel Roskin <proski@gnu.org>
17573
17574 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17575 fix a gcc warning and ensure that the function won't ever exit.
17576
17577 * kern/i386/ieee1275/init.c: Add missing prototype for
17578 grub_stop_floppy().
17579
17580 * loader/ieee1275/multiboot2.c [__i386__]: Include
17581 grub/cpu/multiboot.h.
17582
17583 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17584 casts to short - they are not portable and cause warnings. Fix
17585 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17586
17587 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 Drivemap fixes
17590
17591 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17592 new function
17593 (grub_get_root_biosnumber_saved): new variable
17594 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17595 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17596 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17597 %dx after the call if necessary
17598 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17599 (boot_mod_SOURCES): remove
17600 (boot_mod_CFLAGS): remove
17601 (boot_mod_LDFLAGS): remove
17602 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17603 (boot_mod_SOURCES): new variable
17604 (boot_mod_CFLAGS): likewise
17605 (boot_mod_LDFLAGS): likewise
17606 * conf/i386-efi.rmk: likewise
17607 * conf/i386-ieee1275.rmk: likewise
17608 * conf/i386-pc.rmk: likewise
17609 * conf/powerpc-ieee1275.rmk: likewise
17610 * conf/sparc64-ieee1275.rmk: likewise
17611 * conf/x86_64-efi.rmk: likewise
17612 * include/grub/i386/pc/biosnum.h: new file
17613 * lib/i386/pc/biosnum.c: likewise
17614 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17615 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17616 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17617
17618 2009-06-10 Pavel Roskin <proski@gnu.org>
17619
17620 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17621 Use separate variables. Read only the file size at the end, but
17622 not the checksum that we don't use.
17623
17624 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17625 Adjust all callers.
17626
17627 * kern/ieee1275/openfw.c: Remove libc includes.
17628 * kern/ieee1275/cmain.c: Likewise.
17629 * include/grub/ieee1275/ieee1275.h: Likewise.
17630
17631 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17632 compiler warnings.
17633
17634 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17635
17636 * Makefile.in: Remove all trailing whitespace.
17637 * conf/i386-pc.rmk: Likewise.
17638 * conf/powerpc-ieee1275.rmk: Likewise.
17639 * conf/sparc64-ieee1275.rmk: Likewise.
17640 * docs/grub.texi: Likewise.
17641 * docs/texinfo.tex: Likewise.
17642 * disk/fs_uuid.c: Likewise.
17643 * disk/lvm.c: Likewise.
17644 * disk/scsi.c: Likewise.
17645 * disk/ata.c: Likewise.
17646 * disk/ieee1275/ofdisk.c: Likewise.
17647 * disk/i386/pc/biosdisk.c: Likewise.
17648 * disk/host.c: Likewise.
17649 * disk/raid.c: Likewise.
17650 * disk/efi/efidisk.c: Likewise.
17651 * disk/usbms.c: Likewise.
17652 * disk/memdisk.c: Likewise.
17653 * disk/loopback.c: Likewise.
17654 * kern/powerpc/dl.c: Likewise.
17655 * kern/device.c: Likewise.
17656 * kern/dl.c: Likewise.
17657 * kern/sparc64/dl.c: Likewise.
17658 * kern/ieee1275/ieee1275.c: Likewise.
17659 * kern/term.c: Likewise.
17660 * kern/fs.c: Likewise.
17661 * kern/i386/dl.c: Likewise.
17662 * kern/i386/pc/startup.S: Likewise.
17663 * kern/i386/pc/init.c: Likewise.
17664 * kern/i386/pc/mmap.c: Likewise.
17665 * kern/i386/pc/lzo1x.S: Likewise.
17666 * kern/i386/ieee1275/init.c: Likewise.
17667 * kern/i386/realmode.S: Likewise.
17668 * kern/i386/tsc.c: Likewise.
17669 * kern/partition.c: Likewise.
17670 * kern/corecmd.c: Likewise.
17671 * kern/file.c: Likewise.
17672 * kern/efi/efi.c: Likewise.
17673 * kern/efi/init.c: Likewise.
17674 * kern/efi/mm.c: Likewise.
17675 * kern/main.c: Likewise.
17676 * kern/err.c: Likewise.
17677 * kern/env.c: Likewise.
17678 * kern/disk.c: Likewise.
17679 * kern/generic/millisleep.c: Likewise.
17680 * kern/generic/rtc_get_time_ms.c: Likewise.
17681 * kern/misc.c: Likewise.
17682 * kern/parser.c: Likewise.
17683 * genmk.rb: Likewise.
17684 * configure.ac: Likewise.
17685 * boot/i386/pc/diskboot.S: Likewise.
17686 * boot/i386/pc/pxeboot.S: Likewise.
17687 * boot/i386/pc/boot.S: Likewise.
17688 * boot/i386/pc/lnxboot.S: Likewise.
17689 * boot/i386/pc/cdboot.S: Likewise.
17690 * parttool/pcpart.c: Likewise.
17691 * video/readers/tga.c: Likewise.
17692 * video/video.c: Likewise.
17693 * video/bitmap.c: Likewise.
17694 * lib/envblk.c: Likewise.
17695 * lib/i386/setjmp.S: Likewise.
17696 * fs/xfs.c: Likewise.
17697 * fs/afs.c: Likewise.
17698 * fs/fat.c: Likewise.
17699 * fs/ntfs.c: Likewise.
17700 * fs/udf.c: Likewise.
17701 * fs/affs.c: Likewise.
17702 * fs/iso9660.c: Likewise.
17703 * fs/hfs.c: Likewise.
17704 * fs/fshelp.c: Likewise.
17705 * fs/ext2.c: Likewise.
17706 * fs/jfs.c: Likewise.
17707 * fs/reiserfs.c: Likewise.
17708 * fs/hfsplus.c: Likewise.
17709 * fs/minix.c: Likewise.
17710 * fs/cpio.c: Likewise.
17711 * fs/sfs.c: Likewise.
17712 * fs/ufs.c: Likewise.
17713 * efiemu/prepare.c: Likewise.
17714 * efiemu/loadcore_common.c: Likewise.
17715 * efiemu/runtime/efiemu.sh: Likewise.
17716 * efiemu/runtime/efiemu.S: Likewise.
17717 * efiemu/runtime/efiemu.c: Likewise.
17718 * efiemu/pnvram.c: Likewise.
17719 * efiemu/main.c: Likewise.
17720 * efiemu/i386/pc/cfgtables.c: Likewise.
17721 * efiemu/i386/loadcore64.c: Likewise.
17722 * efiemu/i386/loadcore32.c: Likewise.
17723 * efiemu/loadcore.c: Likewise.
17724 * efiemu/symbols.c: Likewise.
17725 * efiemu/mm.c: Likewise.
17726 * include/grub/autoefi.h: Likewise.
17727 * include/grub/datetime.h: Likewise.
17728 * include/grub/term.h: Likewise.
17729 * include/grub/hfs.h: Likewise.
17730 * include/grub/lvm.h: Likewise.
17731 * include/grub/i386/tsc.h: Likewise.
17732 * include/grub/i386/linux.h: Likewise.
17733 * include/grub/i386/xnu.h: Likewise.
17734 * include/grub/i386/efiemu.h: Likewise.
17735 * include/grub/i386/pc/biosdisk.h: Likewise.
17736 * include/grub/i386/pc/memory.h: Likewise.
17737 * include/grub/i386/pc/vbe.h: Likewise.
17738 * include/grub/parttool.h: Likewise.
17739 * include/grub/video.h: Likewise.
17740 * include/grub/memory.h: Likewise.
17741 * include/grub/fs.h: Likewise.
17742 * include/grub/partition.h: Likewise.
17743 * include/grub/xnu.h: Likewise.
17744 * include/grub/efi/api.h: Likewise.
17745 * include/grub/efi/pe32.h: Likewise.
17746 * include/grub/efi/memory.h: Likewise.
17747 * include/grub/multiboot.h: Likewise.
17748 * include/grub/usbdesc.h: Likewise.
17749 * include/grub/multiboot2.h: Likewise.
17750 * include/grub/acpi.h: Likewise.
17751 * include/grub/efiemu/efiemu.h: Likewise.
17752 * include/grub/disk.h: Likewise.
17753 * include/grub/ieee1275/ieee1275.h: Likewise.
17754 * include/grub/net.h: Likewise.
17755 * include/grub/machoload.h: Likewise.
17756 * include/grub/macho.h: Likewise.
17757 * include/multiboot.h: Likewise.
17758 * genmoddep.awk: Likewise.
17759 * normal/main.c: Likewise.
17760 * normal/menu_entry.c: Likewise.
17761 * normal/menu_viewer.c: Likewise.
17762 * normal/completion.c: Likewise.
17763 * normal/cmdline.c: Likewise.
17764 * normal/misc.c: Likewise.
17765 * normal/datetime.c: Likewise.
17766 * bus/usb/usbtrans.c: Likewise.
17767 * bus/usb/ohci.c: Likewise.
17768 * bus/usb/uhci.c: Likewise.
17769 * bus/usb/usb.c: Likewise.
17770 * mmap/efi/mmap.c: Likewise.
17771 * mmap/i386/pc/mmap_helper.S: Likewise.
17772 * mmap/i386/pc/mmap.c: Likewise.
17773 * mmap/i386/mmap.c: Likewise.
17774 * mmap/i386/uppermem.c: Likewise.
17775 * mmap/mmap.c: Likewise.
17776 * commands/acpi.c: Likewise.
17777 * commands/echo.c: Likewise.
17778 * commands/blocklist.c: Likewise.
17779 * commands/loadenv.c: Likewise.
17780 * commands/usbtest.c: Likewise.
17781 * commands/boot.c: Likewise.
17782 * commands/parttool.c: Likewise.
17783 * commands/search.c: Likewise.
17784 * commands/cat.c: Likewise.
17785 * commands/i386/pc/play.c: Likewise.
17786 * commands/i386/pc/drivemap.c: Likewise.
17787 * commands/i386/pc/vbeinfo.c: Likewise.
17788 * commands/i386/pc/acpi.c: Likewise.
17789 * commands/i386/pc/vbetest.c: Likewise.
17790 * commands/ls.c: Likewise.
17791 * commands/cmp.c: Likewise.
17792 * commands/test.c: Likewise.
17793 * commands/efi/acpi.c: Likewise.
17794 * commands/gptsync.c: Likewise.
17795 * commands/help.c: Likewise.
17796 * partmap/amiga.c: Likewise.
17797 * partmap/apple.c: Likewise.
17798 * partmap/acorn.c: Likewise.
17799 * partmap/pc.c: Likewise.
17800 * partmap/sun.c: Likewise.
17801 * partmap/gpt.c: Likewise.
17802 * script/sh/lexer.c: Likewise.
17803 * script/sh/function.c: Likewise.
17804 * font/font.c: Likewise.
17805 * font/font_cmd.c: Likewise.
17806 * loader/powerpc/ieee1275/linux.c: Likewise.
17807 * loader/efi/chainloader.c: Likewise.
17808 * loader/multiboot_loader.c: Likewise.
17809 * loader/macho.c: Likewise.
17810 * loader/i386/multiboot.c: Likewise.
17811 * loader/i386/linux.c: Likewise.
17812 * loader/i386/pc/linux.c: Likewise.
17813 * loader/i386/pc/multiboot2.c: Likewise.
17814 * loader/i386/pc/chainloader.c: Likewise.
17815 * loader/i386/pc/xnu.c: Likewise.
17816 * loader/i386/bsd_trampoline.S: Likewise.
17817 * loader/i386/efi/linux.c: Likewise.
17818 * loader/i386/multiboot_elfxx.c: Likewise.
17819 * loader/i386/bsd_helper.S: Likewise.
17820 * loader/i386/bsd.c: Likewise.
17821 * loader/i386/linux_trampoline.S: Likewise.
17822 * loader/i386/xnu_helper.S: Likewise.
17823 * loader/i386/xnu.c: Likewise.
17824 * loader/i386/bsd_pagetable.c: Likewise.
17825 * loader/i386/multiboot_helper.S: Likewise.
17826 * loader/xnu.c: Likewise.
17827 * loader/xnu_resume.c: Likewise.
17828 * io/gzio.c: Likewise.
17829 * term/efi/console.c: Likewise.
17830 * term/terminfo.c: Likewise.
17831 * term/ieee1275/ofconsole.c: Likewise.
17832 * term/i386/pc/serial.c: Likewise.
17833 * term/i386/pc/vesafb.c: Likewise.
17834 * term/i386/pc/vga.c: Likewise.
17835 * term/usb_keyboard.c: Likewise.
17836 * term/gfxterm.c: Likewise.
17837 * aclocal.m4: Likewise.
17838 * util/lvm.c: Likewise.
17839 * util/grub.d/30_os-prober.in: Likewise.
17840 * util/grub.d/10_hurd.in: Likewise.
17841 * util/console.c: Likewise.
17842 * util/grub-macho2img.c: Likewise.
17843 * util/grub-probe.c: Likewise.
17844 * util/hostfs.c: Likewise.
17845 * util/i386/pc/grub-mkimage.c: Likewise.
17846 * util/i386/pc/grub-setup.c: Likewise.
17847 * util/i386/efi/grub-mkimage.c: Likewise.
17848 * util/grub-mkconfig.in: Likewise.
17849 * util/raid.c: Likewise.
17850 * util/resolve.c: Likewise.
17851 * util/grub-mkdevicemap.c: Likewise.
17852 * util/grub-emu.c: Likewise.
17853 * util/getroot.c: Likewise.
17854 * util/hostdisk.c: Likewise.
17855 * util/usb.c: Likewise.
17856 * util/grub-editenv.c: Likewise.
17857 * util/misc.c: Likewise.
17858
17859 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17860
17861 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17862 `genparttoollist.sh'.
17863 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17864 Add `*.sh' to the list find searches for and change `mdate.sh'
17865 to `mdate-sh'.
17866
17867 2009-06-10 Pavel Roskin <proski@gnu.org>
17868
17869 * include/grub/multiboot2.h: Provide compatibility defines for
17870 multiboot2.h.
17871 * include/multiboot2.h: Include stdint.h only if needed, using
17872 angle brackets.
17873 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17874 grub/multiboot2.h.
17875 * loader/ieee1275/multiboot2.c: Likewise.
17876 * loader/multiboot2.c: Likewise.
17877 * loader/multiboot_loader.c: Likewise.
17878
17879 * configure.ac: Use -nostdlib when probing for the target. It
17880 should not be required to have libc for the target.
17881
17882 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17883 they fail without libc headers for the target.
17884 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17885 exports.
17886 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17887 preprocessor conditionals.
17888
17889 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17890 build system doesn't need to be aware of the tar.c internals.
17891
17892 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17893
17894 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17895
17896 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17897
17898 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17899 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17900
17901 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17902
17903 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17904 aren't available if ata.mod gets used.
17905
17906 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17907
17908 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17909 initialising controller.
17910 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17911
17912 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17913
17914 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17915 to choose between ata and biosdisk module on i386-pc.
17916
17917 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17918
17919 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17920 Subclass and Programming Interface fields in terms of the 3 byte
17921 Class Code register.
17922 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17923
17924 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17925 interface is OHCI. Add grub_dprintf for symmetry with
17926 bus/usb/uhci.c.
17927 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17928 interface is UHCI. Add interf variable for programming
17929 interface. Print interface with class/subclass.
17930
17931 * bus/usb/ohci.c: Set interf with correct field.
17932
17933 * bus/usb/uhci.c: Remove unneeded doubled lines.
17934 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17935 Remove whitespace inside comment.
17936
17937 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17938
17939 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17940 as fallback an equivalent option without depth.
17941
17942 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 Not fail if unable to retrieve C/H/S on LBA disks
17945
17946 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17947 if unable to retrieve C/H/S on LBA disks
17948
17949 2009-06-08 Pavel Roskin <proski@gnu.org>
17950
17951 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17952 about aliasing.
17953
17954 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17955
17956 * Makefile.in (uninstall): Remove all $lib_DATA files.
17957
17958 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 Bugfix: install on partitionless device
17961
17962 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17963 is a whole disk
17964
17965 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17966
17967 * Makefile.in (uninstall): Remove all $include_DATA files.
17968
17969 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17970
17971 * commands/true.c: New file. Implement the true and false commands.
17972 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17973 (true_mod_SOURCES): New variable.
17974 (true_mod_CFLAGS): Likewise.
17975 (true_mod_LDFLAGS): Likewise.
17976
17977 2009-06-05 Colin D Bennett <colin@gibibit.com>
17978
17979 Optimized font character lookup using binary search instead of linear
17980 search. Fonts now are required to have the character index ordered by
17981 code point.
17982
17983 * font/font.c (load_font_index): Verify that fonts have ordered
17984 character indices.
17985 (find_glyph): Use binary search instead of linear search to find a
17986 character in a font.
17987
17988 2009-06-05 Michael Scherer <misc@mandriva.org>
17989
17990 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17991 uses case sensitive btree.
17992 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17993 only for case insensitive filesystems.
17994
17995 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17998 * conf/common.rmk (search_mod_CFLAGS): likewise
17999
18000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
18003 compensate a compiler bug
18004
18005 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
18008 instead of '\b'
18009
18010 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 Definitions for creating asm symbols with Apple's CC
18013
18014 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
18015 [APPLE_CC] (VARIABLE): likewise
18016
18017 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 Disable lnxboot.img when compiled
18020 with Apple's CC
18021
18022 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
18023 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
18024 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
18025 [! APPLE_CC] (CODE_LENG): skip
18026 [! APPLE_CC] (setup_sects): likewise
18027 [! APPLE_CC]: skip filling
18028
18029 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 Address in trampolines based on 32-bit registers when compiled
18032 with Apple's CC
18033
18034 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
18035 for addresses
18036 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
18037
18038 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 Avoid aliases when compiling with Apple's CC for PCBIOS machine
18041
18042 * kern/misc.c [APPLE_CC] (memcpy): new function
18043 [APPLE_CC] (memmove): likewise
18044 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
18045 (memcpy): define alias conditionally on !APPLE_CC
18046 (memset): likewise
18047 (abort): likewise
18048 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18049 APPLE_CC are defined
18050 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18051 (grub_assert_fail): make prototype conditional
18052
18053 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18056
18057 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18058 grub-macho2img
18059 (CLEANFILES): add grub-macho2img
18060 (grub_macho2img_SOURCES): new variable
18061 * kern/i386/pc/startup.S (bss_start): new variable
18062 (bss_end): likewise
18063 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18064 * util/grub-macho2img.c: new file
18065
18066 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Use objconv when compiling with Apple's CC
18069
18070 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18071 (efiemu64.o): likewise
18072 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18073 when compiling with Apple's CC
18074 (efiemu64_s.o): likewise
18075 * configure.ac: check for objconv when compiling with Apple's CC
18076 * genmk.rb: use objconv for modules when compiled with Apple's CC
18077
18078 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 Define segment as well as section when compiling with
18081 Apple's CC
18082
18083 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18084 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18085 (efiemu_convert_pointer): likewise
18086 (efiemu_set_virtual_address_map): likewise
18087 (efiemu_convert_pointer): likewise
18088 (efiemu_getcrc32): likewise
18089 (init_crc32_table): likewise
18090 (reflect): likewise
18091 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18092 (GRUB_MOD_DEP): likewise
18093
18094 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18095
18096 Allow a compilation without -mcmodel=large
18097
18098 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18099 when compiled without -mcmodel=large
18100 (filter_memory_map): remove memory post 4 GiB when compiled
18101 without -mcmodel=large
18102 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
18103 TARGET_CFLAGS when -mcmodel=large isn't supported
18104
18105 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Remove nested functions in efiemu core
18108
18109 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
18110
18111 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18114
18115 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18116 temporary storage
18117 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18118 using Apple's CC
18119 (grub_cpu_is_tsc_supported): likewise
18120 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
18121
18122 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 Absolute addressing through constant with Apple's cc
18125
18126 * kern/i386/pc/startup.S: Define necessary constants
18127 and address through it when using ABS with Apple's CC
18128 * boot/i386/pc/diskboot.S: likewise
18129 * boot/i386/pc/boot.S: likewise
18130 * boot/i386/pc/lnxboot.S: likewise
18131 * boot/i386/pc/cdboot.S: likewise
18132 * mmap/i386/pc/mmap_helper.S: likewise
18133 * commands/i386/pc/drivemap_int13h.S: likewise
18134
18135 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18136
18137 Check if compiler is apple cc
18138
18139 * Makefile.in (ASFLAGS): new variable
18140 (TARGET_ASFLAGS): likewise
18141 (TARGET_MODULE_FORMAT): likewise
18142 (TARGET_APPLE_CC): likewise
18143 (OBJCONV): likewise
18144 (TARGET_IMG_CFLAGS): likewise
18145 (TARGET_CPPFLAGS): add includedir
18146 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18147 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18148 Check for linker script only if compiler isn't Apple's CC
18149 (TARGET_MODULE_FORMAT): set
18150 (TARGET_APPLE_CC): likewise
18151 (TARGET_ASFLAGS): likewise
18152 (ASFLAGS): likewise
18153 Check for objcopy only if compiler isn't Apple's CC
18154 Check for BSS symbol only if compiler isn't Apple's CC
18155 * genmk.rb: adapt nm options if we use Apple's utils
18156 * aclocal.m4 (grub_apple_cc): new test
18157 (grub_apple_target_cc): likewise
18158
18159 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 Simplify sed expressions and improve awk
18162
18163 * Makefile.in (install-local): simplify sed expression
18164 * gencmdlist.sh: likewise
18165 * genmoddep.awk: avoid adding module as a dependency of itself
18166
18167 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 Add missing start symbols
18170
18171 * boot/i386/pc/boot.S: add start
18172 * boot/i386/pc/pxeboot.S: likewise
18173
18174 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 Fix wrong assumptions with grub-mkimage on EFI
18177
18178 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
18179 (relocate_addresses): consider both r_addend and value at offset
18180 (make_mods_section): zerofill modinfo and header
18181 (convert_elf): write prefix here
18182
18183 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 Use .asciz instead of .string
18186
18187 * i386/pc/diskboot.S: use .asciz instead of .string
18188 * i386/pc/boot.S: likewise
18189 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18190 (GRUB_MOD_NAME): likewise
18191
18192 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 gfxpayload support
18195
18196 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18197 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18198 (grub_video_setup): remove
18199 (grub_video_set_mode): new prototype
18200 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18201 (vid_mode): remove
18202 (linux_vesafb_res): compile only on PCBIOS
18203 (grub_linux_boot): support gfxpayload
18204 * loader/i386/pc/xnu.c (video_hook): new function
18205 (grub_xnu_set_video): support gfxpayload
18206 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18207 (DEFAULT_VIDEO_HEIGHT): likewise
18208 (DEFAULT_VIDEO_FLAGS): likewise
18209 (DEFAULT_VIDEO_MODE): new definition
18210 (video_hook): new function
18211 (grub_gfxterm_init): use grub_video_set_mode
18212 * util/grub.d/30_os-prober.in: remove explicit modesetting before
18213 loading xnu
18214 * video/video.c (grub_video_setup): removed
18215 (grub_video_set_mode): new function based on grub_gfxterm_init and
18216 grub_video_setup
18217
18218 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 Avoid calling biosdisk in drivemap
18221
18222 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18223 (revparse_biosdisk): likewise
18224 (list_mappings): derive name from id directly
18225 (grub_cmd_drivemap): use tryparse_diskstring
18226
18227 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 Script fixes
18230
18231 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18232 (grub_lexer_param): add tokenonhold
18233 (grub_script_create_cmdline): remove cmdline. All callers updated
18234 (grub_script_function_create): make functionname
18235 grub_script_arg. All callers updated
18236 (grub_script_execute_argument_to_string): new prototype
18237 * kern/parser.c (state_transitions): reorder
18238 (grub_parser_cmdline_state): fix a bug and make more compact
18239 * script/sh/execute.c (grub_script_execute_argument_to_string):
18240 make global
18241 (grub_script_execute_cmdline): use new format
18242 * script/sh/function.c (grub_script_function_create): make functionname
18243 grub_script_arg. All callers updated
18244 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18245 (grub_script_yylex): remove
18246 (grub_script_yylex2): renamed to ...
18247 (grub_script_yylex): ...renamed
18248 parse the expressions like a${b}c
18249 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18250 (GRUB_PARSER_TOKEN_VAR): remove
18251 (GRUB_PARSER_TOKEN_NAME): likewise
18252 ("if"): declare as typeless
18253 ("while"): likewise
18254 ("function"): likewise
18255 ("else"): likewise
18256 ("then"): likewise
18257 ("fi"): likewise
18258 (text): remove
18259 (argument): likewise
18260 (script): accept empty scripts and make exit on error
18261 (arguments): use GRUB_PARSER_TOKEN_ARG
18262 (function): likewise
18263 (command): move error handling to script
18264 (menuentry): move grub_script_lexer_ref before
18265 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18266 argument. All callers updated
18267
18268 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 Prevent GRUB from probing floppies during boot.
18271
18272 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18273 * commands/search.c (options): Add --no-floppy.
18274 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18275 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18276 --no-floppy when searching for UUIDs.
18277
18278 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18279
18280 Simplify the code duplication in commands/search.c.
18281
18282 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18283 (search_fs): ... this. Update all users.
18284
18285 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18286
18287 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18288
18289 2009-05-28 Pavel Roskin <proski@gnu.org>
18290
18291 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18292 Remove the original symlink explicitly.
18293
18294 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18295 just one slash. That's how grub_fshelp_find_file() does it.
18296
18297 2009-05-26 Pavel Roskin <proski@gnu.org>
18298
18299 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18300 to `str'.
18301
18302 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18303 possibly unused.
18304
18305 2009-05-25 Christian Franke <franke@computer.org>
18306
18307 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18308 register.
18309 (grub_atapi_identify): Add wait after drive select.
18310 (grub_ata_identify): Do more strict status register check before
18311 calling grub_atapi_identify (). Suppress error message if status
18312 register is 0x00 after command failure. Add status register
18313 check after PIO read to avoid bogus identify due to stuck DRQ.
18314 Thanks to Pavel Roskin for testing.
18315 (grub_device_initialize): Remove unsafe status register check.
18316 Thanks to 'phcoder' for problem report and patch.
18317 Prevent sign extension in debug message.
18318
18319 2009-05-23 Colin D Bennett <colin@gibibit.com>
18320
18321 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18322 definition file, and functions defined in `normal/menu.c' have had
18323 their prototypes moved to `include/grub/menu.h' for consistency.
18324
18325 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18326 from normal.h.
18327 (grub_menu_get_entry): Likewise.
18328 (grub_menu_get_timeout): Likewise.
18329 (grub_menu_set_timeout): Likewise.
18330 (grub_menu_execute_entry): Likewise.
18331 (grub_menu_execute_with_fallback): Likewise.
18332 (grub_menu_entry_run): Likewise.
18333
18334 * include/grub/normal.h: Re-ordered and grouped function
18335 prototypes by file that the function is defined in.
18336 (grub_menu_execute_callback): Removed; moved to menu.h.
18337 (grub_menu_get_entry): Likewise.
18338 (grub_menu_get_timeout): Likewise.
18339 (grub_menu_set_timeout): Likewise.
18340 (grub_menu_execute_entry): Likewise.
18341 (grub_menu_execute_with_fallback): Likewise.
18342 (grub_menu_entry_run): Likewise.
18343 (grub_menu_addentry): Renamed from this ...
18344 (grub_normal_add_menu_entry): ... to this.
18345
18346 * normal/main.c (grub_menu_addentry): Renamed from this ...
18347 (grub_normal_add_menu_entry): ... to this.
18348
18349 * script/sh/execute.c (grub_script_execute_menuentry): Update
18350 reference to renamed grub_menu_addentry function.
18351
18352 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18353
18354 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18355
18356 2009-05-22 Pavel Roskin <proski@gnu.org>
18357
18358 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18359 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18360 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18361 compiling for the i386 targets, but not for the utilities.
18362
18363 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18364 to grub_uint8_t.
18365 (grub_root_drive): Likewise.
18366 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18367 remove alignment.
18368 (grub_root_drive): Change size to byte.
18369 (grub_start_addr): Remove.
18370 (grub_end_addr): Likewise.
18371 (grub_apm_bios_info): Likewise.
18372
18373 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18374
18375 * normal/i386: Remove.
18376 * normal/powerpc: Likewise.
18377 * normal/sparc64: Likewise.
18378 * normal/x86_64: Likewise.
18379
18380 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18383 * loader/i386/linux_trampoline.S: Fix indentation
18384 * loader/i386/xnu_helper.S: Likewise
18385
18386 2009-05-18 Colin D Bennett <colin@gibibit.com>
18387
18388 Display error messages when parsing a Lua statement fails.
18389 Previously, executing a syntactically invalid statement like
18390 ")foo" or "bar;" would silently fail.
18391
18392 * script/lua/grub_main.c (handle_lua_error): New function.
18393 (grub_lua_parse_line): Improved reporting of Lua parser and
18394 execution errors.
18395
18396 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 Remove -Werror which causes build to fail on some systems
18399
18400 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18401 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18402 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18403
18404 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 trampoline for linux on 64-bit platform
18407
18408 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18409 loader/i386/efi/linux_trampoline.S
18410 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18411 declaration
18412 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18413 here
18414 * loader/i386/linux_trampoline.S: moved here
18415 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18416 trampoline
18417 (jumpvector): removed
18418 (grub_linux_trampoline_start): new declaration
18419 (grub_linux_trampoline_end): likewise
18420 (grub_linux_boot): use trampoline when on 64-bit platform
18421 * loader/i386/linux.c: likewise
18422
18423 2009-05-16 Pavel Roskin <proski@gnu.org>
18424
18425 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18426 const to avoid a warning.
18427 (grub_lua_setenv): Likewise.
18428 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18429 lmsg to fix a warning.
18430
18431 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18432
18433 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18434 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18435 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18436 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18437 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18438 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18439 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18440 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18441
18442 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18443
18444 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18445
18446 2009-05-16 Bean <bean123ch@gmail.com>
18447
18448 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18449 (lua_mod_SOURCES): New variable.
18450 (lua_mod_CFLAGS): Likewise.
18451 (lua_mod_LDFLAGS): Likewise.
18452
18453 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18454 (setjmp_mod_SOURCES): New variable.
18455 (setjmp_mod_CFLAGS): Likewise.
18456 (setjmp_LDFLAGS): Likewise.
18457
18458 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18459 (setjmp_mod_SOURCES): New variable.
18460 (setjmp_mod_CFLAGS): Likewise.
18461 (setjmp_LDFLAGS): Likewise.
18462
18463 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18464 (setjmp_mod_SOURCES): New variable.
18465 (setjmp_mod_CFLAGS): Likewise.
18466 (setjmp_LDFLAGS): Likewise.
18467
18468 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18469 (setjmp_mod_SOURCES): New variable.
18470 (setjmp_mod_CFLAGS): Likewise.
18471 (setjmp_LDFLAGS): Likewise.
18472
18473 * normal/i386/setjmp.S: Moved from here ...
18474 * lib/i386/setjmp.S: ... Moved here
18475 * normal/x86_64/setjmp.S: Moved from here ...
18476 * lib/x86_64/setjmp.S: ... Moved here
18477 * normal/powerpc/setjmp.S: Moved from here ...
18478 * lib/powerpc/setjmp.S: ... Moved here
18479 * normal/sparc64/setjmp.S: Moved from here ...
18480 * lib/sparc64/setjmp.S: ... Moved here
18481
18482 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18483 returns_twice in mingw.
18484
18485 * script/lua/grub_lib.c: New file.
18486 * script/lua/grub_lib.h: Likewise.
18487 * script/lua/grub_lua.h: Likewise.
18488 * script/lua/grub_main.c: Likewise.
18489 * script/lua/lapi.c: Likewise.
18490 * script/lua/lapi.h: Likewise.
18491 * script/lua/lauxlib.c: Likewise.
18492 * script/lua/lauxlib.h: Likewise.
18493 * script/lua/lbaselib.c: Likewise.
18494 * script/lua/lcode.c: Likewise.
18495 * script/lua/lcode.h: Likewise.
18496 * script/lua/ldblib.c: Likewise.
18497 * script/lua/ldebug.c: Likewise.
18498 * script/lua/ldebug.h: Likewise.
18499 * script/lua/ldo.c: Likewise.
18500 * script/lua/ldo.h: Likewise.
18501 * script/lua/ldump.c: Likewise.
18502 * script/lua/lfunc.c: Likewise.
18503 * script/lua/lfunc.h: Likewise.
18504 * script/lua/lgc.c: Likewise.
18505 * script/lua/lgc.h: Likewise.
18506 * script/lua/linit.c: Likewise.
18507 * script/lua/liolib.c: Likewise.
18508 * script/lua/llex.c: Likewise.
18509 * script/lua/llex.h: Likewise.
18510 * script/lua/llimits.h: Likewise.
18511 * script/lua/lmathlib.c: Likewise.
18512 * script/lua/lmem.c: Likewise.
18513 * script/lua/lmem.h: Likewise.
18514 * script/lua/loadlib.c: Likewise.
18515 * script/lua/lobject.c: Likewise.
18516 * script/lua/lobject.h: Likewise.
18517 * script/lua/lopcodes.c: Likewise.
18518 * script/lua/lopcodes.h: Likewise.
18519 * script/lua/loslib.c: Likewise.
18520 * script/lua/lparser.c: Likewise.
18521 * script/lua/lparser.h: Likewise.
18522 * script/lua/lstate.c: Likewise.
18523 * script/lua/lstate.h: Likewise.
18524 * script/lua/lstring.c: Likewise.
18525 * script/lua/lstring.h: Likewise.
18526 * script/lua/lstrlib.c: Likewise.
18527 * script/lua/ltable.c: Likewise.
18528 * script/lua/ltable.h: Likewise.
18529 * script/lua/ltablib.c: Likewise.
18530 * script/lua/ltm.c: Likewise.
18531 * script/lua/ltm.h: Likewise.
18532 * script/lua/lua.h: Likewise.
18533 * script/lua/luaconf.h: Likewise.
18534 * script/lua/lualib.h: Likewise.
18535 * script/lua/lundump.c: Likewise.
18536 * script/lua/lundump.h: Likewise.
18537 * script/lua/lvm.c: Likewise.
18538 * script/lua/lvm.h: Likewise.
18539 * script/lua/lzio.c: Likewise.
18540 * script/lua/lzio.h: Likewise.
18541
18542 2009-05-16 Bean <bean123ch@gmail.com>
18543
18544 * include/grub/kernel.h (grub_module_header_types): Add type
18545 OBJ_TYPE_CONFIG.
18546
18547 * kern/main.c (grub_load_config): New function.
18548 (grub_main): Call grub_load_config to read boot config.
18549
18550 * grub-mkimage (generate_image): New parameter config_path.
18551 (options): New option --config.
18552 (main): Parse --config option, and pass it to generate_image.
18553
18554 2009-05-14 Christian Franke <franke@computer.org>
18555
18556 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18557 This fixes build on Cygwin.
18558
18559 2009-05-14 Pavel Roskin <proski@gnu.org>
18560
18561 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18562 jump. This saves two bytes, so the typical case of 2 swapped
18563 drives would fit 32 bytes.
18564
18565 2009-05-13 Pavel Roskin <proski@gnu.org>
18566
18567 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18568 grub_uint32_t to avoid a warning.
18569
18570 * loader/i386/linux.c (allocate_pages): When assigning
18571 real_mode_mem, cast through grub_size_t to fix a warning. The
18572 code already makes sure that the value would fit a pointer.
18573 (grub_linux_setup_video): Cast render_target->data to
18574 grub_size_t to fix a warning.
18575
18576 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18577
18578 * commands/i386/pc/drivemap.c: New file - implement drivemap
18579 command.
18580 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18581 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18582
18583 2009-05-13 Pavel Roskin <proski@gnu.org>
18584
18585 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18586 embedding_area_exists.
18587
18588 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18589
18590 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18591 it easier to understand / work with.
18592 Improve warning messages for cases where there's no embedding area,
18593 or when it is too small (or core.img too large).
18594
18595 2009-05-13 Pavel Roskin <proski@gnu.org>
18596
18597 * loader/i386/pc/multiboot2.c: Add necessary includes for
18598 grub_multiboot2_real_boot().
18599
18600 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18601 PX record is always little-endian. We only need the lower 2
18602 bytes of the mode.
18603
18604 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18605 facilitate code reuse.
18606 (grub_cpio_mount): Use "struct head", not a char buffer. This
18607 fixes a warning reported by gcc 4.4.
18608
18609 * kernel/disk.c (grub_disk_read): Use void pointer for the
18610 buffer.
18611 (grub_disk_write): Use const void pointer for the buffer.
18612 Adjust all callers. Remove unnecessary casts.
18613
18614 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18615
18616 * util/i386/pc/grub-install.in: Update copyright year.
18617
18618 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 gptsync
18621
18622 * commands/gptsync.c: new file
18623 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18624 (gptsync_mod_SOURCES): new variable
18625 (gptsync_mod_CFLAGS): likewise
18626 (gptsync_mod_LDFLAGS): likewise
18627 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18628 new definition
18629 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18630 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18631 * conf/i386-ieee1275.rmk: likewise
18632 * conf/i386-pc.rmk: likewise
18633 * conf/powerpc-ieee1275.rmk: likewise
18634
18635 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 Fixed grub-emu
18638
18639 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18640 (grub_dl_ref): likewise
18641
18642 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18643
18644 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18645 split in two functions (one for msdos and one for gpt).
18646
18647 2009-05-08 Pavel Roskin <proski@gnu.org>
18648
18649 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18650 not modified.
18651
18652 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18653 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18654 Initialize them with -1. Add sanity check for bad1. Eliminate
18655 nerr variable.
18656
18657 2009-05-08 David S. Miller <davem@davemloft.net>
18658
18659 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18660
18661 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18662
18663 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18664 existence.
18665
18666 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18667
18668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18669 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18670
18671 2009-05-05 David S. Miller <davem@davemloft.net>
18672
18673 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18674
18675 2009-05-05 Pavel Roskin <proski@gnu.org>
18676
18677 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18678 of grub_dl_ref() and grub_dl_unref().
18679 * commands/parttool.c: Remove preprocessor conditionals around
18680 grub_dl_ref() and grub_dl_unref().
18681 * fs/affs.c: Likewise.
18682 * fs/afs.c: Likewise.
18683 * fs/cpio.c: Likewise.
18684 * fs/ext2.c: Likewise.
18685 * fs/fat.c: Likewise.
18686 * fs/hfs.c: Likewise.
18687 * fs/hfsplus.c: Likewise.
18688 * fs/iso9660.c: Likewise.
18689 * fs/jfs.c: Likewise.
18690 * fs/minix.c: Likewise.
18691 * fs/ntfs.c: Likewise.
18692 * fs/reiserfs.c: Likewise.
18693 * fs/sfs.c: Likewise.
18694 * fs/udf.c: Likewise.
18695 * fs/ufs.c: Likewise.
18696 * fs/xfs.c: Likewise.
18697 * include/grub/dl.h: Likewise.
18698 * loader/xnu.c: Likewise.
18699
18700 2009-05-04 Pavel Roskin <proski@gnu.org>
18701
18702 * commands/acpi.c: Remove unused variable my_mod.
18703 * partmap/amiga.c: Likewise.
18704 * partmap/apple.c: Likewise.
18705 * partmap/gpt.c: Likewise.
18706 * partmap/pc.c: Likewise.
18707 * partmap/sun.c: Likewise.
18708 * term/gfxterm.c: Likewise.
18709 * term/i386/pc/vesafb.c: Likewise.
18710 * term/i386/pc/vga.c: Likewise.
18711
18712 2009-05-04 David S. Miller <davem@davemloft.net>
18713
18714 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18715 pointer args to grub_ieee1275_get_property().
18716
18717 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18718
18719 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18720 devices, and do not traverse down under controller nodes.
18721
18722 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18723 (grub_ofdisk_open): Use it to un-escape "," characters.
18724 * kern/disk.c (find_part_sep): New.
18725 (grub_disk_open): Use it to find the first non-escaped ','
18726 character in the disk name.
18727 * util/ieee1275/devicemap.c (escape_of_path): New.
18728 (grub_util_emit_devicemap_entry): Use it.
18729 * util/sparc64/ieee1275/grub-install.in: Update script to
18730 strip partition specifiers properly by not triggering on
18731 '\' escaped ',' characters.
18732
18733 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18734
18735 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18736 to 0x300.
18737 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18738 resolutions.
18739 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18740 on documentation from Wikipedia).
18741
18742 2009-05-04 Pavel Roskin <proski@gnu.org>
18743
18744 * disk/ata.c: Spelling fixes.
18745 * disk/raid.c: Likewise.
18746 * disk/usbms.c: Likewise.
18747 * disk/dmraid_nvidia.c: Likewise.
18748 * kern/ieee1275/openfw.c: Likewise.
18749 * kern/ieee1275/init.c: Likewise.
18750 * kern/ieee1275/cmain.c: Likewise.
18751 * boot/i386/pc/cdboot.S: Likewise.
18752 * video/readers/png.c: Likewise.
18753 * video/i386/pc/vbe.c: Likewise.
18754 * fs/udf.c: Likewise.
18755 * fs/hfs.c: Likewise.
18756 * fs/reiserfs.c: Likewise.
18757 * efiemu/runtime/efiemu.c: Likewise.
18758 * efiemu/main.c: Likewise.
18759 * efiemu/mm.c: Likewise.
18760 * include/grub/elf.h: Likewise.
18761 * include/grub/xnu.h: Likewise.
18762 * include/grub/usbdesc.h: Likewise.
18763 * include/grub/usb.h: Likewise.
18764 * include/grub/script_sh.h: Likewise.
18765 * include/grub/lib/LzmaEnc.h: Likewise.
18766 * include/grub/efiemu/efiemu.h: Likewise.
18767 * include/grub/command.h: Likewise.
18768 * normal/menu.c: Likewise.
18769 * normal/main.c: Likewise.
18770 * normal/datetime.c: Likewise.
18771 * bus/usb/uhci.c: Likewise.
18772 * mmap/i386/uppermem.c: Likewise.
18773 * mmap/mmap.c: Likewise.
18774 * commands/acpi.c: Likewise.
18775 * commands/test.c: Likewise.
18776 * partmap/apple.c: Likewise.
18777 * font/font.c: Likewise.
18778 * loader/sparc64/ieee1275/linux.c: Likewise.
18779 * loader/macho.c: Likewise.
18780 * loader/i386/bsd_trampoline.S: Likewise.
18781 * loader/i386/bsd.c: Likewise.
18782 * loader/xnu.c: Likewise.
18783 * term/i386/pc/vesafb.c: Likewise.
18784 * term/usb_keyboard.c: Likewise.
18785 * util/resolve.c: Likewise.
18786 * util/getroot.c: Likewise.
18787
18788 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18789
18790 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18791
18792 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18793
18794 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18795 build error.
18796
18797 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18800 parameter only available on BIOS.
18801
18802 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 Removed wrong semicolon in declaration
18805
18806 * grub/misc.h (grub_dprintf): remove semicolon
18807
18808 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18809
18810 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18811 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18812 is done by grub_cmd_linux() now).
18813 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18814 restore video to text mode.
18815 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18816 indicates lack of "vga=" parameter. "vga=0" is mapped to
18817 `GRUB_LINUX_VID_MODE_NORMAL'.
18818
18819 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18820
18821 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18822 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18823 and `normal/script.c'. Add `kern/rescue_reader.c',
18824 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18825 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18826 `grub_script.tab.c'.
18827
18828 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18832 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18833
18834 * Makefile.in: Remove duplicated 2008 in Copyright line.
18835
18836 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18837
18838 * util/misc.c (grub_util_warn): New function. Emits a warning
18839 unconditionally.
18840 * include/grub/util/misc.h (grub_util_warn): New declaration.
18841
18842 * util/i386/pc/grub-install.in: Understand --force and pass it down
18843 to grub-setup.
18844
18845 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18846 down to setup().
18847 (setup): Improve error messages and add warnings when requested to
18848 install in odd layouts. Refuse to install using blocklists unless
18849 --force was set.
18850
18851 2009-05-04 martin f. krafft <madduck@madduck.net>
18852
18853 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18854
18855 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 Updated copyright year
18858
18859 * fs/hfsplus.c: updated copyright year
18860
18861 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 HFS+ UUID
18864
18865 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18866 in the space previously used by unused3
18867 (grub_hfsplus_uuid): new function
18868 (grub_hfsplus_fs): added uuid field
18869
18870 2009-05-03 Pavel Roskin <proski@gnu.org>
18871
18872 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18873 suppress warnings. It's no longer needed.
18874 * disk/host.c: Likewise.
18875 * disk/ata_pthru.c: Likewise.
18876 * disk/loopback.c: Likewise.
18877 * hook/datehook.c: Likewise.
18878 * parttool/pcpart.c: Likewise.
18879 * fs/i386/pc/pxe.c: Likewise.
18880 * fs/ntfscomp.c: Likewise.
18881 * efiemu/main.c: Likewise.
18882 * mmap/mmap.c: Likewise.
18883 * commands/crc.c: Likewise.
18884 * commands/hexdump.c: Likewise.
18885 * commands/hdparm.c: Likewise.
18886 * commands/acpi.c: Likewise.
18887 * commands/echo.c: Likewise.
18888 * commands/minicmd.c: Likewise.
18889 * commands/blocklist.c: Likewise.
18890 * commands/memrw.c: Likewise.
18891 * commands/loadenv.c: Likewise.
18892 * commands/usbtest.c: Likewise.
18893 * commands/lsmmap.c: Likewise.
18894 * commands/boot.c: Likewise.
18895 * commands/parttool.c: Likewise.
18896 * commands/configfile.c: Likewise.
18897 * commands/search.c: Likewise.
18898 * commands/ieee1275/suspend.c: Likewise.
18899 * commands/cat.c: Likewise.
18900 * commands/i386/pc/pxecmd.c: Likewise.
18901 * commands/i386/pc/play.c: Likewise.
18902 * commands/i386/pc/halt.c: Likewise.
18903 * commands/i386/pc/vbeinfo.c: Likewise.
18904 * commands/i386/pc/vbetest.c: Likewise.
18905 * commands/lspci.c: Likewise.
18906 * commands/date.c: Likewise.
18907 * commands/handler.c: Likewise.
18908 * commands/ls.c: Likewise.
18909 * commands/test.c: Likewise.
18910 * commands/cmp.c: Likewise.
18911 * commands/efi/loadbios.c: Likewise.
18912 * commands/efi/fixvideo.c: Likewise.
18913 * commands/halt.c: Likewise.
18914 * commands/help.c: Likewise.
18915 * commands/reboot.c: Likewise.
18916 * hello/hello.c: Likewise.
18917 * script/sh/main.c: Likewise.
18918 * loader/xnu.c: Likewise.
18919 * term/terminfo.c: Likewise.
18920 * term/i386/pc/serial.c: Likewise.
18921 * term/usb_keyboard.c: Likewise.
18922
18923 2009-05-03 David S. Miller <davem@davemloft.net>
18924
18925 * normal/menu.c: Include grub/parser.h
18926
18927 2009-05-03 Pavel Roskin <proski@gnu.org>
18928
18929 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18930 not char*.
18931 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18932 Suggested by Javier Martín <lordhabbit@gmail.com>
18933
18934 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18935 efiemu??.o doesn't exist.
18936 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18937 copying.
18938
18939 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 FreeBSD 64-bit support
18942
18943 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18944 and loader/i386/bsd_trampoline.S
18945 (bsd_mod_ASFLAGS): new variable
18946 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18947 (FREEBSD_MODTYPE_KERNEL64): likewise
18948 (grub_bsd64_trampoline_start): likewise
18949 (grub_bsd64_trampoline_end): likewise
18950 (grub_bsd64_trampoline_selfjump): likewise
18951 (grub_bsd64_trampoline_gdt): likewise
18952 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18953 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18954 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18955 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18956 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18957 of "attrib" member
18958 * loader/i386/bsd_pagetable.c: new file
18959 * loader/i386/bsd_trampoline.S: likewise
18960 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18961 (ALIGN_VAR): likewise
18962 (entry_hi): new variable
18963 (kern_end_mdofs): likewise
18964 (is_64bit): likewise
18965 (grub_freebsd_add_meta): use ALIGN_VAR
18966 (grub_e820_mmap): new declaration
18967 (grub_freebsd_add_mmap): new function
18968 (grub_freebsd_add_meta_module): support 64 bit kernels
18969 (grub_freebsd_list_modules): use ALIGN_VAR
18970 (gdt_descriptor): new declaration
18971 (grub_freebsd_boot): support 64 bit kernels
18972 (grub_bsd_elf64_hook): new function
18973 (grub_bsd_load_elf): support elf64
18974
18975 2009-05-03 Bean <bean123ch@gmail.com>
18976
18977 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18978 after we get the result of if statement.
18979
18980 2009-05-03 Bean <bean123ch@gmail.com>
18981
18982 * Makefile.in (enable_efiemu): New variable.
18983
18984 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18985 set.
18986 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18987 path.
18988 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18989 path, add -mno-red-zone option.
18990 (efiemu64_s.o): Likewise.
18991 (efiemu64.o): Use macro $^ for source file.
18992
18993 * configure.ac (--enable-efiemu): New option.
18994
18995 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 xnu support
18998
18999 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
19000 (pkglib_MODULES): add xnu.mod
19001 (xnu_mod_SOURCES): new variable
19002 (xnu_mod_CFLAGS): likewise
19003 (xnu_mod_LDFLAGS): likewise
19004 (xnu_mod_ASFLAGS): likewise
19005 * conf/i386-pc.rmk: likewise
19006 * conf/x86_64-efi.rmk: likewise
19007 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
19008 new declaration
19009 * include/grub/i386/macho.h: new file
19010 * include/grub/i386/xnu.h: likewise
19011 * include/grub/macho.h: likewise
19012 * include/grub/machoload.h: likewise
19013 * include/grub/x86_64/macho.h: likewise
19014 * include/grub/x86_64/xnu.h: likewise
19015 * include/grub/xnu.h: likewise
19016 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
19017 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
19018 * loader/i386/efi/xnu.c: new file
19019 * loader/i386/pc/xnu.c: likewise
19020 * loader/i386/xnu.c: likewise
19021 * loader/i386/xnu_helper.S: likewise
19022 * loader/macho.c: likewise
19023 * loader/xnu.c: likewise
19024 * loader/xnu_resume.c: likewise
19025 * util/grub-dumpdevtree: likewise
19026 * include/grub/i386/pit.h: include grub/err.h
19027 (grub_pit_wait): export
19028 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
19029
19030 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 Efiemu
19033
19034 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
19035 _linux_efi, linux_efi.
19036 new files in grub-emu
19037 new targets efiemu32.o and efiemu64.o
19038 * loader/linux_normal_efiemu.c: likewise
19039 * loader/i386/efi/linux.c: added preliminary efiemu support
19040 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
19041 files to copy
19042 * include/grub/autoefi.h: new file
19043 * include/grub/i386/efiemu.h: likewise
19044 * include/grub/i386/pc/efiemu.h: likewise
19045 * include/grub/efi/api.h: add LL suffix when necessary
19046 new definitions relating to tables
19047 * include/grub/efiemu/efiemu.h: new file
19048 * include/grub/efiemu/runtime.h: likewise
19049 * efiemu/prepare.c: likewise
19050 * efiemu/loadcore_common.c: likewise
19051 * efiemu/loadcore64.c: likewise
19052 * efiemu/runtime/efiemu.sh: likewise
19053 * efiemu/runtime/efiemu.S: likewise
19054 * efiemu/runtime/efiemu.c: likewise
19055 * efiemu/runtime/config.h: likewise
19056 * efiemu/prepare32.c: likewise
19057 * efiemu/main.c: likewise
19058 * efiemu/modules/pnvram.c: likewise
19059 * efiemu/modules/i386: likewise
19060 * efiemu/modules/i386/pc: likewise
19061 * efiemu/modules/acpi.c: likewise
19062 * efiemu/i386/pc/cfgtables.c: likewise
19063 * efiemu/i386/loadcore64.c: likewise
19064 * efiemu/i386/loadcore32.c: likewise
19065 * efiemu/prepare64.c: likewise
19066 * efiemu/loadcore.c: likewise
19067 * efiemu/symbols.c: likewise
19068 * efiemu/mm.c: likewise
19069 * efiemu/loadcore32.c: likewise
19070
19071 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 ACPI spoofing
19074
19075 * commands/acpi.c: new file
19076 * commands/i386/pc/acpi.c: likewise
19077 * commands/efi/acpi.c: likewise
19078 * include/grub/acpi.h: likewise
19079 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19080 (acpi_mod_SOURCES): new variable
19081 (acpi_mod_CFLAGS): likewise
19082 (acpi_mod_LDFLAGS): likewise
19083 * conf/i386-efi.rmk: likewise
19084 * conf/x86_64-efi.rmk: likewise
19085
19086 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 Missing part from mmap patch
19089
19090 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19091 (grub_mmap_unregister)
19092 (grub_mmap_free_and_unregister): use grub_mmap_register
19093
19094 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 Mmap services
19097
19098 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19099 * loader/i386/linux.c (find_mmap_size): likewise
19100 (allocate_pages): likewise
19101 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19102 (grub_fill_multiboot_mmap): likewise
19103 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19104 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19105 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19106 (OPENBSD_MMAP_RESERVED): likewise
19107 * include/grub/i386/pc/memory.h: include grub/memory.h
19108 (grub_lower_mem): removed
19109 (grub_upper_mem): likewise
19110 (GRUB_MACHINE_MEMORY_ACPI): new definition
19111 (GRUB_MACHINE_MEMORY_NVS): likewise
19112 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19113 (GRUB_MACHINE_MEMORY_HOLE): likewise
19114 (grub_machine_mmap_register): likewise
19115 (grub_machine_mmap_unregister): likewise
19116 (grub_machine_get_upper): likewise
19117 (grub_machine_get_lower): likewise
19118 (grub_machine_get_post64): likewise
19119 * include/grub/i386/efi/memory.h: new file
19120 * include/grub/x86_64/efi/memory.h: likewise
19121 * include/grub/efi/memory.h: likewise
19122 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19123 (mmap_mod_SOURCES): new variable
19124 (mmap_mod_LDFLAGS): likewise
19125 (mmap_mod_ASFLAGS): likewise
19126 * conf/i386-coreboot.rmk: likewise
19127 * conf/i386-ieee1275.rmk: likewise
19128 * conf/i386-efi.rmk: likewise
19129 * conf/x86_64-efi.rmk: likewise
19130 * include/grub/types.h (UINT_TO_PTR): new macro
19131 (PTR_TO_UINT32): likewise
19132 (PTR_TO_UINT64): likewise
19133 * include/grub/memory.h: new file
19134 * mmap/i386/pc/mmap.c: likewise
19135 * mmap/i386/pc/mmap_helper.S: likewise
19136 * mmap/i386/uppermem.c: likewise
19137 * mmap/mmap.c: likewise
19138 * mmap/efi/mmap.c: likewise
19139 * kern/i386/coreboot/init.c (grub_machine_init): don't use
19140 grub_upper_mem
19141 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19142 (grub_upper_mem): likewise
19143 (grub_machine_init): don't use grub_upper_mem,
19144 make grub_lower_mem local
19145 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19146 grub_mmap_iterate and grub_mmap_get_upper
19147 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19148
19149 2009-05-02 Bean <bean123ch@gmail.com>
19150
19151 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19152 script/sh/parser.y.
19153 (pkglib_MODULES): Add normal.mod and sh.mod.
19154 (normal_SOURCES): New variable.
19155 (normal_mod_CFLAGS): Likewise.
19156 (normal_mod_LDFLAGS): Likewise.
19157 (sh_mod_SOURCES): Likewise.
19158 (sh_mod_CFLAGS): Likewise.
19159 (sh_mod_LDFLAGS): Likewise.
19160
19161 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19162 script/sh/lexer.c_DEPENDENCIES.
19163 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19164 kern/rescue_reader.c and kern/rescue_parser.c.
19165 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19166 (grub_emu_SOURCES): Change source files.
19167 (pkglib_MODULES): Remove normal.mod.
19168 (normal_SOURCES): Removed.
19169 (normal_mod_CFLAGS): Likewise.
19170 (normal_mod_LDFLAGS): Likewise.
19171 * conf/i386-coreboot.rmk: Likewise.
19172 * conf/i386-efi.rmk: Likewise.
19173 * conf/i386-ieee1276.rmk: Likewise.
19174 * conf/powerpc-ieee1275.rmk: Likewise.
19175 * conf/sparc64-ieee1275.rmk: Likewise.
19176 * conf/x86_64-efi.rmk: Likewise.
19177
19178 * include/grub/command.h (grub_command_execute): New inline function.
19179
19180 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19181
19182 * include/grub/normal.h: Remove <grub/setjmp.h>.
19183 (grub_fs_module_list): Moved to normal/autofs.c.
19184 (grub_exit_env): Removed.
19185 (grub_command_execute): Likewise.
19186 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19187 parameter script.
19188 (read_command_list): New function declaration.
19189 (read_fs_list): Likewise.
19190
19191 * include/parser.h: Include <grub/reader.h>.
19192 (grub_parser_split_cmdline): Change type of getline parameter.
19193 (grub_parser): New structure.
19194 (grub_parser_class): New variable.
19195 (grub_parser_execute): New function declaration.
19196 (grub_register_rescue_parser): Likewise.
19197 (grub_parser_register): New inline function.
19198 (grub_parser_unregister): Likewise.
19199 (grub_parser_get_current): Likewise.
19200 (grub_parser_set_current): Likewise.
19201
19202 * include/grub/reader.h: New file.
19203 * kern/reader.c: Likewise.
19204 * kern/rescue_parser.c: Likewise.
19205 * kern/rescue_reader.c: Likewise.
19206 * normal/autofs.c: Likewise.
19207 * normal/dyncmd.c: Likewise.
19208
19209 * include/grub/rescue.h: Removed.
19210 * normal/command.h: Likewise.
19211
19212 * include/grub/script.h: Moved to ...
19213 * include/grub/script_sh.h: ... Moved here.
19214 * normal/execute.c: Moved to ...
19215 * script/sh/execute.c: ... Moved here.
19216 * normal/function.c: Moved to ...
19217 * script/sh/function.c: ... Moved here.
19218 * normal/lexer.c: Moved to ...
19219 * script/sh/lexer.c: ... Moved here.
19220 * normal/parser.y: Moved to ...
19221 * script/sh/parser.y: ... Moved here.
19222 * normal/script.c: Moved to ...
19223 * script/sh/script.c: ... Moved here.
19224
19225 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19226 <grub/reader.h>.
19227 (grub_exit_env): Removed.
19228 (fs_module_list): Moved to normal/autofs.c.
19229 (grub_file_getline): Don't handle comment here.
19230 (free_menu): Skip removed field entry->commands.
19231 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19232 script parameter.
19233 (read_config_file): Removed nested parameter, change getline function.
19234 (grub_enter_normal_mode): Removed.
19235 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19236 (read_command_list): Likewise.
19237 (autoload_fs_module): Moved to normal/autofs.c.
19238 (read_fs_list): Likewise.
19239 (reader_nested): New variable.
19240 (grub_normal_execute): Run parser.sh to switch to sh parser.
19241 (grub_cmd_rescue): Removed.
19242 (cmd_normal): Removed.
19243 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19244 rescue command.
19245 (grub_cmdline_run): New function.
19246 (grub_normal_reader_init): Likewise.
19247 (grub_normal_read_line): Likewise.
19248 (grub_env_write_pager): Likewise.
19249 (cmdline): New variable.
19250 (grub_normal_reader): Likewise.
19251 (GRUB_MOD_INIT): Register normal reader and set as current, register
19252 pager hook, register normal command with grub_register_command_prio,
19253 so that it won't show up in command.lst.
19254 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19255 grub_fs_autoload_hook.
19256
19257 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19258 (grub_menu_execute_entry): Replace grub_script_execute with
19259 grub_parser_execute, change parameter to grub_command_execute.
19260
19261 * normal/menu_text.c: Remove <grub/script.h>.
19262
19263 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19264 and <grub/parser.h>.
19265 (run): Change editor_getline to use new parser interface. Change
19266 parameter to grub_command_execute.
19267
19268 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19269 <grub/reader.h> and <grub/parser.h>.
19270 (grub_load_normal_mode): Execute normal command.
19271 (grub_main): Call grub_register_core_commands,
19272 grub_register_rescue_parser and grub_register_rescue_reader, use
19273 grub_reader_loop to enter input loop.
19274
19275 * kern/parser.c (grub_parser_split_cmdline): Change type of
19276 getline parameter.
19277 (grub_parser_class): New variable.
19278 (grub_parser_execute): New function.
19279
19280 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19281 * loader/multiboot2.c: Likewise.
19282 * loader/sparc64/ieee1275/linux.c: Likewise.
19283
19284 * util/grub-emu.c (read_command_list): New dummy function.
19285
19286 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19287
19288 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19289 count to 16 for CCISS and IDA.
19290
19291 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19292
19293 * normal/menu_text.c (grub_wait_after_message): Print a newline
19294 after waiting for user input.
19295
19296 * loader/i386/linux.c: Include `<grub/normal.h>'.
19297 (grub_cmd_linux): Improve the error message about `ask' mode, by
19298 waiting for user input so it's not missed (we can do this, since
19299 user requested interaction).
19300
19301 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 Added missing lst to grub-mkrescue
19304
19305 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19306 and ${input_dir}/parttool.lst
19307
19308 2009-04-30 David S. Miller <davem@davemloft.net>
19309
19310 * util/hostdisk.c (device_is_wholedisk): New function.
19311 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19312 zero only if device_is_wholedisk() returns true.
19313
19314 * util/hostdisk.c (convert_system_partition_to_system_disk):
19315 Handle virtual disk devices named /dev/vdiskX as found on sparc
19316 and powerpc.
19317
19318 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19319 lettered partition specifier is found, convert to numbered.
19320
19321 2009-04-29 David S. Miller <davem@davemloft.net>
19322
19323 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19324 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19325
19326 * normal/command.c: Add missing newline at end of file.
19327
19328 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19329 warnings.
19330 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19331 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19332 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19333 ihandles have a 32-bit type but need to be stored in a "void *".
19334
19335 2009-04-28 Pavel Roskin <proski@gnu.org>
19336
19337 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19338 not disk. Adjust all dependencies.
19339 (grub_fs_uuid_close): Use grub_device_close(), not
19340 grub_disk_close().
19341
19342 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19343 parent's partition, don't copy it by reference, as it gets freed
19344 on close.
19345
19346 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 Preboot hooks support
19349
19350 * commands/boot.c (struct grub_preboot_t): new declaration
19351 (preboots_head): new variable
19352 (preboots_tail): likewise
19353 (grub_loader_register_preboot_hook): new function
19354 (grub_loader_unregister_preboot_hook): likewise
19355 (grub_loader_set): launch preboot hooks
19356 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19357 (grub_loader_register_preboot_hook): new declaration
19358 (grub_loader_unregister_preboot_hook): likewise
19359
19360 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 Warning fix
19363
19364 * disk/scsi.c (grub_scsi_open): added missing cast when
19365 calling grub_dprintf
19366
19367 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 Bug and warning fixes
19370
19371 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19372 declaration
19373 * commands/test.c (test_parse): fixed bug with file tests and corrected
19374 declaration of find_file
19375
19376 2009-04-26 Pavel Roskin <proski@gnu.org>
19377
19378 * Makefile.in: Don't install empty manual pages if help2man is
19379 missing. Use help2man option for output, not shell redirection.
19380
19381 2009-04-26 David S. Miller <davem@davemloft.net>
19382
19383 * util/grub-mkdevicemap.c (make_device_map): Add missing
19384 NESTED_FUNC_ATTR to process_device().
19385
19386 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 Test command
19389
19390 * commands/test.c: rewritten to use bash-like test
19391
19392 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 Parttool autoloading and improvements
19395
19396 * Makefile.in (pkglib_DATA): add parttool.lst
19397 (parttool.lst): new target
19398 * genmk.rb: generate parttool-*
19399 (CLEANFILES): add #{parttool}
19400 (PARTTOOLFILES): new variable
19401 * genparttoollist.sh: new file
19402 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19403 (grub_pcpart_type): likewise
19404 * commands/parttool.c (helpmsg): new variable
19405 (grub_cmd_parttool): output help if not enough arguments are supplied
19406 autoload modules
19407 (GRUB_MOD_INIT(parttool)): use helpmsg
19408
19409 2009-04-24 David S. Miller <davem@davemloft.net>
19410
19411 Avoiding opening same device multiple times in device iterator.
19412
19413 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19414 and use it to build a list of partitions in iterate_disk() and
19415 iterate_partition().
19416
19417 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19418 on disk->data.
19419
19420 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19421 grub_devalias_iterate() result instead of unconditional 0.
19422 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19423 Also, capture hook return value, either directly or via
19424 grub_children_iterate(), and propagate to caller.
19425 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19426 grub_children_iterate): Return value is now 'int' instead of
19427 'grub_err_t'.
19428 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19429 like a proper iterator, stopping when hooks return non-zero.
19430 (grub_devalias_iterate): Likewise.
19431
19432 2009-04-23 David S. Miller <davem@davemloft.net>
19433
19434 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19435
19436 2009-04-22 David S. Miller <davem@davemloft.net>
19437
19438 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19439 is larger than address_cells, use that value for address_cells too.
19440
19441 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19442 IEEE1275_MAX_PATH_LEN): Define.
19443 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19444 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19445 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19446 'devtype'. Explicitly NULL terminate devalias expansion.
19447
19448 * util/sparc64/ieee1275/misc.c: New file.
19449 * util/sparc64/ieee1275/grub-setup.c: New file.
19450 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19451 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19452 * util/sparc64/ieee1275/grub-install.in: New file.
19453 * util/ieee1275/ofpath.c: New file.
19454 * util/ieee1275/devicemap.c: New file.
19455 * util/devicemap.c: New file.
19456 * util/deviceiter.c: New file.
19457 * kern/sparc64/ieee1275/init.c: New file.
19458 * include/grub/util/ofpath.h: New file.
19459 * include/grub/util/deviceiter.h: New file.
19460 * util/grub-mkdevicemap.c: Include deviceiter.h.
19461 Implement using grub_util_emit_devicemap_entry and
19462 grub_util_iterate_devices.
19463 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19464 util/devicemap.c into grub-mkdevicemap
19465 * conf/i386-efi.rmk: Likewise.
19466 * conf/i386-ieee1275.rmk: Likewise.
19467 * conf/i386-pc.rmk: Likewise.
19468 * conf/powerpc-ieee1275.rmk: Likewise.
19469 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19470 images and installation utilities. Build kernel as image
19471 instead of as elf binary. Use common rules as much as possible.
19472
19473 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 Correct GPT definition
19476
19477 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19478 of "attrib" member
19479
19480 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19481
19482 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19483
19484 2009-04-19 David S. Miller <davem@davemloft.net>
19485
19486 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19487 (grub_rescue_cmd_linux): Rename to...
19488 (grub_cmd_linux): and fix prototype.
19489 (grub_rescue_cmd_initrd): Rename to...
19490 (grub_cmd_initrd): and fix prototype.
19491 (cmd_linux, cmd_initrd): New.
19492 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19493 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19494
19495 2009-04-17 Pavel Roskin <proski@gnu.org>
19496
19497 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19498 format.
19499 (grub_ohci_transfer): Likewise.
19500
19501 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19502
19503 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19504 return without a value. Fix inconsistent indentation.
19505
19506 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19507 match struct grub_fs.
19508
19509 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19510 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19511 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19512 * commands/lspci.c (grub_lspci_iter): Likewise.
19513
19514 2009-04-16 Bean <bean123ch@gmail.com>
19515
19516 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19517 value.
19518
19519 2009-04-15 Pavel Roskin <proski@gnu.org>
19520
19521 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19522 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19523 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19524 definitions.
19525
19526 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19527
19528 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19529 that no multiple data or metadata areas are supported and `Unknown
19530 metadata header'.
19531
19532 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 Move loader out of the kernel
19535
19536 * kern/loader.c: moved to ...
19537 * commands/boot.c: ... moved here
19538 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19539 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19540 * include/grub/kernel.h (grub_machine_fini): export
19541 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19542 (grub_loader_set): likewise
19543 (grub_loader_unset): likewise
19544 (grub_loader_boot): likewise
19545 * conf/common.rmk: new module boot.mod
19546 (pkglib_MODULES): add boot.mod
19547 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19548 (grub_emu_SOURCES): likewise
19549 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19550 (grub_emu_SOURCES): likewise
19551 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19552 (grub_emu_SOURCES): likewise
19553 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19554 (grub_emu_SOURCES): likewise
19555 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19556 (grub_emu_SOURCES): likewise
19557 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19558 (grub_emu_SOURCES): likewise
19559 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19560 (grub_emu_SOURCES): likewise
19561
19562 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19565
19566 * kern/misc.c (grub_itoa): Removed function
19567 (grub_ltoa): likewise
19568 (grub_vsprintf): use grub_lltoa
19569
19570 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19571
19572 Restore grub-emu
19573
19574 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19575 * conf/i386-coreboot.rmk: likewise
19576 * conf/i386-ieee1275.rmk: likewise
19577 * conf/powerpc-ieee1275.rmk: likewise
19578
19579 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19580
19581 * INSTALL: Add that `./autogen.sh' needs to be run before
19582 `./configure.'.
19583
19584 2009-04-14 Bean <bean123ch@gmail.com>
19585
19586 * Makefile.in (pkglib_DATA): Add handler.lst.
19587 (handler.lst): New rule.
19588
19589 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19590 * conf/i386-coreboot.rmk: Likewise.
19591 * conf/i386-ieee1275.rmk: Likewise.
19592 * conf/i386-efi.rmk: Likewise.
19593 * conf/x86_64-efi.rmk: Likewise.
19594 * conf/powerpc-ieee1275.rmk: Likewise.
19595 * conf/sparc64-ieee1275.rmk: Likewise.
19596
19597 * genhandlerlist.sh: New file.
19598
19599 * genmk.rb: Add rules to generate handler.lst.
19600
19601 * include/grub/normal.h (grub_file_getline): New function definition.
19602 (read_handler_list): Likewise.
19603 (free_handler_list): Likewise.
19604
19605 * include/grub/term.h (grub_term_register_input): Add name parameter
19606 for auto generation of handler.lst.
19607 (grub_term_register_output): Likewise.
19608
19609 * normal/handler.c: New file.
19610
19611 * normal/main.c (get_line): Renamed to grub_file_getline.
19612 (read_config_file): Use the newly renamed grub_file_getline.
19613 (read_command_list): Likewise.
19614 (read_fs_list): Likewise.
19615 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19616 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19617
19618 * term/efi/console.c (grub_console_init): Add name parameter for auto
19619 generation of handler.lst.
19620 * term/gfxterm.c: Likewise.
19621 * term/i386/pc/at_keyboard.c: Likewise.
19622 * term/i386/pc/console.c: Likewise.
19623 * term/i386/pc/serial.c: Likewise.
19624 * term/i386/pc/vesafb.c: Likewise.
19625 * term/i386/pc/vga.c: Likewise.
19626 * term/i386/pc/vga_text.c: Likewise.
19627 * term/ieee1275/ofconsole.c: Likewise.
19628 * term/usb_keyboard.c: Likewise.
19629
19630 2009-04-14 Bean <bean123ch@gmail.com>
19631
19632 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19633 properly with null character.
19634
19635 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19636
19637 * configure: Remove.
19638 * config.h.in: Likewise.
19639 * stamp-h.in: Likewise.
19640 * DISTLIST: Likewise.
19641 * conf/common.mk: Likewise.
19642 * conf/i386-coreboot.mk: Likewise.
19643 * conf/i386-efi.mk: Likewise.
19644 * conf/i386-ieee1275.mk: Likewise.
19645 * conf/i386.mk: Likewise.
19646 * conf/i386-pc.mk: Likewise.
19647 * conf/powerpc-ieee1275.mk: Likewise.
19648 * conf/sparc64-ieee1275.mk: Likewise.
19649 * conf/x86_64-efi.mk: Likewise.
19650
19651 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19652 develop on GRUB.
19653
19654 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19655 David S. Miller <davem@davemloft.net>
19656
19657 * util/hostdisk.c (make_device_name): Fix buffer length
19658 calculations.
19659
19660 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19661
19662 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19663 <sys/param.h> and <sys/sysctl.h>.
19664 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19665 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19666 opening the device and reset them afterwards.
19667
19668 2009-04-13 Pavel Roskin <proski@gnu.org>
19669
19670 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19671 Reported by John Stanley <jpsinthemix@verizon.net>
19672
19673 2009-04-13 Robert Millan <rmh@aybabtu.com>
19674
19675 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19676 that name for menuentries when appropriate.
19677
19678 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19679
19680 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19681
19682 2009-04-13 Robert Millan <rmh@aybabtu.com>
19683
19684 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19685 to Linux, simply abort telling the user it's no longer supported.
19686
19687 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19688
19689 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19690 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19691 `freebsd_loadenv' only when devices.hints exist.
19692
19693 2009-04-13 Pavel Roskin <proski@gnu.org>
19694
19695 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19696
19697 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19698
19699 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19700 partition number.
19701 (grub_drive): Likewise.
19702
19703 2009-04-13 David S. Miller <davem@davemloft.net>
19704
19705 * kern/sparc64/ieee1275/ieee1275.c: New file.
19706 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19707 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19708 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19709 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19710 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19711 grub_ieee1275_alloc_physmem): Declare new exported functions.
19712
19713 * include/grub/sparc64/ieee1275/loader.h: New file.
19714 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19715 * include/grub/sparc64/kernel.h: Likewise.
19716 * loader/sparc64/ieee1275/linux.c: Likewise.
19717
19718 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19719 (grub_fstest_SOURCES): Likewise.
19720
19721 * util/hostdisk.c (make_device_name): Do not make any assumptions
19722 about the length of drive names.
19723
19724 * kern/dl.c (grub_dl_load_file): Close file immediately when
19725 we are done using it.
19726
19727 2009-04-12 David S. Miller <davem@davemloft.net>
19728
19729 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19730 values. Noticed by Pavel Roskin.
19731
19732 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19733 target compiler.
19734
19735 * genmk.rb: Add more flexible image type specification, also
19736 pass --strip-unneeded to objcopy.
19737 * conf/i386-pc.rmk: Use *_FORMAT.
19738 * conf/i386-pc.mk: Rebuilt.
19739
19740 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19741 (OFDISK_HASH_SZ): Define.
19742 (ofdisk_hash): New hash table.
19743 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19744 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19745 instead of device phandle which is not unique.
19746
19747 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19748 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19749 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19750 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19751 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19752 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19753 GRUB_KERNEL_MACHINE_DATA_END): Define.
19754 (grub_kernel_image_size, grub_total_module_size): Declare.
19755
19756 2009-04-12 Pavel Roskin <proski@gnu.org>
19757
19758 * configure.ac: Change the logic when we check for target tools.
19759 Do it when the target is specified and it's different from the
19760 specified value of the host.
19761
19762 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19763
19764 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19765 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19766 GNU/kFreeBSD. Check if a device is a character device. Use
19767 DIOCGMEDIASIZE to get the size.
19768 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19769 support for GNU/kFreeBSD.
19770 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19771 is a character device instead of a block device. Add support for
19772 FreeBSD device names.
19773
19774 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19775 is a character device instead of a block device.
19776
19777 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19778 is a character device instead of a block device.
19779
19780 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19781
19782 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19783 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19784 FreeBSD. Check if a device is a character device. Use
19785 DIOCGMEDIASIZE to get the size.
19786 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19787 support for FreeBSD.
19788 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19789 is a character device instead of a block device. Add support for
19790 FreeBSD device names.
19791
19792 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19793 a character device instead of a block device.
19794 (grub_util_check_char_device): New function.
19795
19796 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19797 a character device instead of a block device.
19798
19799 * include/grub/util/getroot.h (grub_util_check_char_device): New
19800 prototype.
19801
19802 2009-04-11 David S. Miller <davem@davemloft.net>
19803
19804 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19805 static libgcc.
19806 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19807 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19808 function, if present.
19809 (__bswapdi2): Likewise.
19810
19811 * include/grub/sparc64/ieee1275/boot.h: New file.
19812 * boot/sparc64/ieee1275/boot.S: Likewise.
19813 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19814
19815 * kern/misc.c (grub_ltoa): New function.
19816 (grub_vsprintf): Use it to format 'long' integers.
19817
19818 2009-04-10 David S. Miller <davem@davemloft.net>
19819
19820 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19821 slots are of type grub_ieee1275_cell_t.
19822 (grub_nand_read): Likewise.
19823 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19824 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19825 macros are used to compare values in arg/ret block of the call.
19826 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19827 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19828 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19829 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19830 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19831 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19832 grub_ieee1275_close, grub_ieee1275_set_property,
19833 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19834 grub_ieee1275_cell_t.
19835 * kern/ieee1275/openfw.c (grub_map): Likewise.
19836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19837 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19838
19839 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19840 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19841 (grub_devalias_iterate): Likewise.
19842
19843 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 UFS improvements
19846
19847 * fs/ufs.c (INODE_NBLOCKS): new definition
19848 (struct grub_ufs_dirent): added fields for non-BSD dirents
19849 (grub_ufs_get_file_block): fixed double indirect handling
19850 (grub_ufs_lookup_symlink): use more robust way to determine whether
19851 symlink is inline
19852 (grub_ufs_find_file): support for non-BSD dirents
19853 (grub_ufs_dir): support for non-BSD dirents
19854
19855 2009-04-10 Bean <bean123ch@gnail.com>
19856
19857 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19858 attribute, otherwise the size would be wrong for i386 platform.
19859
19860 * include/grub/pci.h (grub_pci_read_word): New inline function.
19861 (grub_pci_read_byte): Likewise.
19862 (grub_pci_write): Likewise.
19863 (grub_pci_write_word): Likewise.
19864 (grub_pci_write_byte): Likewise.
19865
19866 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19867
19868 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19869 (find_framebuf): Scan pci to locate the frame buffer address.
19870
19871 * commands/efi/fixvideo.c: New file.
19872
19873 * commands/efi/loadbios.c: Likewise.
19874
19875 * commands/memrw.c: Likewise.
19876
19877 * util/grub-dumpbios.in: Likewise.
19878
19879 * conf/common.rmk (grub-dumpbios): New utility.
19880 (pkglib_MODULES): New module memrw.mod.
19881 (memrw_mod_SOURCE): New macro.
19882 (memrw_mod_CFLAGS): Likewise.
19883 (memrw_mod_LDFLAGS): Likewise.
19884
19885 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19886 fixvideo.mod.
19887 (loadbios_mod_SOURCE): New macro.
19888 (loadbios_mod_CFLAGS): Likewise.
19889 (loadbios_mod_LDFLAGS): Likewise.
19890 (fixvideo_mod_SOURCE): Likewise.
19891 (fixvideo_mod_CFLAGS): Likewise.
19892 (fixvideo_mod_LDFLAGS): Likewise.
19893
19894 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19895 fixvideo.mod.
19896 (loadbios_mod_SOURCE): New macro.
19897 (loadbios_mod_CFLAGS): Likewise.
19898 (loadbios_mod_LDFLAGS): Likewise.
19899 (fixvideo_mod_SOURCE): Likewise.
19900 (fixvideo_mod_CFLAGS): Likewise.
19901 (fixvideo_mod_LDFLAGS): Likewise.
19902
19903 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19904
19905 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19906
19907 2009-04-07 David S. Miller <davem@davemloft.net>
19908
19909 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19910 support for R_SPARC_OLO10 relocations. Fix compile warning for
19911 R_SPARC_WDISP30 case.
19912 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19913
19914 2009-04-06 Pavel Roskin <proski@gnu.org>
19915
19916 * include/grub/misc.h (ARRAY_SIZE): New macro.
19917 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19918 New macro.
19919 * loader/i386/linux.c (allocate_pages): Use free_pages().
19920 (grub_linux_unload): Don't use free_pages().
19921 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19922 wrong index. Treat all other modes as text modes.
19923 (grub_cmd_linux): Initialize vid_mode unconditionally to
19924 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19925
19926 * commands/help.c (print_command_help): Use cmd->prio, not
19927 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19928
19929 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 Parttool
19932
19933 * parttool/pcpart.c: new file
19934 * commands/parttool.c: likewise
19935 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19936 (parttool_mod_SOURCES): new variable
19937 (parttool_mod_CFLAGS): likewise
19938 (parttool_mod_LDFLAGS): likewise
19939 (pcpart_mod_SOURCES): likewise
19940 (pcpart_mod_CFLAGS): likewise
19941 (pcpart_mod_LDFLAGS): likewise
19942 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19943 and parttool/pcpart.c
19944 * conf/i386-efi.rmk: likewise
19945 * conf/i386-ieee1275.rmk: likewise
19946 * conf/i386-pc.rmk: likewise
19947 * conf/powerpc-ieee1275.rmk: likewise
19948 * conf/sparc64-ieee1275.rmk: likewise
19949 * conf/x86_64-ieee1275.rmk: likewise
19950
19951 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Support for mtime and further expandability of dir command
19954
19955 * include/grub/lib/datetime.h: moved to ...
19956 * include/grub/datetime.h: ... moved here and added
19957 declaration of grub_unixtime2datetime. All users updated
19958 * include/grub/fs.h: new syntax for dir and mtime functions in
19959 struct grub_fs
19960 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19961 and GRUB_FSHELP_FLAGS_MASK
19962 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19963 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19964 (grub_ext2_mtime): new function
19965 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19966 (grub_hfsplus_mtime): new function
19967 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19968 (GRUB_UFS_ATTR_FILE): likewise
19969 (GRUB_UFS_ATTR_LNK): likewise
19970 (struct grub_ufs_sblock): new fields mtime
19971 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19972 all users updated
19973 (grub_ufs_dir): mtime support
19974 (grub_ufs_mtime): new function
19975 * fs/affs.c (grub_affs_dir): use new dir syntax
19976 * fs/afs.c (grub_afs_dir): likewise
19977 * fs/cpio.c (grub_cpio_dir): likewise
19978 * fs/fat.c (grub_fat_find_dir): likewise
19979 * fs/hfs.c (grub_hfs_dir): likewise
19980 * fs/iso9660.c (grub_iso9660_dir): likewise
19981 * fs/jfs.c (grub_jfs_dir): likewise
19982 * fs/minix.c (grub_minix_dir): likewise
19983 * fs/ntfs.c (grub_ntfs_dir): likewise
19984 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19985 * fs/sfs.c (grub_sfs_dir): likewise
19986 * fs/xfs.c (grub_xfs_dir): likewise
19987 * util/hostfs.c (grub_hostfs_dir): likewise
19988 * lib/datetime.c: moved to ...
19989 * normal/datetime.c: ... moved here
19990 (grub_unixtime2datetime): new function
19991 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19992 * normal/completion.c (iterate_dir): use new dir syntax
19993 * normal/misc.c (grub_normal_print_device_info): tell the
19994 last modification time of a volume
19995 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19996 * conf/common.rmk: added lib/datetime.c to ls.mod
19997 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19998 (normal_mod_SOURCES): likewise
19999 (datetime_mod_SOURCES): Removed lib/datetime.c
20000 * conf/i386-efi.rmk: likewise
20001 * conf/i386-ieee1275.rmk: likewise
20002 * conf/i386-pc.rmk: likewise
20003 * conf/powerpc-ieee1275.rmk: likewise
20004 * conf/sparc64-ieee1275.rmk: likewise
20005 * conf/x86_64-efi.rmk: likewise
20006
20007 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 Trim trailing spaces in FAT label and support mtools-like labels
20010
20011 * fs/fat.c (grub_fat_iterate_dir): New function based
20012 on grub_fat_find_dir
20013 (grub_fat_find_dir): use grub_fat_iterate_dir
20014 (grub_fat_label): likewise
20015
20016 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
20019 and command.h
20020 remove extraneous kernel_elf_HEADERS
20021
20022 2009-04-04 Bean <bean123ch@gnail.com>
20023
20024 * include/grub/util/misc.h: Add dummy function fsync for mingw.
20025
20026 * util/misc.c: Likewise.
20027
20028 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20029
20030 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
20031 instead of grub_printf.
20032
20033 2009-04-03 Robert Millan <rmh@aybabtu.com>
20034
20035 * loader/i386/linux.c (grub_linux_setup_video): Fill
20036 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
20037 values from `mode info' structure instead of hardcoded
20038 values.
20039
20040 2009-04-01 Pavel Roskin <proski@gnu.org>
20041
20042 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
20043 unused now.
20044 * genmk.rb: Likewise.
20045 * configure.ac: Likewise.
20046
20047 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20048
20049 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20050 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20051
20052 2009-04-01 David S. Miller <davem@davemloft.net>
20053
20054 * normal/sparc64/setjmp.S: Fix setjmp implementation.
20055 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
20056 (grub_setjmp): Mark with 'returns_twice' attribute.
20057 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20058 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20059 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20060
20061 2009-04-01 Robert Millan <rmh@aybabtu.com>
20062
20063 Reapply fix from 2008-07-28 which was accidentally reverted; also
20064 perform the same fix to a similar check in same function.
20065
20066 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20067 with the same number are found, just use issue a warning with
20068 grub_dprintf(), as this error has been reported to be non-fatal.
20069
20070 2009-03-31 Pavel Roskin <proski@gnu.org>
20071
20072 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20073 for cross-compilation.
20074
20075 2009-03-30 Robert Millan <rmh@aybabtu.com>
20076
20077 Fix i386-ieee1275 build.
20078
20079 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20080 Remove declaration.
20081
20082 2009-03-30 Pavel Roskin <proski@gnu.org>
20083
20084 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20085 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20086 zero-terminated, rely only on the strlen value. Fix comparison
20087 of strings differing in length.
20088
20089 2009-03-30 Robert Millan <rmh@aybabtu.com>
20090
20091 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20092 checking for abi version. Improve error messages on BIOS to notify
20093 user about `linux16' command.
20094
20095 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 Leak fixes
20098
20099 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20100 in case of collision
20101 * disk/scsi.c (grub_scsi_open): free scsi in case of error
20102
20103 2009-03-29 Robert Millan <rmh@aybabtu.com>
20104
20105 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20106 set `vid_mode' accordingly.
20107 (grub_linux_boot): Process `vid_mode' and set video mode.
20108
20109 2009-03-29 Robert Millan <rmh@aybabtu.com>
20110
20111 * util/grub.d/10_linux.in (linux_entry): New function.
20112 Factorize generation of Linux boot entries.
20113
20114 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20115
20116 Make the format of Environment Block plain text. The boot loader
20117 part is not tested well yet.
20118
20119 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20120 (buffer): Removed.
20121 (envblk): Likewise.
20122 (usage): Remove "info" and "clear". Add "unset". Update the
20123 description of "set", as this does not delete variables any
20124 longer.
20125 (create_envblk_file): Complete rewrite.
20126 (open_envblk_file): Likewise.
20127 (cmd_info): Removed.
20128 (cmd_list): Likewise.
20129 (cmd_set): Likewise.
20130 (cmd_clear): Likewise.
20131 (list_variables): New function.
20132 (write_envblk): Likewise.
20133 (set_variables): Likewise.
20134 (unset_variables): Likewise.
20135 (main): Complete rewrite.
20136
20137 * commands/loadenv.c (buffer): Removed.
20138 (envblk): Likewise.
20139 (open_envblk_file): New function.
20140 (read_envblk_file): Complete rewrite.
20141 (grub_cmd_load_env): Likewise.
20142 (grub_cmd_list_env): Likewise.
20143 (struct blocklist): New struct.
20144 (free_blocklists): New function.
20145 (check_blocklists): Likewise.
20146 (write_blocklists): Likewise.
20147 (grub_cmd_save_env): Complete rewrite.
20148
20149 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20150 a plain text signature.
20151 (GRUB_ENVBLK_MAXLEN): Removed.
20152 (struct grub_envblk): Complete rewrite.
20153 (grub_envblk_find): Removed.
20154 (grub_envblk_insert): Likewise.
20155 (grub_envblk_open): New prototype.
20156 (grub_envblk_set): Likewise.
20157 (grub_envblk_delete): Put const to VALUE.
20158 (grub_envblk_iterate): Put const to NAME and VALUE.
20159 (grub_envblk_close): New prototype.
20160 (grub_envblk_buffer): New inline function.
20161 (grub_envblk_size): Likewise.
20162
20163 * lib/envblk.c: Include grub/mm.h.
20164 (grub_env_find): Removed.
20165 (grub_envblk_open): New function.
20166 (grub_envblk_close): Likewise.
20167 (escaped_value_len): Likewise.
20168 (find_next_line): Likewise.
20169 (grub_envblk_insert): Removed.
20170 (grub_envblk_set): New function.
20171 (grub_envblk_delete): Complete rewrite.
20172 (grub_envblk_iterate): Likewise.
20173
20174 2009-03-28 Robert Millan <rmh@aybabtu.com>
20175
20176 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20177 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20178 variables. Use 16-bit loader.
20179 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20180 loader.
20181 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20182 (grub_linux16_boot): ... this. Update all users.
20183 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20184 (grub_linux_boot): ... this. Update all users.
20185
20186 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20187 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20188 commands to `linux16' and `initrd16'.
20189 (GRUB_MOD_FINI(linux)): Rename to ...
20190 (GRUB_MOD_FINI(linux16)): ... this.
20191
20192 2009-03-24 Pavel Roskin <proski@gnu.org>
20193
20194 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20195 not just for compilation.
20196
20197 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 Move multiboot helper out of kernel
20200
20201 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20202 `loader/i386/multiboot_helper.S'.
20203 * conf/i386-coreboot.rmk: Likewise
20204 * conf/i386-ieee1275.rmk: Likewise
20205
20206 * kern/i386/loader.S: Move multiboot helpers from here...
20207 * loader/i386/multiboot_helper.S: ...moved here
20208 * include/grub/i386/loader.h: Move declarations of multiboot
20209 helpers from here...
20210 * include/grub/i386/multiboot.h: ...moved here
20211 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20212
20213 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20214
20215 * kern/env.c (grub_env_context_open): Added an argument to specify
20216 whether a new context inherits exported variables from current
20217 one. This is useful when making a sandbox to interpret a config
20218 file.
20219 All callers updated.
20220
20221 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20222
20223 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20224
20225 * kern/env.c (grub_env_context_close): Fix memory leaks.
20226
20227 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20228
20229 * normal/main.c (grub_normal_execute): Added an argument
20230 BATCH to specify if an interactive interface should be provided
20231 after reading a config file.
20232 All callers updated.
20233 (read_command_list): Prevent being executed twice.
20234 (read_fs_list): Likewise.
20235
20236 * include/grub/normal.h (grub_normal_execute): Updated the
20237 prototype.
20238
20239 2009-03-22 Pavel Roskin <proski@gno.org>
20240
20241 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20242 _start.
20243 * kern/i386/pc/startup.S: Likewise.
20244 * kern/i386/efi/startup.S: Likewise.
20245 * kern/i386/ieee1275/startup.S: Likewise.
20246 * kern/i386/coreboot/startup.S: Likewise.
20247 * kern/x86_64/efi/startup.S: Likewise.
20248
20249 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20250 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20251 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20252
20253 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20256
20257 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20258 limit detection.
20259 Use vaddr of correct segment for entry_point.
20260
20261 2009-03-21 Bean <bean123ch@gmail.com>
20262
20263 * commands/blocklist.c: Add include file <grub/command.h>, remove
20264 <grub/normal.h> and <grub/arg.h>.
20265 (grub_cmd_blocklist): Use the new command interface.
20266 (GRUB_MOD_INIT): Likewise.
20267 (GRUB_MOD_FINI): Likewise.
20268 * commands/boot.c: Likewise.
20269 * commands/cat.c: Likewise.
20270 * commands/cmp.c: Likewise.
20271 * commands/configfile.c: Likewise.
20272 * commands/crc.c: Likewise.
20273 * commands/echo.c: Likewise.
20274 * commands/halt.c: Likewise.
20275 * commands/handler.c: Likewise.
20276 * commands/hdparm.c: Likewise.
20277 * commands/help.c: Likewise.
20278 * commands/hexdump.c: Likewise.
20279 * commands/loadenv.c: Likewise.
20280 * commands/ls.c: Likewise.
20281 * commands/lsmmap.c: Likewise.
20282 * commands/lspci.c: Likewise.
20283 * commands/loadenv.c: Likewise.
20284 * commands/read.c: Likewise.
20285 * commands/reboot.c: Likewise.
20286 * commands/search.c: Likewise.
20287 * commands/sleep.c: Likewise.
20288 * commands/test.c: Likewise.
20289 * commands/usbtest.c: Likewise.
20290 * commands/videotest.c: Likewise.
20291 * commands/i386/cpuid.c: Likewise.
20292 * commands/i386/pc/halt.c: Likewise.
20293 * commands/i386/pc/play.c: Likewise.
20294 * commands/i386/pc/pxecmd.c: Likewise.
20295 * commands/i386/pc/vbeinfo.c: Likewise.
20296 * commands/i386/pc/vbetest.c: Likewise.
20297 * commands/ieee1275/suspend.c: Likewise.
20298 * disk/loopback.c: Likewise.
20299 * font/font_cmd.c: Likewise.
20300 * hello/hello.c: Likewise.
20301 * loader/efi/appleloader.c: Likewise.
20302 * loader/efi/chainloader.c: Likewise.
20303 * loader/i386/bsd.c: Likewise.
20304 * loader/i386/efi/linux.c: Likewise.
20305 * loader/i386/ieee1275/linux.c: Likewise.
20306 * loader/i386/linux.c: Likewise.
20307 * loader/i386/pc/chainloader.c: Likewise.
20308 * loader/i386/pc/linux.c: Likewise.
20309 * loader/powerpc/ieee1275/linux.c: Likewise.
20310 * loader/multiboot_loader.c: Likewise.
20311 * term/gfxterm.c: Likewise.
20312 * term/i386/pc/serial.c: Likewise.
20313 * term/terminfo.c: Likewise.
20314
20315 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20316 * term/i386/pc/vga.c: Likewise.
20317 * video/readers/jpeg.c: Likewise.
20318 * video/readers/png.c: Likewise.
20319 * video/readers/tga.c: Likewise.
20320
20321 * util/grub-fstest (cmd_loopback): Removed.
20322 (cmd_blocklist): Likewise.
20323 (cmd_ls): Likewise.
20324 (grub_register_command): Likewise.
20325 (grub_unregister_command): Likewise.
20326 (execute_command): Use grub_command_find to locate command and execute
20327 it.
20328
20329 * include/grub/efi/chainloader.h: Removed.
20330 * loader/efi/chainloader_normal.c: Likewise.
20331 * loader/i386/bsd_normal.c: Likewise.
20332 * loader/i386/pc/chainloader_normal.c: Likewise.
20333 * loader/i386/pc/multiboot_normal.c: Likewise.
20334 * loader/linux_normal.c: Likewise.
20335 * loader/multiboot_loader_normal.c: Likewise.
20336 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20337
20338 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20339 and grub_register_command_p1.
20340
20341 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20342 kern/command.c, lib/arg.c and commands/extcmd.c.
20343 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20344 (minicmd_mod_SOURCES): New variable.
20345 (minicmd_mod_CFLAGS): Likewise.
20346 (minicmd_mod_LDFLAGS): Likewise.
20347 (extcmd_mod_SOURCES): Likewise.
20348 (extcmd_mod_CFLAGS): Likewise.
20349 (extcmd_mod_LDFLAGS): Likewise.
20350 (boot_mod_SOURCES): Removed.
20351 (boot_mod_CFLAGS): Likewise.
20352 (boot_mod_LDFLAGS): Likewise.
20353
20354 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20355 kern/corecmd.c.
20356 (kernel_img_HEADERS): Add command.h.
20357 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20358 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20359 and lib/arg.c.
20360 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20361 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20362 remove the corresponding normal mode command.
20363 (normal_mod_SOURCES): Remove normal/arg.c.
20364 * conf/i386-coreboot.rmk: Likewise.
20365 * conf/i386-efi.rmk: Likewise.
20366 * conf/i386-ieee1275.rmk: Likewise.
20367 * conf/powerpc-ieee1275.rmk: Likewise.
20368 * conf/x86_64-efi.rmk: Likewise.
20369
20370 * include/grub/arg.h: Move from here ...
20371 * include/grub/lib/arg.h: ... to here.
20372
20373 * normal/arg.c: Move from here ...
20374 * lib/arg.c: ... to here.
20375
20376 * commands/extcmd.c: New file.
20377 * commands/minicmd.c: Likewise.
20378 * include/grub/command.h: Likewise.
20379 * include/grub/extcmd.h: Likewise.
20380 * kern/command.c: Likewise.
20381 * kern/corecmd.c: Likewise.
20382
20383 * kern/list.c (grub_list_iterate): Return int instead of void.
20384 (grub_list_insert): New function.
20385 (grub_prio_list_insert): Likewise.
20386
20387 * kern/rescue.c (grub_rescue_command): Removed.
20388 (grub_rescue_command_list): Likewise.
20389 (grub_rescue_register_command): Likewise.
20390 (grub_rescue_unregister_command): Likewise.
20391 (grub_rescue_cmd_boot): Move to minicmd.c
20392 (grub_rescue_cmd_help): Likewise.
20393 (grub_rescue_cmd_info): Likewise.
20394 (grub_rescue_cmd_boot): Likewise.
20395 (grub_rescue_cmd_testload): Likewise.
20396 (grub_rescue_cmd_dump): Likewise.
20397 (grub_rescue_cmd_rmmod): Likewise.
20398 (grub_rescue_cmd_lsmod): Likewise.
20399 (grub_rescue_cmd_exit): Likewise.
20400 (grub_rescue_print_devices): Moved to corecmd.c.
20401 (grub_rescue_print_files): Likewise.
20402 (grub_rescue_cmd_ls): Likewise.
20403 (grub_rescue_cmd_insmod): Likewise.
20404 (grub_rescue_cmd_set): Likewise.
20405 (grub_rescue_cmd_unset): Likewise.
20406 (attempt_normal_mode): Use grub_command_find to get normal module.
20407 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20408 commands, remove grub_rescue_register_command calls.
20409
20410 * normal/command.c (grub_register_command): Removed.
20411 (grub_unregister_command): Likewise.
20412 (grub_command_find): Likewise.
20413 (grub_iterate_commands): Likewise.
20414 (rescue_command): Likewise.
20415 (export_command): Moved to corecmd.c.
20416 (set_command): Removed.
20417 (unset_command): Likewise.
20418 (insmod_command): Likewise.
20419 (rmmod_command): Likewise.
20420 (lsmod_command): Likewise.
20421 (grub_command_init): Likewise.
20422
20423 * normal/completion.c (iterate_command): Use cmd->prio to check for
20424 active command.
20425 (complete_arguments): Use grub_extcmd_t structure to find options.
20426 (grub_normal_do_completion): Change function grub_iterate_commands to
20427 grub_command_iterate.
20428
20429 * normal/execute.c (grub_script_execute_cmd): No need to parse
20430 argument here.
20431
20432 * normal/main.c (grub_dyncmd_dispatcher): New function.
20433 (read_command_list): Register unload commands as dyncmd.
20434 (grub_cmd_normal): Use new command interface, register rescue,
20435 unregister normal at entry, register normal, unregister rescue at exit.
20436
20437 * include/grub/list.h (grub_list_test_t): New type.
20438 (grub_list_iterate): Return int instead of void.
20439 (grub_list_insert): New function.
20440 (GRUB_AS_NAMED_LIST_P): New macro.
20441 (GRUB_AS_PRIO_LIST): Likewise.
20442 (GRUB_AS_PRIO_LIST_P): Likewise.
20443 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20444 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20445 (grub_prio_list): New structure.
20446 (grub_prio_list_insert): New function.
20447 (grub_prio_list_remove): New inline function.
20448
20449 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20450 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20451 (GRUB_COMMAND_FLAG_MENU): Likewise.
20452 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20453 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20454 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20455 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20456 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20457 (grub_command): Likewise.
20458 (grub_register_command): Likewise.
20459 (grub_command_find): Likewise.
20460 (grub_iterate_commands): Likewise.
20461 (grub_command_init): Likewise.
20462 (grub_arg_parse): Likewise.
20463 (grub_arg_show_help): Likewise.
20464
20465 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20466 (grub_rescue_unregister_command): Likewise.
20467
20468 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20469 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20470 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20471
20472 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20473 grub_rescue_cmd_initrd.
20474 * include/grub/i386/loader.h: Likewise.
20475 * include/grub/x86_64/loader.h: Likewise.
20476
20477 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20478
20479 2009-03-21 Bean <bean123ch@gmail.com>
20480
20481 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20482 instead of stat in mingw environment.
20483
20484 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20485
20486 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20487
20488 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20489 AC_CONFIG_LINKS.
20490
20491 2009-03-21 Bean <bean123ch@gmail.com>
20492
20493 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20494 out of range error.
20495
20496 2009-03-18 Michel Dänzer <michel@daenzer.net>
20497
20498 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20499 checking inode flags for EXT4_EXTENTS_FLAG.
20500
20501 2009-03-18 Robert Millan <rmh@aybabtu.com>
20502
20503 * loader/i386/linux.c: Include `<grub/video.h>' and
20504 `<grub/i386/pc/vbe.h>'..
20505 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20506 (grub_linux32_boot): Attempt to configure video settings with
20507 grub_linux_setup_video().
20508 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20509 to avoid grub_console_fini() which would step out of graphical mode
20510 unconditionally.
20511
20512 2009-03-14 Robert Millan <rmh@aybabtu.com>
20513
20514 Fix build on powerpc.
20515 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20516
20517 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20520 background image command.
20521
20522 2009-03-12 Colin D Bennett <colin@gibibit.com>
20523
20524 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20525 (grub_gfxterm_putchar): Extract pairs of identical calls to
20526 draw_cursor out of conditional blocks.
20527
20528 2009-03-11 Pavel Roskin <proski@gnu.org>
20529
20530 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20531 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20532
20533 2009-03-11 Robert Millan <rmh@aybabtu.com>
20534
20535 * loader/i386/multiboot_elfxx.c
20536 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20537
20538 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20539
20540 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20541 `kern/handler.c'.
20542
20543 2009-03-11 Robert Millan <rmh@aybabtu.com>
20544
20545 * loader/i386/multiboot.c (code_size): New variable.
20546 (grub_multiboot): Define offsets by adding to `code_size' rather
20547 than subtracting from `grub_multiboot_payload_size'. Provide
20548 4-byte alignment to MBI and others by increasing
20549 `boot_loader_name_length' appropriately.
20550
20551 * loader/i386/multiboot_elfxx.c
20552 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20553
20554 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20555
20556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20557 `fs/ext2.c'.
20558
20559 2009-03-08 Robert Millan <rmh@aybabtu.com>
20560
20561 Make loader/i386/linux.c usable on i386-pc again.
20562
20563 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20564 memory to heap.
20565 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20566 `#error' stanza.
20567
20568 2009-03-07 Bean <bean123ch@gmail.com>
20569
20570 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20571 allocation.
20572
20573 2009-03-06 Robert Millan <rmh@aybabtu.com>
20574
20575 Fix display issue on terminals with screen size other than 80x25
20576 (e.g. gfxterm with resolution higher than 640x480).
20577
20578 * normal/main.c (grub_normal_init_page): Display title text in a
20579 position relative to the center of the terminal instead of relying
20580 on a hardcoded offset.
20581
20582 2009-03-04 Robert Millan <rmh@aybabtu.com>
20583
20584 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20585 installed.
20586
20587 * Makefile.in (host_kernel): New variable.
20588 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20589 scripts instead of just the windows one.
20590 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20591
20592 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20593
20594 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20595 `kern/handler.c'.
20596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20598 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20600 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20601 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20602
20603 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20604
20605 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20606 or if there's no space for the disk label and print the partition number on a
20607 invalid magic.
20608
20609 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20610
20611 * util/misc.c: Include <time.h>.
20612 (grub_millisleep): New function.
20613
20614 2009-03-04 Bean <bean123ch@gmail.com>
20615
20616 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20617 another option -mno-red-zone.
20618
20619 * commands/handler.c: Change module description.
20620
20621 * kern/handler.c: Add missing space at the end of description line.
20622
20623 * kern/list.c: Likewise.
20624
20625 2009-03-03 Robert Millan <rmh@aybabtu.com>
20626
20627 Move more components to the relocation area, and fix mbi pointer
20628 handling to use the destination rather than the origin (thanks to
20629 Vladimir Serbinenko for spotting).
20630
20631 * loader/i386/multiboot.c (mbi_dest): New variable.
20632 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20633 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20634 relocation area.
20635
20636 2009-03-01 Bean <bean123ch@gmail.com>
20637
20638 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20639 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20640 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20641 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20642
20643 * loader/i386/efi/linux.c (acpi_guid): New variable.
20644 (acpi_guid): Likewise.
20645 (EBDA_SEG_ADDR): New constant.
20646 (LOW_MEM_ADDR): Likewise.
20647 (FAKE_EBDA_SEG): Likewise.
20648 (fake_bios_data): New function.
20649 (grub_linux_boot): Call fake_bios_data.
20650
20651 2009-03-01 Bean <bean123ch@gmail.com>
20652
20653 * commands/terminal.c: Removed.
20654
20655 * commands/handler.c: New file.
20656
20657 * include/grub/list.h: Likewise.
20658
20659 * include/grub/handler.h: Likewise.
20660
20661 * kern/list.c: Likewise.
20662
20663 * kern/handler.c: Likewise.
20664
20665 * kern/term.h: Include header file <grub/handler.h>.
20666 (grub_term_input): Move next field to the beginning.
20667 (grub_term_output): Likewise.
20668 (grub_term_input_class): New variable.
20669 (grub_term_output_class): Likewise.
20670 (grub_term_register_input): Changed to inline function.
20671 (grub_term_register_output): Likewise.
20672 (grub_term_unregister_input): Likewise.
20673 (grub_term_unregister_output): Likewise.
20674 (grub_term_set_current_input): Likewise.
20675 (grub_term_set_current_output): Likewise.
20676 (grub_term_get_current_input): Likewise.
20677 (grub_term_get_current_output): Likewise.
20678 (grub_term_iterate_input): Removed.
20679 (grub_term_iterate_output): Likewise.
20680
20681 * kern/term.c (grub_term_list_input): Removed.
20682 (grub_term_list_output): Likewise.
20683 (grub_term_input_class): New variable.
20684 (grub_term_output_class): Likewise.
20685 (grub_cur_term_input): Change variable as macro.
20686 (grub_cur_term_output): Likewise.
20687 (grub_term_register_input): Removed.
20688 (grub_term_register_output): Likewise.
20689 (grub_term_unregister_input): Likewise.
20690 (grub_term_unregister_output): Likewise.
20691 (grub_term_set_current_input): Likewise.
20692 (grub_term_set_current_output): Likewise.
20693 (grub_term_iterate_input): Likewise.
20694 (grub_term_iterate_output): Likewise.
20695 (grub_term_get_current_input): Likewise.
20696 (grub_term_get_current_output): Likewise.
20697
20698 * util/grub-editenv.c: Include header file <grub/handler.h>.
20699 (grub_term_get_current_input): Removed.
20700 (grub_term_get_current_output): Likewise.
20701 (grub_term_input_class): New variable.
20702 (grub_term_output_class): Likewise.
20703
20704 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20705 (grub_term_get_current_output): Likewise.
20706 (grub_term_input_class): New variable.
20707 (grub_term_output_class): Likewise.
20708
20709 * util/grub-probe.c (grub_term_get_current_input): Removed.
20710 (grub_term_get_current_output): Likewise.
20711 (grub_term_input_class): New variable.
20712 (grub_term_output_class): Likewise.
20713
20714 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20715 (grub_term_get_current_output): Likewise.
20716 (grub_term_input_class): New variable.
20717 (grub_term_output_class): Likewise.
20718
20719 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20720 (terminal_mod_SOURCES): Likewise.
20721 (terminal_mod_CFLAGS): Likewise.
20722 (terminal_mod_LDFLAGS): Likewise.
20723
20724 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20725 handler.c.
20726 (kernel_img_SOURCES): Add list.c and handler.c.
20727 (kernel_img_HEADERS): Add list.h and handler.h.
20728
20729 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20730 handler.c.
20731 (kernel_mod_SOURCES): Add list.c and handler.c.
20732 (kernel_mod_HEADERS): Add list.h and handler.h.
20733
20734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20735 handler.c.
20736 (kernel_elf_SOURCES): Add list.c and handler.c.
20737 (kernel_elf_HEADERS): Add list.h and handler.h.
20738
20739 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20740 handler.c.
20741 (kernel_elf_SOURCES): Add list.c and handler.c.
20742 (kernel_elf_HEADERS): Add list.h and handler.h.
20743
20744 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20745 handler.c.
20746 (kernel_mod_SOURCES): Add list.c and handler.c.
20747 (kernel_mod_HEADERS): Add list.h and handler.h.
20748
20749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20750 handler.c.
20751 (kernel_elf_SOURCES): Add list.c and handler.c.
20752 (kernel_elf_HEADERS): Add list.h and handler.h.
20753
20754 2009-02-27 Robert Millan <rmh@aybabtu.com>
20755
20756 Factorize elf32 / elf64 code in Multiboot loader. This will
20757 prevent it from getting out of sync again.
20758
20759 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20760 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20761 grub_multiboot_load_elf64): Move from here ...
20762 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20763 grub_multiboot_load_elf): ... to here (new file).
20764
20765 2009-02-27 Robert Millan <rmh@aybabtu.com>
20766
20767 * util/grub.d/10_linux.in: Rename "single-user mode" to
20768 "recovery mode".
20769
20770 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 Don't leak in SCSI code.
20773 * disk/scsi.c (grub_scsi_close): free `scsi'.
20774
20775 2009-02-27 Robert Millan <rmh@aybabtu.com>
20776
20777 * loader/i386/pc/multiboot.c: Move from here ...
20778 * loader/i386/multiboot.c: ... to here. Update all users.
20779
20780 2009-02-27 Robert Millan <rmh@aybabtu.com>
20781
20782 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20783 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20784
20785 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20786
20787 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20788 b-tree.
20789
20790 2009-02-27 Robert Millan <rmh@aybabtu.com>
20791
20792 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20793 `0x' qualifier as 0 when base is specified as parameter).
20794
20795 2009-02-24 Bean <bean123ch@gmail.com>
20796
20797 * configure.ac: Check for -mcmodel=large in x86_64 target.
20798
20799 * include/grub/efi/api.h (efi_call_10): New macro.
20800 (efi_wrap_10): New function.
20801
20802 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20803 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20804 (GRUB_PE32_REL_BASED_LOW): Likewise.
20805 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20806 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20807 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20808 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20809 (GRUB_PE32_REL_BASED_REL): Likewise.
20810 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20811 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20812 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20813
20814 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20815 issue.
20816
20817 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20818 (efi_wrap_10): New function.
20819
20820 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20821
20822 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20823 MB/MBP model (NV chipset).
20824 (devdata_devs): Add devpath_5 to the list.
20825
20826 * load/i386/efi/linux.c (video_base): Remove variable.
20827 (RGB_MASK): New macro.
20828 (RGB_MAGIC): Likewise.
20829 (LINE_MIN): Likewise.
20830 (LINE_MAX): Likewise.
20831 (FBTEST_STEP): Likewise.
20832 (FBTEST_COUNT): Likewise.
20833 (fb_list): New variable.
20834 (grub_find_video_card): Remove function.
20835 (find_framebuf): New function.
20836 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20837 line length.
20838
20839 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20840 problem for x86_64.
20841
20842 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20843
20844 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20845
20846 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20847 coding tool name.
20848
20849 2009-02-22 Robert Millan <rmh@aybabtu.com>
20850
20851 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20852 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20853 in our relocation, instead of using it directly from heap. Also
20854 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20855
20856 2009-02-21 Robert Millan <rmh@aybabtu.com>
20857
20858 Implement USB keyboard support (based on patch by Marco Gerards)
20859
20860 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20861 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20862 (usb_keyboard_mod_LDFLAGS): New variables.
20863
20864 * term/usb_keyboard.c: New file.
20865
20866 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 Corrected wrong declaration
20869
20870 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20871
20872 2009-02-14 Christian Franke <franke@computer.org>
20873
20874 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20875 (grub_lspci_iter): Print class code and programming interface byte.
20876
20877 2009-02-14 Christian Franke <franke@computer.org>
20878
20879 * gendistlist.sh: Ignore `.svn' directories.
20880
20881 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20882
20883 * fs/fat.c: Add 2009 to Copyright line.
20884
20885 2009-02-14 Christian Franke <franke@computer.org>
20886
20887 * commands/hdparm.c: New file. Provides `hdparm' command
20888 which sends ATA commands via grub_disk_ata_pass_through ().
20889
20890 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20891
20892 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20893 and <grub/cpu/io.h> to include/grub/ata.h.
20894 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20895 (GRUB_CDROM_SECTOR_SIZE): Remove.
20896 (GRUB_ATA_*): Move to include/grub/ata.h.
20897 (GRUB_ATAPI_*): Likewise.
20898 (enum grub_ata_commands): Likewise.
20899 (enum grub_ata_timeout_milliseconds): Likewise.
20900 (struct grub_ata_device): Likewise.
20901 (grub_ata_regset): Likewise.
20902 (grub_ata_regget): Likewise.
20903 (grub_ata_regset2): Likewise.
20904 (grub_ata_regget2): Likewise.
20905 (grub_ata_check_ready): Likewise.
20906 (grub_ata_wait_not_busy): Remove static, exported in
20907 include/grub/ata.h.
20908 (grub_ata_wait_drq): Likewise.
20909 (grub_ata_pio_read): Likewise.
20910
20911 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20912 function for hdparm.mod.
20913
20914 * include/grub/ata.h: New file, contains declarations from
20915 disk/ata.c.
20916 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20917
20918 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20919 (grub_disk_ata_pass_through): New exported variable.
20920
20921 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20922
20923 2009-02-13 Colin D Bennett <colin@gibibit.com>
20924
20925 Support multiple fallback entries, and provide an API to support
20926 executing default+fallback menu entries. Renamed the `terminal' menu
20927 viewer to `text'.
20928
20929 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20930 variable declaration.
20931 (grub_menu_execute_callback): New structure declaration.
20932 (grub_menu_execute_callback_t): New typedef.
20933 (grub_menu_execute_with_fallback): New function declaration.
20934 (grub_menu_get_entry): Likewise.
20935 (grub_menu_get_timeout): Likewise.
20936 (grub_menu_set_timeout): Likewise.
20937
20938 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20939
20940 * normal/menu.c (grub_wait_after_message): Moved to
20941 `normal/menu_text.c'.
20942 (draw_border): Likewise.
20943 (print_message): Likewise.
20944 (print_entry): Likewise.
20945 (print_entries): Likewise.
20946 (grub_menu_init_page): Likewise.
20947 (get_entry_number): Likewise.
20948 (print_timeout): Likewise.
20949 (run_menu): Likewise.
20950 (grub_menu_execute_entry): Likewise.
20951 (show_text_menu): Likewise.
20952 (get_and_remove_first_entry_number): New function.
20953 (grub_menu_execute_with_fallback): Likewise.
20954 (get_entry): Renamed to ...
20955 (grub_menu_get_entry): .. this and made it global.
20956 (get_timeout): Renamed to ...
20957 (grub_menu_get_timeout): ... this and made it global.
20958 (set_timeout): Renamed to ...
20959 (grub_menu_set_timeout): ... this and made it global.
20960 (grub_normal_terminal_menu_viewer): Renamed to ...
20961 (grub_normal_text_menu_viewer): ... this.
20962
20963 * normal/menu_text.c: New file. Extracted text-menu-specific code
20964 from normal/menu.c.
20965
20966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20967 (normal_mod_SOURCES): Likewise.
20968
20969 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20970 (normal_mod_SOURCES): Likewise.
20971
20972 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20973 (normal_mod_SOURCES): Likewise.
20974
20975 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20976 (normal_mod_SOURCES): Likewise.
20977
20978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20979 (normal_mod_SOURCES): Likewise.
20980
20981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20982 (normal_mod_SOURCES): Likewise.
20983
20984 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20985 (normal_mod_SOURCES): Likewise.
20986
20987 2009-02-11 Robert Millan <rmh@aybabtu.com>
20988
20989 * util/grub.d/00_header.in: Update old reference to `font' command.
20990
20991 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20992
20993 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20994
20995 Based on patch from Javier Martín.
20996
20997 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20998
20999 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
21000 to avoid false positives with FAT.
21001 (grub_fstest_SOURCES): Likewise.
21002 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21003 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21008
21009 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
21010
21011 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
21012 bpb.version_specific.fat12_or_fat16.fstype and
21013 bpb.version_specific.fat32.fstype.
21014
21015 2009-02-08 Robert Millan <rmh@aybabtu.com>
21016
21017 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
21018
21019 2009-02-08 Robert Millan <rmh@aybabtu.com>
21020
21021 * Makefile.in (host_os, host_cpu): New variables.
21022 (target_os): Remove. Update all users.
21023
21024 2009-02-08 Marco Gerards <marco@gnu.org>
21025
21026 * Makefile.in (enable_grub_emu_usb): New variable.
21027 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
21028 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
21029 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
21030 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
21031 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
21032 `usbtest.mod' and `usbms.mod'.
21033 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
21034 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
21035 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
21036 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
21037 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
21038 variables.
21039
21040 * disk/usbms.c: New file.
21041
21042 * include/grub/usb.h: Likewise.
21043
21044 * include/grub/usbtrans.h: Likewise.
21045
21046 * include/grub/usbdesc.h: Likewise.
21047
21048 * bus/usb/usbtrans.c: Likewise.
21049
21050 * bus/usb/ohci.c: Likewise.
21051
21052 * bus/usb/uhci.c: Likewise.
21053
21054 * bus/usb/usbhub.c: Likewise.
21055
21056 * bus/usb/usb.c: Likewise.
21057
21058 * commands/usbtest.c: Likewise.
21059
21060 * util/usb.c: Likewise.
21061
21062 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21063
21064 * configure.ac: Test for libusb presence.
21065
21066 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21067
21068 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21069
21070 * kern/mm.c: Add more comments.
21071
21072 2009-02-08 Robert Millan <rmh@aybabtu.com>
21073
21074 Patch from Javier Martín.
21075 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21076 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21077
21078 2009-02-08 Robert Millan <rmh@aybabtu.com>
21079
21080 * fs/cpio.c: Split tar functionality to ...
21081 * fs/tar.c: ... here (new file). Update all users.
21082
21083 2009-02-07 Robert Millan <rmh@aybabtu.com>
21084
21085 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21086 backward-incompatible features.
21087
21088 Based on patch from Javier Martín, with some adjustments.
21089
21090 2009-02-07 Michael Scherer <misc@mandriva.org>
21091
21092 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21093
21094 2009-02-07 Robert Millan <rmh@aybabtu.com>
21095
21096 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21097 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21098 after the RAID stuff.
21099
21100 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21101
21102 Fixes problem when running vbetest command as reported by
21103 Vladimir Serbinenko <phcoder@gmail.com>.
21104
21105 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21106
21107 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
21108
21109 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21110 /dev/md/NpN style mdraid devices.
21111
21112 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21113
21114 * util/unifont2pff.rb: Remove.
21115
21116 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21117
21118 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21119 `#'.
21120
21121 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21122
21123 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21124 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21125 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21129 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21130
21131 2009-02-02 Christian Franke <franke@computer.org>
21132
21133 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21134
21135 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
21136
21137 * INSTALL: Note that we now require at least autoconf 2.59 and
21138 that LZO is optional.
21139
21140 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21141
21142 Base on patch on bug #24154 created by Tomas Tintera
21143 <trosos@seznam.cz>.
21144
21145 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21146
21147 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21148
21149 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
21150 <bero@arklinux.org>.
21151
21152 * normal/parser.y (script_init): Add missing semicolon.
21153
21154 2009-01-31 Colin D Bennett <colin@gibibit.com>
21155
21156 * normal/main.c: Add include to grub/menu_viewer.h.
21157 (free_menu_entry_classes): Added.
21158 (grub_normal_menu_addentry): Added class property handling.
21159 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21160 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21161
21162 * normal/menu_viewer.c: New file.
21163
21164 * normal/menu.c (run_menu_entry): Renamed to ...
21165 (grub_menu_execute_entry): ... this and made it as global.
21166 (grub_menu_run): Renamed to ...
21167 (show_text_menu): ... this and made it local.
21168 (show_text_menu): Adapt to new function names.
21169 (grub_normal_terminal_menu_viewer): New global variable.
21170
21171 * include/grub/menu.h: New file.
21172
21173 * include/grub/menu_viewer.h: New file.
21174
21175 * include/grub/normal.h: Added include to grub/menu.h.
21176 (grub_menu_entry): Moved to include/grub/menu.h.
21177 (grub_menu_entry_t): Likewise.
21178 (grub_menu): Likewise.
21179 (grub_menu_t): Likewise.
21180 (grub_normal_terminal_menu_viewer): Added.
21181 (grub_menu_execute_entry): Likewise.
21182 (grub_menu_run): Removed.
21183
21184 * DISTLIST: Added include/grub/menu.h.
21185 Added include/grub/menu_viewer.h.
21186 Added normal/menu_viewer.c.
21187
21188 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21189
21190 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21191 arglist for menutitle arguments.
21192
21193 * normal/main.c (grub_normal_menu_addentry): Likewise.
21194
21195 * normal/parser.y (menuentry): Likewise.
21196
21197 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21198
21199 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21200 (grub_script_create_cmdmenu): Likewise.
21201
21202 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21203
21204 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21205 changes.
21206
21207 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21208
21209 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21210
21211 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21212
21213 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21214
21215 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21216
21217 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21218
21219 2009-01-30 Christian Franke <franke@computer.org>
21220
21221 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21222 in option help text.
21223
21224 2009-01-27 Pavel Roskin <proski@gnu.org>
21225
21226 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21227
21228 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21229
21230 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21231
21232 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21233
21234 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21235 unregister function.
21236
21237 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21238
21239 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21240
21241 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21242
21243 * util/grub-mkfont.c (usage): Fix typo.
21244
21245 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21246
21247 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21248
21249 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21250
21251 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21252
21253 * kern/misc.c (grub_strcasecmp): New function.
21254 (grub_strcasecmp): Use grub_size_t instead of int for length.
21255 Fix return value.
21256 * include/grub/misc.h: Update function prototypes.
21257
21258 2009-01-26 Robert Millan <rmh@aybabtu.com>
21259
21260 * configure.ac: Fix cross-compilation check.
21261
21262 2009-01-22 Christian Franke <franke@computer.org>
21263
21264 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21265 (precision) digit string. Allow `.format2' without `format1' (width).
21266 Limit input chars for `%s' output to `format2' if specified. This is
21267 compatible with standard printf ().
21268
21269 2009-01-22 Christian Franke <franke@computer.org>
21270
21271 * disk/ata.c (grub_ata_wait_status): Replace by ...
21272 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21273 other status bits may be invalid while BSY is asserted.
21274 (grub_ata_check_ready): New function.
21275 (grub_ata_cmd): Removed.
21276 (grub_ata_wait_drq): New function.
21277 (grub_ata_strncpy): Remove inline.
21278 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21279 and error check now done by grub_ata_wait_drq ().
21280 (grub_ata_pio_write): Likewise.
21281 (grub_atapi_identify): Set DEV before check for !BSY. Use
21282 grub_ata_wait_drq () to wait for data.
21283 (grub_ata_device_initialize): Add status register check to
21284 detect missing SATA slave devices. Add debug messages.
21285 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21286 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21287 transfer loop by grub_ata_pio_write ().
21288 (grub_ata_identify): Set DEV before check for !BSY. Use
21289 grub_ata_wait_drq () to wait for data.
21290 (grub_ata_setaddress): Set DEV before check for !BSY.
21291 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21292 read/write in one loop. Fix invalid command on write. Fix incomplete
21293 command on (size % batch) == 0. Add missing error check after write of
21294 last block. Add debug messages.
21295 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21296
21297 2009-01-19 Christian Franke <franke@computer.org>
21298
21299 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21300 (GRUB_ATAPI_IREASON_*): Likewise.
21301 (grub_ata_pio_write): Fix timeout error return.
21302 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21303 (grub_atapi_wait_drq): New function.
21304 (grub_atapi_packet): New parameter `size'.
21305 Use grub_atapi_wait_drq () and direct write instead of
21306 grub_ata_pio_write ().
21307 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21308 reads the number of bytes requested by the device for each DRQ
21309 assertion.
21310 (grub_atapi_write): Remove old implementation, return not
21311 implemented instead.
21312
21313 2009-01-19 Christian Franke <franke@computer.org>
21314
21315 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21316 of 512 to calculate data size.
21317 (grub_scsi_read12): Likewise.
21318 (grub_scsi_write10): Likewise.
21319 (grub_scsi_write12): Likewise.
21320 (grub_scsi_read): Adjust size according to blocksize.
21321 Add checks for invalid blocksize and unaligned transfer.
21322
21323 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21324
21325 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21326
21327 * term/gfxterm.c (write_char): Fix background rendering for wide
21328 width glyphs.
21329
21330 2009-01-19 Robert Millan <rmh@aybabtu.com>
21331
21332 * config.guess: Update to latest version from config git.
21333 * config.sub: Likewise.
21334
21335 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21336
21337 * Makefile.in: Change font compilation to use new grub-mkfont instead
21338 of java version.
21339
21340 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21341 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21342 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21343 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21344 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21345 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21346 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21347 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21348 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21349
21350 2009-01-16 Christian Franke <franke@computer.org>
21351
21352 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21353 (enum grub_ata_timeout_milliseconds): New enum.
21354 (grub_ata_wait_status): Add parameter milliseconds.
21355 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21356 recovery from timed-out commands.
21357 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21358 return grub_errno instead of REG_ERROR.
21359 (grub_ata_pio_write): Add parameter milliseconds.
21360 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21361 Pass milliseconds to grub_ata_wait_status () and
21362 grub_ata_pio_read ().
21363 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21364 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21365 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21366 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21367 It is not suitable for device detection, because DEV bit is ignored,
21368 the command may run too long, and not all devices set the signature
21369 properly.
21370 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21371 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21372 Fix device selection, DEV bit must be set first to address the registers
21373 of the correct device.
21374 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21375 grub_ata_pio_read/write ().
21376 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21377 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21378
21379 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21380
21381 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21382
21383 2009-01-13 Bean <bean123ch@gmail.com>
21384
21385 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21386
21387 2009-01-13 Bean <bean123ch@gmail.com>
21388
21389 * Makefile.in: (enable_grub_mkfont): New variable.
21390 (freetype_cflags): Likewise.
21391 (freetype_libs): Likewise.
21392
21393 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21394 (grub_mkfont_SOURCES): New variable.
21395 (grub_mkfont_CFLAGS): Likewise.
21396 (grub_mkfont_LDFLAGS): Likewise.
21397
21398 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21399 library if `--enable-grub-mkfont' is requested.
21400 (enable_grub_mkfont): New variable.
21401 (freetype_cflags): Likewise.
21402 (freetype_libs): Likewise.
21403
21404 * util/grub-mkfont.c: New file.
21405
21406 2009-01-12 Christian Franke <franke@computer.org>
21407
21408 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21409 mode check. Fix setting of compat_use[].
21410
21411 2009-01-10 Robert Millan <rmh@aybabtu.com>
21412
21413 Update a few copyright years which we forgot to do in 2008 (only for
21414 files whose changes made in 2008 were copyright-significant)
21415
21416 * Makefile.in: Add 2008 to Copyright line.
21417 * disk/ieee1275/ofdisk.c: Likewise.
21418 * disk/efi/efidisk.c: Likewise.
21419 * kern/dl.c: Likewise.
21420 * kern/sparc64/ieee1275/init.c: Likewise.
21421 * kern/mm.c: Likewise.
21422 * kern/efi/mm.c: Likewise.
21423 * boot/i386/pc/boot.S: Likewise.
21424 * genfslist.sh: Likewise.
21425 * fs/iso9660.c: Likewise.
21426 * fs/hfs.c: Likewise.
21427 * fs/jfs.c: Likewise.
21428 * fs/minix.c: Likewise.
21429 * fs/ufs.c: Likewise.
21430 * gensymlist.sh.in: Likewise.
21431 * genkernsyms.sh.in: Likewise.
21432 * include/grub/misc.h: Likewise.
21433 * include/grub/types.h: Likewise.
21434 * include/grub/symbol.h: Likewise.
21435 * include/grub/elf.h: Likewise.
21436 * include/grub/kernel.h: Likewise.
21437 * include/grub/disk.h: Likewise.
21438 * include/grub/dl.h: Likewise.
21439 * include/grub/i386/linux.h: Likewise.
21440 * include/grub/i386/pc/biosdisk.h: Likewise.
21441 * include/grub/efi/api.h: Likewise.
21442 * include/grub/efi/pe32.h: Likewise.
21443 * include/grub/util/misc.h: Likewise.
21444 * normal/execute.c: Likewise.
21445 * normal/arg.c: Likewise.
21446 * normal/completion.c: Likewise.
21447 * normal/lexer.c: Likewise.
21448 * normal/parser.y: Likewise.
21449 * normal/misc.c: Likewise.
21450 * commands/i386/pc/vbeinfo.c: Likewise.
21451 * commands/hexdump.c: Likewise.
21452 * commands/terminal.c: Likewise.
21453 * commands/ls.c: Likewise.
21454 * commands/help.c: Likewise.
21455 * partmap/pc.c: Likewise.
21456 * loader/efi/chainloader.c: Likewise.
21457 * loader/multiboot_loader.c: Likewise.
21458 * loader/i386/pc/multiboot2.c: Likewise.
21459 * term/efi/console.c: Likewise.
21460 * term/i386/pc/serial.c: Likewise.
21461 * util/lvm.c: Likewise.
21462 * util/console.c: Likewise.
21463 * util/i386/efi/grub-mkimage.c: Likewise.
21464 * util/raid.c: Likewise.
21465
21466 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21467
21468 * commands/videotest.c: Removed include to grub/machine/memory.h.
21469
21470 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21471 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21472 (video_mod_SOURCES): Removed.
21473 (video_mod_CFLAGS): Likewise.
21474 (video_mod_LDFLAGS): Likewise.
21475 (gfxterm_mod_SOURCES): Likewise.
21476 (gfxterm_mod_CFLAGS): Likewise.
21477 (gfxterm_mod_LDFLAGS): Likewise.
21478 (videotest_mod_SOURCES): Likewise.
21479 (videotest_mod_CFLAGS): Likewise.
21480 (videotest_mod_LDFLAGS): Likewise.
21481 (bitmap_mod_SOURCES): Likewise.
21482 (bitmap_mod_CFLAGS): Likewise.
21483 (bitmap_mod_LDFLAGS): Likewise.
21484 (tga_mod_SOURCES): Likewise.
21485 (tga_mod_CFLAGS): Likewise.
21486 (tga_mod_LDFLAGS): Likewise.
21487 (jpeg_mod_SOURCES): Likewise.
21488 (jpeg_mod_CFLAGS): Likewise.
21489 (jpeg_mod_LDFLAGS): Likewise.
21490 (png_mod_SOURCES): Likewise.
21491 (png_mod_CFLAGS): Likewise.
21492 (png_mod_LDFLAGS): Likewise.
21493
21494 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21495 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21496 (video_mod_SOURCES): Added.
21497 (video_mod_CFLAGS): Likewise.
21498 (video_mod_LDFLAGS): Likewise.
21499 (videotest_mod_SOURCES): Likewise.
21500 (videotest_mod_CFLAGS): Likewise.
21501 (videotest_mod_LDFLAGS): Likewise.
21502 (bitmap_mod_SOURCES): Likewise.
21503 (bitmap_mod_CFLAGS): Likewise.
21504 (bitmap_mod_LDFLAGS): Likewise.
21505 (tga_mod_SOURCES): Likewise.
21506 (tga_mod_CFLAGS): Likewise.
21507 (tga_mod_LDFLAGS): Likewise.
21508 (jpeg_mod_SOURCES): Likewise.
21509 (jpeg_mod_CFLAGS): Likewise.
21510 (jpeg_mod_LDFLAGS): Likewise.
21511 (png_mod_SOURCES): Likewise.
21512 (png_mod_CFLAGS): Likewise.
21513 (png_mod_LDFLAGS): Likewise.
21514 (gfxterm_mod_SOURCES): Likewise.
21515 (gfxterm_mod_CFLAGS): Likewise.
21516 (gfxterm_mod_LDFLAGS): Likewise.
21517
21518 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21519 grub/machine/console.h.
21520
21521 2009-01-04 Jerone Young <jerone@gmail.com>
21522
21523 Make on screen instructions clearer
21524
21525 Based on patch created by Jidanni <jidanni@jidanni.org>
21526
21527 * normal/menu.c: print clearer instructions on the screen
21528
21529 2009-01-02 Colin D Bennett <colin@gibibit.com>
21530
21531 New font engine.
21532
21533 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21534 build system and fixed gfxterm.c to work with different sized fonts.
21535
21536 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21537
21538 * configure: Re-generated.
21539
21540 * DISTLIST: Removed font/manager.c.
21541 Added font/font.c.
21542 Added font/font_cmd.c.
21543
21544 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21545 compilation.
21546
21547 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21548
21549 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21550
21551 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21552
21553 * normal/menu.c: Likewise.
21554
21555 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21556 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21557
21558 * include/grub/font.h: Replaced with new file.
21559
21560 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21561 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21562 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21563 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21564 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21565 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21566 fg_red, fg_green, fg_blue, fg_alpha.
21567 (grub_video_adapter): Removed blit_glyph.
21568 (grub_video_blit_glyph): Removed.
21569
21570 * font/manager.c: Removed file.
21571
21572 * font/font.c: New file.
21573
21574 * font/font_cmd.c: Likewise.
21575
21576 * video/video.c (grub_video_blit_glyph): Removed.
21577
21578 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21579 (grub_video_vbe_map_rgba): Likewise.
21580 (grub_video_vbe_unmap_color_int): Likewise.
21581 (grub_video_vbe_blit_glyph): Removed.
21582 (grub_video_vbe_adapter): Removed blit_glyph.
21583
21584 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21585 (get_pixel): Likewise.
21586 (set_pixel): Likewise.
21587
21588 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21589
21590 * term/gfxterm.c: Adapted to new font engine.
21591
21592 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21593
21594 * term/i386/pc/vga.c: Likewise.
21595
21596 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21597
21598 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21599
21600 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21601
21602 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21603
21604 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21605
21606 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21607
21608 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21609
21610 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21611
21612 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21613
21614 * util/grub.d/00_header.in: Changed to use new loadfont command.
21615
21616 * util/grub-mkconfig_lib.in: Changed font extension.
21617
21618 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21619
21620 * util/getroot.c (grub_util_get_grub_dev): Add support for
21621 /dev/md/dNNpNN style partitionable mdraid devices.
21622
21623 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21624
21625 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21626 at a time limit of the PXE TFTP API correctly.
21627 (grub_pxefs_close): Likewise.
21628
21629 2008-11-29 Robert Millan <rmh@aybabtu.com>
21630
21631 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21632 grub_ata_device_initialize() calls.
21633
21634 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21635
21636 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21637 iteration failed.
21638 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21639
21640 2008-11-28 Robert Millan <rmh@aybabtu.com>
21641
21642 Fix build on powerpc-ieee1275. Based on patch created by
21643 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21644 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21645 `kern/ieee1275/mmap.c'.
21646 * include/grub/powerpc/ieee1275/memory.h: New file.
21647
21648 Provide grub-install on coreboot.
21649 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21650 (grub_install_SOURCES): New variable.
21651 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21652 usable on coreboot.
21653
21654 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21655
21656 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21657 to `grub_term_input_t'.
21658 (grub_term_get_current_output): Change return type to
21659 `grub_term_output_t'.
21660
21661 2008-11-22 Robert Millan <rmh@aybabtu.com>
21662
21663 Fix breakage on coreboot due to declaration mismatch.
21664 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21665 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21666 grub_vga_text_cls().
21667
21668 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21669 comments. Avoid copying one more byte than necessary (just in case).
21670
21671 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21672 to 0x200000 (avoids trouble with some OFW implementations, and matches
21673 with the one in Yaboot).
21674 Reported by Manoel Abranches
21675
21676 2008-11-20 Robert Millan <rmh@aybabtu.com>
21677
21678 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21679 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21680
21681 * util/grub-mkconfig_lib.in (grub_warn): New function.
21682 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21683 warnings, to obtain consistent formatting.
21684 * util/grub.d/00_header.in: Likewise.
21685 * util/update-grub_lib.in: Likewise.
21686
21687 * loader/i386/linux.c (allocate_pages): Fix a warning.
21688 Move comment text to `#error' stanza.
21689
21690 Harmonize ieee1275's grub_available_iterate() with the generic
21691 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21692 build problem on i386-ieee1275):
21693 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21694 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21695 parameter `type'. Update all users of this function.
21696 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21697 `kern/ieee1275/mmap.c'.
21698 * kern/ieee1275/init.c
21699 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21700 with ...
21701 (grub_machine_mmap_iterate): ... this.
21702 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21703 return type to `grub_err_t'. Update all implementations of this
21704 function prototype.
21705 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21706 Likewise.
21707
21708 Add `lsmmap' command (lists firmware-provided memory map):
21709 * commands/lsmmap.c: New file.
21710 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21711 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21712 variables.
21713 * conf/powerpc-ieee1275.rmk: Likewise.
21714 * conf/i386-coreboot.rmk: Likewise.
21715 * conf/i386-ieee1275.rmk: Likewise.
21716
21717 2008-11-19 Robert Millan <rmh@aybabtu.com>
21718
21719 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21720 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21721 constraints to initrd allocation (based on code from
21722 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21723 for Linux to find it.
21724
21725 2008-11-14 Robert Millan <rmh@aybabtu.com>
21726
21727 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21728 order to cope with duplicate slashes.
21729
21730 2008-11-14 Robert Millan <rmh@aybabtu.com>
21731
21732 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21733 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21734 don't want to mess with lower memory, because it is used in the Linux
21735 loader.
21736
21737 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21738 an appropriate place in lower memory, between 0x10000 and 0x90000,
21739 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21740 is in our heap (probably as a result of it being corrupted during
21741 decompression). Add #error instance with comment to explain why this
21742 loader isn't currently usable on PC/BIOS.
21743
21744 2008-11-14 Robert Millan <rmh@aybabtu.com>
21745
21746 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21747 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21748
21749 2008-11-12 Robert Millan <rmh@aybabtu.com>
21750
21751 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21752
21753 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21754 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21755 from here ...
21756 * include/grub/i386/pc/memory.h: ... to here.
21757
21758 2008-11-12 Robert Millan <rmh@aybabtu.com>
21759
21760 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21761 split).
21762
21763 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21764 (grub_console_cur_color, grub_console_real_putchar)
21765 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21766 (grub_console_setcolorstate, grub_console_setcolor)
21767 (grub_console_getcolor): Move from here ...
21768 * include/grub/i386/vga_common.h: ... to here (new file).
21769
21770 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21771 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21772 `<grub/i386/io.h>'.
21773 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21774 `<grub/i386/vga_common.h>'.
21775
21776 2008-11-12 Robert Millan <rmh@aybabtu.com>
21777
21778 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21779 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21780 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21781 variables.
21782 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21783 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21784
21785 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21786 grub_console_init() with call to grub_vga_text_init().
21787 (grub_machine_fini): Replace call to
21788 grub_console_fini() with call to grub_vga_text_fini() and
21789 grub_at_keyboard_fini().
21790
21791 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21792 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21793 (grub_console_setcolorstate, grub_console_setcolor)
21794 (grub_console_getcolor): New function prototypes.
21795
21796 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21797 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21798 (grub_vga_text_setcursor): Static-ize.
21799 (grub_vga_text_term): New structure.
21800 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21801
21802 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21803 (grub_console_cur_color, grub_console_standard_color)
21804 (grub_console_normal_color, grub_console_highlight_color)
21805 (map_char, grub_console_putchar, grub_console_getcharwidth)
21806 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21807 (grub_console_getcolor): Move from here ...
21808 * term/i386/vga_common.c: ... to here (same function names).
21809
21810 2008-11-12 Robert Millan <rmh@aybabtu.com>
21811
21812 Use newly-added Multiboot support in coreboot.
21813
21814 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21815 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21816
21817 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21818 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21819 (codestart): Store the MBI in `startup_multiboot_info' when we're
21820 being loaded using Multiboot.
21821
21822 * kern/i386/coreboot/init.c (grub_machine_init): Move
21823 grub_at_keyboard_init() call to beginning of function (useful for
21824 debugging). Call grub_machine_mmap_init() before attempting to use
21825 grub_machine_mmap_iterate().
21826 (grub_lower_mem, grub_upper_mem): Move from here ...
21827 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21828 here (new file).
21829
21830 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21831 function prototype.
21832
21833 2008-11-12 Robert Millan <rmh@aybabtu.com>
21834
21835 Fix a regression introduced by the at_keyboard.mod split. Because
21836 some terminals are default on some platforms and non-default on
21837 others, the first terminal being registered determines which is
21838 going to be default.
21839
21840 * kern/term.c (grub_term_register_input): If this is the first
21841 terminal being registered, set it as the current one.
21842 (grub_term_register_output): Likewise.
21843
21844 * term/efi/console.c (grub_console_init): Do not call
21845 grub_term_set_current_output() or grub_term_set_current_input().
21846 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21847 * term/i386/pc/console.c (grub_console_init): Likewise.
21848 (grub_console_fini): Do not call grub_term_set_current_input()
21849 (but leave grub_term_set_current_output() to restore text mode).
21850
21851 2008-11-10 Robert Millan <rmh@aybabtu.com>
21852
21853 * util/grub.d/00_header.in: Add backward compatibility check for
21854 versions of terminal.mod that don't understand `terminal_input' or
21855 `terminal_output'.
21856
21857 2008-11-09 Robert Millan <rmh@aybabtu.com>
21858
21859 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21860 `terminal_input' / `terminal_output', not `terminal'.
21861
21862 2008-11-08 Robert Millan <rmh@aybabtu.com>
21863
21864 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21865 (DISTCLEANFILES): Add `build_env.mk'.
21866
21867 2008-11-08 Robert Millan <rmh@aybabtu.com>
21868
21869 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21870 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21871 members. Update all users.
21872 * util/console.c (grub_ncurses_term): Split in ...
21873 (grub_ncurses_term_input): ... this, and ...
21874 (grub_ncurses_term_output): ... this. Update all users.
21875 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21876
21877 2008-11-08 Robert Millan <rmh@aybabtu.com>
21878
21879 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21880 (PKGDATA): Add $(pkgdata_SRCDIR).
21881 (pkglib_BUILDDIR): New variable.
21882 (pkgdata_SRCDIR): New variable.
21883 (build_env.mk): New target.
21884 (include_DATA): New variable.
21885 (install-local): Install $(include_DATA) files in $(includedir).
21886
21887 2008-11-07 Pavel Roskin <proski@gnu.org>
21888
21889 * gendistlist.sh: Use C locale for sorting to ensure consistent
21890 output on all systems.
21891
21892 * util/grub.d/00_header.in: Remove incorrect space before
21893 "serial".
21894
21895 2008-11-07 Robert Millan <rmh@aybabtu.com>
21896
21897 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21898 per specification.
21899 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21900 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21901 (based on find_multi_boot1_header).
21902 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21903 using find_multi_boot2_header(), and abort if neither Multiboot or
21904 Multiboot headers were found.
21905
21906 2008-11-07 Robert Millan <rmh@aybabtu.com>
21907
21908 Modularize at_keyboard.mod:
21909
21910 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21911 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21912 (at_keyboard_mod_LDFLAGS): New variables.
21913
21914 Actual terminal split:
21915
21916 * include/grub/term.h (struct grub_term): Split in ...
21917 (struct grub_term_input): ... this, and ...
21918 (struct grub_term_output): ... this. Update all users.
21919 (grub_term_set_current): Split in ...
21920 (grub_term_set_current_input): ... this, and ...
21921 (grub_term_set_current_output): ... this.
21922 (grub_term_get_current): Split in ...
21923 (grub_term_get_current_input): ... this, and ...
21924 (grub_term_get_current_output): ... this.
21925 (grub_term_register): Split in ...
21926 (grub_term_register_input): ... this, and ...
21927 (grub_term_register_output): ... this.
21928 (grub_term_unregister): Split in ...
21929 (grub_term_unregister_input): ... this, and ...
21930 (grub_term_unregister_output): ... this.
21931 (grub_term_iterate): Split in ...
21932 (grub_term_iterate_input): ... this, and ...
21933 (grub_term_iterate_output): ... this.
21934
21935 * kern/term.c (grub_term_list): Split in ...
21936 (grub_term_list_input): ... this, and ...
21937 (grub_term_list_output): ... this. Update all users.
21938 (grub_cur_term): Split in ...
21939 (grub_cur_term_input): ... this, and ...
21940 (grub_cur_term_output): ... this. Update all users.
21941 (grub_term_set_current): Split in ...
21942 (grub_term_set_current_input): ... this, and ...
21943 (grub_term_set_current_output): ... this.
21944 (grub_term_get_current): Split in ...
21945 (grub_term_get_current_input): ... this, and ...
21946 (grub_term_get_current_output): ... this.
21947 (grub_term_register): Split in ...
21948 (grub_term_register_input): ... this, and ...
21949 (grub_term_register_output): ... this.
21950 (grub_term_unregister): Split in ...
21951 (grub_term_unregister_input): ... this, and ...
21952 (grub_term_unregister_output): ... this.
21953 (grub_term_iterate): Split in ...
21954 (grub_term_iterate_input): ... this, and ...
21955 (grub_term_iterate_output): ... this.
21956
21957 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21958 a check for input and one for output (and only attempt to get keys
21959 from user when input works).
21960
21961 * util/grub-probe.c (grub_term_get_current): Split in ...
21962 (grub_term_get_current_input): ... this, and ...
21963 (grub_term_get_current_output): ... this.
21964 * util/grub-fstest.c: Likewise.
21965 * util/i386/pc/grub-setup.c: Likewise.
21966 * util/grub-editenv.c: Likewise.
21967
21968 Portability adjustments:
21969
21970 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21971 `term/i386/pc/at_keyboard.c'.
21972 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21973 grub_keyboard_controller_init() (now handled by terminal .init).
21974 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21975 grub_at_keyboard_init().
21976 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21977 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21978 at_keyboard.mod via input terminal interface).
21979 * include/grub/i386/coreboot/console.h: Convert into a stub for
21980 `<grub/i386/pc/console.h>'.
21981
21982 Migrate full terminals to new API:
21983
21984 * term/efi/console.c (grub_console_term): Split into ...
21985 (grub_console_term_input): ... this, and ...
21986 (grub_console_term_output): ... this. Update all users.
21987 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21988 (grub_ofconsole_init): Split into ...
21989 (grub_ofconsole_init_input): ... this, and ...
21990 (grub_ofconsole_init_output): ... this.
21991 (grub_ofconsole_term): Split into ...
21992 (grub_ofconsole_term_input): ... this, and ...
21993 (grub_ofconsole_term_output): ... this. Update all users.
21994 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21995 (grub_serial_term_input): ... this, and ...
21996 (grub_serial_term_output): ... this. Update all users.
21997 * term/i386/pc/console.c (grub_console_term): Split into ...
21998 (grub_console_term_input): ... this, and ...
21999 (grub_console_term_output): ... this. Update all users.
22000 (grub_console_term_input): Only enable it on PC/BIOS platform.
22001 (grub_console_init): Remove grub_keyboard_controller_init() call.
22002
22003 Migrate input terminals to new API:
22004
22005 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
22006 `i386' and `i386/pc' to enable build on x86_64 (this driver is
22007 i386-specific anyway).
22008 (grub_console_checkkey): Rename to ...
22009 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
22010 users.
22011 (grub_keyboard_controller_orig): New variable.
22012 (grub_console_getkey): Rename to ...
22013 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
22014 users.
22015 (grub_keyboard_controller_init): Static-ize. Save original
22016 controller value so that it can be restored ...
22017 (grub_keyboard_controller_fini): ... here (new function).
22018 (grub_at_keyboard_term): New structure.
22019 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
22020 functions.
22021
22022 Migrate output terminals to new API:
22023
22024 * term/i386/pc/vga.c (grub_vga_term): Change type to
22025 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22026 members. Update all users.
22027 * term/gfxterm.c (grub_video_term): Change type to
22028 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22029 members. Update all users.
22030 * include/grub/i386/pc/console.h (grub_console_checkkey)
22031 (grub_console_getkey): Do not export (no longer needed by gfxterm,
22032 etc).
22033
22034 Migrate `terminal' command and userland tools to new API:
22035
22036 * commands/terminal.c (grub_cmd_terminal): Split into ...
22037 (grub_cmd_terminal_input): ... this, and ...
22038 (grub_cmd_terminal_output): ... this.
22039 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
22040 `terminal_input' and `terminal_output'.
22041 * util/grub.d/00_header.in: Adjust `terminal' calls to new
22042 `terminal_input' / `terminal_output' API.
22043 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
22044 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22045 provided ${GRUB_TERMINAL}, convert it).
22046
22047 2008-11-04 Robert Millan <rmh@aybabtu.com>
22048
22049 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22050 for FreeBSD.
22051 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22052
22053 2008-11-03 Bean <bean123ch@gmail.com>
22054
22055 * kern/elf.c (grub_elf32_load): Revert to previous code.
22056 (grub_elf64_load): Likewise.
22057
22058 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22059
22060 2008-11-01 Robert Millan <rmh@aybabtu.com>
22061
22062 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22063 (TARGET_CPPFLAGS): Likewise.
22064 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22065
22066 2008-11-01 Carles Pina i Estany <carles@pina.cat>
22067
22068 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22069
22070 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22071
22072 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22073 addition of objects until the code is not going to be able to fail.
22074
22075 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22076
22077 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22078 (add a missing NULL check, and correct them by moving the pointer
22079 operations after the actual check).
22080
22081 2008-10-29 Robert Millan <rmh@aybabtu.com>
22082
22083 * util/i386/pc/grub-install.in: Handle empty string as output from
22084 make_system_path_relative_to_its_root().
22085
22086 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22087
22088 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22089 circular metadata worst case scenario. If the metadata is circular
22090 then copy the wrap in place.
22091 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22092 project lib/format_text/layout.h
22093 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22094
22095 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22096
22097 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
22098
22099 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22100
22101 * util/update-grub_lib.in: Mention filename in warning message.
22102
22103 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22104
22105 * NEWS: Update for rename of update-grub to grub-mkconfig.
22106
22107 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22108
22109 * util/update-grub_lib.in: Copy to ...
22110 * util/grub-mkconfig_lib.in: ... this. Update all users.
22111 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
22112 * util/update-grub.in: Rename to ...
22113 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22114 option. Add `--output' option to allow users to specify the generated
22115 configuration file. Default to stdout.
22116 (update_grub_dir): Rename to ...
22117 (grub_mkconfig_dir): ... this.
22118 (grub_cfg): Default to an empty string.
22119 * conf/common.rmk (update-grub): Rename to ...
22120 (grub-mkconfig): ... this.
22121 (update-grub_lib): Copy to ...
22122 (grub-mkconfig_lib): ... this.
22123 (update-grub_SCRIPTS): Copy to ...
22124 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22125 (update-grub_DATA): Rename to ...
22126 (grub-mkconfig_DATA): ... this.
22127
22128 2008-09-28 Robert Millan <rmh@aybabtu.com>
22129
22130 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22131 to `modified'. Add the real `created' field.
22132 (grub_iso9660_uuid): Use `modified' rather than `created' for
22133 constructing the UUID.
22134
22135 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
22136
22137 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22138 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22139
22140 2008-09-28 Bean <bean123ch@gmail.com>
22141
22142 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22143 Thanks to Christian Franke for finding this bug.
22144
22145 2008-09-25 Robert Millan <rmh@aybabtu.com>
22146
22147 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22148 instances of grub_util_get_disk_name() (see previous commit).
22149
22150 2008-09-25 Robert Millan <rmh@aybabtu.com>
22151
22152 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22153 `util/i386/get_disk_name.c'.
22154 * conf/i386-efi.rmk: Likewise.
22155 * conf/x86_64-efi.rmk: Likewise.
22156 * conf/i386-coreboot.rmk: Likewise.
22157 * conf/i386-ieee1275.rmk: Likewise.
22158 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22159 `util/ieee1275/get_disk_name.c'.
22160 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22161 * util/ieee1275/get_disk_name.c: Remove file.
22162 * util/i386/get_disk_name.c: Remove file.
22163 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22164 "hd%d" for device.map entries, rather than using
22165 grub_util_get_disk_name().
22166
22167 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22168
22169 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22170 warning.
22171 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22172
22173 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22174
22175 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22176 Changed to 0x5100.
22177 (GRUB_TERM_PPAGE): Changed to 0x4900.
22178
22179 2008-09-24 Robert Millan <rmh@aybabtu.com>
22180
22181 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22182 macros (they were i386-pc specific).
22183 * include/grub/sparc64/ieee1275/console.h: Likewise.
22184 * include/grub/efi/console.h: Likewise.
22185
22186 2008-09-22 Bean <bean123ch@gmail.com>
22187
22188 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22189 resident and in attribute list.
22190
22191 * include/grub/ntfs.h (BMP_LEN): Removed.
22192
22193 2008-09-22 Bean <bean123ch@gmail.com>
22194
22195 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
22196 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22197
22198 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22199 error occurs, as grub_disk_open will call grub_disk_close, which will
22200 call p->close (scsi).
22201
22202 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22203
22204 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22205 (AC_PREREQ): Bumped to 2.59.
22206 (AC_TRY_COMPILE): Replace obsolete macro with ...
22207 (AC_COMPILE_IFELSE): ... this.
22208 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22209 (AC_LINK_IFELSE): ... this.
22210
22211 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22212
22213 * autogen.sh: Add a call to `gendistlist.sh'.
22214
22215 2008-09-19 Christian Franke <franke@computer.org>
22216
22217 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22218 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22219 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22220 Export __enable_execute_stack() to modules.
22221 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22222 New function.
22223
22224 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22225
22226 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22227 Sort the list.
22228
22229 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22230
22231 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22232 #include <grub/util/hostdisk.h>.
22233
22234 2008-09-08 Robert Millan <rmh@aybabtu.com>
22235
22236 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22237 segments when their filesz is zero (grub_file_read() interprets
22238 zero-size as "read until EOF", which results in memory corruption).
22239 Use `lowest_segment' rather than 0 for calculating the current
22240 segment load address.
22241
22242 2008-09-08 Robert Millan <rmh@aybabtu.com>
22243
22244 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22245 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22246 clobbered useful information.
22247
22248 2008-09-08 Robert Millan <rmh@aybabtu.com>
22249
22250 * include/grub/util/biosdisk.h: Move to ...
22251 * include/grub/util/hostdisk.h: ... here. Update all users.
22252 * util/biosdisk.c: Move to ...
22253 * util/hostdisk.c: ... here. Update all users.
22254
22255 2008-09-07 Robert Millan <rmh@aybabtu.com>
22256
22257 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22258 variables.
22259 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22260 and length can be stored directly in the `mbi->mmap_addr' and
22261 `mbi->mmap_length' struct fields.
22262
22263 2008-09-07 Robert Millan <rmh@aybabtu.com>
22264
22265 * conf/i386.rmk: New file. Provides declaration for building
22266 `cpuid.mod'.
22267 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22268 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22269 variables.
22270 Include `conf/i386.mk'.
22271 * conf/i386-efi.rmk: Likewise.
22272 * conf/x86_64-efi.rmk: Likewise.
22273 * conf/i386-coreboot.rmk: Likewise.
22274 * conf/i386-ieee1275.rmk: Likewise.
22275
22276 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22277
22278 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22279 Adds optimization support for BGR based modes.
22280
22281 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22282 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22283 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22284 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22285 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22286 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22287 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22288 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22289 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22290 (grub_video_i386_vbeblit_index_index): Likewise.
22291 (grub_video_i386_vbeblit_replace_directN): Added.
22292 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22293 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22294 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22295 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22296 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22297 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22298 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22299 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22300 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22301 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22302 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22303 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22304 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22305
22306 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22307 (grub_video_i386_vbefill_R8G8B8): Likewise.
22308 (grub_video_i386_vbefill_index): Likewise.
22309 (grub_video_i386_vbefill_direct32): Added.
22310 (grub_video_i386_vbefill_direct24): Likewise.
22311 (grub_video_i386_vbefill_direct16): Likewise.
22312 (grub_video_i386_vbefill_direct8): Likewise.
22313
22314 * include/grub/video.h (grub_video_blit_format): Removed
22315 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22316 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22317 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22318 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22319 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22320
22321 * video/video.c (grub_video_get_blit_format): Updated to use new
22322 blit formats. Added handling for 16 bit color modes.
22323
22324 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22325 fillers.
22326 (common_blitter): Updated to use new blitters.
22327
22328 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22329 Removed.
22330 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22331 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22332 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22333 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22334 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22335 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22336 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22337 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22338 (grub_video_i386_vbeblit_index_index): Likewise.
22339 (grub_video_i386_vbeblit_replace_directN): Added.
22340 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22341 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22342 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22343 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22344 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22345 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22346 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22347 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22348 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22349 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22350 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22351 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22352 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22353
22354 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22355 (grub_video_i386_vbefill_R8G8B8): Likewise.
22356 (grub_video_i386_vbefill_index): Likewise.
22357 (grub_video_i386_vbefill_direct32): Added.
22358 (grub_video_i386_vbefill_direct24): Likewise.
22359 (grub_video_i386_vbefill_direct16): Likewise.
22360 (grub_video_i386_vbefill_direct8): Likewise.
22361
22362 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22363 types.
22364
22365 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22366 types.
22367
22368 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22369 blitter types.
22370
22371 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22372 types.
22373
22374 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22375
22376 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22377 RAID level 1.
22378
22379 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22380
22381 * fs/iso9660.c (grub_iso9660_date): New structure.
22382 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22383 (grub_iso9660_uuid): New function.
22384
22385 2008-09-05 Bean <bean123ch@gmail.com>
22386
22387 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22388
22389 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22390 insensitive bit for names in Win32 and Win32 & DOS namespace.
22391
22392 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22393
22394 * include/grub/types.h (LONG_MAX): Likewise.
22395
22396 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22397
22398 * util/getroot.c: Include <config.h>.
22399 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22400 add support for /dev/md/N devices and handle LVM double dash escaping.
22401
22402 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22403
22404 * config.guess: Update to latest version from config git.
22405 * config.sub: Likewise.
22406
22407 2008-09-03 Robert Millan <rmh@aybabtu.com>
22408
22409 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22410 `disk->total_sectors'.
22411
22412 2008-09-01 Colin D Bennett <colin@gibibit.com>
22413
22414 * include/grub/normal.h: Fixed incorrect comment for
22415 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22416
22417 2008-09-01 Colin D Bennett <colin@gibibit.com>
22418
22419 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22420 values with defines.
22421
22422 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22423 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22424 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22425 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22426 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22427 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22428 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22429 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22430 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22431 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22432 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22433 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22434 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22435 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22436 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22437 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22438 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22439 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22440 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22441
22442 2008-08-31 Robert Millan <rmh@aybabtu.com>
22443
22444 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22445 declaration.
22446 (grub_multiboot): Fix a few warnings.
22447
22448 2008-08-31 Robert Millan <rmh@aybabtu.com>
22449
22450 * loader/i386/pc/multiboot.c: Update comment not to say that
22451 boot_device support is unimplemented.
22452
22453 2008-08-31 Robert Millan <rmh@aybabtu.com>
22454
22455 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22456 or memory map support are unimplemented.
22457
22458 2008-08-31 Colin D Bennett <colin@gibibit.com>
22459
22460 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22461
22462 2008-08-31 Colin D Bennett <colin@gibibit.com>
22463
22464 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22465 total video memory in 'vbeinfo' output; show color format details for
22466 each video mode.
22467
22468 2008-08-30 Pavel Roskin <proski@gnu.org>
22469
22470 * util/genmoddep.c: Remove for real this time.
22471 * DISTLIST: Remove util/genmoddep.c.
22472
22473 2008-08-30 Robert Millan <rmh@aybabtu.com>
22474
22475 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22476 as required by Multiboot spec (it was already 4-byte aligned, but
22477 only by chance).
22478
22479 2008-08-29 Pavel Roskin <proski@gnu.org>
22480
22481 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22482 * kern/powerpc/ieee1275/startup.S: ... this.
22483 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22484 * DISTLIST: Likewise.
22485
22486 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22487 grub/cpu/kernel.h. Add start label for consistency with other
22488 platforms. Add grub_prefix immediately after start. Add jump
22489 to the code after grub_prefix.
22490 * include/grub/powerpc/kernel.h: Provide valid values for
22491 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22492
22493 2008-08-29 Bean <bean123ch@gmail.com>
22494
22495 * configure.ac: Change host_os to cygwin for mingw.
22496 (asprintf): New check for function.
22497
22498 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22499 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22500
22501 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22502 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22503 sync, sleep and grub_util_get_disk_size for mingw.
22504
22505 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22506 to get size in mingw.
22507 (open_device): Use flag O_BINARY if it's defined.
22508 (find_root_device): Add dummy code for mingw.
22509
22510 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22511 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22512 (get_scsi_disk_name): Return 0 for mingw.
22513
22514 * util/hostfs.c: #include <grub/util/misc.h>.
22515 (grub_hostfs_open): Use "rb" flag to open file, use
22516 grub_util_get_disk_size to get disk size for mingw.
22517
22518 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22519 (asprintf): New function if HAVE_ASPRINTF is not set.
22520 (sync): New function for mingw.
22521 (sleep): Likewise.
22522 (grub_util_get_disk_size): Likewise.
22523
22524 2008-08-28 Pavel Roskin <proski@gnu.org>
22525
22526 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22527 kern/time.c.
22528
22529 2008-08-28 Robert Millan <rmh@aybabtu.com>
22530
22531 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22532
22533 2008-08-28 Robert Millan <rmh@aybabtu.com>
22534
22535 Change find_grub_drive() syntax so it doesn't prevent it from
22536 detecting NULL names as errors.
22537
22538 * util/biosdisk.c (find_grub_drive): Move free slot search code
22539 from here ...
22540 (find_free_slot): ... to here.
22541 (read_device_map): Use find_free_slot() to search for free slots.
22542
22543 2008-08-27 Marco Gerards <marco@gnu.org>
22544
22545 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22546 (scsi_mod_SOURCES): New variable.
22547 (scsi_mod_CFLAGS): Likewise
22548 (scsi_mod_LDFLAGS): Likewise.
22549
22550 * disk/scsi.c: New file.
22551
22552 * include/grub/scsi.h: Likewise.
22553
22554 * include/grub/scsicmd.h: Likewise.
22555
22556 * disk/ata.c: Include <grub/scsi.h>.
22557 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22558 instead.
22559 (grub_ata_iterate): Skip ATAPI devices.
22560 (grub_ata_open): Only handle ATAPI devices.
22561 (struct grub_atapi_read): Removed.
22562 (grub_atapi_readsector): Likewise.
22563 (grub_ata_read): No longer handle ATAPI devices.
22564 (grub_ata_write): Likewise.
22565 (grub_atapi_iterate): New function.
22566 (grub_atapi_read): Likewise.
22567 (grub_atapi_write): Likewise.
22568 (grub_atapi_open): Likewise.
22569 (grub_atapi_close): Likewise.
22570 (grub_atapi_dev): New variable.
22571 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22572 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22573
22574 * include/grub/disk.h (enum grub_disk_dev_id): Add
22575 `GRUB_DISK_DEVICE_SCSI_ID'.
22576
22577 2008-08-26 Robert Millan <rmh@aybabtu.com>
22578
22579 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22580 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22581 descriptive.
22582
22583 2008-08-23 Bean <bean123ch@gmail.com>
22584
22585 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22586 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22587 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22588 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22589 dm_nv.mod.
22590 (raid5rec_mod_SOURCES): New macro.
22591 (raid5rec_mod_CFLAGS): Likewise.
22592 (raid5rec_mod_LDFLAGS): Likewise.
22593 (raid6rec_mod_SOURCES): Likewise.
22594 (raid6rec_mod_CFLAGS): Likewise.
22595 (raid6rec_mod_LDFLAGS): Likewise.
22596 (mdraid_mod_SOURCES): Likewise.
22597 (mdraid_mod_CFLAGS): Likewise.
22598 (mdraid_mod_LDFLAGS): Likewise.
22599 (dm_nv_mod_SOURCES): Likewise.
22600 (dm_nv_mod_CFLAGS): Likewise.
22601 (dm_nv_mod_LDFLAGS): Likewise.
22602
22603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22604 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22605 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22606
22607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22608 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22609
22610 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22611
22612 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22613
22614 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22615
22616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22617
22618 * disk/raid5_recover.c: New file.
22619
22620 * disk/raid6_recover.c: Likewise.
22621
22622 * disk/mdraid_linux.c: Likewise.
22623
22624 * disk/dmraid_nvidia.c: Likewise.
22625
22626 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22627 ULONG_MAX.
22628
22629 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22630 calculate the size of raid device.
22631 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22632 different layout of raid5.
22633 (grub_raid_scan_device): Remove code specific to mdraid.
22634 (grub_raid_list): New variable.
22635 (free_array): New function.
22636 (grub_raid_register): Likewise.
22637 (grub_raid_unregister): Likewise.
22638 (grub_raid_rescan): Likewise.
22639 (GRUB_MOD_INIT): Don't iterate device here.
22640 (GRUB_MOD_FINI): Use free_array to release resource.
22641
22642 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22643 (grub_raid5_recover_func_t): New function variable type.
22644 (grub_raid6_recover_func_t): Likewise.
22645 (grub_raid5_recover_func): New variable.
22646 (grub_raid6_recover_func): Likewise.
22647 (grub_raid_register): New function.
22648 (grub_raid_unregister): Likewise.
22649 (grub_raid_rescan): Likewise.
22650 (grub_raid_block_xor): Likewise.
22651
22652 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22653 (CMD_CRC): New macro.
22654 (part): Removed.
22655 (read_file): Handle device as well as file.
22656 (cmd_crc): New function.
22657 (fstest): Handle multiple disks.
22658 (options): Remove part, raw and long, add root and diskcount.
22659 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22660 (main): Find the first non option entry and ignore subsequent options,
22661 add handling for the new options, support multiple disks.
22662
22663 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22664
22665 2008-08-23 Bean <bean123ch@gmail.com>
22666
22667 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22668
22669 * genfslist.sh: Ignore kernel.mod.
22670
22671 * genpartmaplist.sh: Likewise.
22672
22673 2008-08-23 Robert Millan <rmh@aybabtu.com>
22674
22675 * util/getroot.c (find_root_device): Skip anything that starts with
22676 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22677
22678 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22679
22680 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22681 * util/grub.d/00_header.in: Allow the administrator to change default
22682 gfxmode via ${GRUB_GFXMODE}.
22683
22684 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22685
22686 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22687
22688 2008-08-21 Robert Millan <rmh@aybabtu.com>
22689
22690 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22691 loader.
22692 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22693 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22694
22695 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22696
22697 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22698 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22699
22700 2008-08-19 Robert Millan <rmh@aybabtu.com>
22701
22702 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22703 (struct grub_virtual_screen): Remove `cursor_color'.
22704 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22705 initialization.
22706 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22707
22708 2008-08-18 Robert Millan <rmh@aybabtu.com>
22709
22710 Unify (identical) linux_normal.c files.
22711 * loader/i386/efi/linux_normal.c: Move from here ...
22712 * loader/linux_normal.c: ... to here. Update all users.
22713 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22714 * loader/i386/ieee1275/linux_normal.c: Likewise.
22715
22716 2008-08-18 Robert Millan <rmh@aybabtu.com>
22717
22718 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22719 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22720 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22721 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22722 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22723 New macros.
22724 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22725 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22726 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22727 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22728 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22729 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22730 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22731 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22732 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22733 portably using grub_getxy().
22734 Replace `-EFI' with `-bzImage' in boot message.
22735
22736 2008-08-17 Robert Millan <rmh@aybabtu.com>
22737
22738 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22739
22740 2008-08-17 Robert Millan <rmh@aybabtu.com>
22741
22742 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22743
22744 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22745 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22746 (grub_machine_mmap_iterate): New function declaration.
22747 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22748 structure.
22749 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22750 macros.
22751
22752 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22753 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22754 Move e820 parsing from here ...
22755 * kern/i386/pc/mmap.c: New file.
22756 (grub_machine_mmap_iterate): ... to here.
22757
22758 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22759 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22760 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22761 (grub_available_iterate): Redeclare to return `void', and redeclare
22762 its hook to use grub_uint64_t as addr and size parameters, and rename
22763 to ...
22764 (grub_machine_mmap_iterate): ... this. Update all users.
22765
22766 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22767 to make it more readable. Rename to ...
22768 (grub_machine_mmap_iterate): ... this.
22769
22770 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22771 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22772 (grub_multiboot): Allocate an extra region after the payload, and fill
22773 it with a Multiboot memory map. Adjust a.out loader to calculate size
22774 with the extra space.
22775 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22776 with the extra space.
22777
22778 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22779
22780 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22781
22782 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22783
22784 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22785 mdate-sh to the list `find' searches for.
22786 * DISTLIST: Regenerated.
22787
22788 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22789
22790 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22791 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22792 genmoddep.awk, gensymlist.sh.in.
22793 (DISTDIRS): Add bus, docs, hook, lib.
22794 * DISTLIST: Regenerated.
22795 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22796
22797 2008-08-16 Robert Millan <rmh@aybabtu.com>
22798
22799 * disk/raid.c (grub_raid_init): Handle/report errors set by
22800 grub_device_iterate().
22801 * disk/lvm.c (grub_lvm_init): Likewise.
22802
22803 2008-08-15 Bean <bean123ch@gmail.com>
22804
22805 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22806 and datehook.mod.
22807 (datetime_mod_SOURCES): New macro.
22808 (datetime_mod_CFLAGS): Likewise.
22809 (datetime_mod_LDFLAGS): Likewise.
22810 (date_mod_SOURCES): Likewise.
22811 (date_mod_CFLAGS): Likewise.
22812 (date_mod_LDFLAGS): Likewise.
22813 (datehook_mod_SOURCES): Likewise.
22814 (datehook_mod_CFLAGS): Likewise.
22815 (datehook_mod_LDFLAGS): Likewise.
22816
22817 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22818 and datehook.mod.
22819 (datetime_mod_SOURCES): New macro.
22820 (datetime_mod_CFLAGS): Likewise.
22821 (datetime_mod_LDFLAGS): Likewise.
22822 (date_mod_SOURCES): Likewise.
22823 (date_mod_CFLAGS): Likewise.
22824 (date_mod_LDFLAGS): Likewise.
22825 (datehook_mod_SOURCES): Likewise.
22826 (datehook_mod_CFLAGS): Likewise.
22827 (datehook_mod_LDFLAGS): Likewise.
22828
22829 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22830 and datehook.mod.
22831 (datetime_mod_SOURCES): New macro.
22832 (datetime_mod_CFLAGS): Likewise.
22833 (datetime_mod_LDFLAGS): Likewise.
22834 (date_mod_SOURCES): Likewise.
22835 (date_mod_CFLAGS): Likewise.
22836 (date_mod_LDFLAGS): Likewise.
22837 (datehook_mod_SOURCES): Likewise.
22838 (datehook_mod_CFLAGS): Likewise.
22839 (datehook_mod_LDFLAGS): Likewise.
22840
22841 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22842 and datehook.mod.
22843 (datetime_mod_SOURCES): New macro.
22844 (datetime_mod_CFLAGS): Likewise.
22845 (datetime_mod_LDFLAGS): Likewise.
22846 (date_mod_SOURCES): Likewise.
22847 (date_mod_CFLAGS): Likewise.
22848 (date_mod_LDFLAGS): Likewise.
22849 (datehook_mod_SOURCES): Likewise.
22850 (datehook_mod_CFLAGS): Likewise.
22851 (datehook_mod_LDFLAGS): Likewise.
22852
22853 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22854 and datehook.mod.
22855 (datetime_mod_SOURCES): New macro.
22856 (datetime_mod_CFLAGS): Likewise.
22857 (datetime_mod_LDFLAGS): Likewise.
22858 (date_mod_SOURCES): Likewise.
22859 (date_mod_CFLAGS): Likewise.
22860 (date_mod_LDFLAGS): Likewise.
22861 (datehook_mod_SOURCES): Likewise.
22862 (datehook_mod_CFLAGS): Likewise.
22863 (datehook_mod_LDFLAGS): Likewise.
22864
22865 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22866
22867 * commands/date.c: New file.
22868
22869 * hook/datehook.c: Likewise.
22870
22871 * include/grub/lib/datetime.h: Likewise.
22872
22873 * include/grub/i386/cmos.h: Likewise.
22874
22875 * lib/datetime.c: Likewise.
22876
22877 * lib/i386/datetime.c: Likewise.
22878
22879 * lib/efi/datetime.c: Likewise.
22880
22881 2008-08-14 Robert Millan <rmh@aybabtu.com>
22882
22883 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22884 (grub_mkelfimage_SOURCES): New variable.
22885 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22886
22887 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22888 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22889 * conf/powerpc-ieee1275.rmk: Likewise.
22890 * conf/i386-ieee1275.rmk: Likewise.
22891
22892 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22893 * kern/i386/coreboot/init.c: Likewise.
22894
22895 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22896 with `<grub/cpu/kernel.h>'.
22897 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22898 to ...
22899 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22900 * kern/i386/coreboot/startup.S: Likewise.
22901
22902 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22903 (GRUB_MOD_GAP): Remove.
22904 * include/grub/powerpc/kernel.h: New file.
22905 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22906 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22907 * include/grub/i386/kernel.h: New file.
22908 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22909 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22910 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22911
22912 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22913 `grub-mkelfimage'.
22914 Use --directory when invoking grub_mkimage.
22915
22916 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22917 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22918 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22919 and GRUB_KERNEL_CPU_PREFIX.
22920
22921 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22922
22923 * include/grub/err.h (grub_err_printf): New function prototype.
22924 * util/misc.c (grub_err_printf): New function.
22925 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22926 grub_printf.
22927 * kern/err.c (grub_print_error): Use grub_err_printf.
22928
22929 2008-08-13 Robert Millan <rmh@aybabtu.com>
22930
22931 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22932
22933 2008-08-13 Robert Millan <rmh@aybabtu.com>
22934
22935 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22936 boot entry.
22937
22938 2008-08-12 Robert Millan <rmh@aybabtu.com>
22939
22940 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22941 of the relocation code from here ...
22942 (grub_multiboot): ... to here.
22943 (forward_relocator, backward_relocator): Move from here ...
22944 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22945 (grub_multiboot_backward_relocator): ... to here.
22946 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22947 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22948 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22949 (grub_multiboot_forward_relocator_end)
22950 (grub_multiboot_backward_relocator)
22951 (grub_multiboot_backward_relocator_end): New variables.
22952
22953 2008-08-12 Bean <bean123ch@gmail.com>
22954
22955 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22956
22957 2008-08-11 Robert Millan <rmh@aybabtu.com>
22958
22959 * kern/i386/linuxbios/startup.S: Move from here ...
22960 * kern/i386/coreboot/startup.S: ... to here.
22961
22962 * kern/i386/linuxbios/init.c: Move from here ...
22963 * kern/i386/coreboot/init.c: ... to here.
22964
22965 * kern/i386/linuxbios/table.c: Move from here ...
22966 * kern/i386/coreboot/mmap.c: ... to here.
22967
22968 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22969
22970 2008-08-11 Robert Millan <rmh@aybabtu.com>
22971
22972 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22973 errors. Leave it to the upper layer to handle them.
22974
22975 2008-08-09 Christian Franke <franke@computer.org>
22976
22977 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22978 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22979 Install `grub.d/10_windows' only on Cygwin.
22980 * configure.ac: Add subst of `target_os'.
22981 Check `target_os' also before setting TARGET_OBJ2ELF.
22982 Add `--enable-grub-pe2elf'.
22983
22984 2008-08-08 Robert Millan <rmh@aybabtu.com>
22985
22986 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22987 (grub_last_time): Change type to grub_uint64_t.
22988 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22989 (grub_disk_close): Likewise.
22990
22991 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22992 (run_menu): Migrate code from to using grub_get_time_ms().
22993
22994 * util/misc.c (grub_get_time_ms): New function.
22995
22996 2008-08-08 Marco Gerards <marco@gnu.org>
22997
22998 * disk/ata.c (grub_ata_regget): Change return type to
22999 `grub_uint8_t'.
23000 (grub_ata_regget2): Likewise.
23001 (grub_ata_wait_status): New function.
23002 (grub_ata_wait_busy): Removed function, updated all users to use
23003 `grub_ata_wait_status'.
23004 (grub_ata_wait_drq): Likewise.
23005 (grub_ata_cmd): New function.
23006 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
23007 error handling.
23008 (grub_ata_pio_write): Add error handling.
23009 (grub_atapi_identify): Likewise.
23010 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
23011 handling.
23012 (grub_ata_identify): Use `grub_ata_cmd' and improve error
23013 handling. Actually use the detected registers. Reorder the
23014 detection logic such that it is easier to read.
23015 (grub_ata_pciinit): Do not assign the same ID to each controller.
23016 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
23017 handling.
23018 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
23019
23020 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
23021
23022 2008-08-08 Marco Gerards <marco@gnu.org>
23023
23024 * NEWS: Update.
23025
23026 2008-08-07 Bean <bean123ch@gmail.com>
23027
23028 * include/grub/x86_64/pci.h: New file.
23029
23030 2008-08-07 Christian Franke <franke@computer.org>
23031
23032 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
23033 (TIMER2_GATE): Likewise.
23034 (grub_pit_wait): Add enable/disable of the timer2 gate
23035 bit of port 0x61. This fixes a possible infinite loop.
23036
23037 2008-08-07 Bean <bean123ch@gmail.com>
23038
23039 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
23040 kern/i386/tsc.c and kern/i386/pit.c.
23041
23042 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
23043 x86_64 platform.
23044
23045 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23046 <grub/i386/tsc.h>.
23047
23048 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23049
23050 2008-08-07 Bean <bean123ch@gmail.com>
23051
23052 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23053
23054 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23055
23056 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23057 multiple inclusion. Add #include <grub/types.h>.
23058
23059 2008-08-06 Christian Franke <franke@computer.org>
23060
23061 * conf/common.rmk: Build and install `10_windows'.
23062 * util/grub.d/10_windows.in: New script.
23063
23064 2008-08-06 Pavel Roskin <proski@gnu.org>
23065
23066 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23067
23068 2008-08-06 Robert Millan <rmh@aybabtu.com>
23069
23070 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23071 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23072
23073 2008-08-06 Bean <bean123ch@gmail.com>
23074
23075 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23076 (grub_pxefs_fs_int): Remove dummy definition.
23077 (grub_pxefs_open): Use data->block_size to store the current block
23078 size setting.
23079 (grub_pxefs_read): Use block size stored in data->block_size. As the
23080 value of grub_pxe_blksize can be changed after the file is opened.
23081
23082 2008-08-06 Bean <bean123ch@gmail.com>
23083
23084 * fs/i386/pc/pxe.c (curr_file): new variable.
23085 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23086 require the dummy internal file system anymore.
23087 (grub_pxefs_read): Removed.
23088 (grub_pxefs_close): Likewise.
23089 (grub_pxefs_fs_int): Likewise.
23090 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23091 connection when we switch file.
23092 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23093
23094 2008-08-06 Robert Millan <rmh@aybabtu.com>
23095
23096 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23097 `halt.mod'.
23098 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23099 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23100
23101 * kern/i386/halt.c: New file.
23102 * kern/i386/reboot.c: Likewise.
23103 * include/grub/i386/reboot.h: Likewise.
23104 * include/grub/i386/halt.h: Likewise.
23105
23106 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23107 Include `<grub/cpu/halt.h>'.
23108 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23109 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23110
23111 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23112 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23113 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23114 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23115 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23116 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23117 from here ...
23118 * include/grub/i386/at_keyboard.h: ... to here.
23119
23120 2008-08-05 Robert Millan <rmh@aybabtu.com>
23121
23122 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23123 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23124 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23125 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23126 `kern/generic/millisleep.c'.
23127
23128 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23129 instead of grub_get_rtc().
23130 (grub_tsc_init): Initialize `tsc_boot_time'.
23131
23132 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23133 (grub_machine_init): Use grub_tsc_init() rather than
23134 installing an RTC-based handler via grub_install_get_time_ms().
23135
23136 * kern/i386/pit.c: New file.
23137 * include/grub/i386/pit.h: Likewise.
23138
23139 2008-08-05 Bean <bean123ch@gmail.com>
23140
23141 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23142
23143 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23144 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23145 (pxe_mod_SOURCES): New macro.
23146 (pxe_mod_CFLAGS): Likewise.
23147 (pxe_mod_LDFLAGS): Likewise.
23148 (pxecmd_mod_SOURCES): Likewise.
23149 (pxecmd_mod_CFLAGS): Likewise.
23150 (pxecmd_mod_LDFLAGS): Likewise.
23151
23152 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23153 (grub_pxe_call): Likewise.
23154
23155 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23156
23157 * commands/i386/pc/pxecmd.c: New file.
23158
23159 * fs/i386/pc/pxe.c: Likewise.
23160
23161 * include/grub/i386/pc/pxe.h: Likewise.
23162
23163 2008-08-05 Bean <bean123ch@gmail.com>
23164
23165 * util/console.c (grub_console_cur_color): New variable.
23166 (grub_console_standard_color): Likewise.
23167 (grub_console_normal_color): Likewise.
23168 (grub_console_highlight_color): Likewise.
23169 (color_map): Likewise.
23170 (use_color): Likewise.
23171 (NUM_COLORS): New macro.
23172 (grub_ncurses_setcolorstate): Handle color properly.
23173 (grub_ncurses_setcolor): Don't change color here, just remember the
23174 settings, color will be set in grub_ncurses_setcolorstate.
23175 (grub_ncurses_getcolor): New function.
23176 (grub_ncurses_init): Initialize color pairs.
23177 (grub_ncurses_term): New member grub_ncurses_getcolor.
23178
23179 2008-08-05 Colin D Bennett <colin@gibibit.com>
23180
23181 High resolution timer support. Implemented for x86 CPUs using TSC.
23182 Extracted generic grub_millisleep() so it's linked in only as needed.
23183 This requires a Pentium compatible CPU; if the RDTSC instruction is
23184 not supported, then it falls back on the generic grub_get_time_ms()
23185 implementation that uses the machine's RTC.
23186
23187 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23188 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23189 `kern/generic/millisleep.c'.
23190
23191 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23192 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23193
23194 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23195 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23196
23197 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23198
23199 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23200 `kern/generic/millisleep.c'.
23201
23202 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23203
23204 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23205
23206 * kern/generic/rtc_get_time_ms.c: New file.
23207
23208 * kern/generic/millisleep.c: New file.
23209
23210 * kern/misc.c: Don't include
23211 <kern/time.h> anymore.
23212 (grub_millisleep_generic): Removed.
23213
23214 * commands/sleep.c (grub_interruptible_millisleep): Uses
23215 grub_get_time_ms() instead of grub_get_rtc().
23216
23217 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23218 function.
23219 (grub_cpu_is_cpuid_supported): New inline function.
23220 (grub_cpu_is_tsc_supported): New inline function.
23221 (grub_tsc_init): New function prototype.
23222 (grub_tsc_get_time_ms): New function prototype.
23223
23224 * kern/i386/tsc.c (grub_get_time_ms): New file.
23225
23226 * include/grub/time.h: Include <grub/types.h.
23227 (grub_millisleep_generic): Removed.
23228 (grub_get_time_ms): New prototype.
23229 (grub_install_get_time_ms): New prototype.
23230 (grub_rtc_get_time_ms): New prototype.
23231
23232 * kern/time.c (grub_get_time_ms): New function.
23233 (grub_install_get_time_ms): New function.
23234
23235 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23236 <grub/time.h> anymore.
23237 (grub_millisleep): Removed.
23238 (grub_machine_init): Call grub_tsc_init.
23239
23240 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23241 get_time_ms() implementation.
23242
23243 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23244 (ieee1275_get_time_ms): New function.
23245 (grub_machine_init): Install get_time_ms() implementation.
23246
23247 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23248 (grub_machine_init): Call grub_tsc_init().
23249 (grub_millisleep): Removed.
23250
23251 * kern/ieee1275/init.c (grub_millisleep): Removed.
23252 (grub_machine_init): Install ieee1275_get_time_ms()
23253 implementation.
23254 (ieee1275_get_time_ms): New function.
23255 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23256 real work.
23257
23258 2008-08-05 Marco Gerards <marco@gnu.org>
23259
23260 * disk/ata.c: Include <grub/pci.h>.
23261 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23262 (grub_ata_initialize): Rewritten.
23263 (grub_ata_device_initialize): New function.
23264
23265 2008-08-04 Pavel Roskin <proski@gnu.org>
23266
23267 * kern/main.c: Include grub/mm.h.
23268
23269 2008-08-04 Robert Millan <rmh@aybabtu.com>
23270
23271 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23272 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23273 corruption problem).
23274
23275 2008-08-04 Robert Millan <rmh@aybabtu.com>
23276
23277 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23278 warnings introduced in my last commit.
23279
23280 2008-08-03 Robert Millan <rmh@aybabtu.com>
23281
23282 Make PCI available on all i386 architectures.
23283
23284 * include/grub/i386/pc/pci.h: Move from here ...
23285 * include/grub/i386/pci.h: ... to here.
23286
23287 * include/grub/i386/pc/pci.h: Remove.
23288 * include/grub/i386/efi/pci.h: Remove.
23289 * include/grub/x86_64/efi/pci.h: Remove.
23290
23291 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23292 `<grub/cpu/pci.h>'.
23293
23294 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23295 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23296 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23297
23298 * conf/i386-ieee1275.rmk: Likewise.
23299
23300 2008-08-03 Robert Millan <rmh@aybabtu.com>
23301
23302 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23303 (grub_console_setcursor): Make it possible to set cursor off.
23304
23305 2008-08-03 Robert Millan <rmh@aybabtu.com>
23306
23307 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23308 of modules instead of assuming which platform provides what.
23309 * util/update-grub.in: Likewise.
23310
23311 2008-08-03 Robert Millan <rmh@aybabtu.com>
23312
23313 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23314 instead of `grub_install_dos_part' to determine whether a drive needs
23315 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23316 because it can be overridden when loading GRUB via Multiboot).
23317
23318 2008-08-02 Robert Millan <rmh@aybabtu.com>
23319
23320 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23321
23322 2008-08-02 Robert Millan <rmh@aybabtu.com>
23323
23324 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23325 of informational grub_dprintf() calls.
23326
23327 2008-08-02 Robert Millan <rmh@aybabtu.com>
23328
23329 * disk/memdisk.c (memdisk_size): Don't initialize.
23330 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23331
23332 * include/grub/i386/pc/kernel.h
23333 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23334 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23335 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23336 (grub_arch_memdisk_size): Remove.
23337
23338 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23339 field (was only used to transfer a constant). Add `type' field to
23340 support multiple module types.
23341 (grub_module_iterate): New function.
23342
23343 * kern/device.c (grub_device_open): Do not hide error messages
23344 when grub_disk_open() fails. Use grub_print_error() instead.
23345
23346 * kern/i386/pc/init.c (grub_arch_modules_addr)
23347 (grub_arch_memdisk_size): Remove functions.
23348 (grub_arch_modules_addr): Return the module address in high memory
23349 (now that it isn't copied anymore).
23350
23351 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23352 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23353 decompression routine (grub_total_module_size already includes that
23354 now). Don't copy modules back to low memory.
23355
23356 * kern/main.c: Include `<grub/mm.h>'.
23357 (grub_load_modules): Split out (and use) ...
23358 (grub_module_iterate): ... this function, which iterates through
23359 module objects and runs a hook.
23360 Comment out grub_mm_init_region() call, as it would cause non-ELF
23361 modules to be overwritten.
23362
23363 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23364 the memdisk image in its own region, make it part of the module list.
23365 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23366 (main): Parse --memdisk|-m option, and pass user-provided path as
23367 parameter to generate_image().
23368 (add_segments): Pass `memdisk_path' down to load_modules().
23369 (load_modules): Embed memdisk image in module section when requested.
23370 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23371 `header.type' instead of `header.offset'.
23372
23373 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23374 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23375 (memdisk_mod_LDFLAGS): New variables.
23376 * conf/i386-coreboot.rmk: Likewise.
23377 * conf/i386-ieee1275.rmk: Likewise.
23378
23379 2008-08-02 Robert Millan <rmh@aybabtu.com>
23380
23381 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23382 (backward_relocator): New variables. Used to allocate and relocate
23383 the payload, respectively.
23384 (grub_multiboot_load_elf32): Load into heap instead of requested
23385 address, install the appropriate relocator code in each bound of
23386 the payload, and set the entry point such that
23387 grub_multiboot_real_boot() will jump to one of them.
23388
23389 * kern/i386/loader.S (grub_multiboot_payload_size)
23390 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23391 (grub_multiboot_payload_entry_offset): New variables.
23392 (grub_multiboot_real_boot): Set cpu context to what the relocator
23393 expects, and jump to the relocator instead of the payload.
23394
23395 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23396 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23397 (grub_multiboot_payload_entry_offset): Export.
23398
23399 2008-08-01 Bean <bean123ch@gmail.com>
23400
23401 * normal/menu_entry.c (editor_getline): Don't return the original
23402 string as result, as it will be released by lexer once it has done
23403 using it.
23404
23405 2008-08-01 Robert Millan <rmh@aybabtu.com>
23406
23407 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23408 within menuentries, not before them.
23409 util/grub.d/10_hurd.in: Likewise.
23410
23411 2008-08-01 Bean <bean123ch@gmail.com>
23412
23413 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23414 (bufio_mod_SOURCES): New macro.
23415 (bufio_mod_CFLAGS): Likewise.
23416 (bufio_mod_LDFLAGS): Likewise.
23417
23418 * include/grub/bufio.h: New file.
23419
23420 * io/bufio.c: Likewise.
23421
23422 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23423 (grub_video_reader_png): Use grub_buffile_open to open file.
23424
23425 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23426 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23427
23428 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23429 (grub_video_reader_tga): Use grub_buffile_open to open file.
23430
23431 * font/manager.c: Include <grub/bufio.h>.
23432 (add_font): Use grub_buffile_open to open file.
23433
23434 2008-07-31 Robert Millan <rmh@aybabtu.com>
23435
23436 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23437 ELF segments, use a macro for arbitrarily accessing any of them instead
23438 of preparing a pointer that allows access to one at a time.
23439 (grub_multiboot_load_elf64): Likewise.
23440
23441 2008-07-31 Bean <bean123ch@gmail.com>
23442
23443 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23444 GRUB_KERNEL_MACHINE_DATA_END.
23445
23446 2008-07-30 Robert Millan <rmh@aybabtu.com>
23447
23448 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23449 Increase from 0x50 to 0x60.
23450 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23451 use UUIDs to identify the root drive for them. If that's not
23452 possible, abort.
23453 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23454 check, for cross-disk installs.
23455
23456 2008-07-30 Robert Millan <rmh@aybabtu.com>
23457
23458 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23459 is non-empty, use it to set the `prefix' environment variable instead
23460 of the usual approach.
23461 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23462 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23463 environment variable instead of dummy make_install_device().
23464
23465 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23466 (start): Insert a data section, with `grub_prefix' variable.
23467 * kern/i386/linuxbios/startup.S: Likewise.
23468
23469 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23470 New variable reference.
23471 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23472 New macro. Defines offset of `grub_prefix' within startup.S (relative
23473 to `start').
23474 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23475 section within startup.S (relative to `start').
23476 * include/grub/i386/coreboot/kernel.h: Likewise.
23477
23478 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23479 Overwrite grub_prefix with its contents, at the beginning of the
23480 first segment.
23481 (main): Understand -p|--prefix.
23482
23483 2008-07-30 Robert Millan <rmh@aybabtu.com>
23484
23485 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23486
23487 2008-07-30 Robert Millan <rmh@aybabtu.com>
23488
23489 * term/i386/pc/vga_text.c (grub_console_cls): Use
23490 grub_console_gotoxy() to go back to beginning of the screen.
23491 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23492
23493 2008-07-29 Christian Franke <franke@computer.org>
23494
23495 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23496 Add conversion of emulated mount points on Cygwin.
23497
23498 2008-07-29 Christian Franke <franke@computer.org>
23499
23500 * util/update-grub.in: Add a check for admin
23501 group on Cygwin.
23502 Remove old `grub.cfg.new' before creation.
23503 Add `-f' to `mv' to handle the different filesystem
23504 semantics of Windows.
23505
23506 2008-07-29 Bean <bean123ch@gmail.com>
23507
23508 * normal/main.c (get_line): Fix buffer overflow bug.
23509
23510 2008-07-28 Robert Millan <rmh@aybabtu.com>
23511
23512 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23513 (struct grub_apple_header): New struct. Describes the layout of
23514 the partmap header.
23515 (apple_partition_map_iterate): Check the header magic as well as the
23516 partition magic (which was already being checked).
23517
23518 2008-07-28 Pavel Roskin <proski@gnu.org>
23519
23520 * genmk.rb: Add a warning to the beginning of the output that
23521 it's a generated file and should not be edited.
23522
23523 2008-07-28 Robert Millan <rmh@aybabtu.com>
23524
23525 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23526 with the same number are found, just use issue a warning with
23527 grub_dprintf(), as this error has been reported to be non-fatal.
23528
23529 2008-07-27 Robert Millan <rmh@aybabtu.com>
23530
23531 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23532 information.
23533
23534 2008-07-27 Bean <bean123ch@gmail.com>
23535
23536 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23537 (grub_fat_find_dir): Ignore case when comparing filename.
23538
23539 2008-07-27 Bean <bean123ch@gmail.com>
23540
23541 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23542 smallino, as it's more descriptive, and i8count can be confused with
23543 the other field count.
23544 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23545 inode type.
23546
23547 2008-07-27 Bean <bean123ch@gmail.com>
23548
23549 * commands/crc.c: New file.
23550
23551 * lib/crc.c: Likewise.
23552
23553 * include/grub/lib/crc.h: Likewise.
23554
23555 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23556
23557 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23558 (hexdump): Move this function to ...
23559
23560 * lib/hexdump.c: ... here.
23561
23562 * include/grub/hexdump.h: Renamed to ...
23563
23564 * include/grub/lib/hexdump.h: ... this.
23565
23566 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23567
23568 * util/grub-editenv.c: Likewise.
23569
23570 * include/envblk.h: Renamed to ...
23571
23572 * include/lib/envblk.h: ... this.
23573
23574 * util/envblk.c: Renamed to ...
23575
23576 * lib/envblk.c: ... this.
23577
23578 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23579 lib/hexdump.c.
23580 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23581 (pkglib_MODULES): Add crc.mod.
23582 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23583 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23584 (crc_mod_SOURCES): New macro.
23585 (crc_mod_CFLAGS): Likewise.
23586 (crc_mod_LDFLAGS): Likewise.
23587
23588 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23589
23590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23591
23592 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23593
23594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23595
23596 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23597
23598 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23599
23600 * commands/help.c: Include <grub/term.h>.
23601 (TERM_WIDTH): Removed. Updated all users.
23602
23603 2008-07-27 Pavel Roskin <proski@gnu.org>
23604
23605 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23606 spurious warnings about a comment within a comment.
23607
23608 2008-07-25 Robert Millan <rmh@aybabtu.com>
23609
23610 * util/getroot.c (find_root_device): Skip devices that match
23611 /dev/dm-[0-9]. This lets the real device be found for any type of
23612 abstraction (LVM, EVMS, RAID..).
23613 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23614 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23615 device is found first, find_root_device() will now skip it.
23616
23617 2008-07-24 Pavel Roskin <proski@gnu.org>
23618
23619 * include/grub/types.h: Use __builtin_bswap32() and
23620 __builtin_bswap64() with gcc 4.3 and newer.
23621
23622 2008-07-24 Christian Franke <franke@computer.org>
23623
23624 * util/i386/pc/grub-install.in: If `--debug' is specified,
23625 pass `--verbose' to grub-setup.
23626 Abort script if make_system_path_relative_to_its_root() fails.
23627
23628 2008-07-24 Bean <bean123ch@gmail.com>
23629
23630 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23631 variable `target_platform' should be `platform'.
23632
23633 2008-07-24 Bean <bean123ch@gmail.com>
23634
23635 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23636 (grub_png_init_fixed_block): New function.
23637 (grub_png_decode_image_data): Handle fixed huffman code compression.
23638
23639 2008-07-24 Bean <bean123ch@gmail.com>
23640
23641 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23642 (grub_pe2elf_SOURCES): New macro.
23643 (CLEANFILES): Add grub-pe2elf.
23644
23645 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23646 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23647 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23648 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23649 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23650 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23651 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23652 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23653 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23654 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23655 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23656 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23657 (GRUB_PE32_DT_FUNCTION): Likewise.
23658 (GRUB_PE32_REL_I386_DIR32): Likewise.
23659 (GRUB_PE32_REL_I386_REL32): Likewise.
23660 (grub_pe32_symbol): New structure.
23661 (grub_pe32_reloc): Likewise.
23662
23663 * util/grub-pe2elf.c: New file.
23664
23665 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23666 start symbol in non pc platform.
23667
23668 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23669
23670 The following patches are from Christian Franke.
23671
23672 * include/grub/dl.h: Remove .previous, gas supports this only
23673 for ELF format.
23674
23675 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23676 Remove .type, gas supports this only for ELF format.
23677
23678 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23679 nullbytes in symbol table. This fixes an infinite loop if table is
23680 zero filled.
23681
23682 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23683 TARGET_IMG_LDFLAGS and EXEEXT.
23684
23685 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23686 TARGET_IMG_LDFLAGS_AC.
23687 (grub_CHECK_STACK_ARG_PROBE): New function.
23688
23689 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23690
23691 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23692
23693 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23694 to set TARGET_IMG_LD* accordingly.
23695 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23696 Add call to grub_CHECK_STACK_ARG_PROBE.
23697 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23698
23699 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23700
23701 * genmk.rb: Add EXEEXT to CLEANFILES.
23702
23703 2008-07-23 Robert Millan <rmh@aybabtu.com>
23704
23705 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23706 define the codes for arrows and lines used for the menu).
23707 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23708 as well.
23709
23710 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23711 fonts, because the latter are too slow.
23712
23713 2008-07-21 Bean <bean123ch@gmail.com>
23714
23715 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23716 a20. Run keyboard test last, as it will cause macbook to halt.
23717
23718 2008-07-18 Pavel Roskin <proski@gnu.org>
23719
23720 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23721 load foreign architecture modules correctly anyway. Keep
23722 support for loading host architecture modules, whether we
23723 compile them or not.
23724
23725 2008-07-17 Pavel Roskin <proski@gnu.org>
23726
23727 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23728 change target_cpu. The compiler default can mismatch target_cpu
23729 in any case.
23730
23731 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23732 * kern/efi/efi.c: Likewise.
23733
23734 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23735 target compiler is functional.
23736 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23737 are set up.
23738
23739 * configure.ac: Default to efi platform for x86_64-apple. Allow
23740 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23741 adjustments from the rest, only do them if target is not
23742 explicitly given. Merge other adjustments with the final sanity
23743 check. Remove an extraneous check for supported CPU. Be
23744 specific which CPU and which platform is not supported.
23745
23746 * configure.ac: Default to pc platform for x86_64.
23747
23748 2008-07-17 Robert Millan <rmh@aybabtu.com>
23749
23750 Partial LinuxBIOS -> Coreboot rename.
23751
23752 * conf/i386-linuxbios.rmk: Renamed to ...
23753 * conf/i386-coreboot.rmk: ... this.
23754 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23755 * configure.ac: Accept "coreboot" as input platform (but maintain
23756 compatibility with "linuxbios").
23757 * include/grub/i386/linuxbios: Renamed to ...
23758 * include/grub/i386/coreboot: ... this.
23759
23760 2008-07-17 Bean <bean123ch@gmail.com>
23761
23762 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23763 (appleldr_mod_SOURCE): New variable.
23764 (appleldr_mod_CFLAGS): Likewise.
23765 (appleldr_mod_LDFLAGS): Likewise.
23766 (pci_mod_SOURCES): Likewise.
23767 (pci_mod_CFLAGS): Likewise.
23768 (pci_mod_LDFLAGS): Likewise.
23769 (lspci_mod_SOURCES): Likewise.
23770 (lspci_mod_CFLAGS): Likewise.
23771 (lspci_mod_LDFLAGS): Likewise.
23772
23773 * conf/x86_64-efi.rmk: New file.
23774
23775 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23776 macro.
23777 (grub_efidisk_write): Likewise.
23778
23779 * include/efi/api.h (efi_call_0): New macro.
23780 (efi_call_1): Likewise.
23781 (efi_call_2): Likewise.
23782 (efi_call_3): Likewise.
23783 (efi_call_4): Likewise.
23784 (efi_call_5): Likewise.
23785 (efi_call_6): Likewise.
23786
23787 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23788 grub_rescue_cmd_chainloader.
23789
23790 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23791 (grub_pe32_optional_header): Change some fields based on i386 or
23792 x86_64 platform.
23793 (GRUB_PE32_PE32_MAGIC): Likewise.
23794
23795 * include/grub/efi/uga_draw.h: New file.
23796
23797 * include/grub/elf.h (STN_ABS): New constant.
23798 (R_X86_64_NONE): Relocation constant for x86_64.
23799 (R_X86_64_64): Likewise.
23800 (R_X86_64_PC32): Likewise.
23801 (R_X86_64_GOT32): Likewise.
23802 (R_X86_64_PLT32): Likewise.
23803 (R_X86_64_COPY): Likewise.
23804 (R_X86_64_GLOB_DAT): Likewise.
23805 (R_X86_64_JUMP_SLOT): Likewise.
23806 (R_X86_64_RELATIVE): Likewise.
23807 (R_X86_64_GOTPCREL): Likewise.
23808 (R_X86_64_32): Likewise.
23809 (R_X86_64_32S): Likewise.
23810 (R_X86_64_16): Likewise.
23811 (R_X86_64_PC16): Likewise.
23812 (R_X86_64_8): Likewise.
23813 (R_X86_64_PC8): Likewise.
23814
23815 * include/grub/i386/efi/pci.h: New file.
23816
23817 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23818 Change it value based on platform.
23819 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23820 (GRUB_E820_RAM): Likewise.
23821 (GRUB_E820_RESERVED): Likewise.
23822 (GRUB_E820_ACPI): Likewise.
23823 (GRUB_E820_NVS): Likewise.
23824 (GRUB_E820_EXEC_CODE): Likewise.
23825 (GRUB_E820_MAX_ENTRY): Likewise.
23826 (grub_e820_mmap): New structure.
23827 (linux_kernel_header): Change the efi field according to different
23828 kernel version, also field from linux_kernel_header.
23829
23830 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23831
23832 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23833 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23834 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23835 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23836 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23837 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23838 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23839 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23840 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23841 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23842
23843 * include/grub/x86_64/efi/kernel.h: New file.
23844
23845 * include/grub/x86_64/efi/loader.h: Likewise.
23846
23847 * include/grub/x86_64/efi/machine.h: Likewise.
23848
23849 * include/grub/x86_64/efi/pci.h: Likewise.
23850
23851 * include/grub/x86_64/efi/time.h: Likewise.
23852
23853 * include/grub/x86_64/linux.h: Likewise.
23854
23855 * include/grub/x86_64/setjmp.h: Likewise.
23856
23857 * include/grub/x86_64/time.h: Likewise.
23858
23859 * include/grub/x86_64/types.h: Likewise.
23860
23861 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23862 GRUB_TARGET_SIZEOF_VOID_P.
23863
23864 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23865 (grub_efi_locate_handle): Likewise.
23866 (grub_efi_open_protocol): Likewise.
23867 (grub_efi_set_text_mode): Likewise.
23868 (grub_efi_stall): Likewise.
23869 (grub_exit): Likewise.
23870 (grub_reboot): Likewise.
23871 (grub_halt): Likewise.
23872 (grub_efi_exit_boot_services): Likewise.
23873 (grub_get_rtc): Likewise.
23874
23875 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23876 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23877 (grub_efi_allocate_pages): Wrap efi calls.
23878 (grub_efi_free_pages): Wrap efi calls.
23879 (grub_efi_get_memory_map): Wrap efi calls.
23880
23881 * kern/x86_64/dl.c: New file.
23882
23883 * kern/x86_64/efi/callwrap.S: Likewise.
23884
23885 * kern/x86_64/efi/startup.S: Likewise.
23886
23887 * loader/efi/appleloader.c: Likewise.
23888
23889 * loader/efi/chainloader.c (cmdline): New variable.
23890 (grub_chainloader_unload): Wrap efi calls.
23891 (grub_chainloader_boot): Likewise.
23892 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23893 command line.
23894
23895 * loader/efi/chainloader_normal.c (chainloader_command):
23896 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23897 command line.
23898
23899 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23900 method.
23901 (grub_e820_add_region): New function.
23902 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23903 booting.
23904 (grub_find_video_card): New function.
23905 (grub_linux_setup_video): New function.
23906 (grub_rescue_cmd_linux): Probe for video information.
23907
23908 * normal/x86_64/setjmp.S: New file.
23909
23910 * term/efi/console.c (map_char): New function.
23911 (grub_console_putchar): Map unicode char.
23912 (grub_console_checkkey): Wrap efi calls.
23913 (grub_console_getkey): Likewise.
23914 (grub_console_getwh): Likewise.
23915 (grub_console_gotoxy): Likewise.
23916 (grub_console_cls): Likewise.
23917 (grub_console_setcolorstate): Likewise.
23918 (grub_console_setcursor): Likewise.
23919
23920 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23921
23922 2008-07-16 Pavel Roskin <proski@gnu.org>
23923
23924 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23925 format strings.
23926
23927 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23928 pointer, not an integer. This fixes a warning and prevents
23929 precision loss on 64-bit systems.
23930 (relocate_addresses): Remove unneeded cast.
23931
23932 2008-07-15 Pavel Roskin <proski@gnu.org>
23933
23934 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23935
23936 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23937
23938 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23939 Fix comparison between signed and unsigned.
23940
23941 * include/grub/i386/ieee1275/console.h: Declare
23942 grub_console_init() and grub_console_fini().
23943
23944 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23945 It's empty and unused.
23946
23947 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23948 beginning to avoid warnings with some compilers.
23949
23950 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23951 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23952
23953 2008-07-14 Pavel Roskin <proski@gnu.org>
23954
23955 * kern/env.c (grub_register_variable_hook): Don't copy empty
23956 string, it leaks memory. Pass "" to grub_env_set(), it should
23957 handle constant strings.
23958
23959 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23960 * commands/cmp.c (grub_cmd_cmp): Likewise.
23961 * kern/dl.c (grub_dl_flush_cache): Likewise.
23962 (grub_dl_load_core): Likewise.
23963 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23964 (grub_elf64_load_phdrs): Likewise.
23965
23966 2008-07-13 Pavel Roskin <proski@gnu.org>
23967
23968 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23969 between signed and unsigned.
23970 (LzmaEnc_Finish): Fix warning about an unused parameter.
23971
23972 2008-07-13 Bean <bean123ch@gmail.com>
23973
23974 * Makefile.in (enable_lzo): New rule.
23975
23976 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23977
23978 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23979
23980 * boot/i386/pc/lnxboot.S: #include <config.h>.
23981
23982 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23983 its value according to the compression algorithm used, lzo or lzma.
23984
23985 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23986 compression algorithm according to configure macro.
23987
23988 * kern/i386/pc/startup.S (codestart): Likewise.
23989
23990 * kern/i386/pc/lzma_decode.S: New file.
23991
23992 * include/grub/lib/LzFind.h: Likewise.
23993
23994 * include/grub/lib/LzHash.h: Likewise.
23995
23996 * include/grub/lib/LzmaDec.h: Likewise.
23997
23998 * include/grub/lib/LzmaEnc.h: Likewise.
23999
24000 * include/grub/lib/LzmaTypes.h: Likewise.
24001
24002 * lib/LzFind.c: Likewise.
24003
24004 * lib/LzmaDec.c: Likewise.
24005
24006 * lib/LzmaEnc.c: Likewise.
24007
24008 2008-07-13 Bean <bean123ch@gmail.com>
24009
24010 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
24011 (grub_ext4_extent_header): New structure.
24012 (grub_ext4_extent): Likewise.
24013 (grub_ext4_extent_idx): Likewise.
24014 (grub_ext4_find_leaf): New function.
24015 (grub_ext2_read_block): Handle extents.
24016
24017 2008-07-12 Robert Millan <rmh@aybabtu.com>
24018
24019 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
24020
24021 2008-07-11 Robert Millan <rmh@aybabtu.com>
24022
24023 * util/grub.d/40_custom.in: New file. Example on how to add custom
24024 entries to /etc/grub.d.
24025 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
24026 40_custom (implicitly, by merging all the grub.d rules).
24027
24028 2008-07-11 Pavel Roskin <proski@gnu.org>
24029
24030 * commands/read.c (grub_getline): Fix invalid memory access.
24031 Don't add newline to the variable value.
24032
24033 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
24034 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
24035 (serial_hw_get_port): Check validity of the port number.
24036 (grub_cmd_serial): Check return value of serial_hw_get_port().
24037
24038 2008-07-07 Pavel Roskin <proski@gnu.org>
24039
24040 * boot/i386/pc/diskboot.S (notification_string): Replace
24041 "Loading kernel" with just "loading". This is shorter, less
24042 confusing and saves a few bytes for possible future changes.
24043
24044 2008-07-05 Pavel Roskin <proski@gnu.org>
24045
24046 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24047 size for ATAPI devices, they are undefined. Output sector
24048 number in decimal form.
24049
24050 * disk/ata.c: Use named constants for status bits.
24051
24052 2008-07-04 Pavel Roskin <proski@gnu.org>
24053
24054 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24055 grub_addr_t before casting it to the void pointer to fix a
24056 warning. Non-addressable regions are discarded earlier.
24057 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24058 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24059 (check_signature): Don't shadow table_header.
24060 (grub_linuxbios_table_iterate): Cast numeric constants to
24061 grub_linuxbios_table_header_t.
24062 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24063 grub_stop().
24064
24065 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24066 prevent warnings.
24067
24068 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24069 pointer, which can cause warnings. Support 64-bit addresses.
24070
24071 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24072 of sizeof(long). This fixes PowerPC image generation on x86_64.
24073
24074 2008-07-04 Robert Millan <rmh@aybabtu.com>
24075
24076 This fixes a performance issue when pc & gpt partmap iterators
24077 didn't abort iteration even after our hook found what it was
24078 looking for (often causing expensive probes of non-existent drives).
24079
24080 Some callers relied on previous buggy behaviour, since they would
24081 raise an error when their own hooks caused early abortion of its
24082 iteration.
24083
24084 * kern/device.c (grub_device_open): Improve error message.
24085 * disk/lvm.c (grub_lvm_open): Likewise.
24086 * disk/raid.c (grub_raid_open): Likewise.
24087
24088 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24089 when hook requests it, independently of grub_errno.
24090 (pc_partition_map_probe): Do not fail when find_func() caused
24091 early abortion of pc_partition_map_iterate().
24092
24093 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24094 when hook requests it, independently of grub_errno.
24095 (gpt_partition_map_probe): Do not fail when find_func() caused
24096 early abortion of gpt_partition_map_iterate().
24097
24098 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24099 when hook requests it, independently of grub_errno. Do not fail when
24100 part_map_iterate_hook() caused early abortion of p->iterate().
24101
24102 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24103 when grub_partition_iterate() returned with non-zero.
24104
24105 2008-07-03 Pavel Roskin <proski@gnu.org>
24106
24107 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24108 like we do in grub_ata_pio_read().
24109 (grub_ata_readwrite): Always write individual sectors. Fix the
24110 sector count for the remainder.
24111 (grub_ata_write): Enable writing to ATA devices. Correctly
24112 report error for ATAPI devices.
24113
24114 2008-07-02 Pavel Roskin <proski@gnu.org>
24115
24116 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24117 warning.
24118
24119 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24120 for every read sector, we already increment it for the whole
24121 batch. This fixes reading more than 256 sectors at once.
24122
24123 * util/grub-editenv.c (cmd_info): Cast argument to long
24124 explicitly. ptrdiff_t reduces to int on i386.
24125
24126 * util/grub-editenv.c (main): Be specific which parameter is
24127 missing.
24128
24129 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24130 (memdisk): Make memdisk_orig_addr a pointer.
24131
24132 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24133 for file offsets, use grub_off_t instead. Fix printf format
24134 warnings.
24135
24136 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24137 there. Real unexpected warnings should not drown in the noise
24138 about known problems.
24139
24140 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24141 grub_disk_addr_t for memory addresses.
24142
24143 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24144 explicitly to fix a warning.
24145
24146 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24147
24148 * Makefile.in (MODULE_LDFLAGS): New variable.
24149 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24150 the linker accepts --build-id=none.
24151 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24152 MODULE_LDFLAGS.
24153 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24154
24155 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24156 those in Linux XFS code. Provide a way to access 64-bit parent
24157 inode.
24158 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24159 the end of struct grub_xfs_dir_header.
24160
24161 2008-07-02 Bean <bean123ch@gmail.com>
24162
24163 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24164 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24165 and GRUB_IEEE1275_FLAG_NO_ANSI.
24166
24167 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24168 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24169 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24170
24171 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24172 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24173
24174 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24175 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24176
24177 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24178 esc sequence on non ANSI terminal.
24179 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24180
24181 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24182 beginning of file.
24183
24184 2008-07-02 Bean <bean123ch@gmail.com>
24185
24186 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24187 (grub_editenv_SOURCES): New variable.
24188 (pkglib_MODULES): Add loadenv.mod.
24189 (loadenv_mod_SOURCES): New variable.
24190 (loadenv_mod_CFLAGS): Likewise.
24191 (loadenv_mod_LDFLAGS): Likewise.
24192
24193 * include/grub/envblk.h: New file.
24194
24195 * util/envblk.c: New file.
24196
24197 * util/grub-editenv.c: New file.
24198
24199 * commands/loadenv.c: New file.
24200
24201 2008-07-01 Pavel Roskin <proski@gnu.org>
24202
24203 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24204 not unsigned char. This fixes warnings and is consistent with
24205 other tags.
24206
24207 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24208
24209 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24210
24211 * term/tparm.c (analyze): Always set *popcount.
24212
24213 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24214 cast to fix a warning.
24215
24216 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24217 cast to suppress a warning.
24218
24219 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24220 grub_fshelp_read_file() expects.
24221
24222 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24223 write uuid as a 32-bit value in CPU byte order, so declare and
24224 use it as such.
24225
24226 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24227 long if the format specifier expects it.
24228 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24229 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24230 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24231 long to fix a warning.
24232 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24233 grub_dprintf() arguments to fix warnings.
24234
24235 2008-06-30 Pavel Roskin <proski@gnu.org>
24236
24237 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24238 install_bsd_part immediately before core.img is embedded or
24239 modified on disk. This fixes core.img verification if core.img
24240 cannot be embedded.
24241
24242 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24243 core_path to calculate the blocklist.
24244 Patch from Javier Martín <lordhabbit@gmail.com>
24245
24246 2008-06-29 Robert Millan <rmh@aybabtu.com>
24247
24248 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24249 block to disk block.
24250 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24251 Patch from Niels Böhm <bitbucket@arcor.de>
24252
24253 2008-06-29 Robert Millan <rmh@aybabtu.com>
24254
24255 * util/update-grub_lib.in (font_path): Search for fonts in
24256 /boot/grub first, which is more likely to be readable (we aren't
24257 deciding where fonts live, just looking for them).
24258
24259 2008-06-26 Pavel Roskin <proski@gnu.org>
24260
24261 * util/biosdisk.c (read_device_map): Don't leave dead map
24262 entries for devices failing stat() check.
24263
24264 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24265 core_path_dev for the core.img path on the target device.
24266
24267 2008-06-26 Robert Millan <rmh@aybabtu.com>
24268
24269 * disk/fs_uuid.c: New file.
24270 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24271 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24272 (fs_uuid_mod_LDFLAGS): New variables.
24273 * include/grub/disk.h (grub_disk_dev_id): Add
24274 `GRUB_DISK_DEVICE_UUID_ID'.
24275 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24276 implement iterate().
24277
24278 2008-06-26 Robert Millan <rmh@aybabtu.com>
24279
24280 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24281 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24282 Linux image includes no initrd.
24283
24284 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24285
24286 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24287 call to resolve the core image location that effectively appended the
24288 name twice.
24289
24290 2008-06-21 Robert Millan <rmh@aybabtu.com>
24291
24292 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24293 call from here ...
24294
24295 * util/grub.d/10_hurd.in: ... to here ...
24296 * util/grub.d/10_linux.in: ... and here.
24297
24298 2008-06-19 Robert Millan <rmh@aybabtu.com>
24299
24300 * kern/main.c (grub_main): Export `prefix' variable immediately
24301 after it has been set by grub_machine_set_prefix().
24302
24303 2008-06-19 Robert Millan <rmh@aybabtu.com>
24304
24305 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24306 search result when not saving to variable, not the other way around.
24307 When saving to variable, abort iteration as soon as a match is found.
24308
24309 2008-06-19 Robert Millan <rmh@aybabtu.com>
24310
24311 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24312 check for partition that provides /boot/grub. Its logic is flawed,
24313 as it prevents prepare_grub_to_access_device() from being called
24314 multiple times.
24315
24316 2008-06-19 Robert Millan <rmh@aybabtu.com>
24317
24318 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24319 "insmod" command directly when abstraction modules are needed,
24320 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24321 since it had already been processed).
24322
24323 2008-06-19 Pavel Roskin <proski@gnu.org>
24324
24325 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24326 changed. This is needed in case GRUB_LIBDIR changes.
24327 * conf/i386-ieee1275.rmk: Likewise.
24328 * conf/i386-linuxbios.rmk: Likewise.
24329 * conf/i386-pc.rmk: Likewise.
24330 * conf/powerpc-ieee1275.rmk: Likewise.
24331
24332 2008-06-18 Pavel Roskin <proski@gnu.org>
24333
24334 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24335 kernel_elf_symlist.c to symlist.c for consistency with other
24336 architectures. Update all users.
24337 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24338
24339 2008-06-18 Robert Millan <rmh@aybabtu.com>
24340
24341 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24342 it in prefix.
24343
24344 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24345 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24346 a RAID device, run setup() for all members independently on whether
24347 LVM abstraction is being used.
24348 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24349 If grub-mkimage has set `*install_dos_part == -2', don't override this
24350 value.
24351 Perform *install_dos_part adjustments independently on whether
24352 we're embedding or not.
24353 Clarify error message when image is too big for embedding.
24354 Remove duplicate *install_dos_part stanza.
24355
24356 2008-06-17 Robert Millan <rmh@aybabtu.com>
24357
24358 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24359 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24360 variables.
24361 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24362 values in grub_ofconsole_normal_color and
24363 grub_ofconsole_highlight_color (they're not directly related to
24364 background and foreground).
24365 (grub_ofconsole_setcolorstate): Extract background and foreground
24366 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24367
24368 2008-06-17 Robert Millan <rmh@aybabtu.com>
24369
24370 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24371 /boot/grub for the check in last commit, not /boot (they could be
24372 different partitions).
24373
24374 2008-06-16 Robert Millan <rmh@aybabtu.com>
24375
24376 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24377 asked to setup access for the same partition that provides /boot,
24378 don't bother using UUIDs since our root already has the value we
24379 want.
24380
24381 2008-06-16 Robert Millan <rmh@aybabtu.com>
24382
24383 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24384 I2O devices.
24385 Patch from Sven Mueller <sven@debian.org>.
24386
24387 2008-06-16 Robert Millan <rmh@aybabtu.com>
24388
24389 * util/update-grub.in: Check for $EUID instead of $UID.
24390 Reported by Vincent Zweije.
24391
24392 2008-06-16 Bean <bean123ch@gmail.com>
24393
24394 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24395 (grub_ext2_read_block): Likewise.
24396 (grub_ext2_read_inode): Likewise.
24397 (grub_ext2_mount): Likewise.
24398 (grub_ext2_close): Likewise.
24399 (grub_ext3_get_journal): Removed.
24400
24401 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24402 (grub_reiserfs_read_symlink): Likewise.
24403 (grub_reiserfs_mount): Likewise.
24404 (grub_reiserfs_open): Likewise.
24405 (grub_reiserfs_read): Likewise.
24406 (grub_reiserfs_close): Likewise.
24407 (grub_reiserfs_get_journal): Removed.
24408
24409 * fs/fshelp.c (grub_fshelp_read): Removed.
24410 (grub_fshelp_map_block): Likewise.
24411
24412 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24413 (grub_fshelp_journal): Likewise.
24414 (grub_fshelp_read): Likewise.
24415 (grub_fshelp_map_block): Likewise.
24416
24417 2008-06-16 Pavel Roskin <proski@gnu.org>
24418
24419 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24420 floating point anymore.
24421 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24422
24423 2008-06-15 Pavel Roskin <proski@gnu.org>
24424
24425 * commands/ls.c (grub_ls_list_files): Use integer calculations
24426 for human readable format, avoid floating point use.
24427 * kern/misc.c (grub_ftoa): Remove.
24428 (grub_vsprintf): Remove floating point support.
24429
24430 2008-06-15 Robert Millan <rmh@aybabtu.com>
24431
24432 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24433 devices.
24434 Reported by Max Vozeler.
24435
24436 2008-06-15 Robert Millan <rmh@aybabtu.com>
24437
24438 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24439 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24440 skipped later.
24441 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24442 the beginning of the prefix.
24443
24444 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24445 It is assumed that if we have a memdisk, grub-mkimage has set
24446 grub_prefix to include the "(memdisk)" drive in it.
24447
24448 2008-06-15 Robert Millan <rmh@aybabtu.com>
24449
24450 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24451 Initialize keyboard controller after registering the terminal, so that
24452 grub_printf() can be called from grub_keyboard_controller_init().
24453
24454 2008-06-15 Robert Millan <rmh@aybabtu.com>
24455
24456 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24457 extent-btree which is written as big endian on disk.
24458 Reported by Alain Greppin <al@chilibi.org>.
24459
24460 2008-06-14 Robert Millan <rmh@aybabtu.com>
24461
24462 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24463 * util/i386/pc/grub-install.in (modules): Likewise.
24464
24465 2008-06-13 Pavel Roskin <proski@gnu.org>
24466
24467 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24468
24469 2008-06-13 Bean <bean123ch@gmail.com>
24470
24471 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24472
24473 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24474
24475 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24476 to indicate sparse block.
24477
24478 2008-06-12 Pavel Roskin <proski@gnu.org>
24479
24480 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24481 number, grub_fshelp_read() does it for us.
24482
24483 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24484 linear disk read with journal translation.
24485 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24486 * include/grub/fshelp.h: Declare grub_fshelp_read().
24487
24488 2008-06-09 Pavel Roskin <proski@gnu.org>
24489
24490 * fs/minix.c (grub_minix_mount): Handle error reading
24491 superblock.
24492
24493 2008-06-08 Robert Millan <rmh@aybabtu.com>
24494
24495 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24496 don't append the RAID prefix afterwards.
24497 Reported by Clint Adams.
24498
24499 2008-06-08 Robert Millan <rmh@aybabtu.com>
24500
24501 Based on description from Pavel:
24502 * kern/disk.c (grub_disk_check_range): Rename to ...
24503 (grub_disk_adjust_range): ... this. Add a comment explaining the
24504 tasks performed by this function.
24505
24506 2008-06-08 Robert Millan <rmh@aybabtu.com>
24507
24508 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24509 `num_serial' (for consistency with other variables).
24510 (struct grub_ntfs_data): Add `uuid' member.
24511 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24512 (grub_ntfs_uuid): New function.
24513 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24514
24515 2008-06-07 Pavel Roskin <proski@gnu.org>
24516
24517 * util/biosdisk.c (open_device): Revert last change to the
24518 function, it broke installation. The sector needs to be
24519 different dependent on which device is opened.
24520
24521 2008-06-06 Robert Millan <rmh@aybabtu.com>
24522
24523 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24524 rest of GRUB, and breakage doesn't happen if its value were modified.
24525
24526 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24527 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24528 a constant (same value).
24529 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24530 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24531
24532 2008-06-06 Robert Millan <rmh@aybabtu.com>
24533
24534 * util/biosdisk.c (open_device): Do not modify sector offset when
24535 accessing a partition. kern/disk.c already handles this for us.
24536
24537 2008-06-06 Robert Millan <rmh@aybabtu.com>
24538
24539 * util/grub-emu.c (grub_machine_init): Move code in this function from
24540 here ...
24541 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24542 segfault in case grub_printf() is called).
24543
24544 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24545 grub_probe. Update all users not to explicitly add it again.
24546 (grub_device): New variable; contains corresponding device for grubdir.
24547 (fs_module, partmap_module, devabstraction_module): Pass
24548 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24549 every time.
24550
24551 2008-06-05 Robert Millan <rmh@aybabtu.com>
24552
24553 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24554 is found, print it (same layout as with labels).
24555
24556 2008-06-04 Robert Millan <rmh@aybabtu.com>
24557
24558 * util/biosdisk.c (get_drive): Rename to ...
24559 (find_grub_drive): ... this. Update all users.
24560
24561 (get_os_disk): Rename to ...
24562 (convert_system_partition_to_system_disk): ... this. Update all users.
24563
24564 (find_drive): Rename to ...
24565 (find_system_device): ... this. Update all users.
24566
24567 2008-06-04 Robert Millan <rmh@aybabtu.com>
24568
24569 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24570 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24571 (make_device_map): Likewise.
24572
24573 2008-06-01 Robert Millan <rmh@aybabtu.com>
24574
24575 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24576 before dereferencing it.
24577
24578 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24579 union with fat12/fat16-specific ones. Add some new fields, including
24580 `num_serial' for both versions.
24581 (struct grub_fat_data): Add `uuid' member.
24582 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24583 names. Initialize `data->uuid' using `num_serial'.
24584 (grub_fat_uuid): New function.
24585 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24586
24587 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24588 (grub_reiserfs_uuid): New function.
24589 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24590 member.
24591
24592 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24593 (grub_xfs_uuid): New function.
24594 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24595
24596 2008-06-01 Robert Millan <rmh@aybabtu.com>
24597
24598 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24599 code that is backward compatible with pre-uuid search command.
24600
24601 2008-05-31 Robert Millan <rmh@aybabtu.com>
24602
24603 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24604 floppies after everything else, to ensure floppy drive isn't accessed
24605 unnecessarily (patch from Bean).
24606
24607 2008-05-31 Robert Millan <rmh@aybabtu.com>
24608
24609 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24610 not print device names when we were asked to set a variable.
24611
24612 2008-05-31 Robert Millan <rmh@aybabtu.com>
24613
24614 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24615 using "cursor-on" and "cursor-off" commands (understood at least by
24616 the Open Firmware flavour on OLPC).
24617
24618 2008-05-31 Michael Gorven <michael@gorven.za.net>
24619
24620 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24621 on and off sequences.
24622
24623 2008-05-31 Robert Millan <rmh@aybabtu.com>
24624
24625 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24626 * util/update-grub.in: Likewise.
24627
24628 2008-05-30 Pavel Roskin <proski@gnu.org>
24629
24630 * util/biosdisk.c (linux_find_partition): Simplify logic and
24631 make the code more universal. Keep special processing for
24632 devfs, but use a simple rule for all other devices. If the
24633 device ends with a number, append 'p' and the partition number.
24634 Otherwise, append only the partition number.
24635
24636 2008-05-30 Robert Millan <rmh@aybabtu.com>
24637
24638 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24639 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24640 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24641 the `root' parameter to Linux.
24642
24643 2008-05-30 Robert Millan <rmh@aybabtu.com>
24644
24645 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24646 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24647 --fs_uuid with --fs-uuid.
24648 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24649 all filesystems support them).
24650
24651 2008-05-30 Robert Millan <rmh@aybabtu.com>
24652
24653 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24654 grub_printf() flags, since we're printing in units of 2 bytes.
24655
24656 2008-05-30 Robert Millan <rmh@aybabtu.com>
24657
24658 * util/grub.d/00_header.in: Remove obsolete comment referencing
24659 convert_system_path_to_grub_path().
24660 * util/update-grub.in: Likewise.
24661 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24662 (convert_system_path_to_grub_path): Add a warning message explaining
24663 that this function is deprecated. Rely on is_path_readable_by_grub()
24664 for the readability checks.
24665 (font_path): Use is_path_readable_by_grub() for the readability
24666 check rather than convert_system_path_to_grub_path().
24667
24668 2008-05-30 Robert Millan <rmh@aybabtu.com>
24669
24670 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24671 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24672 converting it first.
24673 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24674 grub.cfg for access to font file, and afterwards call it again to set
24675 the root device.
24676
24677 2008-05-30 Robert Millan <rmh@aybabtu.com>
24678
24679 * commands/search.c (options): Add --fs_uuid option.
24680 (search_fs_uuid): New function.
24681 (grub_cmd_search): Fix --set argument passing.
24682 Use search_fs_uuid() when requested via --fs_uuid.
24683 (grub_search_init): Update help message.
24684 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24685 and redeclare it as an array of 16-bit words.
24686 (grub_ext2_uuid): New function.
24687 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24688 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24689 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24690 (GRUB_DEVICE_BOOT_UUID): New variables.
24691 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24692 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24693 whenever possible.
24694 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24695 just assume `root' variable has the right value.
24696 * util/grub.d/10_linux.in: Likewise.
24697 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24698 via PRINT_FS_UUID.
24699 (main): Recognise `-t fs_uuid' argument.
24700
24701 2008-05-30 Robert Millan <rmh@aybabtu.com>
24702
24703 * util/biosdisk.c (map): Redefine structure to hold information
24704 about GRUB drive name.
24705 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24706 drive names.
24707 (call_hook): Remove.
24708 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24709 member. Assume drive has partitions.
24710 (grub_util_biosdisk_open): Access device names via `.device' struct
24711 member.
24712 (open_device): Likewise.
24713 (find_drive): Likewise.
24714 (read_device_map): Adjust map[] usage to match the new struct
24715 definition. Don't check for duplicates (still possible, but not cheap
24716 anymore).
24717 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24718 (make_device_name): Remove assumption of BIOS-like drive names.
24719
24720 2008-05-30 Pavel Roskin <proski@gnu.org>
24721
24722 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24723 compiling execute.c doesn't need grub_script.tab.h anymore.
24724 (normal/command.c_DEPENDENCIES): Likewise.
24725 (normal/function.c_DEPENDENCIES): Likewise.
24726 * conf/i386-ieee1275.rmk: Likewise.
24727 * conf/i386-linuxbios.rmk: Likewise.
24728 * conf/i386-pc.rmk: Likewise.
24729 * conf/powerpc-ieee1275.rmk: Likewise.
24730 * conf/sparc64-ieee1275.rmk: Likewise.
24731
24732 2008-05-29 Pavel Roskin <proski@gnu.org>
24733
24734 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24735 when scanning metadata for volume group name.
24736
24737 * include/grub/script.h: Don't include grub_script.tab.h. It's
24738 a generated file, which may only be included from the files with
24739 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24740 use union YYSTYPE, as the later allows forward declaration.
24741 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24742
24743 2008-05-29 Robert Millan <rmh@aybabtu.com>
24744
24745 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24746 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24747 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24748 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24749 scan codes.
24750
24751 2008-05-29 Robert Millan <rmh@aybabtu.com>
24752
24753 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24754 control key combinations.
24755
24756 2008-05-29 Robert Millan <rmh@aybabtu.com>
24757
24758 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24759 * util/ieee1275/grub-install.in: ... to here.
24760 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24761 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24762 (grub_install_SOURCES): Likewise.
24763
24764 2008-05-29 Robert Millan <rmh@aybabtu.com>
24765
24766 * fs/affs.c: Update copyright year.
24767 * fs/ext2.c: Likewise.
24768 * fs/fshelp.c: Likewise.
24769 * fs/hfsplus.c: Likewise.
24770 * fs/ntfs.c: Likewise.
24771 * fs/xfs.c: Likewise.
24772 * include/grub/fshelp.h: Likewise.
24773 * util/grub-mkdevicemap.c: Likewise.
24774
24775 2008-05-28 Robert Millan <rmh@aybabtu.com>
24776
24777 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24778 might need to be fatfs to support some firmware implementations
24779 (e.g. OFW or EFI).
24780
24781 2008-05-28 Robert Millan <rmh@aybabtu.com>
24782
24783 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24784 devices.
24785 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24786 (make_device_map): Likewise.
24787
24788 2008-05-20 Bean <bean123ch@gmail.com>
24789
24790 * fs/fshelp.c (grub_fshelp_map_block): New function.
24791 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24792 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24793
24794 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24795 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24796 (grub_fshelp_journal): New structure.
24797 (grub_fshelp_map_block): New function prototype.
24798 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24799 (grub_fshelp_map_block): Likewise.
24800
24801 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24802 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24803 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24804 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24805 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24806 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24807 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24808 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24809 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24810 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24811 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24812 (grub_ext2_sblock): New members for journal support.
24813 (grub_ext3_journal_header): New structure.
24814 (grub_ext3_journal_revoke_header): Likewise.
24815 (grub_ext3_journal_block_tag): Likewise.
24816 (grub_ext3_journal_sblock): Likewise.
24817 (grub_fshelp_node): New members logfile and journal.
24818 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24819 grub_fshelp_map_block to get real block number.
24820 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24821 number.
24822 (grub_ext2_read_inode): Likewise.
24823 (grub_ext3_get_journal): New function.
24824 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24825 (grub_ext2_close): Release memory used by journal.
24826
24827 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24828 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24829 (grub_reiserfs_transaction_header): Renamed to
24830 grub_reiserfs_description_block, replace field data with real_blocks.
24831 (grub_reiserfs_commit_block): New structure.
24832 (grub_reiserfs_data): New member journal.
24833 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24834 number.
24835 (grub_reiserfs_read_symlink): Likewise.
24836 (grub_reiserfs_iterate_dir): Likewise.
24837 (grub_reiserfs_open): Likewise.
24838 (grub_reiserfs_read): Likewise.
24839 (grub_reiserfs_get_journal): New function.
24840 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24841 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24842 using grub_reiserfs_get_journal.
24843 (grub_reiserfs_close): Release memory used by journal.
24844
24845 * fs/affs.c (grub_affs_read_block): Change block type to
24846 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24847
24848 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24849
24850 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24851
24852 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24853
24854 * fs/udf.c (grub_udf_read_block): Change block type to
24855 grub_disk_addr_t. Use type cast to avoid warning.
24856
24857 * fs/xfs.c (grub_xfs_read_block): Likewise.
24858
24859 2008-05-16 Christian Franke <franke@computer.org>
24860
24861 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24862 to ensure that break with ESC will always work.
24863 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24864 Remove ESC from keyboard queue.
24865
24866 2008-05-16 Christian Franke <franke@computer.org>
24867
24868 * util/biosdisk.c: [__CYGWIN__] Add includes.
24869 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24870 (get_os_disk): Move variable declarations to OS specific
24871 parts to avoid warning.
24872 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24873 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24874 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24875 Cygwin.
24876 * util/getroot.c: [__CYGWIN__] Add includes.
24877 (strip_extra_slashes): Fix "/" case.
24878 [__CYGWIN__] (get_win32_path): New function.
24879 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24880 [__CYGWIN__] (find_root_device): Disable.
24881 [__CYGWIN__] (get_bootsec_serial): New function.
24882 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24883 [__linux__] (grub_guess_root_device): Add early returns to simplify
24884 structure.
24885 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24886 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24887 check for Linux only.
24888
24889 2008-05-15 Bean <bean123ch@gmail.com>
24890
24891 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24892 keyboard hang problem in apple's intel mac.
24893
24894 2008-05-09 Robert Millan <rmh@aybabtu.com>
24895
24896 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24897 devices.
24898 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24899 (make_device_map): Likewise.
24900 Reported by Aurelien Jarno <aurel32@debian.org>
24901
24902 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24903
24904 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24905 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24906 (make_device_map): Output entries for xvd type disks.
24907
24908 2008-05-07 Robert Millan <rmh@aybabtu.com>
24909
24910 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24911 devices.
24912 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24913 (make_device_map): Likewise.
24914 Reported by Roland Dreier <rdreier@cisco.com>
24915
24916 2008-05-07 Robert Millan <rmh@aybabtu.com>
24917
24918 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24919 grub_strstr() call. Correct a few mistakes in failure path handling.
24920
24921 2008-05-06 Robert Millan <rmh@aybabtu.com>
24922
24923 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24924 Do not print a trailing slash (therefore, the root directory is an
24925 empty string).
24926 (convert_system_path_to_grub_path): Do not remove trailing slash
24927 from make_system_path_relative_to_its_root() output.
24928
24929 * util/i386/pc/grub-install.in: Add trailing slash to output from
24930 make_system_path_relative_to_its_root().
24931
24932 2008-05-06 Robert Millan <rmh@aybabtu.com>
24933
24934 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24935 ensures that output lines aren't intermangled with those sent to
24936 stderr (via grub_util_info()).
24937 * util/grub-probe.c (grub_refresh): Likewise.
24938 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24939
24940 2008-05-05 Christian Franke <franke@computer.org>
24941
24942 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24943 Add Cygwin device names.
24944 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24945 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24946 (check_device): Return error instead of success on empty name.
24947 (make_device_map): Move label inside linux specific code to
24948 prevent compiler warning.
24949
24950 2008-04-30 Robert Millan <rmh@aybabtu.com>
24951
24952 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24953 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24954 first boot option.
24955 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24956
24957 2008-04-29 Robert Millan <rmh@aybabtu.com>
24958
24959 * docs/grub.cfg: New file (example GRUB configuration).
24960
24961 2008-04-26 Robert Millan <rmh@aybabtu.com>
24962
24963 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24964 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24965 and `disk/ieee1275/nand.c'.
24966
24967 2008-04-25 Bean <bean123ch@gmail.com>
24968
24969 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24970 i386-linuxbios.
24971
24972 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24973 change the buffer size to 4096 for cdrom device.
24974
24975 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24976 and nand.mod.
24977 (_linux_mod_SOURCES): New variable.
24978 (_linux_mod_CFLAGS): Likewise.
24979 (_linux_mod_LDFLAGS): Likewise.
24980 (linux_mod_SOURCES): Likewise.
24981 (linux_mod_CFLAGS): Likewise.
24982 (linux_mod_LDFLAGS): Likewise.
24983 (nand_mod_SOURCES): Likewise.
24984 (nand_mod_CFLAGS): Likewise.
24985 (nand_mod_LDFLAGS): Likewise.
24986
24987 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24988 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24989 type property. (nand device in olpc don't have this property)
24990
24991 * include/grub/disk.h (grub_disk_dev_id): New macro
24992 GRUB_DISK_DEVICE_NAND_ID.
24993
24994 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24995 function prototype.
24996 (grub_rescue_cmd_initrd): Likewise.
24997
24998 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24999 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
25000 ofw_cif_handler and ofw_idt, adjust padding number.
25001
25002 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
25003 GRUB_MACHINE_IEEE1275 is defined.
25004
25005 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
25006 Use NESTED_FUNC_ATTR attribute on the hook parameter.
25007
25008 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
25009 on nested function heap_init.
25010 (grub_upper_mem): New variable for i386-ieee1275.
25011 (grub_get_extended_memory): New function for i386-ieee1275.
25012 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
25013
25014 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
25015 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
25016 property.
25017
25018 * loader/i386/ieee1275/linux.c: New file.
25019
25020 * loader/i386/ieee1275/linux_normal.c: New file.
25021
25022 * disk/ieee1275/nand.c: New file.
25023
25024 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
25025
25026 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
25027 value.
25028 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
25029
25030 2008-04-18 Robert Millan <rmh@aybabtu.com>
25031
25032 Restructures early code path on ieee1275 to unify grub_main() as
25033 the first C function that is executed in every platform.
25034
25035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
25036 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
25037 cmain().
25038 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
25039 * kern/ieee1275/cmain.c (cmain): Rename to ...
25040 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
25041 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
25042 at the beginning.
25043
25044 2008-04-18 Robert Millan <rmh@aybabtu.com>
25045
25046 * util/update-grub.in: Fix syntax error when setting
25047 `GRUB_PRELOAD_MODULES'.
25048 Reported by Stephane Chazelas <stephane@artesyncp.com>
25049
25050 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25051
25052 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25053 section into account, newer toolchains generate unique build ids
25054 * configure.ac: remove the test for --build-id=none acceptance,
25055 we want build ids to be preserved
25056 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25057 far from other sections don't cause the raw binary images grow
25058 size
25059
25060 2008-04-15 Robert Millan <rmh@aybabtu.com>
25061
25062 * disk/lvm.c: Update copyright year.
25063 * kern/misc.c: Likewise.
25064
25065 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25066
25067 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
25068 there is no memory left for physical volume name.
25069
25070 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25071
25072 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25073 volume name mapping to support bigger than 9 character names properly.
25074
25075 2008-04-13 Robert Millan <rmh@aybabtu.com>
25076
25077 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25078 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25079
25080 2008-04-13 Christian Franke <franke@computer.org>
25081
25082 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25083 to create a floppy emulation boot CD when non emulation mode
25084 does not work.
25085 Enable Joliet CD filesystem extension.
25086
25087 2008-04-13 Robert Millan <rmh@aybabtu.com>
25088
25089 * kern/misc.c (grub_strncat): Fix off-by-one error.
25090 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25091
25092 * kern/env.c (grub_env_context_close): Clear current context, not
25093 previous one.
25094 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25095
25096 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25097
25098 2008-04-13 Robert Millan <rmh@aybabtu.com>
25099
25100 Improve robustness when handling LVM.
25101
25102 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
25103 (and leave `*p' unmodified).
25104 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25105 through it.
25106 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25107 iterating through it.
25108 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25109 through it.
25110 (grub_lvm_scan_device): Check the return value (and fail gracefully
25111 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25112 Don't assume `vg->pvs != NULL' when iterating through it.
25113
25114 2008-04-13 Robert Millan <rmh@aybabtu.com>
25115
25116 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25117 * genmk.rb (partmap): New variable.
25118 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25119 (#{partmap}): New target rule.
25120 * genpartmaplist.sh: New file.
25121 * Makefile.in (pkglib_DATA): Add partmap.lst.
25122 (partmap.lst): New target rule.
25123 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25124 modules (including all partition maps), instead of preloading them.
25125
25126 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25127
25128 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25129 `linux-boot-prober' (if installed) to detect other operating
25130 systems which are installed on the computer and add them to
25131 the boot menu.
25132 * conf/common.rmk: Build and install 30_os-prober.
25133
25134 2008-04-12 Robert Millan <rmh@aybabtu.com>
25135
25136 * kern/powerpc/ieee1275/init.c: Move from here ...
25137 * kern/ieee1275/init.c: ... to here. Update all users.
25138
25139 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25140 * kern/ieee1275/cmain.c: ... to here. Update all users.
25141
25142 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25143 * kern/ieee1275/openfw.c: ... to here. Update all users.
25144
25145 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25146 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25147
25148 2008-04-10 Pavel Roskin <proski@gnu.org>
25149
25150 * configure.ac: Always use "_cv_" in cache variables for
25151 compatibility with Autoconf 2.62.
25152
25153 2008-04-07 Robert Millan <rmh@aybabtu.com>
25154
25155 Revert grub/machine/init.h addition by Pavel (since it breaks on
25156 i386-ieee1275 and others):
25157 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25158 * util/powerpc/ieee1275/misc.c: Likewise.
25159
25160 2008-04-07 Robert Millan <rmh@aybabtu.com>
25161
25162 * util/grub-probe.c (probe): Improve error message.
25163
25164 2008-04-07 Robert Millan <rmh@aybabtu.com>
25165
25166 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25167 (this prevents the presence of a bogus entry from ruining the whole
25168 thing).
25169
25170 2008-04-06 Pavel Roskin <proski@gnu.org>
25171
25172 * util/biosdisk.c: Include grub/util/biosdisk.h.
25173 * util/grub-fstest.c (execute_command): Make static.
25174 * util/grub-mkdevicemap.c (check_device): Likewise.
25175 * util/i386/pc/misc.c: Include grub/machine/init.h.
25176 * util/powerpc/ieee1275/misc.c: Likewise.
25177 * util/lvm.c: Include grub/util/lvm.h.
25178 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25179 grub/cache.h.
25180 * util/raid.c: Include grub/util/raid.h.
25181 (grub_util_getdiskname): Make static.
25182
25183 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25184 grub_hostfs_fini(), as they are called from grub_init_all() and
25185 grub_fini_all() respectively. This fixes an infinite loop in
25186 grub-fstest due to double registration of hostfs.
25187 Reported by Christian Franke <Christian.Franke@t-online.de>
25188
25189 2008-04-05 Pavel Roskin <proski@gnu.org>
25190
25191 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25192 all 8 functions. Otherwise, probe function 0 only.
25193
25194 2008-04-04 Pavel Roskin <proski@gnu.org>
25195
25196 * commands/lspci.c (grub_lspci_iter): Print the bus number
25197 correctly.
25198
25199 * commands/lspci.c (grub_pci_classes): Fix typos.
25200 (grub_lspci_iter): Don't print func twice. Print vendor ID
25201 before device ID, as it's normally done.
25202
25203 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25204 Fix signedness warnings.
25205 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25206 Likewise.
25207 * util/ieee1275/get_disk_name.c: Include config.h so that
25208 _GNU_SOURCE is defined and getline() is declared. Mark an
25209 unused argument as such. Fix a signedness warning.
25210
25211 2008-04-02 Pavel Roskin <proski@gnu.org>
25212
25213 * genkernsyms.sh.in: Use more robust assignments for CC and
25214 srcdir. Quote srcdir.
25215 * gensymlist.sh.in: Likewise. Assert at the compile time that
25216 the symbol table is not empty.
25217
25218 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25219 * fs/cpio.c (grub_cpio_read): Likewise.
25220
25221 2008-04-01 Pavel Roskin <proski@gnu.org>
25222
25223 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25224 * disk/host.c (grub_host_open): Likewise.
25225 * disk/loopback.c (grub_loopback_open): Likewise.
25226 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25227 disk->id as in disk/host.c, not a multi-character constant.
25228
25229 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25230 later is obsolete, potentially dangerous and sets a bad example.
25231 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25232 * util/misc.c (grub_util_get_image_size): Likewise.
25233
25234 * disk/loopback.c (options): Improve help for "--partitions".
25235
25236 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25237 options to align them with the short options, e.g. "echo -e".
25238
25239 2008-03-31 Bean <bean123ch@gmail.com>
25240
25241 * video/reader/png.c (grub_png_data): New member is_16bit and
25242 image_data.
25243 (grub_png_decode_image_header): Detect 16 bit png image.
25244 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25245 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25246 (grub_video_reader_png): Release memory occupied by image_data.
25247
25248 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25249 4096 bytes.
25250 (grub_nfs_mount): Skip the test for sector per cluster.
25251
25252 * include/grub/ntfs.h (MAX_SPC): Removed.
25253
25254 2008-03-31 Bean <bean123ch@gmail.com>
25255
25256 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25257 (grub_probe_SOURCES): Add fs/afs.c.
25258 (grub_fstest_SOURCES): Likewise.
25259 (afs_mod_SOURCES): New variable.
25260 (afs_mod_CFLAGS): Likewise.
25261 (afs_mod_LDFLAGS): Likewise.
25262
25263 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25264 (grub_emu_SOURCES): Likewise.
25265
25266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25267
25268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25269
25270 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25271
25272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25273
25274 * fs/afs.c: New file.
25275
25276 2008-03-30 Pavel Roskin <proski@gnu.org>
25277
25278 * disk/host.c: Include grub/misc.h to fix a warning.
25279 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25280 warnings about implicit declarations.
25281
25282 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25283 variable.
25284 * include/grub/i386/loader.h: Change declaration of
25285 grub_linux_boot() to match what grub_loader_set() expects.
25286 * util/getroot.c (grub_guess_root_device): Return const char* to
25287 fix a warning.
25288 * util/grub-probe.c (probe): Fix a warning about uninitialized
25289 abstraction_name variable.
25290 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25291 second argument as unused to fix a warning.
25292
25293 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25294 missing grub_error() call.
25295
25296 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25297 2.60 and newer uses it to define datadir.
25298
25299 * commands/sleep.c: Fix warning about implicit declaration.
25300 * disk/memdisk.c: Likewise.
25301 * loader/aout.c: Likewise.
25302 * loader/i386/bsd_normal.c: Likewise.
25303 * util/grub-probe.c: Likewise.
25304
25305 * commands/i386/cpuid.c (has_longmode): Make static.
25306 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25307 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25308
25309 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25310 GDT. This is more robust, as %ds can change.
25311 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25312 calling real_to_prot().
25313 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25314
25315 2008-03-28 Pavel Roskin <proski@gnu.org>
25316
25317 * kern/i386/pc/startup.S: Assert that uncompressed functions
25318 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25319 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25320 code, as they push parts of the code (error handlers) beyond
25321 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25322 code as correctness and size.
25323
25324 2008-03-28 Pavel Roskin <proski@gnu.org>
25325
25326 * kern/i386/pc/startup.S
25327 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25328 data block address to the real mode, keep offset minimal. This
25329 works around a bug in AWARD BIOS on old Athlon systems, which
25330 makes CD detection hang.
25331
25332 2008-03-26 Pavel Roskin <proski@gnu.org>
25333
25334 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25335 const.
25336 * include/grub/normal.h: Add grub_parse_color_name_pair()
25337 declaration.
25338
25339 2008-03-24 Bean <bean123ch@gmail.com>
25340
25341 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25342 (cd_count): Removed.
25343 (cd_drive): New variable.
25344 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25345 (grub_biosdisk_call_hook): Likewise.
25346 (grub_biosdisk_iterate): Change cdrom detection method.
25347 (grub_biosdisk_open): Replace cd_start with cd_drive.
25348 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25349 detect cdrom device.
25350
25351 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25352 Removed.
25353 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25354 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25355 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25356 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25357 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25358 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25359 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25360 (grub_biosdisk_cdrp): New structure.
25361 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25362
25363 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25364
25365 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25366 device.
25367
25368 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25369 New function.
25370
25371 2008-03-20 Robert Millan <rmh@aybabtu.com>
25372
25373 Remove 2 TiB limit in ata.mod.
25374 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25375 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25376 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25377 grub_uint64_t instead of grub_uint32_t.
25378
25379 2008-03-05 Bean <bean123ch@gmail.com>
25380
25381 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25382 (grub_multiboot): Set boot device.
25383
25384 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25385
25386 2008-03-02 Bean <bean123ch@gmail.com>
25387
25388 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25389 symlink_buffer.
25390
25391 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25392
25393 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25394 texinfo.tex.
25395
25396 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25397 modified.
25398
25399 * docs/fdl.texi: New file.
25400
25401 * docs/mdate-sh: New file. Copied from gnulib.
25402 * docs/texinfo.tex: Likewise.
25403
25404 * config.guess: Updated from gnulib.
25405 * install-sh: Likewise.
25406
25407 2008-02-28 Robert Millan <rmh@aybabtu.com>
25408
25409 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25410 (aout_mod_SOURCES): New variable.
25411 (aout_mod_CFLAGS): Likewise.
25412 (aout_mod_LDFLAGS): Likewise.
25413
25414 * conf/i386-ieee1275.rmk: Likewise.
25415
25416 2008-02-28 Robert Millan <rmh@aybabtu.com>
25417
25418 * util/update-grub.in: Reorganise terminal validity check. Accept
25419 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25420 Based on suggestion by Franklin PIAT.
25421
25422 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25423
25424 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25425 function.
25426 * util/getroot.c (grub_util_check_block_device): New function that
25427 returns the given argument if it is a block device and returns NULL else.
25428 * util/grub-probe.c (argument_is_device): New variable.
25429 (probe): Promote device_name from a variable to an argument. Receive
25430 device_name from grub_util_check_block_device() if path is NULL and from
25431 grub_guess_root_device() else. Do not free() device_name anymore.
25432 (options): Introduce new parameter '-d, --device'.
25433 (main): Add description of the new parameter to the help screen.
25434 Rename path variable to argument. Set argument_is_device if the '-d'
25435 option is given. Pass argument to probe() depending on
25436 argument_is_device.
25437
25438 2008-02-24 Bean <bean123ch@gmail.com>
25439
25440 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25441 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25442 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25443 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25444 (GRUB_ISO9660_VOLDESC_END): Likewise.
25445 (grub_iso9660_primary_voldesc): New member escape.
25446 (grub_iso9660_data): New member joliet.
25447 (grub_iso9660_convert_string): New function.
25448 (grub_iso9660_mount): Detect joliet extension.
25449 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25450 (grub_iso9660_iso9660_label): Likewise.
25451
25452 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25453 (grub_setup_SOURCES): Add fs/udf.c.
25454 (grub_fstest_SOURCES): Likewise.
25455 (udf_mod_SOURCES): New variable.
25456 (udf_mod_CFLAGS): Likewise.
25457 (udf_mod_LDFLAGS): Likewise.
25458
25459 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25460 (grub_emu_SOURCES): Likewise.
25461
25462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25463
25464 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25465
25466 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25467
25468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25469
25470 * fs/udf.c: New file.
25471
25472 2008-02-24 Robert Millan <rmh@aybabtu.com>
25473
25474 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25475 (normal/lexer.c_DEPENDENCIES): New variables.
25476 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25477 (normal/lexer.c_DEPENDENCIES): Likewise.
25478 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25479 (normal/lexer.c_DEPENDENCIES): Likewise.
25480 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25481 (normal/lexer.c_DEPENDENCIES): Likewise.
25482 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25483 (normal/lexer.c_DEPENDENCIES): Likewise.
25484 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25485 (normal/lexer.c_DEPENDENCIES): Likewise.
25486
25487 2008-02-23 Robert Millan <rmh@aybabtu.com>
25488
25489 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25490 since they were intended to be in hex. This didn't break previously
25491 because of a bug in gpt_partition_map_iterate() (see below).
25492
25493 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25494 when checking the validity of GPT header.
25495 Remove `partno', since it always provides the same information as `i'.
25496
25497 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25498
25499 * include/grub/efi/time.h: Fix a wrong comment.
25500
25501 2008-02-19 Pavel Roskin <proski@gnu.org>
25502
25503 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25504 message.
25505
25506 2008-02-19 Bean <bean123ch@gmail.com>
25507
25508 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25509 (aout_mod_SOURCES): New variable.
25510 (aout_mod_CFLAGS): Likewise.
25511 (aout_mod_LDFLAGS): Likewise.
25512 (_bsd_mod_SOURCES): New variable.
25513 (_bsd_mod_CFLAGS): Likewise.
25514 (_bsd_mod_LDFLAGS): Likewise.
25515 (bsd_mod_SOURCES): New variable.
25516 (bsd_mod_CFLAGS): Likewise.
25517 (bsd_mod_LDFLAGS): Likewise.
25518
25519 * include/grub/aout.h: New file.
25520
25521 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25522
25523 * include/grub/i386/bsd.h: New file.
25524
25525 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25526 to make it public.
25527
25528 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25529 function is called, so that it's possible to change it inside the hook.
25530 (grub_elf64_load): Likewise.
25531 (grub_elf_file): Don't close the file if elf header is not found.
25532 (grub_elf_close): Close the file if grub_elf_file fails (The new
25533 grub_elf_file won't close it).
25534 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25535 (grub_elf64_size): Likewise.
25536
25537 * kern/i386/loader.S (grub_unix_real_boot): New function.
25538
25539 * loader/aout.c: New file.
25540
25541 * loader/i386/bsd.c: New file.
25542
25543 * loader/i386/bsd_normal.c: New file.
25544
25545 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25546
25547 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25548 can test other formats.
25549
25550 2008-02-19 Robert Millan <rmh@aybabtu.com>
25551
25552 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25553 (grub_gpt_partition_type_empty): Redefine with macro from
25554 `<grub/gpt_partition.h>'.
25555 (gpt_partition_map_iterate): Adjust partition type comparison.
25556
25557 Export `entry' as partmap-specific `part.data' struct.
25558 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25559
25560 * include/grub/gpt_partition.h (grub_gpt_header)
25561 (grub_gpt_partentry): ... to here (new file).
25562
25563 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25564
25565 (grub_gpt_partition_type_bios_boot): New const variable, defined
25566 with macro from `<grub/gpt_partition.h>'.
25567
25568 (setup): Replace `first_start' with `embed_region', which keeps
25569 track of the embed region (and is partmap-agnostic).
25570
25571 Replace find_first_partition_start() with find_usable_region(),
25572 which finds a usable region for embedding using partmap-specific
25573 knowledge (supports PC/MSDOS and GPT).
25574
25575 Fix all assumptions that the embed region start at sector 1, using
25576 `embed_region.start' from now on. Similarly, use `embed_region.end'
25577 rather than `first_start' to calculate available size.
25578
25579 In grub_util_info() message, replace "into after the MBR" with an
25580 indication of the specific sector our embed region starts at.
25581
25582 2008-02-19 Robert Millan <rmh@aybabtu.com>
25583
25584 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25585 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25586 `commands/reboot.c'.
25587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25588 (halt_mod_SOURCES): Likewise.
25589 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25590 (halt_mod_SOURCES): Likewise.
25591
25592 2008-02-17 Christian Franke <franke@computer.org>
25593
25594 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25595
25596 2008-02-17 Robert Millan <rmh@aybabtu.com>
25597
25598 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25599 set `first_start' to 0 for non-PC/MSDOS partition maps.
25600
25601 2008-02-16 Robert Millan <rmh@aybabtu.com>
25602
25603 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25604 do not assume partition map is PC/MSDOS before performing checks that
25605 are specific to that layout.
25606
25607 2008-02-13 Robert Millan <rmh@aybabtu.com>
25608
25609 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25610 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25611 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25612
25613 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25614
25615 * configure.ac: Only a cosmetic change on the handling of
25616 -fno-stack-protector.
25617
25618 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25619
25620 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25621 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25622 reboot.c.
25623 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25624 (halt_mod_SOURCES): New variable.
25625 (halt_mod_CFLAGS): Likewise.
25626 (halt_mod_LDFLAGS): Likewise.
25627 (reboot_mod_SOURCES): Likewise.
25628 (reboot_mod_CFLAGS): Likewise.
25629 (reboot_mod_LDFLAGS): Likewise.
25630
25631 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25632 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25633 reboot.c.
25634 (halt_mod_SOURCES): Likewise.
25635 (reboot_mod_SOURCES): Likewise.
25636
25637 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25638 commands/i386/pc/reboot.c by commands/reboot.c.
25639 (reboot_mod_SOURCES): Likewise.
25640
25641 * commands/i386/pc/reboot.c: merge this file ...
25642
25643 * commands/ieee1275/reboot.c: ... and this file ...
25644
25645 * commands/reboot.c: ... to this file.
25646 Add some precompiler directive to include the correct header for
25647 each machine.
25648
25649 * commands/ieee1275/halt.c: move this file ...
25650
25651 * commands/halt.c: ... to here.
25652 Add some precompiler directive to include the correct header for
25653 each machine.
25654
25655 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25656 (grub_halt): Likewise.
25657
25658 * kern/efi/efi.c (grub_reboot): New function.
25659 (grub_halt): Likewise.
25660
25661 2008-02-12 Robert Millan <rmh@aybabtu.com>
25662
25663 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25664 /dev (like it is done for /dev/mapper). This doesn't provide support
25665 for EVMS, but at least it is now easy to identify the problem when it
25666 arises.
25667
25668 2008-02-11 Robert Millan <rmh@aybabtu.com>
25669
25670 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25671 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25672 comparing it with -1, not 0.
25673
25674 2008-02-10 Robert Millan <rmh@aybabtu.com>
25675
25676 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25677 `disk/lvm.c'.
25678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25679 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25680
25681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25682 `disk/lvm.c' to the end of the list.
25683 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25684 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25685
25686 2008-02-10 Robert Millan <rmh@aybabtu.com>
25687
25688 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25689 grub_print_error() instead. This will let user know why we're entering
25690 rescue mode.
25691 Based on suggestions from Sam Morris.
25692
25693 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25694
25695 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25696 on remaining N args, instead of "--" arg N times.
25697
25698 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25699
25700 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25701 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25702 pattern for unknown glyphs.
25703
25704 2008-02-09 Robert Millan <rmh@aybabtu.com>
25705
25706 * configure.ac: Probe for `help2man'.
25707 * Makefile.in (builddir): New variable.
25708 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25709 or otherwise add a few flags/options to it.
25710 (install-local): For every executable utility or script that is
25711 installed, invoke $(HELP2MAN) to install a manpage based on --help
25712 output.
25713
25714 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25715 that it doesn't prevent --help from working in build tree.
25716
25717 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25718 with `bug-grub@gnu.org'.
25719 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25720 * util/update-grub.in (usage): New function.
25721 Implement proper argument check, with support for --help and --version
25722 (as well as existing -y).
25723
25724 2008-02-09 Christian Franke <franke@computer.org>
25725
25726 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25727 avoid overwriting previous output.
25728 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25729
25730 2008-02-09 Robert Millan <rmh@aybabtu.com>
25731
25732 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25733 drawing the menu.
25734
25735 2008-02-09 Robert Millan <rmh@aybabtu.com>
25736
25737 * commands/sleep.c: New file.
25738 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25739 (sleep_mod_SOURCES): New variable.
25740 (sleep_mod_CFLAGS): Likewise.
25741 (sleep_mod_LDFLAGS): Likewise.
25742
25743 2008-02-09 Robert Millan <rmh@aybabtu.com>
25744
25745 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25746 situations in which we can deduce the RAID size and the superblock
25747 doesn't match it.
25748
25749 2008-02-09 Robert Millan <rmh@aybabtu.com>
25750
25751 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25752 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25753 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25754
25755 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25756 and return a grub_diskmemberlist_t composed of physical array members.
25757 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25758
25759 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25760 prototype.
25761 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25762 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25763 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25764
25765 * util/grub-probe.c (probe): Move partmap probing code from here ...
25766 (probe_partmap): ... to here.
25767 (probe): Use probe_partmap() once for the disk we're probing, and
25768 additionally, when such disk contains a memberlist() struct member,
25769 once for each disk that is contained in the structure returned by
25770 memberlist().
25771
25772 2008-02-09 Robert Millan <rmh@aybabtu.com>
25773
25774 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25775 environment variable to 'all' in order to obtain debug output from
25776 non-util/ code.
25777 * util/i386/pc/grub-setup.c (main): Likewise.
25778
25779 2008-02-08 Robert Millan <rmh@aybabtu.com>
25780
25781 * disk/raid.c (grub_raid_scan_device): Check for
25782 `array->device[sb.this_disk.number]' rather than for
25783 `array->device[sb.this_disk.number]->name', since the latter is not
25784 guaranteed to be accessible.
25785
25786 2008-02-08 Robert Millan <rmh@aybabtu.com>
25787
25788 * disk/raid.c: Update copyright.
25789 * fs/cpio.c: Likewise.
25790 * include/grub/raid.h: Likewise.
25791 * loader/i386/pc/multiboot.c: Likewise.
25792 * util/hostfs.c: Likewise.
25793
25794 2008-02-08 Robert Millan <rmh@aybabtu.com>
25795
25796 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25797 to a grub_disk_t array.
25798 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25799 `device[x]'.
25800 (grub_raid_scan_device): Replace `device[x].name' accesses with
25801 `device[x]->name'. Simplify initialization of `array->device[x]'.
25802
25803 2008-02-08 Robert Millan <rmh@aybabtu.com>
25804
25805 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25806 grub_dprintf() calls.
25807 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25808 error message.
25809
25810 2008-02-07 Christian Franke <franke@computer.org>
25811
25812 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25813 instead of fseek and ftell to support large files.
25814 (grub_hostfs_read): Likewise.
25815
25816 2008-02-07 Robert Millan <rmh@aybabtu.com>
25817
25818 Patch from Jeroen Dekkers.
25819 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25820 failure, since successfully reading all array members might not be
25821 required.
25822
25823 2008-02-06 Robert Millan <rmh@aybabtu.com>
25824
25825 * util/grub-probe.c (probe): Simplify partmap probing (with the
25826 assumption that the first word up to the underscore equals to
25827 the module name).
25828
25829 2008-02-06 Christian Franke <franke@computer.org>
25830
25831 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25832 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25833 last block of a cpio or tar stream.
25834 Check for "TRAILER!!!" instead of any empty data
25835 block to detect last block of a cpio stream.
25836 (grub_cpio_dir): Fix constness of variable np.
25837 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25838 cpio or tar trailer is detected. This fixes a crash
25839 on open of a non existing file.
25840
25841 2008-02-05 Bean <bean123ch@gmail.com>
25842
25843 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25844 address of entry.
25845 (grub_multiboot_load_elf64): Likewise.
25846 (grub_multiboot): Initialize mbi structure.
25847
25848 * util/grub-fstest.c: Don't include unused header file script.h.
25849
25850 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25851 of file.
25852 (grub_fstest_SOURCES): Likewise.
25853
25854 2008-02-05 Robert Millan <rmh@aybabtu.com>
25855
25856 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25857 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25858 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25859 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25860
25861 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25862 (translation_table): Replace hardcoded values with macros
25863 provided by `<grub/term.h>'.
25864
25865 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25866 (keyboard_map): Correct/add a few values, with macros provided
25867 by `<grub/term.h>'.
25868 (keyboard_map_shift): Zero values that don't differ from their
25869 `keyboard_map' equivalents.
25870 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25871 Discard the second scan code that is always sent by Caps lock.
25872 Only use `keyboard_map_shift' when it provides a non-zero value,
25873 otherwise fallback to `keyboard_map'.
25874
25875 2008-02-04 Bean <bean123ch@gmail.com>
25876
25877 * Makefile.in (enable_grub_fstest): New variable.
25878
25879 * conf/common.rmk (grub_fstest_init.lst): New rule.
25880 (grub_fstest_init.h): Likewise.
25881 (grub_fstest_init.c): Likewise.
25882 (util/grub-fstest.c_DEPENDENCIES): New variable.
25883 (grub_fstest_SOURCES): Likewise.
25884
25885 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25886
25887 * util/grub-fstest.c: New file.
25888
25889 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25890
25891 Make grub-setup handle a separate root device.
25892
25893 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25894 so that the root device can be compared with the destination
25895 device.
25896 When embedding the core image, if the root and destination devices
25897 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25898 0xFF.
25899 When not embedding, set ROOT_DRIVE to 0xFF.
25900
25901 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25902
25903 Add support for having a grub directory in a different drive. This
25904 is still only the data handling part.
25905
25906 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25907 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25908 (grub_root_drive): New variable.
25909
25910 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25911 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25912 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25913 as it was.
25914
25915 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25916
25917 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25918 macro.
25919 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25920
25921 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25922 is bogus, because PXE booting does not specify any drive
25923 correctly.
25924
25925 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25926 am not sure if this is really correct.
25927
25928 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25929 is always identical to the boot drive when booting from a CD.
25930
25931 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25932 longer.
25933 (root_drive): New variable.
25934 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25935 (setup_sectors): Push %dx right after popping it, because %dh will
25936 be modified later.
25937 (copy_buffer): Restore %dx.
25938
25939 2008-02-03 Robert Millan <rmh@aybabtu.com>
25940
25941 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25942 use `cdboot.img' for cdrom images.
25943
25944 2008-02-03 Robert Millan <rmh@aybabtu.com>
25945
25946 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25947 only setup gfxterm when `font' command has succeeded.
25948
25949 2008-02-03 Robert Millan <rmh@aybabtu.com>
25950
25951 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25952 (grub_rescue_cmd_multiboot_loader)
25953 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25954
25955 2008-02-03 Pavel Roskin <proski@gnu.org>
25956
25957 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25958 %edx and %esi from stack only after grub_gate_a20() is called.
25959 grub_gate_a20() clobbers %edx.
25960
25961 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25962
25963 * configure.ac (AC_INIT): Bumped to 1.96.
25964
25965 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25966 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25967 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25968 video/readers/png.c.
25969
25970 2008-02-03 Bean <bean123ch@gmail.com>
25971
25972 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25973 (cdboot_img_SOURCES): New variable.
25974 (cdboot_img_ASFLAGS): New variable.
25975 (cdboot_img_LDFLAGS): New variable.
25976
25977 * boot/i386/pc/cdboot.S: New file.
25978
25979 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25980 (cd_count): Likewise.
25981 (grub_biosdisk_get_drive): Add support for cd device.
25982 (grub_biosdisk_call_hook): Likewise.
25983 (grub_biosdisk_iterate): Likewise.
25984 (grub_biosdisk_open): Likewise.
25985 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25986 (grub_biosdisk_rw): Support reading from cd device.
25987 (GRUB_MOD_INIT): Iterate cd devices.
25988
25989 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25990 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25991 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25992
25993 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25994
25995 2008-02-02 Robert Millan <rmh@aybabtu.com>
25996
25997 * commands/read.c: New file.
25998 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25999 (read_mod_SOURCES): New variable.
26000 (read_mod_CFLAGS): Likewise.
26001 (read_mod_LDFLAGS): Likewise.
26002
26003 2008-02-02 Robert Millan <rmh@aybabtu.com>
26004
26005 * normal/main.c (grub_normal_execute): Check for `menu->size' when
26006 determining whether menu has to be displayed.
26007
26008 2008-02-02 Marco Gerards <marco@gnu.org>
26009
26010 * bus/pci.c: New file.
26011
26012 * include/grub/pci.h: Likewise.
26013
26014 * include/grub/i386/pc/pci.h: Likewise.
26015
26016 * commands/lspci.c: Likewise.
26017
26018 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
26019 `lspci.mod'.
26020 (pci_mod_SOURCES): New variable.
26021 (pci_mod_CFLAGS): Likewise.
26022 (pci_mod_LDFLAGS): Likewise.
26023 (lspci_mod_SOURCES): Likewise.
26024 (lspci_mod_CFLAGS): Likewise.
26025 (lspci_mod_LDFLAGS): Likewise.
26026
26027 2008-02-02 Bean <bean123ch@gmail.com>
26028
26029 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
26030 (grub_ufs_get_file_block): Fix indirect block calculation problem.
26031
26032 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
26033 (grub_xfs_btree_node): New structure.
26034 (grub_xfs_btree_root): New structure.
26035 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
26036 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
26037 (GRUB_XFS_EXTENT_BLOCK): Likewise.
26038 (GRUB_XFS_EXTENT_SIZE): Likewise.
26039 (grub_xfs_read_block): Support btree format type.
26040 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
26041 Use directory block as basic unit.
26042
26043 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
26044
26045 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26046 __attribute__ ((__regparm__ (1))).
26047
26048 2008-02-01 Robert Millan <rmh@aybabtu.com>
26049
26050 Correct a mistake in previous commit.
26051
26052 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26053 top.
26054 (normal/command.c_DEPENDENCIES): New variable.
26055
26056 2008-02-01 Robert Millan <rmh@aybabtu.com>
26057
26058 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26059 top.
26060 (normal/command.c_DEPENDENCIES): New variable.
26061 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26062 * conf/i386-ieee1275.rmk: Likewise.
26063 * conf/i386-linuxbios.rmk: Likewise.
26064 * conf/i386-pc.rmk: Likewise.
26065 * conf/sparc64-ieee1275.rmk: Likewise.
26066 * conf/powerpc-ieee1275.rmk: Likewise.
26067 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26068
26069 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26070
26071 2008-02-01 Robert Millan <rmh@aybabtu.com>
26072
26073 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26074 call at beginning of function.
26075
26076 2008-01-31 Pavel Roskin <proski@gnu.org>
26077
26078 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
26079 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26080 (grub_mkrescue_SOURCES): Likewise.
26081 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26082
26083 2008-01-30 Robert Millan <rmh@aybabtu.com>
26084
26085 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26086 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26087 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26088 (grub_probe_SOURCES): ... to here.
26089
26090 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26091 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26092 * conf/i386-ieee1275.rmk: Likewise.
26093 * conf/i386-linuxbios.rmk: Likewise.
26094 * conf/powerpc-ieee1275.rmk: Likewise.
26095
26096 2008-01-30 Tristan Gingold <gingold@free.fr>
26097
26098 * kern/rescue.c: Silently accept empty lines.
26099
26100 2008-01-29 Bean <bean123ch@gmail.com>
26101
26102 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26103 (real_code_2): Code cleanup and change comment style.
26104 (move_memory): Avoid using 32-bit address mode.
26105
26106 2008-01-29 Bean <bean123ch@gmail.com>
26107
26108 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26109 (png_mod_SOURCES): New variable.
26110 (png_mod_CFLAGS): Likewise.
26111 (png_mod_LDFLAGS): Likewise.
26112
26113 * video/readers/png.c: New file.
26114
26115 2008-01-28 Robert Millan <rmh@aybabtu.com>
26116
26117 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26118 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26119 `ifndef GRUB_MOD_GAP' hack.
26120 * util/elf/grub-mkimage.c (add_segments): Likewise.
26121
26122 2008-01-27 Robert Millan <rmh@aybabtu.com>
26123
26124 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26125 `GRUB_MOD_GAP' for platforms in which it's not defined.
26126 * util/elf/grub-mkimage.c (add_segments): Likewise.
26127
26128 2008-01-27 Robert Millan <rmh@aybabtu.com>
26129
26130 Get grub-emu to build again (including parallel builds).
26131
26132 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26133 Split into ...
26134 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26135 (normal/execute.c_DEPENDENCIES): ... this, ...
26136 (grub-emu_DEPENDENCIES): ... and this.
26137
26138 * conf/i386-efi.rmk: Likewise.
26139 * conf/i386-linuxbios.rmk: Likewise.
26140 * conf/i386-ieee1275.rmk: Likewise.
26141 * conf/powerpc-ieee1275.rmk: Likewise.
26142 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26143
26144 2008-01-27 Robert Millan <rmh@aybabtu.com>
26145
26146 * NEWS: Add a few items.
26147
26148 2008-01-27 Robert Millan <rmh@aybabtu.com>
26149
26150 Fix parallel builds with grub-emu. Based on earlier commit for
26151 grub-probe and grub-setup.
26152
26153 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26154 (util/grub-emu.c_DEPENDENCIES): ... this.
26155 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26156 (util/grub-emu.c_DEPENDENCIES): ... this.
26157 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26158 (util/grub-emu.c_DEPENDENCIES): ... this.
26159 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26160 (util/grub-emu.c_DEPENDENCIES): ... this.
26161 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26162 (util/grub-emu.c_DEPENDENCIES): ... this.
26163
26164 2008-01-27 Pavel Roskin <proski@gnu.org>
26165
26166 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26167 to create a gap between _end and the modules added to the image
26168 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26169 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26170 * util/elf/grub-mkimage.c (add_segments): Likewise.
26171
26172 2008-01-26 Pavel Roskin <proski@gnu.org>
26173
26174 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26175 just return an error.
26176
26177 2008-01-26 Bean <bean123ch@gmail.com>
26178
26179 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26180 (grub_reiserfs_get_item): Save offset of the next item.
26181 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26182
26183 2008-01-25 Robert Millan <rmh@aybabtu.com>
26184
26185 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26186 make all filesystem sources appear together (possibly fixing omissions
26187 while at it).
26188 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26189 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26190 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26192
26193 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26194 add `kern/file.c'.
26195 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26196 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26197 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26198 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26199
26200 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26201 (probe): Add a sanity check to make sure of our ability to read
26202 requested files when probing for filesystem type.
26203
26204 * genmk.rb: Update copyright year (2007).
26205
26206 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26207 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26208 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26209 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26210 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26211 : Remove function prototypes.
26212
26213 2008-01-25 Robert Millan <rmh@aybabtu.com>
26214
26215 Revert my previous commits (based on wrong assumption of how grub_errno
26216 works).
26217
26218 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
26219 * kern/file.c (grub_file_open): Likewise.
26220
26221 2008-01-24 Pavel Roskin <proski@gnu.org>
26222
26223 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26224 that hang if GRUB tries to setup colors.
26225 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26226 colors for firmwares that don't support it.
26227 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26228 Recognize Open Hack'Ware, set flags to work around its
26229 limitations.
26230
26231 2008-01-24 Robert Millan <rmh@aybabtu.com>
26232
26233 * kern/file.c (grub_file_open): Do not account previous failures of
26234 unrelated functions when grub_errno is checked for.
26235 Reported by Oleg Strikov.
26236
26237 2008-01-24 Bean <bean123ch@gmail.com>
26238
26239 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26240 (grub_ufs_sblock): New member volume name.
26241 (grub_ufs_find_file): Fix string copy bug.
26242 (grub_ufs_label): Implement this function properly.
26243
26244 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26245 (grub_hfs_iterate_records): Use the correct file number for extents
26246 and catalog file. Fix problem in next index calculation.
26247 (grub_hfs_find_node): Replace recursive function call with loop.
26248 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26249
26250 2008-01-23 Robert Millan <rmh@aybabtu.com>
26251
26252 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26253 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26254 (grub_multiboot2_real_boot): New function prototype.
26255
26256 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26257 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26258
26259 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26260 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26261
26262 2008-01-23 Robert Millan <rmh@aybabtu.com>
26263
26264 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26265 #ifdef'ed out grub_printf().
26266
26267 2008-01-23 Robert Millan <rmh@aybabtu.com>
26268
26269 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26270 grub_dprintf calls, since they make "debug=all" mode unusable.
26271 (grub_console_checkkey): Likewise.
26272
26273 2008-01-23 Robert Millan <rmh@aybabtu.com>
26274
26275 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26276 `term/i386/pc/at_keyboard.c'.
26277 (pkglib_MODULES): Add `serial.mod'.
26278 (serial_mod_SOURCES): New variable.
26279 (serial_mod_CFLAGS): Likewise.
26280 (serial_mod_LDFLAGS): Likewise.
26281
26282 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26283 `<grub/powerpc/ieee1275/console.h>'.
26284 (grub_keyboard_controller_init): New function prototype.
26285 (grub_console_checkkey): Likewise.
26286 (grub_console_getkey): Likewise.
26287
26288 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26289 keyboard on i386.
26290
26291 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26292 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26293
26294 2008-01-23 Robert Millan <rmh@aybabtu.com>
26295
26296 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26297 present, "(memdisk)/boot/grub" becomes the default prefix.
26298
26299 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26300 a memdisk tarball with all the modules. Add --overlay=DIR option that
26301 allows users to overlay additional files into the image.
26302
26303 2008-01-23 Robert Millan <rmh@aybabtu.com>
26304
26305 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26306 and `machine/memory.h'.
26307 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26308 (_multiboot_mod_SOURCES): New variable.
26309 (_multiboot_mod_CFLAGS): Likewise.
26310 (_multiboot_mod_LDFLAGS): Likewise.
26311 (multiboot_mod_SOURCES): Likewise.
26312 (multiboot_mod_CFLAGS): Likewise.
26313 (multiboot_mod_LDFLAGS): Likewise.
26314
26315 * include/grub/i386/ieee1275/loader.h: New file.
26316
26317 * include/grub/i386/ieee1275/machine.h: Likewise.
26318
26319 * include/grub/i386/ieee1275/memory.h: Likewise.
26320
26321 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26322 variable declaration.
26323 (grub_os_area_size): Likewise.
26324
26325 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26326 (grub_lower_mem, grub_upper_mem): New variables.
26327 (grub_stop_floppy): New function (just to make
26328 grub_multiboot2_real_boot() happy).
26329
26330 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26331 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26332 (grub_stop): New function.
26333 Include `"../realmode.S"' and `"../loader.S"'.
26334
26335 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26336 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26337
26338 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26339 rely on grub_multiboot2_real_boot() for final boot.
26340
26341 2008-01-22 Robert Millan <rmh@aybabtu.com>
26342
26343 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26344 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26345 device that doesn't look like an SD card.
26346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26347 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26348 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26349 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26350 found.
26351
26352 2008-01-22 Robert Millan <rmh@aybabtu.com>
26353
26354 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26355 avoid claiming over our own code.
26356
26357 2008-01-22 Bean <bean123ch@gmail.com>
26358
26359 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26360 (jpeg_mod_SOURCES): New variable.
26361 (jpeg_mod_CFLAGS): Likewise.
26362 (jpeg_mod_LDFLAGS): Likewise.
26363
26364 * video/readers/jpeg.c : New file.
26365
26366 2008-01-22 Bean <bean123ch@gmail.com>
26367
26368 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26369 there are no more items.
26370
26371 2008-01-21 Robert Millan <rmh@aybabtu.com>
26372
26373 * kern/mm.c (grub_mm_init_region): Improve debug message.
26374
26375 2008-01-21 Robert Millan <rmh@aybabtu.com>
26376
26377 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26378 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26379 address.
26380 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26381 a C macro.
26382 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26383 Indicates start of upper memory.
26384 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26385 (generate_image): Abort when image size is big enough to corrupt
26386 upper memory.
26387
26388 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26389 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26390 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26391 instead of hardcoding 0xA0000.
26392 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26393 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26394 instead of hardcoding 0xA0000.
26395
26396 2008-01-21 Robert Millan <rmh@aybabtu.com>
26397
26398 * disk/memdisk.c (memdisk_size): New variable.
26399 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26400 `memdisk_size'.
26401 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26402 image to dynamic memory.
26403 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26404 `memdisk_size'. Free memdisk block.
26405
26406 2008-01-21 Robert Millan <rmh@aybabtu.com>
26407
26408 Fix detection of very small filesystems (like tar).
26409
26410 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26411 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26412 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26413 a problem with this disk).
26414
26415 2008-01-21 Robert Millan <rmh@aybabtu.com>
26416
26417 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26418 on grub_biosdisk_rw_standard() error.
26419
26420 2008-01-21 Robert Millan <rmh@aybabtu.com>
26421
26422 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26423 recent changes.
26424 * kern/elf.c: Likewise.
26425 * kern/ieee1275/ieee1275.c: Likewise.
26426 * kern/powerpc/ieee1275/openfw.c: Likewise.
26427 * term/ieee1275/ofconsole.c: Likewise.
26428
26429 2008-01-21 Robert Millan <rmh@aybabtu.com>
26430
26431 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26432
26433 * include/grub/kernel.h (grub_arch_memdisk_addr)
26434 (grub_arch_memdisk_size): Moved from here ...
26435
26436 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26437 (grub_arch_memdisk_size): ... to here.
26438
26439 2008-01-21 Robert Millan <rmh@aybabtu.com>
26440
26441 Mostly based on bugfix from Bean.
26442
26443 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26444 attribute with hook() parameter.
26445 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26446 declaration.
26447 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26448 attribute with hook() parameter.
26449 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26450 declaration.
26451
26452 2008-01-21 Robert Millan <rmh@aybabtu.com>
26453
26454 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26455 (pkglib_MODULES): Add `memdisk.mod'.
26456 (memdisk_mod_SOURCES): New variable.
26457 (memdisk_mod_CFLAGS): Likewise.
26458 (memdisk_mod_LDFLAGS): Likewise.
26459
26460 * disk/memdisk.c: New file.
26461
26462 * include/grub/disk.h (grub_disk_dev_id): Add
26463 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26464
26465 * include/grub/i386/pc/kernel.h
26466 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26467 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26468 (grub_kernel_image_size): New variable declaration.
26469 (grub_total_module_size): Likewise.
26470 (grub_memdisk_image_size): Likewise.
26471
26472 * include/grub/i386/pc/memory.h
26473 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26474
26475 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26476 (grub_arch_memdisk_addr): New variable declaration.
26477 (grub_arch_memdisk_size): Likewise.
26478
26479 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26480 (grub_arch_memdisk_size): Likewise.
26481
26482 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26483 (codestart): Replace hardcoded `0x100000' with
26484 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26485
26486 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26487 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26488 not NULL, append the contents of the file it refers to, at the end of
26489 the compressed kernel image. Initialize `grub_memdisk_image_size'
26490 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26491 (options): Add "memdisk"|'m' option.
26492 (main): Parse --memdisk|-m option, and pass user-provided path as
26493 parameter to generate_image().
26494
26495 2008-01-20 Robert Millan <rmh@aybabtu.com>
26496
26497 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26498 grub_dprintf() calls from here ...
26499 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26500
26501 2008-01-20 Robert Millan <rmh@aybabtu.com>
26502
26503 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26504
26505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26506 declaration.
26507 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26508 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26509 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26510 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26511 property).
26512 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26513 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26514
26515 2008-01-19 Robert Millan <rmh@aybabtu.com>
26516
26517 Get rid of confusing function (superseded by
26518 `grub_ieee1275_get_integer_property')
26519 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26520 prototype.
26521 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26522 function.
26523 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26524 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26525 in native endianness from grub_ieee1275_get_integer_property().
26526
26527 2008-01-19 Robert Millan <rmh@aybabtu.com>
26528
26529 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26530 command after "shut-down", since implementations differ on which
26531 the command for halt is.
26532
26533 2008-01-19 Robert Millan <rmh@aybabtu.com>
26534
26535 * include/grub/i386/linuxbios/console.h: Add header protection.
26536 (grub_keyboard_controller_init): New function prototype.
26537 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26538 (KEYBOARD_COMMAND_READ): Likewise.
26539 (KEYBOARD_COMMAND_WRITE): Likewise.
26540 (KEYBOARD_SCANCODE_SET1): Likewise.
26541 (grub_keyboard_controller_write): New function.
26542 (grub_keyboard_controller_read): Likewise.
26543 (grub_keyboard_controller_init): Likewise.
26544
26545 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26546 (grub_console_init): On coreboot/LinuxBIOS, call
26547 grub_keyboard_controller_init().
26548
26549 2008-01-19 Robert Millan <rmh@aybabtu.com>
26550
26551 PowerPC changes provided by Pavel Roskin.
26552
26553 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26554 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26555 don't rely on cmain() doing it.
26556 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26557 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26558
26559 2008-01-16 Robert Millan <rmh@aybabtu.com>
26560
26561 * include/grub/i386/linuxbios/memory.h
26562 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26563 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26564 receive `table_header' as argument. Instead, probe for it in the
26565 known memory ranges where it can be present.
26566 (grub_available_iterate): Do not pass a fixed `table_header' address
26567 to grub_linuxbios_table_iterate().
26568
26569 2008-01-15 Robert Millan <rmh@aybabtu.com>
26570
26571 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26572 * conf/i386-ieee1275.rmk: New file.
26573 * include/grub/i386/ieee1275/console.h: Likewise.
26574 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26575 * include/grub/i386/ieee1275/kernel.h: Likewise.
26576 * include/grub/i386/ieee1275/time.h: Likewise.
26577 * kern/i386/ieee1275/init.c: Likewise.
26578 * kern/i386/ieee1275/startup.S: Likewise.
26579
26580 2008-01-15 Robert Millan <rmh@aybabtu.com>
26581
26582 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26583 when pointers are 32-bit (but still do set it to one when they are
26584 64-bit).
26585
26586 2008-01-15 Robert Millan <rmh@aybabtu.com>
26587
26588 * include/grub/ieee1275/ieee1275.h
26589 (grub_ieee1275_get_integer_property): New function prototype.
26590
26591 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26592 (grub_ieee1275_get_integer_property): New function. Wraps around
26593 grub_ieee1275_get_property() to handle endianness.
26594
26595 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26596 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26597 where appropriate.
26598 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26599 (grub_map): Likewise.
26600 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26601
26602 2008-01-15 Bean <bean123ch@gmail.com>
26603
26604 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26605 (grub_script_execute_cmdline): Reset grub_errno.
26606
26607 * normal/main.c (read_config_file): Reset grub_errno.
26608
26609 * normal/parse.y (script_init): New.
26610 (script): Move function and menuentry here.
26611 (delimiter): New.
26612 (command): Add delimiter at the end of command.
26613 (commands): Adjust to match the new command.
26614 (commandblock): Remove grub_script_lexer_record_start.
26615 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26616 (if): Use the new commands.
26617
26618 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26619
26620 2008-01-15 Robert Millan <rmh@aybabtu.com>
26621
26622 * normal/menu.c (run_menu): Move timeout message from here ...
26623 (print_timeout): ... to here.
26624 (run_menu): Use print_timeout() once during initial draw to print
26625 the whole message, and again in every clock tick to update only
26626 the number of seconds.
26627
26628 2008-01-15 Robert Millan <rmh@aybabtu.com>
26629
26630 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26631 actual size of `available' from grub_ieee1275_get_property(), and
26632 restrict parsing to that bound.
26633
26634 2008-01-15 Christian Franke <franke@computer.org>
26635
26636 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26637 (argp_program_version): Remove variable.
26638 (argp_program_bug_address): Likewise.
26639 (options): Convert from struct argp_option to struct option.
26640 (struct arguments): Remove.
26641 (parse_opt): Remove.
26642 (usage): New function.
26643 (main): Replace struct args members by simple variables.
26644 Replace argp_parse() by getopt_long().
26645 Add switch to evaluate options.
26646 Add missing "(...)" around root_dev in prefix string.
26647
26648 2008-01-14 Robert Millan <rmh@aybabtu.com>
26649
26650 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26651 for grub_ieee1275_exit(), in order to improve portability.
26652
26653 2008-01-14 Robert Millan <rmh@aybabtu.com>
26654
26655 * util/grub.d/10_linux.in (prefix): Define.
26656 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26657
26658 2008-01-13 Pavel Roskin <proski@gnu.org>
26659
26660 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26661 grub_errno if no errors have been detected.
26662
26663 2008-01-12 Robert Millan <rmh@aybabtu.com>
26664
26665 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26666 (grub_util_get_dev_abstraction): New function prototype.
26667
26668 * util/getroot.c: Include `<grub/util/getroot.h>'
26669 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26670 (grub_util_get_dev_abstraction): ... here (new function).
26671
26672 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26673 `PRINT_ABSTRACTION'.
26674 (probe): Probe for abstraction type when requested.
26675 (main): Understand `--target=abstraction'.
26676
26677 * util/i386/efi/grub-install.in: Add abstraction module to core
26678 image when it is found to be necessary.
26679 * util/i386/pc/grub-install.in: Likewise.
26680 * util/powerpc/ieee1275/grub-install.in: Likewise.
26681
26682 * util/update-grub_lib.in (font_path): Return system path without
26683 converting to GRUB path.
26684 * util/update-grub.in: Convert system path returned by font_path()
26685 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26686 abstraction module is needed for loading fonts (if any). Export
26687 that as `GRUB_PRELOAD_MODULES'.
26688 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26689 insmod commands).
26690
26691 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26692
26693 Remove some unused code from reiserfs.
26694
26695 * fs/reiserfs.c (struct grub_reiserfs_key)
26696 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26697 (struct grub_reiserfs_node_body): Removed.
26698 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26699 Likewise.
26700 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26701 Likewise.
26702 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26703 Likewise.
26704 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26705 Likewise.
26706 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26707 Likewise.
26708 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26709 Likewise.
26710 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26711 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26712 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26713
26714 2008-01-10 Robert Millan <rmh@aybabtu.com>
26715
26716 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26717 Determines if a file is garbage left by packaging systems, etc.
26718 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26719 for processing /etc/grub.d scripts.
26720 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26721 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26722 as a condition for processing Linux images.
26723
26724 2008-01-10 Pavel Roskin <proski@gnu.org>
26725
26726 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26727 to compile reiserfs.c on PowerPC.
26728
26729 2008-01-10 Robert Millan <rmh@aybabtu.com>
26730
26731 * kern/device.c (grub_device_iterate): Do not abort device iteration
26732 when one of the devices cannot be opened.
26733 * kern/disk.c (grub_disk_open): Do not account previous failures of
26734 unrelated functions when grub_errno is checked for.
26735
26736 2008-01-08 Robert Millan <rmh@aybabtu.com>
26737
26738 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26739 `! grub_linux_is_bzimage', change order of address comparison to make
26740 it more intuitive, and improve "too big zImage" error message.
26741
26742 2008-01-08 Robert Millan <rmh@aybabtu.com>
26743
26744 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26745 `$(update-grub_DATA)'.
26746 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26747 targets.
26748
26749 2008-01-07 Robert Millan <rmh@aybabtu.com>
26750
26751 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26752 which instruction is modified by grub-setup during installation
26753 (since it wasn't obvious by only looking at this file).
26754
26755 2008-01-07 Robert Millan <rmh@aybabtu.com>
26756
26757 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26758 listing actual TODO items.
26759
26760 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26761
26762 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26763 correctly.
26764 (grub_reiserfs_get_key_offset): Likewise.
26765 (grub_reiserfs_set_key_offset): Likewise.
26766 (grub_reiserfs_set_key_type): Likewise.
26767 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26768
26769 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26770 better to remove the bitfield version completely.
26771
26772 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26773
26774 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26775 allocated from the heap, due to the fshelp implementation.
26776 (grub_reiserfs_dir): Free NODE, due to the same reason.
26777
26778 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26779
26780 Mostly from Vincent Pelletier:
26781
26782 * fs/reiserfs.c: New file.
26783
26784 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26785 (reiserfs_mod_SOURCES): New variable.
26786 (reiserfs_mod_CFLAGS): Likewise.
26787 (reiserfs_mod_LDFLAGS): Likewise.
26788
26789 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26790 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26791 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26792 normal/color.c.
26793
26794 2008-01-06 Robert Millan <rmh@aybabtu.com>
26795
26796 * normal/color.c: Remove `<grub/env.h>'.
26797
26798 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26799
26800 * include/grub/normal.h: Include <grub/env.h>.
26801
26802 2008-01-05 Robert Millan <rmh@aybabtu.com>
26803
26804 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26805 usage example with `(hd0,1)'.
26806 Reported by Samuel Thibault.
26807
26808 2008-01-05 Robert Millan <rmh@aybabtu.com>
26809
26810 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26811 (grub_linux_boot_zimage): Rename to ...
26812 (grub_linux_boot): ... this.
26813 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26814 (grub_linux_boot_zimage): Conditionalize zImage copy.
26815
26816 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26817 (grub_linux_boot_bzimage): Remove prototype.
26818 (grub_linux_boot_zimage): Rename to ...
26819 (grub_linux_boot): ... this.
26820
26821 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26822 (grub_linux_boot): Remove function.
26823
26824 2008-01-05 Robert Millan <rmh@aybabtu.com>
26825
26826 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26827 (grub_env_write_color_highlight): Likewise.
26828 (grub_wait_after_message): Likewise.
26829
26830 * normal/color.c: New file.
26831
26832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26833 (normal_mod_DEPENDENCIES): Likewise.
26834
26835 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26836 (normal_mod_DEPENDENCIES): Likewise.
26837
26838 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26839 (normal_mod_DEPENDENCIES): Likewise.
26840
26841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26842 (normal_mod_DEPENDENCIES): Likewise.
26843
26844 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26845 for waiting after a message is printed.
26846 * normal/main.c (read_config_file): Likewise.
26847 (grub_normal_init): Register grub_env_write_color_normal() and
26848 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26849 `color_highlight' variables as global.
26850
26851 * normal/menu.c (grub_wait_after_message): New function.
26852 (grub_color_menu_normal): New variable. Replaces ...
26853 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26854 (grub_color_menu_highlight): New variable. Replaces ...
26855 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26856 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26857 `GRUB_TERM_COLOR_STANDARD'.
26858 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26859 `normal_code' and `highlight_code' to `old_color_normal' and
26860 `old_color_highlight', respectively.
26861 (grub_menu_init_page): Update colors when drawing the menu, based on
26862 `menu_color_normal' and `menu_color_highlight' variables.
26863 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26864 a message is printed.
26865
26866 2008-01-05 Robert Millan <rmh@aybabtu.com>
26867
26868 * kern/env.c (grub_env_context_open): Propagate hooks for global
26869 variables to new context.
26870
26871 * kern/main.c (grub_set_root_dev): Export `root' variable.
26872
26873 2008-01-05 Robert Millan <rmh@aybabtu.com>
26874
26875 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26876 discs unconditionally, since udev and others have options to provide
26877 them.
26878
26879 2008-01-05 Robert Millan <rmh@aybabtu.com>
26880
26881 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26882
26883 2008-01-04 Christian Franke <franke@computer.org>
26884
26885 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26886 of eisa_mmap.
26887
26888 2008-01-03 Pavel Roskin <proski@gnu.org>
26889
26890 * kern/i386/linuxbios/init.c: Put "void" to all function
26891 declarations with no arguments.
26892 * kern/powerpc/ieee1275/init.c: Likewise.
26893 * term/i386/pc/at_keyboard.c: Likewise.
26894 * term/i386/pc/vga_text.c: Likewise.
26895 * util/grub-mkdevicemap.c: Likewise.
26896
26897 2008-01-02 Robert Millan <rmh@aybabtu.com>
26898
26899 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26900 message when loaded image is out of bounds.
26901 (grub_multiboot_load_elf64): Likewise.
26902
26903 2008-01-02 Pavel Roskin <proski@gnu.org>
26904
26905 * util/grub.d/10_linux.in: Try version without ".old" when
26906 looking for initrd. It's better to use initrd from the newer
26907 kernel of the same version than no initrd at all.
26908
26909 2008-01-01 Robert Millan <rmh@aybabtu.com>
26910
26911 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26912
26913 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26914
26915 * include/grub/video.h: Added grub_video_unmap_color and
26916 grub_video_get_active_render_target.
26917 (grub_video_adapter): Added unmap_color and get_active_render_target.
26918
26919 * video/video.c: Added grub_video_unmap_color and
26920 grub_video_get_active_render_target.
26921 (grub_video_get_info): Changed method to accept NULL pointer as an
26922 argument to allow detection of active video adapter.
26923
26924 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26925 grub_video_vbe_unmap_color_int.
26926 Added grub_video_vbe_unmap_color and
26927 grub_video_vbe_get_active_render_target.
26928 (grub_video_vbe_adapter): Added unmap_color and
26929 get_active_render_target.
26930
26931 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26932 with grub_video_vbe_unmap_color_int.
26933
26934 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26935 (DEFAULT_NORMAL_COLOR): Likewise.
26936 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26937 (DEFAULT_FG_COLOR): Removed.
26938 (DEFAULT_BG_COLOR): Likewise.
26939 (DEFAULT_CURSOR_COLOR): Changed value.
26940 (grub_virtual_screen): Added standard_color_setting,
26941 normal_color_setting, highlight_color_setting and term_color.
26942 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26943 (bitmap_width): Added.
26944 (bitmap_height): Likewise.
26945 (bitmap): Likewise.
26946 (set_term_color): Likewise.
26947 (grub_virtual_screen_setup): Changed to use new terminal coloring
26948 settings.
26949 (grub_gfxterm_init): Added init for bitmap.
26950 (grub_gfxterm_fini): Added destroy for bitmap.
26951 (redraw_screen_rect): Updated to use background bitmap and new
26952 terminal coloring.
26953 (scroll_up): Added optimization for case when there is no bitmap.
26954 (grub_gfxterm_cls): Fixed to use correct background color.
26955 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26956 coloring.
26957 (grub_virtual_screen_setcolor): Likewise.
26958 (grub_virtual_screen_getcolor): Added.
26959 (grub_gfxterm_background_image_cmd): Likewise.
26960 (grub_video_term): Added setcolor and getcolor.
26961 (MOD_INIT): Added registration of background_image command.
26962 (MOD_TERM): Added unregistration for background_image command.
26963
26964 2007-12-30 Pavel Roskin <proski@gnu.org>
26965
26966 * loader/multiboot_loader.c: Fix multiboot command
26967 unregistration. Fix all typos in the word "multiboot".
26968
26969 2007-12-29 Pavel Roskin <proski@gnu.org>
26970
26971 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26972 support for initrd names used in Fedora.
26973
26974 2007-12-26 Bean <bean123ch@gmail.com>
26975
26976 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26977 (cpio_mod_SOURCES): New variable.
26978 (cpio_mod_CFLAGS): Likewise.
26979 (cpio_mod_LDFLAGS): Likewise.
26980
26981 * fs/cpio.c: New file.
26982
26983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26984
26985 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26986
26987 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26988
26989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26990
26991 2007-12-25 Robert Millan <rmh@aybabtu.com>
26992
26993 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26994 (grub_getcolor): New function.
26995
26996 * kern/term.c (grub_getcolor): New function.
26997 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26998 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26999 (print_entry): Set normal and highlight colors to
27000 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
27001 respectively, before printing and restore them to old
27002 values afterwards.
27003 (grub_menu_init_page): Likewise. Fill an additional colored space
27004 that would otherwise be left blank.
27005
27006 * term/efi/console.c (grub_console_getcolor): New function.
27007 (struct grub_console_term.getcolor): New variable.
27008 * term/i386/pc/console.c (grub_console_getcolor): New function.
27009 (struct grub_console_term.getcolor): New variable.
27010 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
27011 (struct grub_console_term.getcolor): New variable.
27012
27013 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
27014 (struct grub_console_term.setcolor): Remove variable.
27015 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
27016 (struct grub_console_term.setcolor): Remove variable.
27017 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
27018 (struct grub_console_term.setcolor): Remove variable.
27019 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
27020 (struct grub_console_term.setcolor): Remove variable.
27021
27022 2007-12-25 Robert Millan <rmh@aybabtu.com>
27023
27024 * configure.ac: Search for possible unifont.hex locations, and
27025 define UNIFONT_HEX if found.
27026
27027 * Makefile.in (UNIFONT_HEX): Define variable.
27028 (DATA): Rename to ...
27029 (PKGLIB): ... this. Update all users.
27030 (PKGDATA): New variable.
27031 (pkgdata_IMAGES): Rename to ...
27032 (pkglib_IMAGES): ... this. Update all users.
27033 (pkgdata_MODULES): Rename to ...
27034 (pkglib_MODULES): ... this. Update all users.
27035 (pkgdata_PROGRAMS): Rename to ...
27036 (pkglib_PROGRAMS): ... this. Update all users.
27037 (pkgdata_DATA): Rename to ...
27038 (pkglib_DATA): ... this. Update all users.
27039 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
27040 (unicode.pff, ascii.pff): New rules.
27041 (all-local): Add `$(PKGDATA)' dependency.
27042 (install-local): Process `$(PKGDATA)'.
27043
27044 * util/update-grub_lib.in (font_path): Search for *.pff files in
27045 a few more locations, including `${pkgdata}'.
27046
27047 2007-12-23 Robert Millan <rmh@aybabtu.com>
27048
27049 Patch from Bean <bean123ch@gmail.com>:
27050 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27051 `size'.
27052
27053 2007-12-21 Bean <bean123ch@gmail.com>
27054
27055 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27056 (ntfscomp_mod_SOURCES): New variable.
27057 (ntfscomp_mod_CFLAGS): Likewise.
27058 (ntfscomp_mod_LDFLAGS): Likewise.
27059
27060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27061 (grub_probe_SOURCES): Likewise.
27062 (grub_emu_SOURCES): Likewise.
27063
27064 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27065 (grub_emu_SOURCES): Likewise.
27066
27067 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27068 (grub_emu_SOURCES): Likewise.
27069
27070 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27071 (grub_emu_SOURCES): Likewise.
27072
27073 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27074 (read_run_list): Renamed to grub_ntfs_read_run_list.
27075 (decomp_nextvcn): Moved to ntfscomp.c.
27076 (decomp_getch): Likewise.
27077 (decomp_get16): Likewise.
27078 (decomp_block): Likewise.
27079 (read_block): Likewise.
27080 (read_data): Partially moved to ntfscomp.c.
27081 (fixup): Change unsigned to grub_uint16_t.
27082 (read_mft): Change unsigned long to grub_uint32_t.
27083 (read_attr): Likewise.
27084 (read_data): Likewise.
27085 (read_run_data): Likewise.
27086 (read_run_list): Likewise.
27087 (read_mft): Likewise.
27088
27089 * fs/ntfscomp.c: New file.
27090
27091 * include/grub/ntfs.h: New file.
27092
27093 2007-12-16 Robert Millan <rmh@aybabtu.com>
27094
27095 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27096 IDE disk check, since Linux is known to support 20 IDE disks.
27097 Reported by Colin Watson.
27098
27099 2007-12-15 Bean <bean123ch@gmail.com>
27100
27101 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27102 (lnxboot_img_SOURCES): New variable.
27103 (lnxboot_img_ASFLAGS): Likewise.
27104 (lnxboot_img_LDFLAGS): Likewise.
27105
27106 * boot/i386/pc/lnxboot.S: New file.
27107
27108 2007-11-24 Pavel Roskin <proski@gnu.org>
27109
27110 * configure.ac: Test if '--build-id=none' is supported by the
27111 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27112 objcopy to generate incorrect binary files (binutils
27113 2.17.50.0.18-1 as shipped by Fedora 8).
27114 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27115 linking, so that build ID doesn't break the test.
27116
27117 2007-11-24 Pavel Roskin <proski@gnu.org>
27118
27119 * include/grub/i386/time.h: use "void" in the argument list
27120 of grub_cpu_idle().
27121 * include/grub/powerpc/time.h: Likewise.
27122 * include/grub/sparc64/time.h: Likewise.
27123
27124 2007-11-18 Christian Franke <franke@computer.org>
27125
27126 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27127 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27128 This fixes the problem that function keys did not work in grub-emu.
27129
27130 2007-11-18 Christian Franke <franke@computer.org>
27131
27132 * disk/host.c (grub_host_open): Remove attribute unused from
27133 name parameter. Add check for "host". This fixes the problem
27134 that grub-emu does not find partitions.
27135
27136 2007-11-18 Christian Franke <franke@computer.org>
27137
27138 * util/hostfs.c (is_dir): New function.
27139 (grub_hostfs_dir): Handle missing dirent.d_type case.
27140 (grub_hostfs_read): Add missing fseek().
27141 (grub_hostfs_label): Clear label pointer. This fixes a crash
27142 of grub-emu on "ls (host)".
27143
27144 2007-11-18 Christian Franke <franke@computer.org>
27145
27146 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27147 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27148 to 64 bit boundary by default.
27149
27150 2007-11-18 Bean <bean123ch@gmail.com>
27151
27152 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27153 (hexdump_mod_SOURCES): New variable.
27154 (hexdump_mod_CFLAGS): Likewise.
27155 (hexdump_mod_LDFLAGS): Likewise.
27156
27157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27158
27159 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27160
27161 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27162
27163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27164
27165 * include/grub/hexdump.h: New file.
27166
27167 * commands/hexdump.c: New file.
27168
27169 2007-11-10 Robert Millan <rmh@aybabtu.com>
27170
27171 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27172 in grub_outb() calls.
27173 (beep_on): Likewise.
27174
27175 2007-11-10 Christian Franke <franke@computer.org>
27176
27177 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27178 (grub_menu_run): Likewise.
27179
27180 2007-11-10 Robert Millan <rmh@aybabtu.com>
27181
27182 * include/grub/i386/efi/machine.h: New file.
27183 * include/grub/i386/linuxbios/machine.h: Likewise.
27184 * include/grub/i386/pc/machine.h: Likewise.
27185 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27186 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27187
27188 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27189 (serial_hw_io_addr): New variable.
27190 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27191 instead of `(unsigned short *) 0x400'.
27192
27193 2007-11-10 Bean <bean123ch@gmail.com>
27194
27195 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27196
27197 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27198
27199 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27200 (vga_mod_SOURCES): Added.
27201 (vga_mod_CFLAGS): Likewise.
27202 (vga_mod_LDFLAGS): Likewise.
27203
27204 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27205 grub_outb() calls.
27206 (set_map_mask): Likewise.
27207 (set_read_map): Likewise.
27208 (set_read_address): Likewise.
27209 (vga_font): Removed variable.
27210 (get_vga_glyph): Removed function.
27211 (invalidate_char): Likewise.
27212 (write_char): Changed to use grub_font_get_glyph() for font
27213 information.
27214 (grub_vga_putchar): Likewise.
27215 (grub_vga_getcharwidth): Likewise.
27216
27217 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27218
27219 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27220 flags.
27221 (pxeboot_img_LDFLAGS): Likewise.
27222 (diskboot_img_LDFLAGS): Likewise.
27223 (kernel_img_LDFLAGS): Likewise.
27224
27225 2007-11-06 Robert Millan <rmh@aybabtu.com>
27226
27227 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27228 in grub_outb() calls.
27229 (serial_hw_init): Likewise.
27230
27231 2007-11-05 Robert Millan <rmh@aybabtu.com>
27232
27233 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27234 spaces. Skip non-regular files.
27235
27236 2007-11-05 Robert Millan <rmh@aybabtu.com>
27237
27238 * kern/disk.c (grub_disk_firmware_fini)
27239 (grub_disk_firmware_is_tainted): New variables.
27240
27241 * include/grub/disk.h (grub_disk_firmware_fini)
27242 (grub_disk_firmware_is_tainted): Likewise.
27243
27244 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27245 (grub_disk_biosdisk_fini): ... to here.
27246 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27247 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27248 is set. Register grub_disk_biosdisk_fini() in
27249 `grub_disk_firmware_fini'.
27250
27251 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27252 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27253 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27254 to finish existing firmware disk interface.
27255
27256 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27257 (ata_mod_SOURCES): New variable.
27258 (ata_mod_CFLAGS): Likewise.
27259 (ata_mod_LDFLAGS): Likewise.
27260
27261 2007-11-05 Robert Millan <rmh@aybabtu.com>
27262
27263 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27264 (grub_ata_wait): Reimplement using grub_millisleep().
27265
27266 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27267 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27268
27269 2007-11-03 Marco Gerards <marco@gnu.org>
27270
27271 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27272 (CRTC_ADDR_PORT): New macro.
27273 (CRTC_DATA_PORT): Likewise.
27274 (CRTC_CURSOR): Likewise.
27275 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27276 (CRTC_CURSOR_ADDR_LOW): Likewise.
27277 (update_cursor): New function.
27278 (grub_console_real_putchar): Call `update_cursor'.
27279 (grub_console_gotoxy): Likewise.
27280 (grub_console_cls): Set the default color when clearing the
27281 screen.
27282 (grub_console_setcursor): Implemented.
27283
27284 2007-11-03 Marco Gerards <marco@gnu.org>
27285
27286 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27287 become activate.
27288 (grub_ata_pio_write): Likewise.
27289
27290 (grub_atapi_identify): Wait after issuing an ATA command.
27291 (grub_atapi_packet): Likewise.
27292 (grub_ata_identify): Likewise.
27293 (grub_ata_readwrite): Likewise.
27294
27295 2007-11-03 Marco Gerards <marco@gnu.org>
27296
27297 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27298 (grub_ata_pio_write): Likewise.
27299 (grub_ata_readwrite): Use `grub_error', instead of
27300 returning `grub_errno'.
27301
27302 2007-11-03 Marco Gerards <marco@gnu.org>
27303
27304 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27305 grub_ata_pio_write once for every single sector, instead of for
27306 multiple sectors.
27307
27308 2007-10-31 Robert Millan <rmh@aybabtu.com>
27309
27310 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27311
27312 * conf/i386-linuxbios.rmk: New file.
27313
27314 * kern/i386/pc/hardware.c: Likewise.
27315 * term/i386/pc/at_keyboard.c: Likewise.
27316 * term/i386/pc/vga_text.c: Likewise.
27317
27318 * include/grub/i386/linuxbios/boot.h: Likewise.
27319 * include/grub/i386/linuxbios/console.h: Likewise.
27320 * include/grub/i386/linuxbios/init.h: Likewise.
27321 * include/grub/i386/linuxbios/kernel.h: Likewise.
27322 * include/grub/i386/linuxbios/loader.h: Likewise.
27323 * include/grub/i386/linuxbios/memory.h: Likewise.
27324 * include/grub/i386/linuxbios/serial.h: Likewise.
27325 * include/grub/i386/linuxbios/time.h: Likewise.
27326
27327 * kern/i386/linuxbios/init.c: Likewise.
27328 * kern/i386/linuxbios/startup.S: Likewise.
27329 * kern/i386/linuxbios/table.c: Likewise.
27330
27331 2007-10-31 Marco Gerards <marco@gnu.org>
27332
27333 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27334 (ata_mod_SOURCES): New variable.
27335 (ata_mod_CFLAGS): Likewise.
27336 (ata_mod_LDFLAGS): Likewise.
27337
27338 * disk/ata.c: New file.
27339
27340 * include/grub/disk.h (grub_disk_dev_id): Add
27341 `GRUB_DISK_DEV_ATA_ID'.
27342
27343 2007-10-31 Robert Millan <rmh@aybabtu.com>
27344
27345 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27346 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27347
27348 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27349 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27350
27351 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27352 `<grub/types.h>'.
27353
27354 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27355
27356 2007-10-27 Robert Millan <rmh@aybabtu.com>
27357
27358 * include/grub/types.h (ULONG_MAX): Define macro.
27359
27360 2007-10-22 Robert Millan <rmh@aybabtu.com>
27361
27362 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27363 `"../realmode.S"'.
27364 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27365
27366 2007-10-22 Robert Millan <rmh@aybabtu.com>
27367
27368 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27369 (pkgdata_MODULES): Add `biosdisk.mod'.
27370 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27371 variables.
27372
27373 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27374 (grub_biosdisk_init): Replace with ...
27375 (GRUB_MOD_INIT(biosdisk)): ... this.
27376 (grub_biosdisk_fini): Replace with ...
27377 (GRUB_MOD_FINI(biosdisk)): ... this.
27378
27379 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27380 (grub_machine_init): Remove call to grub_biosdisk_init().
27381 (grub_machine_fini): Remove call to grub_machine_fini().
27382
27383 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27384
27385 2007-10-22 Robert Millan <rmh@aybabtu.com>
27386
27387 * include/grub/time.h: New file.
27388 * include/grub/i386/time.h: Likewise.
27389 * include/grub/powerpc/time.h: Likewise.
27390 * include/grub/sparc64/time.h: Likewise.
27391
27392 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27393 instances to ...
27394 (KERNEL_MACHINE_TIME_HEADER): ... this.
27395 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27396 instances to ...
27397 (KERNEL_MACHINE_TIME_HEADER): ... this.
27398 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27399 instances to ...
27400 (KERNEL_MACHINE_TIME_HEADER): ... this.
27401
27402 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27403 (grub_millisleep): New function.
27404 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27405 (grub_millisleep): New function.
27406 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27407 Remove `grub/machine/time.h' include.
27408 (grub_millisleep): New function.
27409 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27410 Remove `grub/machine/time.h' include.
27411 (grub_millisleep): New function.
27412
27413 * include/grub/misc.h (grub_div_roundup): New function.
27414
27415 * kern/misc.c: Include `<grub/time.h>'.
27416 (grub_millisleep_generic): New function.
27417
27418 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27419 Add `time.h'.
27420 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27421 Add `time.h'.
27422 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27423 `machine/time.h'. Add `time.h'.
27424 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27425
27426 2007-10-21 Robert Millan <rmh@aybabtu.com>
27427
27428 * include/grub/misc.h (grub_max): New function.
27429
27430 2007-10-21 Robert Millan <rmh@aybabtu.com>
27431
27432 * util/misc.c (grub_util_info): Call fflush() before returning.
27433
27434 2007-10-20 Robert Millan <rmh@aybabtu.com>
27435
27436 * genmk.rb (Image): Copy `extra_flags' from here ...
27437 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27438
27439 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27440 to `argc' and `args' arguments.
27441
27442 2007-10-17 Robert Millan <rmh@aybabtu.com>
27443
27444 * kern/i386/loader.S: New file.
27445
27446 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27447 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27448 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27449 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27450 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27451 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27452 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27453 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27454 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27455 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27456 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27457 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27458 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27459 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27460
27461 * kern/i386/realmode.S: New file.
27462
27463 * kern/i386/pc/startup.S (protstack): Moved from here ...
27464 * kern/i386/realmode.S (protstack)... to here.
27465 * kern/i386/pc/startup.S (gdt): Moved from here ...
27466 * kern/i386/realmode.S (gdt)... to here.
27467 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27468 * kern/i386/realmode.S (prot_to_real)... to here.
27469
27470 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27471 `kern/i386/realmode.S'.
27472
27473 2007-10-17 Robert Millan <rmh@aybabtu.com>
27474
27475 * include/grub/i386/loader.h: New file.
27476
27477 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27478 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27479 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27480 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27481 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27482 * include/grub/i386/loader.h (grub_linux_prot_size)
27483 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27484 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27485 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27486 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27487
27488 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27489
27490 2007-10-15 Robert Millan <rmh@aybabtu.com>
27491
27492 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27493 filesystem when dev->disk is unset.
27494 Do probe for filesystem even when dev->disk->has_partitions is set.
27495 In case a filesystem is found, always report it.
27496 In case it isn't, if dev->disk->has_partitions is set, report that
27497 a partition table was found instead of reporting that no filesystem
27498 could be identified.
27499
27500 2007-10-12 Robert Millan <rmh@aybabtu.com>
27501
27502 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27503 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27504
27505 * include/grub/types.h (grub_host_to_target16): New macro.
27506 (grub_host_to_target32): Likewise.
27507 (grub_host_to_target64): Likewise.
27508 (grub_target_to_host16): Likewise.
27509 (grub_target_to_host32): Likewise.
27510 (grub_target_to_host64): Likewise.
27511
27512 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27513 Renamed from to ...
27514 (GRUB_MOD_ALIGN): ...this. Update all users.
27515
27516 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27517 grub_host_to_target32.
27518 Replace grub_be_to_cpu32 with grub_target_to_host32.
27519 (load_modules): Likewise.
27520 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27521 Replace grub_be_to_cpu32 with grub_target_to_host32.
27522 Replace grub_cpu_to_be16 with grub_host_to_target16.
27523 Replace grub_cpu_to_be32 grub_host_to_target32.
27524
27525 2007-10-12 Robert Millan <rmh@aybabtu.com>
27526
27527 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27528 * util/elf/grub-mkimage.c: ... here.
27529
27530 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27531 `util/powerpc/ieee1275/grub-mkimage.c'.
27532
27533 2007-10-07 Robert Millan <rmh@aybabtu.com>
27534
27535 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27536 and make it easier to figure out.
27537 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27538 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27539 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27540 leave us with less than HEAP_MIN_SIZE total heap.
27541 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27542
27543 2007-10-03 Robert Millan <rmh@aybabtu.com>
27544
27545 * include/grub/i386/io.h: New file.
27546 * commands/i386/pc/play.c (inb): Removed.
27547 (outb): Removed.
27548 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27549 with grub_outb().
27550 * term/i386/pc/serial.c (inb): Removed.
27551 (outb): Removed.
27552 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27553 with grub_outb().
27554 * term/i386/pc/vga.c (inb): Removed.
27555 (outb): Removed.
27556 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27557 with grub_outb().
27558
27559 2007-10-02 Robert Millan <rmh@aybabtu.com>
27560
27561 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27563 Reported by Marcin Kurek.
27564
27565 2007-09-07 Robert Millan <rmh@aybabtu.com>
27566
27567 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27568 SmartFirmware version updates (as released by Sven Luther), and avoid
27569 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27570 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27571 known broken.
27572
27573 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27574
27575 From Hitoshi Ozeki:
27576 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27577 when merging two regions.
27578
27579 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27580
27581 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27582 * normal/completion.c (grub_normal_do_completion): Likewise.
27583 Reported by Hitoshi Ozeki.
27584
27585 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27586
27587 Do not use devices at boot in chainloading.
27588
27589 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27590 (boot_part_addr): Likewise.
27591 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27592 with BOOT_DRIVE and BOOT_PART_ADDR.
27593 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27594 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27595
27596 2007-08-29 Robert Millan <rmh@aybabtu.com>
27597
27598 Patch from Simon Peter <dn.tlp@gmx.net>:
27599 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27600 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27601 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27602 util/i386/pc/grub-setup.c_DEPENDENCIES.
27603 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27604 util/grub-probe.c_DEPENDENCIES.
27605 * conf/powerpc-ieee1275.rmk: Likewise.
27606
27607 2007-08-28 Robert Millan <rmh@aybabtu.com>
27608
27609 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27610 to tell grub-mkdevicemap how to name devices.
27611 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27612 feature).
27613
27614 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27615 util/i386/get_disk_name.c.
27616 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27617 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27618 util/ieee1275/get_disk_name.c.
27619
27620 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27621
27622 * DISTLIST: Add util/i386/get_disk_name.c and
27623 util/ieee1275/get_disk_name.c.
27624
27625 * util/grub-mkdevicemap.c: Replace device naming logic with
27626 grub_util_get_disk_name() calls.
27627
27628 2007-08-20 Robert Millan <rmh@aybabtu.com>
27629
27630 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27631 (so that it works for both plural and singular quantities).
27632
27633 2007-08-05 Robert Millan <rmh@aybabtu.com>
27634
27635 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27636 so that [xz] isn't taken into account when determining order.
27637
27638 2007-08-02 Marco Gerards <marco@gnu.org>
27639
27640 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27641 `include/multiboot2.h', `include/grub/elfload.h',
27642 `include/multiboot.h', `include/grub/multiboot.h',
27643 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27644 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27645 `kern/elf.c', `loader/multiboot_loader.c',
27646 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27647 `loader/i386/pc/multiboot2.c',
27648 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27649 `util/i386/pc/grub-mkrescue.in'. Remove
27650 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27651 `include/grub/i386/pc/util/biosdisk.h' and
27652 `include/grub/powerpc/ieee1275/multiboot.h'.
27653
27654 2007-08-02 Bean <bean123ch@gmail.com>
27655
27656 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27657 (ntfs_mod_SOURCES): New variable.
27658 (ntfs_mod_CFLAGS): Likewise.
27659 (ntfs_mod_LDFLAGS): Likewise.
27660
27661 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27662 (grub_probe_SOURCES): Likewise.
27663 (grub_emu_SOURCES): Likewise.
27664
27665 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27666 (grub_emu_SOURCES): Likewise.
27667
27668 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27669 (grub_emu_SOURCES): Likewise.
27670
27671 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27672
27673 * fs/ntfs.c: New file.
27674
27675 2007-08-02 Bean <bean123ch@gmail.com>
27676
27677 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27678
27679 * file.h (grub_file): Likewise.
27680
27681 * fshelp.h (grub_fshelp_read_file): Likewise.
27682
27683 * util/i386/pc/grub-setup.c (setup): Likewise.
27684 (save_first_sector): Likewise.
27685 (save_blocklists): Likewise.
27686
27687 * fs/affs.c (grub_affs_read_file): Likewise.
27688
27689 * fs/ext2.c (grub_ext2_read_file): Likewise.
27690
27691 * fs/fat.c (grub_fat_read_data): Likewise.
27692
27693 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27694
27695 * fs/hfs.c (grub_hfs_read_file): Likewise.
27696
27697 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27698
27699 * fs/jfs.c (grub_jfs_read_file): Likewise.
27700
27701 * fs/minix.c (grub_minix_read_file): Likewise.
27702
27703 * fs/sfs.c (grub_sfs_read_file): Likewise.
27704
27705 * fs/ufs.c (grub_ufs_read_file): Likewise.
27706
27707 * fs/xfs.c (grub_xfs_read_file): Likewise.
27708
27709 * command/blocklist.c (read_blocklist): Likewise.
27710 (print_blocklist): Likewise.
27711
27712 2007-08-02 Marco Gerards <marco@gnu.org>
27713
27714 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27715 `util/hostfs.c'.
27716
27717 * disk/host.c: New file.
27718
27719 * util/hostfs.c: Likewise.
27720
27721 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27722 return `GRUB_ERR_BAD_FS'.
27723 * fs/sfs.c (grub_sfs_mount): Likewise.
27724 * fs/xfs.c (grub_xfs_mount): Likewise.
27725
27726 * include/grub/disk.h (enum grub_disk_dev_id): Add
27727 `GRUB_DISK_DEVICE_HOST_ID'.
27728
27729 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27730
27731 2007-07-24 Jerone Young <jerone@gmail.com>
27732
27733 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27734 modules for compilation.
27735 * conf/powerpc-ieee1275.rmk: Likewise.
27736
27737 * include/multiboot.h: Move multiboot definitions to one file. Rename
27738 many definitions to not get grub specific.
27739 * include/multiboot2.h: Create header with multiboot 2 definitions.
27740 * include/grub/multiboot.h: Header for grub specific function
27741 prototypes and definitions.
27742 * include/grub/multiboot2.h: Likewise.
27743 * include/grub/multiboot_loader.h: Likewise.
27744 * include/grub/i386/pc/multiboot.h: Removed.
27745 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27746
27747 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27748 and 2 to allow for one multiboot and module commands.
27749 * loader/multiboot2.c: Add multiboot2 functionality.
27750 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27751 and definition names.
27752 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27753 2 functions.
27754 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27755 ieee1275 specific multiboot2 code.
27756
27757 * kern/i386/pc/startup.S: Change headers and definition names for
27758 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27759
27760 2007-07-22 Robert Millan <rmh@aybabtu.com>
27761
27762 * geninitheader.sh: Process file specified in first parameter rather
27763 than hardcoding grub_modules_init.lst.
27764 * geninit.sh: Likewise. Also, construct header name dynamically rather
27765 than hardcoding grub_modules_init.h.
27766
27767 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27768 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27769 grub_probe_init.[ch] and grub_setup_init.[ch].
27770
27771 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27772 grub_modules_init.h with grub_emu_init.h.
27773 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27774 grub_probe_init.[ch] files.
27775 * conf/i386-efi.rmk: Likewise.
27776 * conf/i386-pc.rmk: Likewise.
27777 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27778 grub_setup_init.[ch] files.
27779
27780 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27781 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27782 to initialize modules rather than a list of hardcoded functions.
27783 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27784 grub_init_all() to initialize modules rather than a list of hardcoded
27785 functions.
27786
27787 2007-07-22 Robert Millan <rmh@aybabtu.com>
27788
27789 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27790 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27791
27792 2007-07-22 Robert Millan <rmh@aybabtu.com>
27793
27794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27795 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27796 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27797 flag when running on SmartFirmware.
27798 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27799 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27800 was set.
27801
27802 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27803 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27804 rather than decreasing it.
27805
27806 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27807 there's not enough space to do it, fail in the same way as when it
27808 can't be done because there are no partitions.
27809
27810 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27811 when nvsetenv failed.
27812
27813 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27814
27815 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27816 because this rule is automatically generated.
27817 (grub-mkrescue): Removed for the same reason as above.
27818
27819 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27820
27821 Migrate to GNU General Public License Version 3.
27822
27823 * COPYING: Replaced with the plain text version of GPLv3.
27824
27825 * config.guess: Updated from gnulib.
27826 * config.sub: Likewise.
27827
27828 * geninit.sh: Output a GPLv3 copyright notice.
27829 * geninitheader.sh: Likewise.
27830 * genmodsrc.sh: Likewise.
27831 * gensymlist.sh.in: Likewise.
27832
27833 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27834 * boot/i386/pc/diskboot.S: Likewise.
27835 * boot/i386/pc/pxeboot.S: Likewise.
27836 * commands/blocklist.c: Likewise.
27837 * commands/boot.c: Likewise.
27838 * commands/cat.c: Likewise.
27839 * commands/cmp.c: Likewise.
27840 * commands/configfile.c: Likewise.
27841 * commands/echo.c: Likewise.
27842 * commands/help.c: Likewise.
27843 * commands/ls.c: Likewise.
27844 * commands/search.c: Likewise.
27845 * commands/terminal.c: Likewise.
27846 * commands/test.c: Likewise.
27847 * commands/videotest.c: Likewise.
27848 * commands/i386/cpuid.c: Likewise.
27849 * commands/i386/pc/halt.c: Likewise.
27850 * commands/i386/pc/play.c: Likewise.
27851 * commands/i386/pc/reboot.c: Likewise.
27852 * commands/i386/pc/vbeinfo.c: Likewise.
27853 * commands/i386/pc/vbetest.c: Likewise.
27854 * commands/ieee1275/halt.c: Likewise.
27855 * commands/ieee1275/reboot.c: Likewise.
27856 * commands/ieee1275/suspend.c: Likewise.
27857 * disk/loopback.c: Likewise.
27858 * disk/lvm.c: Likewise.
27859 * disk/raid.c: Likewise.
27860 * disk/efi/efidisk.c: Likewise.
27861 * disk/i386/pc/biosdisk.c: Likewise.
27862 * disk/ieee1275/ofdisk.c: Likewise.
27863 * font/manager.c: Likewise.
27864 * fs/affs.c: Likewise.
27865 * fs/ext2.c: Likewise.
27866 * fs/fat.c: Likewise.
27867 * fs/fshelp.c: Likewise.
27868 * fs/hfs.c: Likewise.
27869 * fs/hfsplus.c: Likewise.
27870 * fs/iso9660.c: Likewise.
27871 * fs/jfs.c: Likewise.
27872 * fs/minix.c: Likewise.
27873 * fs/sfs.c: Likewise.
27874 * fs/ufs.c: Likewise.
27875 * fs/xfs.c: Likewise.
27876 * hello/hello.c: Likewise.
27877 * include/grub/acorn_filecore.h: Likewise.
27878 * include/grub/arg.h: Likewise.
27879 * include/grub/bitmap.h: Likewise.
27880 * include/grub/boot.h: Likewise.
27881 * include/grub/cache.h: Likewise.
27882 * include/grub/device.h: Likewise.
27883 * include/grub/disk.h: Likewise.
27884 * include/grub/dl.h: Likewise.
27885 * include/grub/elfload.h: Likewise.
27886 * include/grub/env.h: Likewise.
27887 * include/grub/err.h: Likewise.
27888 * include/grub/file.h: Likewise.
27889 * include/grub/font.h: Likewise.
27890 * include/grub/fs.h: Likewise.
27891 * include/grub/fshelp.h: Likewise.
27892 * include/grub/gzio.h: Likewise.
27893 * include/grub/hfs.h: Likewise.
27894 * include/grub/kernel.h: Likewise.
27895 * include/grub/loader.h: Likewise.
27896 * include/grub/lvm.h: Likewise.
27897 * include/grub/misc.h: Likewise.
27898 * include/grub/mm.h: Likewise.
27899 * include/grub/net.h: Likewise.
27900 * include/grub/normal.h: Likewise.
27901 * include/grub/parser.h: Likewise.
27902 * include/grub/partition.h: Likewise.
27903 * include/grub/pc_partition.h: Likewise.
27904 * include/grub/raid.h: Likewise.
27905 * include/grub/rescue.h: Likewise.
27906 * include/grub/script.h: Likewise.
27907 * include/grub/setjmp.h: Likewise.
27908 * include/grub/symbol.h: Likewise.
27909 * include/grub/term.h: Likewise.
27910 * include/grub/terminfo.h: Likewise.
27911 * include/grub/tparm.h: Likewise.
27912 * include/grub/types.h: Likewise.
27913 * include/grub/video.h: Likewise.
27914 * include/grub/efi/api.h: Likewise.
27915 * include/grub/efi/chainloader.h: Likewise.
27916 * include/grub/efi/console.h: Likewise.
27917 * include/grub/efi/console_control.h: Likewise.
27918 * include/grub/efi/disk.h: Likewise.
27919 * include/grub/efi/efi.h: Likewise.
27920 * include/grub/efi/pe32.h: Likewise.
27921 * include/grub/efi/time.h: Likewise.
27922 * include/grub/i386/linux.h: Likewise.
27923 * include/grub/i386/setjmp.h: Likewise.
27924 * include/grub/i386/types.h: Likewise.
27925 * include/grub/i386/efi/kernel.h: Likewise.
27926 * include/grub/i386/efi/loader.h: Likewise.
27927 * include/grub/i386/efi/time.h: Likewise.
27928 * include/grub/i386/pc/biosdisk.h: Likewise.
27929 * include/grub/i386/pc/boot.h: Likewise.
27930 * include/grub/i386/pc/chainloader.h: Likewise.
27931 * include/grub/i386/pc/console.h: Likewise.
27932 * include/grub/i386/pc/init.h: Likewise.
27933 * include/grub/i386/pc/kernel.h: Likewise.
27934 * include/grub/i386/pc/loader.h: Likewise.
27935 * include/grub/i386/pc/memory.h: Likewise.
27936 * include/grub/i386/pc/multiboot.h: Likewise.
27937 * include/grub/i386/pc/serial.h: Likewise.
27938 * include/grub/i386/pc/time.h: Likewise.
27939 * include/grub/i386/pc/vbe.h: Likewise.
27940 * include/grub/i386/pc/vbeblit.h: Likewise.
27941 * include/grub/i386/pc/vbefill.h: Likewise.
27942 * include/grub/i386/pc/vbeutil.h: Likewise.
27943 * include/grub/i386/pc/vga.h: Likewise.
27944 * include/grub/ieee1275/ieee1275.h: Likewise.
27945 * include/grub/ieee1275/ofdisk.h: Likewise.
27946 * include/grub/powerpc/libgcc.h: Likewise.
27947 * include/grub/powerpc/setjmp.h: Likewise.
27948 * include/grub/powerpc/types.h: Likewise.
27949 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27950 * include/grub/powerpc/ieee1275/console.h: Likewise.
27951 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27952 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27953 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27954 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27955 * include/grub/powerpc/ieee1275/time.h: Likewise.
27956 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27957 * include/grub/sparc64/libgcc.h: Likewise.
27958 * include/grub/sparc64/setjmp.h: Likewise.
27959 * include/grub/sparc64/types.h: Likewise.
27960 * include/grub/sparc64/ieee1275/console.h: Likewise.
27961 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27962 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27963 * include/grub/sparc64/ieee1275/time.h: Likewise.
27964 * include/grub/util/biosdisk.h: Likewise.
27965 * include/grub/util/getroot.h: Likewise.
27966 * include/grub/util/lvm.h: Likewise.
27967 * include/grub/util/misc.h: Likewise.
27968 * include/grub/util/raid.h: Likewise.
27969 * include/grub/util/resolve.h: Likewise.
27970 * io/gzio.c: Likewise.
27971 * kern/device.c: Likewise.
27972 * kern/disk.c: Likewise.
27973 * kern/dl.c: Likewise.
27974 * kern/elf.c: Likewise.
27975 * kern/env.c: Likewise.
27976 * kern/err.c: Likewise.
27977 * kern/file.c: Likewise.
27978 * kern/fs.c: Likewise.
27979 * kern/loader.c: Likewise.
27980 * kern/main.c: Likewise.
27981 * kern/misc.c: Likewise.
27982 * kern/mm.c: Likewise.
27983 * kern/parser.c: Likewise.
27984 * kern/partition.c: Likewise.
27985 * kern/rescue.c: Likewise.
27986 * kern/term.c: Likewise.
27987 * kern/efi/efi.c: Likewise.
27988 * kern/efi/init.c: Likewise.
27989 * kern/efi/mm.c: Likewise.
27990 * kern/i386/dl.c: Likewise.
27991 * kern/i386/efi/init.c: Likewise.
27992 * kern/i386/efi/startup.S: Likewise.
27993 * kern/i386/pc/init.c: Likewise.
27994 * kern/i386/pc/lzo1x.S: Likewise.
27995 * kern/i386/pc/startup.S: Likewise.
27996 * kern/ieee1275/ieee1275.c: Likewise.
27997 * kern/powerpc/cache.S: Likewise.
27998 * kern/powerpc/dl.c: Likewise.
27999 * kern/powerpc/ieee1275/cmain.c: Likewise.
28000 * kern/powerpc/ieee1275/crt0.S: Likewise.
28001 * kern/powerpc/ieee1275/init.c: Likewise.
28002 * kern/powerpc/ieee1275/openfw.c: Likewise.
28003 * kern/sparc64/cache.S: Likewise.
28004 * kern/sparc64/dl.c: Likewise.
28005 * kern/sparc64/ieee1275/init.c: Likewise.
28006 * kern/sparc64/ieee1275/openfw.c: Likewise.
28007 * loader/efi/chainloader.c: Likewise.
28008 * loader/efi/chainloader_normal.c: Likewise.
28009 * loader/i386/efi/linux.c: Likewise.
28010 * loader/i386/efi/linux_normal.c: Likewise.
28011 * loader/i386/pc/chainloader.c: Likewise.
28012 * loader/i386/pc/chainloader_normal.c: Likewise.
28013 * loader/i386/pc/linux.c: Likewise.
28014 * loader/i386/pc/linux_normal.c: Likewise.
28015 * loader/i386/pc/multiboot.c: Likewise.
28016 * loader/i386/pc/multiboot_normal.c: Likewise.
28017 * loader/powerpc/ieee1275/linux.c: Likewise.
28018 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28019 * normal/arg.c: Likewise.
28020 * normal/cmdline.c: Likewise.
28021 * normal/command.c: Likewise.
28022 * normal/completion.c: Likewise.
28023 * normal/execute.c: Likewise.
28024 * normal/function.c: Likewise.
28025 * normal/lexer.c: Likewise.
28026 * normal/main.c: Likewise.
28027 * normal/menu.c: Likewise.
28028 * normal/menu_entry.c: Likewise.
28029 * normal/misc.c: Likewise.
28030 * normal/parser.y: Likewise.
28031 * normal/script.c: Likewise.
28032 * normal/i386/setjmp.S: Likewise.
28033 * normal/powerpc/setjmp.S: Likewise.
28034 * normal/sparc64/setjmp.S: Likewise.
28035 * partmap/acorn.c: Likewise.
28036 * partmap/amiga.c: Likewise.
28037 * partmap/apple.c: Likewise.
28038 * partmap/gpt.c: Likewise.
28039 * partmap/pc.c: Likewise.
28040 * partmap/sun.c: Likewise.
28041 * term/gfxterm.c: Likewise.
28042 * term/terminfo.c: Likewise.
28043 * term/efi/console.c: Likewise.
28044 * term/i386/pc/console.c: Likewise.
28045 * term/i386/pc/serial.c: Likewise.
28046 * term/i386/pc/vesafb.c: Likewise.
28047 * term/i386/pc/vga.c: Likewise.
28048 * term/ieee1275/ofconsole.c: Likewise.
28049 * util/biosdisk.c: Likewise.
28050 * util/console.c: Likewise.
28051 * util/genmoddep.c: Likewise.
28052 * util/getroot.c: Likewise.
28053 * util/grub-emu.c: Likewise.
28054 * util/grub-mkdevicemap.c: Likewise.
28055 * util/grub-probe.c: Likewise.
28056 * util/lvm.c: Likewise.
28057 * util/misc.c: Likewise.
28058 * util/raid.c: Likewise.
28059 * util/resolve.c: Likewise.
28060 * util/update-grub.in: Likewise.
28061 * util/update-grub_lib.in: Likewise.
28062 * util/grub.d/00_header.in: Likewise.
28063 * util/grub.d/10_hurd.in: Likewise.
28064 * util/grub.d/10_linux.in: Likewise.
28065 * util/i386/efi/grub-install.in: Likewise.
28066 * util/i386/efi/grub-mkimage.c: Likewise.
28067 * util/i386/pc/grub-install.in: Likewise.
28068 * util/i386/pc/grub-mkimage.c: Likewise.
28069 * util/i386/pc/grub-mkrescue.in: Likewise.
28070 * util/i386/pc/grub-setup.c: Likewise.
28071 * util/i386/pc/misc.c: Likewise.
28072 * util/powerpc/ieee1275/grub-install.in: Likewise.
28073 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28074 * util/powerpc/ieee1275/misc.c: Likewise.
28075 * video/bitmap.c: Likewise.
28076 * video/video.c: Likewise.
28077 * video/i386/pc/vbe.c: Likewise.
28078 * video/i386/pc/vbeblit.c: Likewise.
28079 * video/i386/pc/vbefill.c: Likewise.
28080 * video/i386/pc/vbeutil.c: Likewise.
28081 * video/readers/tga.c: Likewise.
28082
28083 2007-07-02 Robert Millan <rmh@aybabtu.com>
28084
28085 * conf/i386-efi.rmk: Replace obsolete reference to
28086 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28087 with util/getroot.c.
28088 * conf/powerpc-ieee1275.rmk: Likewise.
28089 * conf/sparc64-ieee1275.rmk: Likewise.
28090
28091 * util/grub-emu.c (main): Fix unchecked pointer handling.
28092
28093 2007-07-02 Robert Millan <rmh@aybabtu.com>
28094
28095 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28096 invocation to fail, in order to support partition-less media.
28097
28098 * util/i386/pc/grub-install.in: Likewise.
28099
28100 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28101 which fs or partmap modules are needed (akin to its sister scripts).
28102
28103 Also use grub-probe to get rid of unportable /proc/mounts check.
28104
28105 Print the same informational message that the other scripts do, before
28106 exiting.
28107
28108 2007-06-23 Robert Millan <rmh@aybabtu.com>
28109
28110 * util/update-grub_lib.in (font_path): New function. Determine whether
28111 a font file can be found and, if so, echo the GRUB path to it.
28112
28113 * util/update-grub.in: Handle multiple terminals depending on user
28114 input, platform availability and font file presence. Propagate
28115 variables of our findings to /etc/grub.d/ children.
28116
28117 * util/grub.d/00_header.in: Handle multiple terminals, based on
28118 environment setup by update-grub.
28119
28120 2007-06-23 Robert Millan <rmh@aybabtu.com>
28121
28122 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
28123
28124 2007-06-21 Robert Millan <rmh@aybabtu.com>
28125
28126 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28127 indicate end of data section in kernel image.
28128 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28129 GRUB_KERNEL_MACHINE_DATA_END.
28130
28131 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28132 space for it.
28133 * kern/i386/efi/startup.S: Likewise.
28134
28135 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28136 during image generation. Implement --prefix option to override this
28137 patch.
28138 * util/i386/efi/grub-mkimage.c: Likewise.
28139
28140 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28141 code to make path relative to its root into a separate function.
28142
28143 * util/i386/pc/grub-install.in: Use newly provided
28144 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28145 pass the result to grub-install --prefix.
28146
28147 2007-06-13 Robert Millan <rmh@aybabtu.com>
28148
28149 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28150 DEFAULT_DEVICE_MAP.
28151 * util/grub-emu.c: Use above definitions from misc.h instead of
28152 defining them.
28153 * util/grub-mkdevicemap.c: Likewise.
28154 * util/i386/pc/grub-setup.c: Likewise.
28155 * util/grub-probe.c: Likewise.
28156 (probe): Abort with grub_util_error() when either
28157 grub_guess_root_device or grub_util_get_grub_dev fails.
28158
28159 2007-06-12 Robert Millan <rmh@aybabtu.com>
28160
28161 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28162 "pager" assignment.
28163 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28164 "pcdata".
28165 * util/grub-probe.c (probe): Likewise for "drive_name".
28166
28167 2007-06-11 Robert Millan <rmh@aybabtu.com>
28168
28169 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28170 not just the cdrom one.
28171
28172 2007-06-11 Robert Millan <rmh@aybabtu.com>
28173
28174 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28175 Add --pkglibdir=DIR option to override pkglibdir.
28176 Mention --image-type=TYPE in help output.
28177 Fix --grub-mkimage (it was a no-op).
28178 Abort gracefully when no parameter is given.
28179
28180 2007-06-11 Robert Millan <rmh@aybabtu.com>
28181
28182 * util/i386/pc/grub-mkrescue.in: New file.
28183 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28184 * Makefile.in: Handle bin_SCRIPTS.
28185
28186 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28187
28188 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28189 list of video modes.
28190
28191 2007-06-06 Robert Millan <rmh@aybabtu.com>
28192
28193 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28194 file doesn't exist, or if it is in a filesystem grub can't read.
28195
28196 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28197 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28198 header comment to fit in 80 columns when the variables are resolved.
28199
28200 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28201 could be identified by update-grub. Remove redundant check for
28202 unifont.pff existence (since convert_system_path_to_grub_path now
28203 handles that).
28204
28205 2007-06-04 Robert Millan <rmh@aybabtu.com>
28206
28207 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28208
28209 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28210
28211 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28212
28213 2007-06-04 Robert Millan <rmh@aybabtu.com>
28214
28215 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28216
28217 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28218 grub_apple_partition_map_fini.
28219
28220 * util/biosdisk.c
28221 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28222 to access >2 TiB disks).
28223
28224 Print disk->total_sectors with %llu instead of %lu, since this
28225 variable is always 64-bit (prevents wrong disk size from being displayed
28226 on either >2 TiB disk or big-endian CPU).
28227
28228 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28229 into a generic case that supports all (sane) partition maps.
28230
28231 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28232 breaks big-endian.
28233
28234 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28235 and grub_apple_partition_map_fini() after that.
28236
28237 2007-06-01 Robert Millan <rmh@aybabtu.com>
28238
28239 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28240
28241 * util/grub.d/00_header.in: Only enable gfxterm when
28242 convert_system_path_to_grub_path() succeeds.
28243
28244 2007-05-20 Robert Millan <rmh@aybabtu.com>
28245
28246 * util/update-grub_lib.in: New file.
28247 * DISTLIST: Add update-grub_lib.in.
28248 * conf/common.rmk: Generate update-grub_lib and install it in
28249 $(lib_DATA).
28250 * Makefile.in: Add install routine for $(lib_DATA).
28251
28252 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28253 function provided by update-grub_lib to support arbitrary paths of
28254 unifont.pff.
28255 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28256 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28257
28258 2007-05-19 Robert Millan <rmh@aybabtu.com>
28259
28260 * commands/i386/cpuid.c: New module.
28261 * DISTLIST: Add it.
28262 * conf/i386-efi.rmk: Enable cpuid.mod.
28263 * conf/i386-pc.rmk: Likewise.
28264
28265 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28266
28267 * kern/disk.c (grub_disk_read): Check return value of
28268 grub_realloc().
28269
28270 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28271
28272 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28273 arrays.
28274 * disk/raid.c (grub_raid_open): Likewise.
28275
28276 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28277
28278 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28279 stack instead of on the heap.
28280
28281 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28282 before doing a read on it.
28283
28284 * configure.ac: Only use -fno-stack-protector for the target
28285 environment.
28286
28287 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28288
28289 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28290 __attribute_ ((unused)) to mode_type argument.
28291
28292 * util/getroot.c (grub_guess_root_device): Fix #endif.
28293
28294 * kern/misc.c (memcmp): Fix prototype.
28295
28296 * include/grub/partition.h [GRUB_UTIL]
28297 (grub_gpt_partition_map_init): Add prototype.
28298 (grub_gpt_partition_map_fini): Likewise.
28299
28300 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28301 at the right place.
28302
28303 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28304 (grub_fat_read_data): Likewise.
28305 (grub_fat_find_dir): Likewise.
28306
28307 * font/manager.c (find_glyph): Make table a const.
28308 (grub_font_get_glyph): Remove bitmap from if statement.
28309
28310 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28311
28312 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28313 code, first search for device in /dev/mapper, then in /dev.
28314 (grub_util_get_grub_dev): New function.
28315 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28316 prototype.
28317 * util/grub-probe.c (probe): Remove check for RAID, call
28318 grub_util_get_grub_dev() instead of
28319 grub_util_biosdisk_get_grub_dev().
28320 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28321 grub_util_biosdisk_get_grub_dev().
28322 * util/i386/pc/grub-setup.c (main): Likewise.
28323
28324 2007-05-16 Robert Millan <rmh@aybabtu.com>
28325
28326 * DISTLIST: Update for the latest changes.
28327 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28328 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28329 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28330 grub/util/biosdisk.h.
28331 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28332 grub/util/biosdisk.h.
28333
28334 2007-05-16 Robert Millan <rmh@aybabtu.com>
28335
28336 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28337
28338 2007-05-16 Robert Millan <rmh@aybabtu.com>
28339
28340 * util/i386/efi/grub-install.in: New.
28341 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28342 newly added grub-install.
28343 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28344 include.
28345 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28346 grub/util/biosdisk.h.
28347 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28348 grub/util/biosdisk.h.
28349
28350 2007-05-16 Robert Millan <rmh@aybabtu.com>
28351
28352 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28353 * include/grub/util/biosdisk.h: ... here.
28354 * util/i386/pc/biosdisk.c: Moved to ...
28355 * util/biosdisk.c: ... here.
28356 * util/i386/pc/getroot.c: Moved to ...
28357 * util/getroot.c: ... here.
28358 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28359 * util/grub-mkdevicemap.c: ... here.
28360 * util/i386/pc/grub-probe.c: Moved to ...
28361 * util/grub-probe.c: ... here.
28362
28363 2007-05-15 Robert Millan <rmh@aybabtu.com>
28364
28365 * util/update-grub.in: Remove duplicated line in grub.cfg header
28366 message.
28367
28368 2007-05-13 Robert Millan <rmh@aybabtu.com>
28369
28370 * util/update-grub.in: Fix a few assumptions about the devices holding
28371 /, /boot and /boot/grub being the same.
28372 * util/grub.d/00_header.in: Likewise.
28373 * util/grub.d/10_hurd.in: Likewise.
28374 * util/grub.d/10_linux.in: Likewise.
28375
28376 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28377 patterns. Use that to define the `.old' suffix as older than `'.
28378
28379 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28380
28381 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28382 the grub.cfg header message.
28383
28384 2007-05-11 Robert Millan <rmh@aybabtu.com>
28385
28386 * util/update-grub.in: Create device.map if it doesn't already exist,
28387 before attempting to run grub-probe.
28388 Check for grub-probe and grub-mkdevicemap with the same code
28389 grub-install is using.
28390 Remove test mode.
28391
28392 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28393
28394 * Makefile.in: Add the datarootdir autoconf variable.
28395
28396 2007-05-09 Robert Millan <rmh@aybabtu.com>
28397
28398 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28399 fail gracefully if dev->disk->partition == NULL.
28400
28401 2007-05-07 Robert Millan <rmh@aybabtu.com>
28402
28403 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28404 determine partition map module.
28405 * util/i386/pc/grub-install.in: Use this feature to decide which
28406 partition module to load, instead of hardcoding pc and gpt.
28407
28408 2007-05-07 Robert Millan <rmh@aybabtu.com>
28409
28410 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28411 source directory differs from build directory.
28412
28413 2007-05-05 Robert Millan <rmh@aybabtu.com>
28414
28415 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28416 initialisation.
28417
28418 2007-05-05 Robert Millan <rmh@aybabtu.com>
28419
28420 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28421
28422 2007-05-05 Robert Millan <rmh@aybabtu.com>
28423
28424 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28425 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28426
28427 2007-05-05 Robert Millan <rmh@aybabtu.com>
28428
28429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28430 (grub_probe_SOURCES): Likewise.
28431 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28432 GPT and initialize dos_part and bsd_part accordingly.
28433 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28434 install_bsd_part.
28435 (main): Activate gpt module for use during partition identification,
28436 and deactivate it afterwards.
28437 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28438 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28439 partition identification, and deactivate it afterwards.
28440
28441 2007-05-05 Robert Millan <rmh@aybabtu.com>
28442
28443 * term/i386/pc/console.c (grub_console_fini): Call
28444 grub_term_set_current() before grub_term_unregister().
28445
28446 2007-05-04 Robert Millan <rmh@aybabtu.com>
28447
28448 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28449 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28450 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28451 and update-grub_DATA.
28452 * conf/common.rmk: Build and install update-grub components.
28453 * conf/common.mk: Regenerate.
28454 * util/update-grub.in: New. Core of update-grub.
28455 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28456 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28457 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28458 * util/grub.d/README: New. Document grub.d directory layout.
28459
28460 2007-05-01 Robert Millan <rmh@aybabtu.com>
28461
28462 * util/grub-emu.c: Move initialization functions
28463 grub_util_biosdisk_init() and grub_init_all() before
28464 grub_util_biosdisk_get_grub_dev(), which relies on them.
28465
28466 2007-04-19 Robert Millan <rmh@aybabtu.com>
28467
28468 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28469 it is used later.
28470
28471 2007-04-18 Jerone Young <jerone@gmail.com>
28472
28473 * kernel/elf.c: Add missing parenthesis for conditional statement
28474 stanza.
28475
28476 2007-04-10 Jerone Young <jerone@gmail.com>
28477
28478 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28479 continue on and look for device node with real device name.
28480
28481 2007-04-10 Jerone Young <jerone@gmail.com>
28482
28483 * configure.ac: Add argument for autoconf to use transformation
28484 ability.
28485 * Makefile.in: Add autoconf package transformation code.
28486 * util/i386/pc/grub-install.in: Likewise.
28487 * util/powerpc/ieee1275/grub-install.in: Likewise.
28488
28489 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28490
28491 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28492 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28493 (EXT2_REVISION): Likewise.
28494 (EXT2_INODE_SIZE): Likewise.
28495 (struct grub_ext2_block_group): Added a missing member
28496 "used_dirs".
28497 (grub_ext2_read_inode): Divide by the inode size in a superblock
28498 instead of 128 to obtain INODES_PER_BLOCK.
28499 Use the macro EXT2_INODE_SIZE instead of directly using
28500 SBLOCK->INODE_SIZE.
28501
28502 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28503
28504 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28505 superblock instead of the structure size to compute an
28506 offset. This fixes the problem that GRUB could not read a
28507 filesystem when inode size is different from 128-byte.
28508
28509 2007-03-05 Marco Gerards <marco@gnu.org>
28510
28511 * normal/main.c (read_config_file): When "menu" is not set, create
28512 an initial context.
28513
28514 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28515
28516 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28517 (HEAP_LIMIT): New macro.
28518 (grub_claim_heap): Claim memory up to `heaplimit'.
28519
28520 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28521
28522 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28523 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28524 (_start): Likewise.
28525 (grub_arch_modules_addr): Return address after `_end'.
28526 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28527 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28528 (add_segments): Calculate `_end' from phdr size and location.
28529 (ALIGN_UP): Moved to ...
28530 * include/grub/misc.h: here.
28531 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28532 New macro.
28533 (GRUB_IEEE1275_MODULE_BASE): Removed.
28534
28535 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28536
28537 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28538 loop boundary.
28539
28540 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28541
28542 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28543 All users updated.
28544 (grub_elf64_load_hook_t): Likewise.
28545 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28546 debug output.
28547
28548 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28549
28550 * kern/mm.c: Update copyright.
28551 (grub_mm_debug): Correct syntax error.
28552 (grub_mm_dump_free): New function.
28553 (grub_debug_free): Call `grub_free'.
28554 * include/grub/mm.h: Update copyright.
28555 (grub_mm_dump_free): Add declaration.
28556
28557 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28558
28559 * include/grub/ieee1275/ieee1275.h: Update copyright.
28560 * kern/powerpc/ieee1275/init.c: Likewise.
28561 * kern/powerpc/ieee1275/openfw.c: Likewise.
28562
28563 * loader/powerpc/ieee1275/linux.c: Likewise.
28564 * include/grub/elfload.h: Likewise.
28565 * kern/elf.c: Likewise.
28566 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28567 callers.
28568 (grub_elf64_load): Likewise.
28569 (grub_elf32_load_segment): Move to a nested function.
28570 (grub_elf64_load_segment): Likewise.
28571
28572 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28573
28574 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28575 prototype.
28576 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28577 (grub_heap_len): Likewise.
28578 (HEAP_SIZE): New macro.
28579 (grub_claim_heap): New function.
28580 (grub_machine_init): Don't claim heap directly. Call
28581 `grub_claim_heap'.
28582 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28583 (grub_available_iterate): New function.
28584
28585 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28586
28587 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28588 * configure.ac: Use it for testing the HOST and TARGET compilers.
28589
28590 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28591
28592 * Makefile.in (enable_grub_emu): New variable.
28593 * configure.ac (--enable-grub-emu): New option.
28594 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28595 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28596 * conf/i386-pc.rmk: Likewise.
28597 * conf/powerpc-ieee1275.rmk: Likewise.
28598 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28599
28600 2006-12-12 Marco Gerards <marco@gnu.org>
28601
28602 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28603
28604 * kern/env.c (grub_env_unset): Don't free the member `value' when
28605 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28606 pointer.
28607
28608 * normal/main.c (current_menu): Removed.
28609 (free_menu): Unset the `menu' environment variable.
28610 (grub_normal_menu_addentry): Make use of the environment variable
28611 `menu', instead of using the global `current_menu'. Allocate
28612 memory for the sourcecode of this entry.
28613 (read_config_file): New argument `nested', changed all callers.
28614 Only in the case of a new context, initialize a new menu. Set the
28615 `menu' environment variable.
28616 (grub_normal_execute): Don't set and unset the environment
28617 variable `menu' here anymore. Only free the menu when leaving the
28618 context.
28619
28620 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28621 leak.
28622
28623 2006-12-11 Marco Gerards <marco@gnu.org>
28624
28625 * normal/menu_entry.c (run): Fix off by one bug so the last line
28626 is executed. Move the loader check to outside the loop.
28627
28628 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28629
28630 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28631
28632 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28633
28634 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28635 the number of sectors. Reported by Andrey Shuvikov
28636 <mr_hyro@yahoo.com>.
28637
28638 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28639
28640 * kern/disk.c (grub_disk_read): When there is a read error, always
28641 try to read only the necessary data.
28642
28643 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28644 disk/raid.c.
28645 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28646 prototype.
28647 [GRUB_UTIL] (grub_raid_fini): Likewise.
28648 [GRUB_UTIL] (grub_lvm_init): Likewise.
28649 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28650 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28651 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28652 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28653 and grub_raid_fini().
28654
28655 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28656
28657 * include/grub/types.h (__unused): Rename to UNUSED.
28658 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28659 (grub_elf64_size): Likewise.
28660
28661 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28662
28663 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28664 grub_error_push and grub_error_pop in the error-handling path.
28665 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28666 length.
28667
28668 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28669
28670 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28671 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28673 (kernel_elf_SOURCES): Likewise.
28674 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28675 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28676 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28677 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28678 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28679 (elf_mod_SOURCES): New variable.
28680 (elf_mod_CFLAGS): Likewise.
28681 (elf_mod_LDFLAGS): Likewise.
28682 * include/grub/types.h (__unused): New macro.
28683 * include/grub/elfload.h: New file.
28684 * kern/elf.c: Likewise.
28685 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28686 (ELF32_LOADMASK): New macro.
28687 (ELF64_LOADMASK): Likewise.
28688 (vmlinux): Removed.
28689 (grub_linux_load32): New function.
28690 (grub_linux_load64): Likewise.
28691 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28692 Use grub_elf_t instead of grub_file_t.
28693
28694 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28695
28696 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28697 `catch_result' to struct set_color_args.
28698
28699 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28700
28701 * normal/menu.c: Include grub/script.h.
28702 * normal/menu_entry.c: Likewise.
28703 * include/grub/normal.h: Do not include grub/script.h.
28704
28705 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28706
28707 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28708
28709 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28710
28711 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28712 disk.
28713 (grub_disk_close): Print debug messages when closing a disk.
28714 (grub_disk_read): Print debug messages when disk read fails.
28715 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28716 filesystem type.
28717 * kern/partition.c: Include misc.h.
28718 (grub_partition_iterate): Print debug messages when detecting
28719 partition type.
28720
28721 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28722
28723 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28724 is negative.
28725 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28726
28727 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28728
28729 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28730 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28731
28732 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28733
28734 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28735 instead of sizeof(lv). Patch by Michael Guntsche.
28736
28737 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28738
28739 * disk/lvm.c: Rename VGS to VG_LIST.
28740 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28741 (grub_lvm_open): Likewise.
28742 Thanks to Michael Guntsche for finding this bug.
28743
28744 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28745
28746 * configure.ac (AC_INIT): Bumped to 1.95.
28747
28748 2006-10-14 Robert Millan <rmh@aybabtu.com>
28749
28750 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28751 with "/dev/.static/dev/md".
28752
28753 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28754
28755 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28756 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28757 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28758 DRIVE_NAME are always freed.
28759
28760 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28761 DOS_PART, as a DOS partition is counted from one instead of zero
28762 now. Reported by Robert Millan.
28763
28764 2006-10-14 Robert Millan <rmh@aybabtu.com>
28765
28766 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28767 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28768 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28769 string returned by grub_guess_root_device.
28770 * util/i386/pc/grub-setup.c: Likewise.
28771 * util/i386/pc/grub-probefs.c: Likewise.
28772
28773 * util/i386/pc/grub-probefs.c: Rename to ...
28774 * util/i386/pc/grub-probe.c: ... this.
28775 * DISTLIST: Remove grub-probefs, add grub-probe.
28776 * conf/i386-efi.rmk: Likewise.
28777 * conf/i386-pc.rmk: Likewise.
28778 * util/i386/pc/grub-install.in: Likewise.
28779
28780 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28781 choose which information we want to print.
28782
28783 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28784
28785 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28786 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28787 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28788 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28789 video/readers/tga.c and video/i386/pc/vbeutil.c.
28790
28791 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28792
28793 Added support for RAID and LVM.
28794
28795 * disk/lvm.c: New file.
28796 * disk/raid.c: Likewise.
28797 * include/grub/lvm.h: Likewise.
28798 * include/grub/raid.h: Likewise.
28799 * include/grub/util/lvm.h: Likewise.
28800 * include/grub/util/raid.h: Likewise.
28801 * util/lvm.c: Likewise.
28802 * util/raid.c: Likewise.
28803
28804 * include/grub/disk.h (grub_disk_dev_id): Add
28805 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28806 (grub_disk_get_size): New prototype.
28807 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28808 returns a partition.
28809 (grub_disk_get_size): New function.
28810
28811 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28812 verbatim if grub_install_dos_part is -2.
28813
28814 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28815 and LVM devices.
28816
28817 * util/i386/pc/grub-setup.c (setup): New argument
28818 MUST_EMBED. Force embedding of GRUB when the argument is
28819 true. Close FILE before returning.
28820 (main): Add support for RAID and LVM.
28821
28822 * conf/common.rmk: Add RAID and LVM modules.
28823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28824 util/lvm.c.
28825 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28826
28827 * kern/misc.c (grub_strstr): New function.
28828 * include/grub/misc.h (grub_strstr): New prototype.
28829
28830 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28831
28832 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28833
28834 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28835
28836 * kern/misc.c (grub_strtoull): Guess the base only if not
28837 specified.
28838
28839 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28840
28841 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28842 PowerMac support.
28843
28844 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28845
28846 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28847
28848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28849 Remove `flags' argument. All callers changed.
28850 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28851 (IEEE1275_IHANDLE_INVALID): New variable.
28852 (IEEE1275_CELL_INVALID): New variable.
28853 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28854 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28855 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28856 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28857 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28858 codes from Open Firmware. All callers updated.
28859 (grub_ieee1275_next_property): Directly return Open Firmware return
28860 code.
28861 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28862 Standardize error checking from `grub_ieee1275_get_property'.
28863 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28864 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28865
28866 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28867
28868 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28869 `instance_to_package_args' to `instance_to_path_args'.
28870
28871 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28872 `grub_ieee1275_chosen'.
28873
28874 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28875 `grub_ieee1275_interpret'.
28876
28877 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28878
28879 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28880
28881 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28882
28883 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28884 (__cmpdi): Likewise.
28885
28886 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28887 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28888 `grub_ssize_t'.
28889
28890 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28891
28892 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28893 to type `grub_ssize_t'.
28894 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28895
28896 2006-09-22 Marco Gerards <marco@gnu.org>
28897
28898 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28899 newlines.
28900
28901 2006-09-22 Marco Gerards <marco@gnu.org>
28902
28903 * commands/echo.c: New file.
28904
28905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28906
28907 * conf/common.rmk (echo_mod_SOURCES): New variable.
28908 (echo_mod_CFLAGS): Likewise.
28909 (echo_mod_LDFLAGS): Likewise.
28910
28911 2006-09-22 Marco Gerards <marco@gnu.org>
28912
28913 * normal/main.c (get_line): Malloc memory instead of using
28914 preallocated memory. Removed the arguments `cmdline' and
28915 `max_len'. Updated all callers.
28916
28917 2006-09-22 Marco Gerards <marco@gnu.org>
28918
28919 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28920 (normal_mod_DEPENDENCIES): Likewise.
28921
28922 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28923 (normal_mod_DEPENDENCIES): Likewise.
28924
28925 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28926
28927 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28928
28929 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28930 programs.
28931 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28932 (normal_mod_DEPENDENCIES): Likewise.
28933 * conf/i386-pc.mk: Regenerate.
28934 * conf/i386-efi.mk: Likewise
28935 * conf/common.mk: Likewise.
28936 * conf/powerpc-ieee1275.mk: Likewise.
28937 * conf/sparc64-ieee1275.mk: Likewise.
28938
28939 2006-09-22 Robert Millan <rmh@aybabtu.com>
28940
28941 Sync with i386 version.
28942 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28943 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28944
28945 2006-09-21 Robert Millan <rmh@aybabtu.com>
28946
28947 Import from GRUB Legacy (lib/device.c):
28948 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28949 (init_device_map) [__linux__]: Add support for I2O devices.
28950
28951 2006-09-14 Marco Gerards <marco@gnu.org>
28952
28953 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28954 `-melf_i386'.
28955
28956 2006-09-14 Robert Millan <rmh@aybabtu.com>
28957
28958 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28959 /boot/grub/*.lst.
28960
28961 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28962
28963 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28964 before adding it to device.map.
28965
28966 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28967
28968 * genmk.rb: Let GCC generate dependencies the first time it
28969 compiles a file; using the -MD option.
28970 * conf/common.mk: Regenerate.
28971 * conf/i386-pc.mk: Likewise.
28972 * conf/i386-efi.mk: Likewise.
28973 * conf/powerpc-ieee1275.mk: Likewise.
28974 * conf/sparc64-ieee1275.mk: Likewise.
28975
28976 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28977
28978 Move the prototypes of grub_setjmp and grub_longjmp to
28979 cpu/setjmp.h, so that each architecture may specify different
28980 attributes.
28981
28982 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28983 (grub_longjmp): Likewise.
28984 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28985 (grub_longjmp): Likewise.
28986 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28987 (grub_longjmp): Likewise.
28988
28989 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28990 [!GRUB_UTIL] (grub_longjmp): Removed.
28991
28992 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28993
28994 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28995 "color!" method does not return any value.
28996
28997 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28998
28999 * include/grub/bitmap.h: New file.
29000
29001 * include/grub/i386/pc/vbeutil.h: Likewise.
29002
29003 * video/bitmap.c: Likewise.
29004
29005 * video/readers/tga.c: Likewise.
29006
29007 * video/i386/pc/vbeutil.c: Likewise.
29008
29009 * commands/videotest.c: Code cleanup and updated to reflect to new
29010 video API.
29011
29012 * term/gfxterm.c: Likewise.
29013
29014 * video/video.c: Likewise.
29015
29016 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
29017 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
29018 (bitmap_mod_SOURCES): New entry.
29019 (bitmap_mod_CFLAGS): Likewise.
29020 (bitmap_mod_LDFLAGS): Likewise.
29021 (tga_mod_SOURCES): Likewise.
29022 (tga_mod_CFLAGS): Likewise.
29023 (tga_mod_LDFLAGS): Likewise.
29024
29025 * include/grub/video.h (grub_video_blit_operators): New enum type.
29026 (grub_video_render_target): Changed as forward declaration and moved
29027 actual definition to be video driver specific.
29028 (grub_video_adapter.blit_bitmap): Added blitting operator.
29029 (grub_video_adapter.blit_render_target): Likewise.
29030 (grub_video_blit_bitmap): Likewise.
29031 (grub_video_blit_render_target): Likewise.
29032
29033 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
29034 driver specific render target definition.
29035 (grub_video_vbe_map_rgba): Added driver internal helper.
29036 (grub_video_vbe_unmap_color): Updated to use
29037 grub_video_i386_vbeblit_info.
29038 (grub_video_vbe_get_video_ptr): Likewise.
29039
29040 * include/grub/i386/pc/vbeblit.h
29041 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
29042 grub_video_i386_vbeblit_info.
29043 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29044 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29045 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29046 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29047 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29048 (grub_video_i386_vbeblit_index_index): Likewise.
29049 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29050 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29051 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29052 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29053 operator.
29054 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29055 operator.
29056
29057 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29058 include/grub/i386/pc/vbeblit.h.
29059
29060 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29061 Updated to use grub_video_i386_vbeblit_info.
29062 (grub_video_i386_vbefill_R8G8B8): Likewise.
29063 (grub_video_i386_vbefill_index): Likewise.
29064 (grub_video_i386_vbefill): Added generic filler.
29065
29066 * video/i386/pc/vbefill.c: Updated to reflect changes on
29067 include/grub/i386/pc/vbefill.h.
29068
29069 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29070 grub_video_i386_vbeblit_info.
29071 (grub_video_vbe_unmap_color): Likewise.
29072 (grub_video_vbe_blit_glyph): Likewise.
29073 (grub_video_vbe_scroll): Likewise.
29074 (grub_video_vbe_draw_pixel): Removed function.
29075 (grub_video_vbe_get_pixel): Likewise.
29076 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29077 updated code to use it.
29078 (common_blitter): Added common blitter for render target and bitmap.
29079 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29080 (grub_video_vbe_blit_render_target): Likewise.
29081
29082 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
29083
29084 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29085 is in text mode if there is no console control protocol instance
29086 available.
29087
29088 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29089
29090 * include/grub/video.h: Code cleanup.
29091
29092 * include/grub/i386/pc/vbe.h: Likewise.
29093
29094 * video/i386/pc/vbe.c: Likewise.
29095
29096 * video/i386/pc/vbeblit.c: Likewise.
29097
29098 * video/i386/pc/vbefill.c: Likewise.
29099
29100 * video/video.c: Likewise. Also added more comments.
29101
29102 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29103
29104 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29105 (struct grub_biosdisk_dap): Likewise.
29106
29107 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29108 linkage settings for all functions.
29109
29110 2006-07-12 Marco Gerards <marco@gnu.org>
29111
29112 * configure.ac (--enable-mm-debug): Fix typo.
29113
29114 * genkernsyms.sh.in: Use proper quoting for `CC'.
29115
29116 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29117
29118 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29119 (normal_mod_ASFLAGS): Remove "-m32".
29120
29121 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29122
29123 * util/misc.c: Include config.h.
29124 [!HAVE_MEMALIGN]: Do not include malloc.h.
29125 (grub_memalign): Use posix_memalign, if present. Then, use
29126 memalign, if present. Otherwise, emit an error.
29127
29128 * util/grub-emu.c: Do not include malloc.h.
29129
29130 * include/grub/util/misc.h: Include unistd.h. This is required for
29131 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29132 D. Eades III <hde@foobar-qux.org>.
29133
29134 * configure.ac (AC_GNU_SOURCE): Added.
29135 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29136 type.
29137
29138 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29139
29140 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29141 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29142
29143 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29144
29145 * include/grub/types.h (grub_host_addr_t): Rename to
29146 grub_target_addr_t.
29147 (grub_host_off_t): Rename to grub_target_off_t.
29148 (grub_host_size_t): Rename to grub_target_size_t.
29149 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29150 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29151
29152 * include/grub/kernel.h (struct grub_module_header): Change type
29153 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29154 (grub_module_info): Likewise.
29155
29156 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29157
29158 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29159 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29160 Velazquez <jesus.velazquez@gmail.com>.
29161
29162 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29163
29164 Count partitions from 1 instead of 0 in the string representation
29165 of partitions. Still use 0-based internally.
29166
29167 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29168 (sun_partition_map_iterate): Use grub_partition_t instead of
29169 struct grub_partition *. Cast DESC->START_CYLINDER to
29170 grub_uint64_t after converting the endian.
29171 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29172 (sun_partition_map_get_name): Add 1 to P->INDEX.
29173
29174 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29175 PCDATA->DOS_PART.
29176 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29177
29178 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29179 zero instead of one.
29180 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29181 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29182
29183 * partmap/apple.c (apple_partition_map_iterate): Change the type
29184 of POS to unsigned.
29185 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29186 (apple_partition_map_get_name): Add 1 into P->INDEX.
29187
29188 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29189 of POS to unsigned.
29190 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29191 calculate the offset of a partition.
29192 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29193 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29194
29195 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29196 SECTOR to grub_disk_addr_t.
29197 (acorn_partition_map_iterate): Likewise.
29198 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29199 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29200 top.
29201 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29202
29203 * kern/i386/pc/init.c (make_install_device): Add 1 into
29204 GRUB_INSTALL_DOS_PART.
29205
29206 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29207 conditional.
29208
29209 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29210
29211 Clean up the code to support 64-bit addressing in disks and
29212 files. This change is not enough for filesystems yet.
29213
29214 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29215 type of "start" to grub_uint64_t.
29216 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29217 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29218 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29219 convert addresses.
29220
29221 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29222 to grub_disk_addr_t.
29223
29224 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29225 string.
29226
29227 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29228
29229 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29230 to char *.
29231
29232 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29233
29234 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29235
29236 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29237
29238 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29239 to grub_off_t, to detect an error from grub_file_seek.
29240 (grub_multiboot_load_elf32): Likewise.
29241
29242 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29243 maximum unsigned long value when an overflow is detected.
29244 (grub_strtoull): New function.
29245 (grub_divmod64): Likewise.
29246 (grub_lltoa): use grub_divmod64.
29247
29248 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29249 grub_disk_addr_t.
29250 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29251 the pointer to next character. Use grub_strtoull instead of
29252 grub_strtoul.
29253 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29254 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29255 respectively.
29256
29257 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29258 return value is signed.
29259 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29260 test if OFFSET is less than zero, as OFFSET is unsigned now.
29261
29262 * kern/disk.c (struct grub_disk_cache): Change the type of
29263 "sector" to grub_disk_addr_t.
29264 (grub_disk_cache_get_index): Change the type of SECTOR to
29265 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29266 unsigned after shifting.
29267 (grub_disk_cache_invalidate): Change the type of SECTOR to
29268 grub_disk_addr_t.
29269 (grub_disk_cache_unlock): Likewise.
29270 (grub_disk_cache_store): Likewise.
29271 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29272 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29273 grub_disk_addr_t and grub_uint64_t, respectively.
29274 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29275 body, as the value of OFFSET is tweaked by
29276 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29277 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29278 respectively.
29279 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29280 body, as the value of OFFSET is tweaked by
29281 grub_disk_check_range. Change the types of LEN and N to
29282 grub_size_t.
29283
29284 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29285 and "saved_offset" to grub_off_t.
29286 (test_header): Cast BUF to char *.
29287 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29288 to char *.
29289 (grub_gzio_read): Change the types of OFFSET and SIZE to
29290 grub_off_t and grub_size_t, respectively.
29291
29292 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29293 Removed.
29294 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29295 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29296 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29297 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29298 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29299
29300 * include/grub/types.h (grub_off_t): Unconditionally set to
29301 grub_uint64_t.
29302 (grub_disk_addr_t): Changed to grub_uint64_t.
29303
29304 * include/grub/partition.h (struct grub_partition): Change the
29305 types of "start", "len" and "offset" to grub_disk_addr_t,
29306 grub_uint64_t and grub_disk_addr_t, respectively.
29307 (grub_partition_get_start): Return grub_disk_addr_t.
29308 (grub_partition_get_len): Return grub_uint64_t.
29309
29310 * include/grub/misc.h (grub_strtoull): New prototype.
29311 (grub_divmod64): Likewise.
29312
29313 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29314 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29315 grub_off_t, respectively.
29316 All callers and references changed.
29317
29318 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29319 grub_size_t in "read".
29320 All callers and references changed.
29321
29322 * include/grub/file.h (struct grub_file): Change the types of
29323 "offset" and "size" to grub_off_t and grub_off_t,
29324 respectively. Change the type of SECTOR to grub_disk_addr_t in
29325 "read_hook".
29326 (grub_file_read): Change the type of LEN to grub_size_t.
29327 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29328 grub_off_t.
29329 (grub_file_size): Return grub_off_t.
29330 (grub_file_tell): Likewise.
29331 All callers and references changed.
29332
29333 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29334 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29335 "write".
29336 (struct grub_disk): Change the type of "total_sectors" to
29337 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29338 "read_hook".
29339 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29340 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29341 (grub_disk_write): Likewise.
29342 All callers and references changed.
29343
29344 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29345 char * for grub_strncmp to silence gcc.
29346 (grub_iso9660_mount): Likewise.
29347 (grub_iso9660_mount): Likewise.
29348 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29349 return statement.
29350 (grub_iso9660_iterate_dir): Likewise.
29351 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29352
29353 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29354 LEN to grub_disk_addr_t and grub_size_t, respectively.
29355
29356 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29357
29358 * fs/jfs.c (grub_jfs_read_file): Likewise.
29359
29360 * fs/minix.c (grub_jfs_read_file): Likewise.
29361
29362 * fs/sfs.c (grub_jfs_read_file): Likewise.
29363
29364 * fs/ufs.c (grub_jfs_read_file): Likewise.
29365
29366 * fs/xfs.c (grub_jfs_read_file): Likewise.
29367
29368 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29369 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29370 respectively.
29371
29372 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29373 BLKNR to -1 instead of returning GRUB_ERRNO.
29374 (grub_ext2_read_file): Change the types of SECTOR and
29375 LEN to grub_disk_addr_t and grub_size_t, respectively.
29376
29377 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29378 LEN to grub_disk_addr_t and grub_size_t, respectively.
29379
29380 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29381 grub_file_read.
29382
29383 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29384 string. Do not cast SECTOR explicitly.
29385
29386 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29387 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29388 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29389 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29390 over 2TB and LBA mode is not supported, raise an error.
29391 (get_safe_sectors): New function.
29392 (grub_biosdisk_read): Use get_safe_sectors.
29393 (grub_biosdisk_write): Likewise.
29394
29395 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29396 (grub_efidisk_write): Likewise.
29397
29398 * disk/loopback.c (delete_loopback): Cosmetic changes.
29399 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29400 correctly.
29401 (grub_loopback_open): Likewise.
29402 (grub_loopback_read): Likewise. Also, change the type of POS to
29403 grub_off_t, and fix the usage of grub_memset.
29404
29405 * commands/i386/pc/play.c: Include grub/machine/time.h.
29406
29407 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29408 print FILE->SIZE.
29409
29410 * commands/configfile.c: Include grub/env.h.
29411
29412 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29413 GRUB_ERRNO directly instead. Change the type of POS to
29414 grub_off_t. Follow the coding standard.
29415
29416 * commands/blocklist.c: Include grub/partition.h.
29417 (grub_cmd_blocklist): Return an error if the underlying device is
29418 not a disk. Take the starting sector of a partition into account,
29419 if a partition is used.
29420
29421 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29422 a length field.
29423 (lba_mode): Support 64-bit addresses.
29424 (chs_mode): Likewise.
29425 (copy_buffer): Adapted to the new offsets of a length field and a
29426 segment field.
29427 (blocklist_default_start): Allocate 64-bit space.
29428
29429 * boot/i386/pc/boot.S (force_lba): Removed.
29430 (boot_drive): Moved to under KERNEL_SECTOR.
29431 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29432 space.
29433 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29434 is useless.
29435 (lba_mode): Refactored to support a 64-bit address. More size
29436 optimization.
29437 (setup_sectors): Likewise.
29438
29439 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29440
29441 * DISTLIST: Added include/grub/i386/linux.h. Removed
29442 include/grub/i386/pc/linux.h
29443
29444 * configure.ac (AC_INIT): Bumped to 1.94.
29445
29446 * config.guess: Updated from gnulib.
29447 * config.sub: Likewise.
29448 * install-sh: Likewise.
29449 * mkinstalldirs: Likewise.
29450
29451 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29452
29453 * conf/common.rmk (grub_modules_init.lst): Depended on
29454 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29455 MODSRCFILES.
29456
29457 * genmk.rb (PModule::rule): Reverted the previous change.
29458
29459 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29460
29461 * conf/common.rmk (grub_modules_init.lst): Depends on
29462 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29463 that the target does not exist before producing.
29464 (grub_modules_init.h): Remove the target before generating.
29465 (grub_emu_init.c): Likewise.
29466
29467 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29468
29469 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29470
29471 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29472 for the target-specific tests. Make sure that we also have the
29473 up-to-date target variables for those tests.
29474
29475 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29476
29477 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29478 (PModule::rule): Likewise.
29479
29480 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29481
29482 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29483 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29484 target-specific flags should be prefixed.
29485 (PModule::rule): Likewise.
29486
29487 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29488
29489 * configure.ac (CMP): Check if cmp is available explicitly.
29490
29491 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29492
29493 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29494 (target_cpu): New variable.
29495 (pkglibdir): Use target_cpu instead of host_cpu.
29496
29497 * util/i386/pc/grub-install.in (host_cpu): Removed.
29498 (target_cpu): New variable.
29499 (pkglibdir): Use target_cpu instead of host_cpu.
29500
29501 * util/genmoddep.c: Removed.
29502
29503 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29504 instead of GRUB_HOST_SIZEOF_VOID_P.
29505 * kern/dl.c: Likewise.
29506
29507 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29508 ...
29509 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29510 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29511 (GRUB_TARGET_SIZEOF_LONG): ... this.
29512 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29513 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29514 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29515 to ...
29516 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29517 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29518 (GRUB_TARGET_SIZEOF_LONG): ... this.
29519 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29520 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29521 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29522 to ...
29523 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29524 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29525 (GRUB_TARGET_SIZEOF_LONG): ... this.
29526 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29527 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29528
29529 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29530 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29531 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29532 instead of GRUB_HOST_SIZEOF_LONG.
29533 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29534 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29535 GRUB_CPU_WORDS_BIGENDIAN.
29536 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29537 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29538 grub_host_ssize_t.
29539
29540 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29541 (genmoddep_SOURCES): Likewise.
29542 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29543 (genmoddep_SOURCES): Likewise.
29544 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29545 (genmoddep_SOURCES): Likewise.
29546 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29547 Likewise.
29548 (genmoddep_SOURCES): Likewise.
29549
29550 * genmoddep.awk: New file.
29551
29552 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29553 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29554 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29555 (PModule::rule): Likewise.
29556 (Program::rule): Likewise.
29557 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29558 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29559 respectively.
29560
29561 * configure.ac: Rewritten intensively to use host and target
29562 instead of build and host, respectively.
29563
29564 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29565 (host_cpu): Removed.
29566 (target_cpu): New variable.
29567 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29568 (BUILD_CC): Removed.
29569 (BUILD_CFLAGS): Likewise.
29570 (BUILD_CPPFLAGS): Likewise.
29571 (TARGET_CC): New variable.
29572 (TARGET_CFLAGS): Likewise.
29573 (TARGET_CPPFLAGS): Likewise.
29574 (TARGET_LDFLAGS): Likewise.
29575 (AWK): Likewise.
29576 (include): Use target_cpu instead of host_cpu.
29577 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29578
29579 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29580
29581 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29582
29583 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29584 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29585 field 'false' to 'exec_on_false'.
29586 (grub_script_create_cmdif): Renamed argument names to reflect above
29587 changes.
29588
29589 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29590
29591 * normal/script.c (grub_script_create_cmdif): Likewise.
29592
29593 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29594
29595 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29596 top.
29597 (grub_hfsplus_btree_recptr): Likewise.
29598 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29599 FILEBLOCK both to pass a block number and store next block
29600 number.
29601 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29602 overflow file correctly. Specify errors appropriately, because
29603 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29604 grub_hfsplus_btree_recptr to get the pointer to a found key.
29605 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29606 is found.
29607
29608 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29609 linux.mod.
29610 (_linux_mod_SOURCES): New variable.
29611 (_linux_mod_CFLAGS): Likewise.
29612 (_linux_mod_LDFLAGS): Likewise.
29613 (linux_mod_SOURCES): Likewise.
29614 (linux_mod_CFLAGS): Likewise.
29615 (linux_mod_LDFLAGS): Likewise.
29616
29617 * DISTLIST: Added loader/i386/efi/linux.c,
29618 loader/i386/efi/linux_normal.c and
29619 include/grub/i386/efi/loader.h.
29620
29621 * loader/i386/efi/linux.c: New file.
29622 * loader/i386/efi/linux_normal.c: Likewise.
29623 * include/grub/i386/efi/loader.h: Likewise.
29624
29625 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29626
29627 * commands/blocklist.c: New file.
29628
29629 * DISTLIST: Added commands/blocklist.c.
29630
29631 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29632 color for the background, and a darker color for the foreground.
29633 (grub_console_checkkey): Return READ_KEY.
29634 (grub_console_cls): Set the background to
29635 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29636
29637 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29638
29639 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29640 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29641
29642 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29643 prototype.
29644
29645 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29646 BG. The spec is wrong again.
29647
29648 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29649 prototype.
29650 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29651
29652 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29653 commands/blocklist.c.
29654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29655
29656 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29657 (blocklist_mod_SOURCES): New variable.
29658 (blocklist_mod_CFLAGS): Likewise.
29659 (blocklist_mod_LDFLAGS): Likewise.
29660
29661 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29662
29663 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29664 duplication.
29665 (lba_mode): Use %eax more intensively to reduce the code size.
29666
29667 2006-05-20 Marco Gerards <marco@gnu.org>
29668
29669 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29670
29671 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29672 for `menuentry'.
29673 (script): Accept leading newlines.
29674 (newlines): New rule to describe 0 or more newlines.
29675 (commands): Accept `command' with trailing newline. Fixed the
29676 order in which arguments were passed to `grub_script_add_cmd'.
29677 Accept commands separated by newlines.
29678 (function): Changed to accept newlines.
29679 (menuentry) Rewritten.
29680
29681 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29682 front of the list, instead of to the end.
29683
29684 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29685
29686 * util/i386/pc/grub-install.in (bindir): New variable.
29687 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29688 Shaver <lbgwjl@gmail.com>.
29689
29690 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29691
29692 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29693 grub/machine/linux.h
29694 * loader/i386/pc/linux.c: Likewise.
29695
29696 * include/grub/i386/pc/linux.h: Moved to ...
29697 * include/grub/i386/linux.h: ... here.
29698
29699 * include/grub/i386/linux.h (struct linux_kernel_params): New
29700 struct.
29701
29702 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29703
29704 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29705 checking.
29706 (grub_video_vbe_blit_glyph): Likewise.
29707 (grub_video_vbe_blit_bitmap): Likewise.
29708 (grub_video_vbe_blit_render_target): Likewise.
29709
29710 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29711
29712 * configure.ac (--with-platform): Properly quote the square
29713 brackets.
29714
29715 2006-05-08 Marco Gerards <marco@gnu.org>
29716
29717 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29718 this...
29719 (kernel_elf_HEADERS): ...to this. Updated all users.
29720 (grubof_symlist.c): Renamed from this...
29721 (kernel_elf_symlist.c): ...to this. Updated all users.
29722 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29723 (grubof_SOURCES): Renamed from this...
29724 (kernel_elf_SOURCES): ...to this.
29725 (grubof_HEADERS): Renamed from this...
29726 (kernel_elf_HEADERS): ...to this.
29727 (grubof_CFLAGS): Renamed from this...
29728 (kernel_elf_CFLAGS): ...to this.
29729 (grubof_ASFLAGS): Renamed from this...
29730 (kernel_elf_ASFLAGS): ...to this.
29731 (grubof_LDFLAGS): Renamed from this...
29732 (kernel_elf_LDFLAGS): ...to this.
29733
29734 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29735 this...
29736 (kernel_elf_HEADERS): ...to this. Updated all users.
29737 (grubof_symlist.c): Renamed from this...
29738 (kernel_elf_symlist.c): ...to this. Updated all users.
29739 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29740 (grubof_SOURCES): Renamed from this...
29741 (kernel_elf_SOURCES): ...to this.
29742 (grubof_HEADERS): Renamed from this...
29743 (kernel_elf_HEADERS): ...to this.
29744 (grubof_CFLAGS): Renamed from this...
29745 (kernel_elf_CFLAGS): ...to this.
29746 (grubof_ASFLAGS): Renamed from this...
29747 (kernel_elf_ASFLAGS): ...to this.
29748 (grubof_LDFLAGS): Renamed from this...
29749 (kernel_elf_LDFLAGS): ...to this.
29750
29751 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29752 `kernel.elf' instead of `grubof'.
29753
29754 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29755
29756 Add --with-platform to configure. Use pkglibdir instead of
29757 pkgdatadir. This is reported by Roger Leigh.
29758
29759 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29760 (host_vendor): Likewise.
29761 (host_os): Likewise.
29762 (pkgdatadir): Likewise.
29763 (platform): New variable.
29764 (pkglibdir): Likewise.
29765 Use PKGLIBDIR instead of PKGDATADIR.
29766
29767 * util/i386/pc/grub-install.in (datadir): Removed.
29768 (host_vendor): Likewise.
29769 (host_os): Likewise.
29770 (pkgdatadir): Likewise.
29771 (platform): New variable.
29772 (pkglibdir): Likewise.
29773 Use PKGLIBDIR instead of PKGDATADIR.
29774
29775 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29776 instead of GRUB_DATADIR.
29777 (main): Likewise.
29778 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29779 (main): Likewise.
29780 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29781 (main): Likewise.
29782
29783 * configure.ac (--with-platform): New option.
29784 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29785
29786 * Makefile.in: Include a makefile based on PLATFORM instead of
29787 HOST_VENDOR.
29788 (pkgdatadir): Not appended by the machine type.
29789 (pkglibdir): Appended by the machine type.
29790 (host_vendor): Removed.
29791 (platform): New variable.
29792 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29793 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29794 (uninstall): Likewise.
29795
29796 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29797
29798 Use the environment context in the menu. Remove the commands
29799 "default" and "timeout", and use variables instead.
29800
29801 * normal/menu.c: Include grub/env.h.
29802 (print_entry): Cast TITLE to silence gcc.
29803 (get_timeout): New function.
29804 (set_timeout): Likewise.
29805 (get_entry_number): Likewise.
29806 (run_menu): Use a default entry, a fallback entry and a timeout
29807 in the environment variables "default", "fallback" and
29808 "timeout". Also, tweak the default entry if it is not within the
29809 current menu entries.
29810 (grub_menu_run): Use a fallback entry in the environment variable
29811 "fallback".
29812
29813 * normal/main.c (read_config_file): Do not initialize
29814 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29815 NEWMENU->TIMEOUT.
29816 (grub_normal_execute): Use a data slot to store the menu.
29817
29818 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29819 fallback_entry and timeout.
29820 (struct grub_menu_list): Removed.
29821 (grub_menu_list_t): Likewise.
29822 (struct grub_context): Likewise.
29823 (grub_context_t): Likewise.
29824 (grub_context_get): Likewise.
29825 (grub_context_get_current_menu): Likewise.
29826 (grub_context_push_menu): Likewise.
29827 (grub_context_pop_menu): Likewise.
29828 (grub_default_init): Likewise.
29829 (grub_default_fini): Likewise.
29830 (grub_timeout_init): Likewise.
29831 (grub_timeout_fini): Likewise.
29832
29833 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29834 and timeout.mod.
29835 (normal_mod_SOURCES): Removed normal/context.c.
29836
29837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29838 commands/default.c, commands/timeout.c and normal/context.c.
29839 (normal_mod_SOURCES): Removed normal/context.c.
29840
29841 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29842 commands/timeout.c and normal/context.c.
29843 (normal_mod_SOURCES): Removed normal/context.c.
29844
29845 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29846 commands/default.c, commands/timeout.c and normal/context.c.
29847 (normal_mod_SOURCES): Removed normal/context.c.
29848
29849 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29850 timeout.mod.
29851 (default_mod_SOURCES): Removed.
29852 (default_mod_CFLAGS): Likewise.
29853 (default_mod_LDFLAGS): Likewise.
29854 (timeout_mod_SOURCES): Removed.
29855 (timeout_mod_CFLAGS): Likewise.
29856 (timeout_mod_LDFLAGS): Likewise.
29857
29858 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29859 normal/context.c.
29860
29861 * commands/default.c: Removed.
29862 * commands/timeout.c: Likewise.
29863 * normal/context.c: Likewise.
29864
29865 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29866
29867 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29868
29869 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29870
29871 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29872 "next" to "prev" for readability.
29873 (struct grub_env_sorted_var): New struct.
29874 (grub_env_context): Renamed to ...
29875 (initial_context): ... this.
29876 (grub_env_var_context): Renamed to ...
29877 (current_context): ... this.
29878 (grub_env_find): Look only at CURRENT_CONTEXT.
29879 (grub_env_context_open): Rewritten to copy exported variables from
29880 previous context.
29881 (grub_env_context_close): Rewritten according to the new
29882 scheme. Also, add an assertion to prevent the initial context from
29883 removed.
29884 (grub_env_insert): Removed the code for the sorted list.
29885 (grub_env_remove): Likewise.
29886 (grub_env_export): Simply mark the variable with
29887 GRUB_ENV_VAR_GLOBAL.
29888 (grub_env_set): A cosmetic change for naming consistency.
29889 (grub_env_get): Likewise.
29890 (grub_env_unset): Likewise.
29891 (grub_env_iterate): Rewritten to sort variables within this
29892 function.
29893 (grub_register_variable_hook): Fixed for naming consistency. Call
29894 grub_env_find again, only if NAME is not found at the first time.
29895 (mangle_data_slot_name): New function.
29896 (grub_env_set_data_slot): Likewise.
29897 (grub_env_get_data_slot): Likewise.
29898 (grub_env_unset_data_slot): Likewise.
29899
29900 * include/grub/env.h (grub_env_var_type): New enum.
29901 (GRUB_ENV_VAR_LOCAL): New constant.
29902 (GRUB_ENV_VAR_GLOBAL): Likewise.
29903 (GRUB_ENV_VAR_DATA): Likewise.
29904 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29905 "type".
29906 (grub_env_set): Replace VAR with NAME for consistency.
29907 (grub_register_variable_hook): Likewise.
29908 (grub_env_export): Specify the name of the argument.
29909 (grub_env_set_data_slot): New prototype.
29910 (grub_env_get_data_slot): Likewise.
29911 (grub_env_unset_data_slot): Likewise.
29912
29913 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29914
29915 Extend the loader so that GRUB can accept a loader which comes
29916 back to GRUB when a loaded image exits. Also, this change adds
29917 support for a chainloader on EFI.
29918
29919 * term/efi/console.c: Include grub/misc.h.
29920 (grub_console_checkkey): Display a scan code on the top for
29921 debugging. This will be removed once the EFI port gets stable.
29922 Correct the scan code mapping.
29923
29924 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29925 allocate memory from larger regions, in order to reduce the number
29926 of allocated regions. Otherwise, the MacOSX loader panics.
29927 (filter_memory_map): Avoid less than 1MB for compatibility with
29928 other loaders.
29929 (add_memory_regions): Allocate from the tail of a region, if
29930 possible, to avoid allocating a region near to 1MB, for the MacOSX
29931 loader.
29932
29933 * kern/efi/init.c (grub_efi_set_prefix): Specify
29934 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29935
29936 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29937 argument IMAGE_HANDLE and specify it to get a loaded image.
29938 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29939 grub_efi_get_loaded_image.
29940 (grub_efi_get_filename): Divide the length by the size of
29941 grub_efi_char16_t.
29942 (grub_efi_get_device_path): New function.
29943 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29944 the length by the size of grub_efi_char16_t for a file path device
29945 path node.
29946
29947 * kern/loader.c (grub_loader_noreturn): New variable.
29948 (grub_loader_set): Accept a new argument NORETURN. Set
29949 GRUB_LOADER_NORETURN to NORETURN.
29950 All callers changed.
29951 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29952 grub_machine_fini.
29953
29954 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29955 prototype.
29956 (grub_efi_get_loaded_image): Take an argument to specify an image
29957 handle.
29958
29959 * include/grub/loader.h (grub_loader_set): Added one more argument
29960 NORETURN.
29961
29962 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29963 instead of grub_efi_open_protocol.
29964 (grub_efidisk_get_device_name): Likewise.
29965 (grub_efidisk_close): Print a newline.
29966 (grub_efidisk_get_device_handle): Fixed to use
29967 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29968 GRUB_EFI_DEVICE_PATH_TYPE.
29969
29970 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29971 * kern/efi/efi.c (device_path_guid): ... here.
29972
29973 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29974 chain.mod.
29975 (kernel_mod_HEADERS): Added efi/disk.h.
29976 (_chain_mod_SOURCES): New variable.
29977 (_chain_mod_CFLAGS): Likewise.
29978 (_chain_mod_LDFLAGS): Likewise.
29979 (chain_mod_SOURCES): Likewise.
29980 (chain_mod_CFLAGS): Likewise.
29981 (chain_mod_LDFLAGS): Likewise.
29982
29983 * DISTLIST: Added include/grub/efi/chainloader.h,
29984 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29985
29986 * include/grub/efi/chainloader.h: New file.
29987 * loader/efi/chainloader.c: Likewise.
29988 * loader/efi/chainloader_normal.c: Likewise.
29989
29990 2006-04-30 Marco Gerards <marco@gnu.org>
29991
29992 * commands/configfile.c (grub_cmd_source): New function.
29993 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29994 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29995
29996 2006-04-30 Marco Gerards <marco@gnu.org>
29997
29998 * normal/execute.c (grub_script_execute_cmd): Change the return
29999 type to `grub_err_t'. Correctly return the error.
30000 (grub_script_execute_cmdline): In case a command line is not a
30001 command or a function, try to interpret it as an assignment.
30002
30003 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30004
30005 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
30006 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
30007 skip a node whose name is obviously invalid as UTF-16,
30008 i.e. contains a NUL character. Stop the iteration when the last
30009 directory entry is found. Instead of using the return value of
30010 grub_hfsplus_btree_iterate_node, store the value in RET and use
30011 it, because the iterator can be stopped by the last directory
30012 entry.
30013
30014 2006-04-30 Marco Gerards <marco@gnu.org>
30015
30016 * include/grub/env.h (grub_env_export): New prototype. Reported
30017 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
30018
30019 2006-04-30 Marco Gerards <marco@gnu.org>
30020
30021 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
30022 size of the extents in a catalog file record.
30023
30024 2006-04-29 Marco Gerards <marco@gnu.org>
30025
30026 * commands/configfile.c (grub_cmd_configfile): Execute the
30027 configfile within its own context.
30028
30029 * include/grub/env.h (grub_env_context_open): New prototype.
30030 (grub_env_context_close): Likewise.
30031
30032 * kern/env.c (grub_env): Removed.
30033 (grub_env_sorted): Likewise.
30034 (grub_env_context): New variable.
30035 (grub_env_var_context): Likewise.
30036 (grub_env_find): Search both the active context and the global
30037 context.
30038 (grub_env_context_open): New function.
30039 (grub_env_context_close): Likewise.
30040 (grub_env_insert): Likewise.
30041 (grub_env_remove): Likewise.
30042 (grub_env_export): Likewise.
30043 (grub_env_set): Changed to use helper functions to avoid code
30044 duplication.
30045 (grub_env_iterate): Rewritten so both the current context and the
30046 global context are being used.
30047
30048 * normal/command.c (export_command): New function.
30049 (grub_command_init): Register the `export' function.
30050
30051 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30052
30053 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30054 explicitly to suppress gcc's warnings.
30055 * fs/fat.c (grub_fat_find_dir): Likewise.
30056 (grub_fat_label): Likewise.
30057 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30058 (grub_xfs_mount): Likewise.
30059 (grub_xfs_label): Likewise.
30060 * fs/affs.c (grub_affs_mount): Likewise.
30061 (grub_affs_label): Likewise.
30062 (grub_affs_iterate_dir): Likewise.
30063 * fs/sfs.c (grub_sfs_mount): Likewise.
30064 (grub_sfs_iterate_dir): Likewise.
30065 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30066 * fs/hfs.c (grub_hfs_mount): Likewise.
30067 (grub_hfs_cmp_catkeys): Likewise.
30068 (grub_hfs_find_dir): Likewise.
30069 (grub_hfs_dir): Likewise.
30070 (grub_hfs_label): Likewise.
30071 * fs/jfs.c (grub_jfs_mount): Likewise.
30072 (grub_jfs_opendir): Likewise.
30073 (grub_jfs_getent): Likewise.
30074 (grub_jfs_lookup_symlink): Likewise.
30075 (grub_jfs_label): Likewise.
30076 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30077 (grub_hfsplus_iterate_dir): Likewise.
30078 (grub_hfsplus_btree_iterate_node): Made static.
30079
30080 * util/grub-emu.c (prefix): New variable.
30081 (grub_machine_set_prefix): New function.
30082 (main): Do not set the environment variable "prefix" here. Only
30083 set PREFIX, which is used later by grub_machine_set_prefix.
30084
30085 * include/grub/video.h: Do not include grub/symbol.h.
30086 (grub_video_register): Not exported. This symbol is not defined in
30087 the kernel.
30088 (grub_video_unregister): Likewise.
30089 (grub_video_iterate): Likewise.
30090 (grub_video_setup): Likewise.
30091 (grub_video_restore): Likewise.
30092 (grub_video_get_info): Likewise.
30093 (grub_video_get_blit_format): Likewise.
30094 (grub_video_set_palette): Likewise.
30095 (grub_video_get_palette): Likewise.
30096 (grub_video_set_viewport): Likewise.
30097 (grub_video_get_viewport): Likewise.
30098 (grub_video_map_color): Likewise.
30099 (grub_video_map_rgb): Likewise.
30100 (grub_video_map_rgba): Likewise.
30101 (grub_video_fill_rect): Likewise.
30102 (grub_video_blit_glyph): Likewise.
30103 (grub_video_blit_bitmap): Likewise.
30104 (grub_video_blit_render_target): Likewise.
30105 (grub_video_scroll): Likewise.
30106 (grub_video_swap_buffers): Likewise.
30107 (grub_video_create_render_target): Likewise.
30108 (grub_video_delete_render_target): Likewise.
30109 (grub_video_set_active_render_target): Likewise.
30110
30111 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30112 Undefined.
30113 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30114
30115 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30116 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30117 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30118 instead of $(srcdir)/genkernsyms.sh.
30119
30120 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30121 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30122 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30123 instead of $(srcdir)/genkernsyms.sh.
30124
30125 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30126 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30127 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30128 instead of $(srcdir)/genkernsyms.sh.
30129
30130 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30131 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30132 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30133 instead of $(srcdir)/genkernsyms.sh.
30134
30135 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30136 genkernsyms.sh.
30137
30138 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30139 genkernsyms.sh.
30140 (gensymlist.sh): New target.
30141 (genkernsyms.sh): Likewise.
30142
30143 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30144 genkernsyms.sh.in and gensymlist.sh.in.
30145
30146 * genkernsyms.sh: Removed.
30147 * gensymlist.sh: Likewise.
30148
30149 * genkernsyms.sh.in: New file.
30150 * gensymlist.sh.in: Likewise.
30151
30152 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30153
30154 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30155 clobber "prefix", since we may have already set it manually.
30156
30157 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30158
30159 * kern/misc.c (abort): New alias for grub_abort.
30160
30161 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30162
30163 A new machine-specific function "grub_machine_set_prefix" is
30164 defined. This is called after loading modules, so that a prefix
30165 initialization can use modules. Also, this change adds an
30166 intensive debugging feature for the memory manager via the
30167 configure option "--enable-mm-debug".
30168
30169 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30170 PART.LEN.
30171
30172 * kern/sparc64/ieee1275/init.c (abort): Removed.
30173 (grub_stop): Likewise.
30174 (grub_exit): New function.
30175 (grub_set_prefix): Renamed to ...
30176 (grub_machine_set_prefix): ... this.
30177 (grub_machine_init): Do not call grub_set_prefix.
30178
30179 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30180 (grub_machine_set_prefix): ... this.
30181 (grub_machine_init): Do not call grub_set_prefix.
30182
30183 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30184 (grub_machine_init): Do not set the prefix here.
30185
30186 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30187
30188 * kern/efi/init.c: Include grub/mm.h.
30189 (grub_efi_set_prefix): New function.
30190
30191 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30192 (grub_efi_get_filename): New function.
30193 (grub_print_device_path): Renamed to ...
30194 (grub_efi_print_device_path): ... this.
30195
30196 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30197 [MM_DEBUG] (grub_realloc): Likewise.
30198 [MM_DEBUG] (grub_free): Likewise.
30199 [MM_DEBUG] (grub_memalign): Likewise.
30200 [MM_DEBUG] (grub_mm_debug): New variable.
30201 [MM_DEBUG] (grub_debug_malloc): New function.
30202 [MM_DEBUG] (grub_debug_free): New function.
30203 [MM_DEBUG] (grub_debug_realloc): New function.
30204 [MM_DEBUG] (grub_debug_memalign): New function.
30205
30206 * kern/misc.c (grub_abort): Print a newline to distinguish
30207 the message.
30208
30209 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30210 grub_set_root_dev after loading modules. This is necessary when
30211 setting a prefix depends on modules.
30212
30213 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30214 (grub_efi_print_device_path): ... this.
30215 (grub_efi_get_filename): New prototype.
30216 (grub_efi_set_prefix): Likewise.
30217
30218 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30219 and grub/disk.h.
30220 (grub_efidisk_get_device_handle): New prototype.
30221 (grub_efidisk_get_device_name): Likewise.
30222
30223 * include/grub/mm.h: Include config.h.
30224 (MM_DEBUG): Removed.
30225 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30226 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30227 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30228 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30229 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30230 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30231 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30232 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30233 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30234
30235 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30236
30237 * disk/efi/efidisk.c: Include grub/partition.h.
30238 (iterate_child_devices): New function.
30239 (add_device): First, compare only last device path nodes, so that
30240 devices are sorted by the types.
30241 (grub_efidisk_get_device_handle): New function.
30242 (grub_efidisk_get_device_name): Likewise.
30243
30244 * configure.ac (--enable-mm-debug): New option to enable the
30245 memory manager debugging feature. This makes the binary much
30246 bigger, so is disabled by default.
30247
30248 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30249
30250 Use grub_abort instead of grub_stop, and grub_exit must be
30251 define in each architecture now. Also, this change adds support
30252 for EFI disks.
30253
30254 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30255 (grub_getkey): New function.
30256 (grub_term_get_current): Likewise.
30257
30258 * util/i386/pc/grub-setup.c: Include grub/term.h.
30259 (grub_getkey): New function.
30260 (grub_term_get_current): Likewise.
30261
30262 * util/misc.c (grub_stop): Renamed to ...
30263 (grub_exit): ... this.
30264
30265 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30266 (grub_exit): ... this.
30267 (grub_machine_init): Use grub_abort instead of abort.
30268 (grub_stop): Removed.
30269
30270 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30271 abort.
30272
30273 * kern/i386/pc/startup.S (grub_exit): New function.
30274 (cold_reboot): New label.
30275
30276 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30277 (grub_efi_init): Call grub_efidisk_init.
30278 (grub_efi_fini): Call grub_efidisk_fini.
30279
30280 * kern/efi/efi.c: Include grub/mm.h.
30281 (grub_efi_console_control_guid): Renamed to ...
30282 (console_control_guid): ... this.
30283 (grub_efi_loaded_image_guid): Renamed to ...
30284 (loaded_image_guid): ... this.
30285 (grub_efi_locate_handle): New function.
30286 (grub_efi_open_protocol): Likewise.
30287 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30288 GRUB_EFI_CONSOLE_CONTROL_GUID.
30289 (grub_efi_exit): Removed.
30290 (grub_stop): Likewise.
30291 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30292 (grub_exit): New function.
30293 (grub_print_device_path): Likewise.
30294
30295 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30296 (grub_enter_rescue_mode): Register "exit".
30297
30298 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30299 (grub_abort): New function.
30300
30301 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30302
30303 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30304
30305 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30306
30307 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30308 (grub_print_device_path): New prototype.
30309 (grub_efi_locate_handle): Likewise.
30310 (grub_efi_open_protocol): Likewise.
30311
30312 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30313 * disk/efi/efidisk.c: Likewise.
30314
30315 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30316
30317 * include/grub/efi/console_control.h
30318 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30319
30320 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30321 last 8 bytes as an array.
30322 (GRUB_EFI_DISK_IO_GUID): New macro.
30323 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30324 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30325 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30326 grub_uint8_t.
30327 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30328 (struct grub_efi_device_path): Rename the member "sub_type" to
30329 "subtype".
30330 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30331 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30332 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30333 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30334 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30335 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30336 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30337 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30338 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30339 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30340 (struct grub_efi_pci_device_path): New structure.
30341 (grub_efi_pci_device_path_t): New type.
30342 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30343 (struct grub_efi_pccard_device_path): New structure.
30344 (grub_efi_pccard_device_path_t): New type.
30345 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30346 (struct grub_efi_memory_mapped_device_path): New structure.
30347 (grub_efi_memory_mapped_device_path_t): New type.
30348 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30349 (struct grub_efi_vendor_device_path): New structure.
30350 (grub_efi_vendor_device_path_t): New type.
30351 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30352 (struct grub_efi_controller_device_path): New structure.
30353 (grub_efi_controller_device_path_t): New type.
30354 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30355 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30356 (struct grub_efi_acpi_device_path): New structure.
30357 (grub_efi_acpi_device_path_t): New type.
30358 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30359 (struct grub_efi_expanded_acpi_device_path): New structure.
30360 (grub_efi_expanded_acpi_device_path_t): New type.
30361 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30362 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30363 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30364 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30365 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30366 (struct grub_efi_atapi_device_path): New structure.
30367 (grub_efi_atapi_device_path_t): New type.
30368 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30369 (struct grub_efi_fibre_channel_device_path): New structure.
30370 (grub_efi_fibre_channel_device_path_t): New type.
30371 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30372 (struct grub_efi_1394_device_path): New structure.
30373 (grub_efi_1394_device_path_t): New type.
30374 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30375 (struct grub_efi_usb_device_path): New structure.
30376 (grub_efi_usb_device_path_t): New type.
30377 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30378 (struct grub_efi_usb_class_device_path): New structure.
30379 (grub_efi_usb_class_device_path_t): New type.
30380 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30381 (struct grub_efi_i2o_device_path): New structure.
30382 (grub_efi_i2o_device_path_t): New type.
30383 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30384 (struct grub_efi_mac_address_device_path): New structure.
30385 (grub_efi_mac_address_device_path_t): New type.
30386 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30387 (struct grub_efi_ipv4_device_path): New structure.
30388 (grub_efi_ipv4_device_path_t): New type.
30389 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30390 (struct grub_efi_ipv6_device_path): New structure.
30391 (grub_efi_ipv6_device_path_t): New type.
30392 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30393 (struct grub_efi_infiniband_device_path): New structure.
30394 (grub_efi_infiniband_device_path_t): New type.
30395 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30396 (struct grub_efi_uart_device_path): New structure.
30397 (grub_efi_uart_device_path_t): New type.
30398 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30399 (struct grub_efi_vendor_messaging_device_path): New structure.
30400 (grub_efi_vendor_messaging_device_path_t): New type.
30401 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30402 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30403 (struct grub_efi_hard_drive_device_path): New structure.
30404 (grub_efi_hard_drive_device_path_t): New type.
30405 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30406 (struct grub_efi_cdrom_device_path): New structure.
30407 (grub_efi_cdrom_device_path_t): New type.
30408 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30409 (struct grub_efi_vendor_media_device_path): New structure.
30410 (grub_efi_vendor_media_device_path_t): New type.
30411 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30412 (struct grub_efi_file_path_device_path): New structure.
30413 (grub_efi_file_path_device_path_t): New type.
30414 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30415 (struct grub_efi_protocol_device_path): New structure.
30416 (grub_efi_protocol_device_path_t): New type.
30417 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30418 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30419 (struct grub_efi_bios_device_path): New structure.
30420 (grub_efi_bios_device_path_t): New type.
30421 (struct grub_efi_disk_io): New structure.
30422 (grub_efi_disk_io_t): New type.
30423 (struct grub_efi_block_io_media): New structure.
30424 (grub_efi_block_io_media_t): New type.
30425 (struct grub_efi_block_io): New structure.
30426 (grub_efi_block_io_t): New type.
30427
30428 * include/grub/misc.h (grub_stop): Removed.
30429 (grub_exit): New prototype.
30430 (grub_abort): Likewise.
30431
30432 * include/grub/disk.h (enum grub_disk_dev_id): Added
30433 GRUB_DISK_DEVICE_EFIDISK_ID.
30434
30435 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30436 disk/efi/efidisk.c.
30437 (kernel_syms.lst): Remove the target if an error occurs.
30438
30439 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30440
30441 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30442 as it was simply too buggy.
30443
30444 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30445
30446 * kern/misc.c (grub_lltoa): New function.
30447 (grub_vsprintf): Added support for the long long suffix,
30448 i.e. "ll".
30449
30450 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30451
30452 * Makefile.in (LDFLAGS): Add variable.
30453 (LD): Remove variable.
30454 * configure.ac: Add -m32 to LDFLAGS.
30455 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30456 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30457 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30458 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30459 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30460 variables.
30461 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30462 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30463 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30464
30465 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30466
30467 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30468 length for unknown glyph.
30469
30470 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30471
30472 Add support for pre-loaded modules into the EFI port.
30473
30474 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30475 completely. Accept one more argument DIR. The caller has changed.
30476
30477 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30478
30479 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30480 (grub_efi_loaded_image_guid): New variable.
30481 (grub_efi_get_loaded_image): New function.
30482 (grub_arch_modules_addr): Likewise.
30483
30484 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30485 prototype.
30486
30487 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30488 (struct grub_efi_loaded_image): New structure.
30489 (grub_efi_loaded_image_t): New type.
30490
30491 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30492
30493 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30494 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30495 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30496
30497 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30498
30499 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30500
30501 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30502
30503 * DISTLIST: Added include/grub/efi/console.h,
30504 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30505 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30506
30507 * include/grub/efi/console.h: New file.
30508 * include/grub/efi/time.h: Likewise.
30509 * include/grub/i386/efi/kernel.h: Likewise.
30510 * kern/efi/init.c: Likewise.
30511 * kern/efi/mm.c: Likewise.
30512 * term/efi/console.c: Likewise.
30513
30514 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30515 (grub_stop): Removed.
30516 (grub_get_rtc): Likewise.
30517 (grub_machine_init): Simply call grub_efi_init.
30518 (grub_machine_fini): Call grub_efi_fini.
30519
30520 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30521 (grub_efi_output_string): Removed.
30522 (grub_efi_stall): New function.
30523 (grub_stop): Likewise.
30524 (grub_get_rtc): Likewise.
30525
30526 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30527 (grub_efi_stall): New prototype.
30528 (grub_efi_allocate_pages): Likewise.
30529 (grub_efi_free_pages): Likewise.
30530 (grub_efi_get_memory_map): Likewise.
30531 (grub_efi_mm_init): Likewise.
30532 (grub_efi_mm_fini): Likewise.
30533 (grub_efi_init): Likewise.
30534 (grub_efi_fini): Likewise.
30535
30536 * include/grub/i386/efi/time.h: Do not include
30537 grub/symbol.h. Include grub/efi/time.h.
30538 (GRUB_TICKS_PER_SECOND): Removed.
30539 (grub_get_rtc): Likewise.
30540
30541 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30542 Added padding. The EFI spec is buggy.
30543 (GRUB_EFI_BLACK): New macro.
30544 (GRUB_EFI_BLUE): Likewise.
30545 (GRUB_EFI_GREEN): Likewise.
30546 (GRUB_EFI_CYAN): Likewise.
30547 (GRUB_EFI_RED): Likewise.
30548 (GRUB_EFI_MAGENTA): Likewise.
30549 (GRUB_EFI_BROWN): Likewise.
30550 (GRUB_EFI_LIGHTGRAY): Likewise.
30551 (GRUB_EFI_BRIGHT): Likewise.
30552 (GRUB_EFI_DARKGRAY): Likewise.
30553 (GRUB_EFI_LIGHTBLUE): Likewise.
30554 (GRUB_EFI_LIGHTGREEN): Likewise.
30555 (GRUB_EFI_LIGHTCYAN): Likewise.
30556 (GRUB_EFI_LIGHTRED): Likewise.
30557 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30558 (GRUB_EFI_YELLOW): Likewise.
30559 (GRUB_EFI_WHITE): Likewise.
30560 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30561 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30562 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30563 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30564 (GRUB_EFI_BACKGROUND_RED): Likewise.
30565 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30566 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30567 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30568 (GRUB_EFI_TEXT_ATTR): Likewise.
30569
30570 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30571 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30572 (kernel_mod_HEADERS): Added efi/time.h.
30573
30574 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30575
30576 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30577 include/grub/efi/api.h, include/grub/efi/console_control.h,
30578 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30579 include/grub/i386/efi/time.h, kern/efi/efi.c,
30580 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30581 and util/i386/efi/grub-mkimage.c.
30582
30583 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30584
30585 * genmk.rb (PModule#rule): Do not export symbols if
30586 #{prefix}_EXPORTS is set to "no".
30587
30588 * conf/i386-efi.mk: New file.
30589 * conf/i386-efi.rmk: Likewise.
30590 * include/grub/efi/api.h: Likewise.
30591 * include/grub/efi/console_control.h: Likewise.
30592 * include/grub/efi/efi.h: Likewise.
30593 * include/grub/efi/pe32.h: Likewise.
30594 * include/grub/i386/efi/time.h: Likewise.
30595 * kern/efi/efi.c: Likewise.
30596 * kern/i386/efi/init.c: Likewise.
30597 * kern/i386/efi/startup.S: Likewise.
30598 * util/i386/efi/grub-mkimage.c: Likewise.
30599
30600 2006-04-17 Marco Gerards <marco@gnu.org>
30601
30602 * include/grub/script.h: Include <grub/parser.h> and
30603 "grub_script.tab.h".
30604 (struct grub_lexer_param): New struct.
30605 (struct grub_parser_param): Likewise.
30606 (grub_script_create_arglist): Pass the state in an argument.
30607 (grub_script_add_arglist): Likewise.
30608 (grub_script_create_cmdline): Likewise.
30609 (grub_script_create_cmdblock): Likewise.
30610 (grub_script_create_cmdif): Likewise.
30611 (grub_script_create_cmdmenu): Likewise.
30612 (grub_script_add_cmd): Likewise.
30613 (grub_script_arg_add): Likewise.
30614 (grub_script_lexer_ref): Likewise.
30615 (grub_script_lexer_deref): Likewise.
30616 (grub_script_lexer_record_start): Likewise.
30617 (grub_script_lexer_record_stop): Likewise.
30618 (grub_script_mem_record): Likewise.
30619 (grub_script_mem_record_stop): Likewise.
30620 (grub_script_malloc): Likewise.
30621 (grub_script_yylex): Likewise.
30622 (grub_script_yyparse): Likewise.
30623 (grub_script_yyerror): Likewise.
30624 (grub_script_yylex): Likewise.
30625 (grub_script_lexer_init): Return the state.
30626
30627 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30628 (grub_script_lexer_done): Likewise.
30629 (grub_script_lexer_getline): Likewise.
30630 (grub_script_lexer_refs): Likewise.
30631 (script): Likewise.
30632 (newscript): Likewise.
30633 (record): Likewise.
30634 (recording): Likewise.
30635 (recordpos): Likewise.
30636 (recordlen): Likewise.
30637 (grub_script_lexer_init): Return the state instead of setting
30638 global variables.
30639 (grub_script_lexer_ref): Use the newly added argument for state
30640 instead of globals.
30641 (grub_script_lexer_deref): Likewise.
30642 (grub_script_lexer_record_start): Likewise.
30643 (grub_script_lexer_record_stop): Likewise.
30644 (recordchar): Likewise.
30645 (nextchar): Likewise.
30646 (grub_script_yylex2): Likewise.
30647 (grub_script_yylex): Likewise.
30648 (grub_script_yyerror): Likewise.
30649
30650 * normal/parser.y (func_mem): Removed variable.
30651 (menu_entry): Likewise.
30652 (err): Likewise.
30653 (%lex-param): New parser option.
30654 (%parse-param): Likewise.
30655 (script): Always return the AST.
30656 (argument): Pass the state around.
30657 (arguments): Likewise.
30658 (grubcmd): Likewise.
30659 (commands): Likewise.
30660 (function): Likewise.
30661 (menuentry): Likewise.
30662 (if_statement): Likewise.
30663 (if): Likewise.
30664
30665 * normal/script.c (grub_script_memused): Removed variable.
30666 (grub_script_parsed): Likewise.
30667 (grub_script_malloc): Added a state argument. Use that instead of
30668 global variables.
30669 (grub_script_mem_record): Likewise.
30670 (grub_script_mem_record_stop): Likewise.
30671 (grub_script_arg_add): Likewise.
30672 (grub_script_add_arglist): Likewise.
30673 (grub_script_create_cmdline): Likewise.
30674 (grub_script_create_cmdif): Likewise.
30675 (grub_script_create_cmdmenu): Likewise.
30676 (grub_script_add_cmd): Likewise.
30677 (grub_script_parse): Setup the state before calling the parser.
30678
30679 2006-04-16 Marco Gerards <marco@gnu.org>
30680
30681 * normal/command.c (grub_command_init): Remove the title command.
30682
30683 * normal/lexer.c (grub_script_yylex): Renamed from this...
30684 (grub_script_yylex2): ... to this.
30685 (grub_script_yylex): New function. Temporary
30686 introduced to filter some tokens.
30687 (grub_script_yyerror): Print a newline.
30688
30689 * normal/main.c (read_config_file): Output information about the
30690 lines that contain errors. Wait for a key after all lines have
30691 been processed. Don't return an empty menu.
30692
30693 * normal/parser.y (func_mem): Don't initialize.
30694 (menu_entry): Likewise.
30695 (err): New variable.
30696 (script): Don't return anything when an error was encountered.
30697 (ws, returns): Removed rules.
30698 (argument): Disabled concatenated variable support.
30699 (arguments): Remove explicit separators.
30700 (grubcmd): Likewise.
30701 (function): Likewise.
30702 (menuentry): Likewise.
30703 (if): Likewise.
30704 (commands): Likewise. Add error handling.
30705
30706 * normal/script.c (grub_script_create_cmdline): If
30707 `grub_script_parsed' is 0, assume the parser encountered an error.
30708
30709 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30710
30711 * configure.ac: Add support for EFI. Fix the typo
30712 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30713
30714 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30715
30716 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30717 foreign multibyte characters should be shown correctly.
30718
30719 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30720
30721 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30722 calculation.
30723 (read_config_file): Made it to close file before returning.
30724
30725 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30726
30727 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30728 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30729 video/i386/pc/vbefill.c.
30730
30731 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30732 video/i386/pc/vbefill.c.
30733
30734 * include/grub/video.h (grub_video_blit_format): New enum.
30735 (grub_video_mode_info): Added new member blit_format.
30736 (grub_video_get_blit_format): New function prototype.
30737
30738 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30739 function prototype.
30740 (grub_video_vbe_map_rgb): Likewise.
30741 (grub_video_vbe_unmap_color): Likewise.
30742
30743 * include/grub/i386/pc/vbeblit.h: New file.
30744
30745 * include/grub/i386/pc/vbefill.h: New file.
30746
30747 * video/video.c (grub_video_get_blit_format): New function.
30748 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30749 (grub_video_vbe_map_rgb): Likewise.
30750 (grub_video_vbe_unmap_color): Likewise.
30751
30752 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30753 optimized fills.
30754 (grub_video_vbe_blit_render_target): Changed to use more optimized
30755 blits.
30756 (grub_video_vbe_setup): Added detection for optimized settings.
30757 (grub_video_vbe_create_render_target): Likewise.
30758
30759 * video/i386/pc/vbeblit.c: New file.
30760
30761 * video/i386/pc/vbefill.c: New file.
30762
30763 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30764
30765 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30766 here...
30767
30768 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30769 parsing to support both hex and dec ranges. If filename was missing
30770 show usage information.
30771
30772 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30773
30774 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30775 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30776
30777 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30778 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30779 (video_mod_SOURCES): Added.
30780 (video_mod_CFLAGS): Likewise.
30781 (video_mod_LDFLAGS): Likewise.
30782 (gfxterm_mod_SOURCES): Likewise.
30783 (gfxterm_mod_CFLAGS): Likewise.
30784 (gfxterm_mod_LDFLAGS): Likewise.
30785 (videotest_mod_SOURCES): Likewise.
30786 (videotest_mod_CFLAGS): Likewise.
30787 (videotest_mod_LDFLAGS): Likewise.
30788 (vesafb_mod_SOURCES): Removed.
30789 (vesafb_mod_CFLAGS): Likewise.
30790 (vesafb_mod_LDFLAGS): Likewise.
30791 (vga_mod_SOURCES): Likewise.
30792 (vga_mod_CFLAGS): Likewise.
30793 (vga_mod_LDFLAGS): Likewise.
30794
30795 * commands/videotest.c: New file.
30796
30797 * font/manager.c (fill_with_default_glyph): Modified to use
30798 grub_font_glyph.
30799 (grub_font_get_glyph): Likewise.
30800 (fontmanager): Renamed from this...
30801 (font_manager): ... to this.
30802
30803 * include/grub/font.h (grub_font_glyph): Added new structure.
30804 (grub_font_get_glyph): Modified to use grub_font_glyph.
30805
30806 * include/grub/misc.h (grub_abs): Added as inline function.
30807
30808 * include/grub/video.h: New file.
30809
30810 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30811 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30812 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30813 (grub_vbe_get_controller_info): Renamed from this...
30814 (grub_vbe_bios_get_controller_info): ... to this.
30815 (grub_vbe_get_mode_info): Renamed from this...
30816 (grub_vbe_bios_get_mode_info): ... to this.
30817 (grub_vbe_set_mode): Renamed from this...
30818 (grub_vbe_bios_set_mode): ... to this.
30819 (grub_vbe_get_mode): Renamed from this...
30820 (grub_vbe_bios_get_mode): ... to this.
30821 (grub_vbe_set_memory_window): Renamed from this...
30822 (grub_vbe_bios_set_memory_window): ... to this.
30823 (grub_vbe_get_memory_window): Renamed from this...
30824 (grub_vbe_bios_get_memory_window): ... to this.
30825 (grub_vbe_set_scanline_length): Renamed from this...
30826 (grub_vbe_set_scanline_length): ... to this.
30827 (grub_vbe_get_scanline_length): Renamed from this...
30828 (grub_vbe_bios_get_scanline_length): ... to this.
30829 (grub_vbe_set_display_start): Renamed from this...
30830 (grub_vbe_bios_set_display_start): ... to this.
30831 (grub_vbe_get_display_start): Renamed from this...
30832 (grub_vbe_bios_get_display_start): ... to this.
30833 (grub_vbe_set_palette_data): Renamed from this...
30834 (grub_vbe_bios_set_palette_data): ... to this.
30835 (grub_vbe_set_pixel_rgb): Removed.
30836 (grub_vbe_set_pixel_index): Likewise.
30837
30838 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30839 from this...
30840 (grub_vbe_bios_get_controller_info): ... to this.
30841 (grub_vbe_get_mode_info): Renamed from this...
30842 (grub_vbe_bios_get_mode_info): ... to this.
30843 (grub_vbe_set_mode): Renamed from this...
30844 (grub_vbe_bios_set_mode): ... to this.
30845 (grub_vbe_get_mode): Renamed from this...
30846 (grub_vbe_bios_get_mode): ... to this.
30847 (grub_vbe_set_memory_window): Renamed from this...
30848 (grub_vbe_bios_set_memory_window): ... to this.
30849 (grub_vbe_get_memory_window): Renamed from this...
30850 (grub_vbe_bios_get_memory_window): ... to this.
30851 (grub_vbe_set_scanline_length): Renamed from this...
30852 (grub_vbe_set_scanline_length): ... to this.
30853 (grub_vbe_get_scanline_length): Renamed from this...
30854 (grub_vbe_bios_get_scanline_length): ... to this.
30855 (grub_vbe_set_display_start): Renamed from this...
30856 (grub_vbe_bios_set_display_start): ... to this.
30857 (grub_vbe_get_display_start): Renamed from this...
30858 (grub_vbe_bios_get_display_start): ... to this.
30859 (grub_vbe_set_palette_data): Renamed from this...
30860 (grub_vbe_bios_set_palette_data): ... to this.
30861 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30862 getting corrupted after calling it. Added more pushes and pops.
30863 (grub_vbe_bios_set_mode): Likewise.
30864 (grub_vbe_bios_get_mode): Likewise.
30865 (grub_vbe_bios_get_memory_window): Likewise.
30866 (grub_vbe_bios_set_scanline_length): Likewise.
30867 (grub_vbe_bios_get_scanline_length): Likewise.
30868 (grub_vbe_bios_get_display_start): Likewise.
30869 (grub_vbe_bios_set_palette_data): Likewise.
30870
30871 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30872 (cl_insert): Likewise.
30873 (cl_delete): Likewise.
30874
30875 * term/gfxterm.c: New file.
30876
30877 * term/i386/pc/vesafb.c: Removed file.
30878
30879 * video/video.c: New file.
30880
30881 * video/i386/pc/vbe.c (real2pm): Added new function.
30882 (grub_video_vbe_draw_pixel): Likewise.
30883 (grub_video_vbe_get_video_ptr): Likewise.
30884 (grub_video_vbe_get_pixel): Likewise
30885 (grub_video_vbe_init): Likewise.
30886 (grub_video_vbe_fini): Likewise.
30887 (grub_video_vbe_setup): Likewise.
30888 (grub_video_vbe_get_info): Likewise.
30889 (grub_video_vbe_set_palette): Likewise.
30890 (grub_video_vbe_get_palette): Likewise.
30891 (grub_video_vbe_set_viewport): Likewise.
30892 (grub_video_vbe_get_viewport): Likewise.
30893 (grub_video_vbe_map_color): Likewise.
30894 (grub_video_vbe_map_rgb): Likewise.
30895 (grub_video_vbe_map_rgba): Likewise.
30896 (grub_video_vbe_unmap_color): Likewise.
30897 (grub_video_vbe_fill_rect): Likewise.
30898 (grub_video_vbe_blit_glyph): Likewise.
30899 (grub_video_vbe_blit_bitmap): Likewise.
30900 (grub_video_vbe_blit_render_target): Likewise.
30901 (grub_video_vbe_scroll): Likewise.
30902 (grub_video_vbe_swap_buffers): Likewise.
30903 (grub_video_vbe_create_render_target): Likewise.
30904 (grub_video_vbe_delete_render_target): Likewise.
30905 (grub_video_vbe_set_active_render_target): Likewise.
30906 (grub_vbe_set_pixel_rgb): Remove function.
30907 (grub_vbe_set_pixel_index): Likewise.
30908 (index_color_mode): Remove static variable.
30909 (active_mode): Likewise.
30910 (framebuffer): Likewise.
30911 (bytes_per_scan_line): Likewise.
30912 (grub_video_vbe_adapter): Added new static variable.
30913 (framebuffer): Likewise.
30914 (render_target): Likewise.
30915 (initial_mode): Likewise.
30916 (mode_in_use): Likewise.
30917 (mode_list): Likewise.
30918
30919 2006-03-10 Marco Gerards <marco@gnu.org>
30920
30921 * configure.ac (AC_INIT): Bumped to 1.93.
30922
30923 * DISTLIST: Added `include/grub/hfs.h'.
30924
30925 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30926
30927 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30928 18H, which might help the BIOS falling back to next boot media.
30929
30930 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30931
30932 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30933 Poe Chen <poe.poechen@gmail.com>.
30934
30935 2006-01-17 Marco Gerards <marco@gnu.org>
30936
30937 * include/grub/normal.h: Include <grub/script.h>.
30938 (grub_command_list): Removed struct.
30939 (grub_command_list_t): Removed type.
30940 (grub_menu_entry): Remove members `num' and `command_list'. Add
30941 members `commands' and `sourcecode'.
30942 * include/grub/script.h: Add inclusion guards.
30943 (grub_script_cmd_menuentry): New struct.
30944 (grub_script_execute_menuentry): New prototype.
30945 (grub_script_lexer_record_start): Likewise.
30946 (grub_script_lexer_record_stop): Likewise.
30947 * normal/execute.c (grub_script_execute_menuentry): New function.
30948 * normal/lexer.c (record, recording, recordpos, recordlen): New
30949 variables.
30950 (grub_script_lexer_record_start): New function.
30951 (grub_script_lexer_record_stop): Likewise.
30952 (recordchar): Likewise.
30953 (nextchar): Likewise.
30954 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30955 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30956 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30957 (current_menu): New variable.
30958 (free_menu): Mainly rewritten.
30959 (grub_normal_menu_addentry): New function.
30960 (read_config_file): Rewritten.
30961 * normal/menu.c (run_menu_entry): Mainly rewritten.
30962 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30963 the menu entry.
30964 (run): Mainly rewritten.
30965 * normal/parser.y (menu_entry): New variable.
30966 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30967 (menuentry): New rule.
30968 (command): Add `menuentry'.
30969 (if_statement): Allow additional returns before `fi'.
30970 * normal/script.c (grub_script_create_cmdmenu): New function.
30971
30972 2006-01-03 Marco Gerards <marco@gnu.org>
30973
30974 * INSTALL: GNU Bison is required.
30975 * configure.ac: Rewritten the test to detect Bison.
30976 * Makefile.in (YACC): New variable. Reported by Xun Sun
30977 <xun.sun.cn@gmail.com>.
30978
30979 2006-01-03 Marco Gerards <marco@gnu.org>
30980
30981 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30982 the HFS+ filesystem to filesystem blocks.
30983 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30984 GCC warning is silenced.
30985
30986 2006-01-03 Marco Gerards <marco@gnu.org>
30987
30988 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30989 read from disk from big endian to host byte order.
30990
30991 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30992
30993 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30994 documentation.
30995 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30996 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30997 embedded HFS+ filesystem.
30998 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30999 (grub_hfs_sblock): Move from here...
31000 * include/grub/hfs.h: To here... New file.
31001 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
31002 documentation.
31003 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
31004 New macros.
31005 (grub_hfsplus_volheader): Change type of member `magic' to
31006 `grub_uint16_t'.
31007 (grub_hfsplus_data): Add new member `embedded_offset'.
31008 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
31009 returned block.
31010 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
31011 Calculate the offset.
31012
31013 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31014
31015 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
31016 Removed.
31017 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
31018
31019 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31020
31021 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
31022 ENV->NAME is NULL after allocating ENV->VALUE.
31023
31024 2005-12-25 Marco Gerards <marco@gnu.org>
31025
31026 * kern/env.c (grub_env_set): Rewritten the error handling code.
31027
31028 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31029
31030 * geninit.sh: Made more robust, and more portable.
31031
31032 2005-12-25 Marco Gerards <marco@gnu.org>
31033
31034 Add support for Apple HFS+ filesystems.
31035
31036 * fs/hfsplus.c: New file.
31037
31038 * DISTLIST: Added `fs/hfsplus.c'.
31039
31040 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
31041 (hfsplus_mod_SOURCES): New variable.
31042 (hfsplus_mod_CFLAGS): Likewise.
31043 (hfsplus_mod_LDFLAGS): Likewise.
31044 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31045 (grub_setup_SOURCES): Likewise.
31046 (grub_mkdevicemap_SOURCES): Likewise.
31047 (grub_emu_SOURCES): Likewise.
31048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31049
31050 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31051
31052 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31053
31054 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31055
31056 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31057 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31058 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31059 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31060 normal/lexer.c, normal/parser.y, normal/script.c, and
31061 partmap/gpt.c.
31062 Removed kern/sparc64/cache.c.
31063
31064 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31065 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31066 grub_emu_init.c.
31067
31068 * configure.ac (AC_INIT): Bumped to 1.92.
31069
31070 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31071
31072 * kern/err.c (grub_error_push): Added new function to support error
31073 stacks.
31074 (grub_error_pop): Likewise.
31075 (grub_error_stack_items): New local variable to support error stacks.
31076 (grub_error_stack_pos): Likewise.
31077 (grub_error_stack_assert): Likewise.
31078 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31079 stack depth.
31080 (grub_print_error): Added support to print errors from error stack.
31081
31082 * include/grub/err.h (grub_error_push): Added function prototype.
31083 (grub_error_pop): Likewise.
31084
31085 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31086
31087 * configure.ac: Accept `powerpc64' as host_cpu.
31088 (amd64): Rename to `biarch32'.
31089
31090 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31091 non-cacheline-aligned addresses.
31092
31093 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31094 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31095 if `size' is non-zero.
31096
31097 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
31098
31099 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31100 and `cd' to make sure the filename is not prefixed with a
31101 directory name.
31102 (pkgdata_MODULES): Add `gpt.mod'.
31103 (gpt_mod_SOURCES): New variable.
31104 (gpt_mod_CFLAGS): Likewise.
31105 (gpt_mod_LDFLAGS): Likewise.
31106
31107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31108
31109 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31110 New macro.
31111
31112 * partmap/gpt.c: New file.
31113
31114 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31115 GPT partition map is detected.
31116
31117 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31118
31119 * commands/i386/pc/play.c: New file.
31120 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31121 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31122 macros.
31123
31124 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
31125
31126 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31127 ((unused))' to silence gcc warning.
31128
31129 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31130
31131 * configure.ac: Correct `AC_PROG_YACC' test.
31132
31133 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31134
31135 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31136 check before installing files.
31137
31138 2005-11-22 Mike Small <smallm@panix.com>
31139
31140 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31141 number regex so multidigit numbers are recognized correctly.
31142
31143 2005-11-22 Mike Small <smallm@panix.com>
31144
31145 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31146 debugging message before attempting to claim memory.
31147 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31148 multiple addresses in case of failure.
31149
31150 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31151
31152 * term/tparm.c (get_space): Remove empty `if' statement.
31153
31154 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31155
31156 * kern/parser.c (check_varstate): Rename `state' to 's'.
31157
31158 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31159
31160 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31161 variable definitions to the beginning of each function. Sort stack
31162 variables by size.
31163 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31164 `buf' argument to `char *'.
31165
31166 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31167
31168 * conf/powerpc-ieee1275.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): Removed.
31198
31199 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31200 `grep --include'.
31201 (pkgdata_MODULES): Add test.mod.
31202
31203 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31204
31205 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31206 appending to variables with "+=".
31207 (PModule): Use full pathname to generate *.lst filenames.
31208
31209 * Makefile.in: Fixed list rules moved from genmk.rb.
31210 (.DELETE_ON_ERROR): New special target.
31211 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31212
31213 * conf/i386-pc.rmk: Include conf/common.mk.
31214 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31215 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31216 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31217 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31218 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31219 configfile.mod, search.mod, gzio.mod and test.mod.
31220 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31221 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31222 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31223 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31224 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31225 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31226 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31227 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31228 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31229 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31230 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31231 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31232 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31233 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31234 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31235 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31236 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31237 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31238 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31239 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31240 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31241 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31242 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31243 here...
31244 * conf/common.rmk: ... to here. New file.
31245
31246 * conf/common.mk: New file.
31247
31248 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31249
31250 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31251 (grub_script.tab.c): ... here.
31252
31253 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31254 (grub_script.tab.c): ... here.
31255
31256 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31257 (grub_script.tab.c): ... here.
31258
31259 * normal/command.c (grub_command_find): Fixed a memory leak of
31260 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31261
31262 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31263
31264 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31265 "@" which marks the start of a comment on ARM.
31266 (VARIABLE): Likewise.
31267
31268 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31269
31270 Add support for Linux/ADFS partition tables.
31271
31272 * partmap/acorn.c: New file.
31273
31274 * include/grub/acorn_filecore.h: Likewise.
31275
31276 * DISTLIST: Added `partmap/acorn.c' and
31277 `include/grub/acorn_filecore.h'.
31278
31279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31280 `partmap/acorn.c'.
31281 (pkgdata_MODULES): Add `acorn.mod'.
31282 (acorn_mod_SOURCES): New variable.
31283 (acorn_mod_CFLAGS): Likewise.
31284
31285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31286 `partmap/acorn.c'.
31287 (pkgdata_MODULES): Add `acorn.mod'.
31288 (acorn_mod_SOURCES): New variable.
31289 (acorn_mod_CFLAGS): Likewise.
31290
31291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31292 (pkgdata_MODULES): Add `acorn.mod'.
31293 (acorn_mod_SOURCES): New variable.
31294 (acorn_mod_CFLAGS): Likewise.
31295 (acorn_mod_LDFLAGS): Likewise.
31296
31297 * include/types.h (grub_disk_addr_t): New typedef.
31298
31299 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31300
31301 * geninit.sh: New file.
31302
31303 * geninitheader.sh: Likewise.
31304
31305 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31306 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31307 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31308 * commands/configfile.c (grub_configfile_init)
31309 (grub_configfile_fini): Likewise.
31310 * commands/default.c (grub_default_init, grub_default_fini):
31311 Likewise.
31312 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31313 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31314 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31315 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31316 Likewise.
31317 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31318 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31319 Likewise.
31320 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31321 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31322 Likewise.
31323 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31324 Likewise.
31325 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31326 Likewise.
31327 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31328 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31329 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31330 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31331 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31332 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31333 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31334 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31335 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31336 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31337 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31338 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31339 * partmap/amiga.c (grub_amiga_partition_map_init)
31340 (grub_amiga_partition_map_fini): Likewise.
31341 * partmap/apple.c (grub_apple_partition_map_init)
31342 (grub_apple_partition_map_fini): Likewise.
31343 * partmap/pc.c (grub_pc_partition_map_init)
31344 (grub_pc_partition_map_fini): Likewise.
31345 * partmap/sun.c (grub_sun_partition_map_init,
31346 grub_sun_partition_map_fini): Likewise.
31347 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31348 Likewise.
31349
31350 * util/grub-emu.c: Include <grub_modules_init.h>.
31351 (main): Don't initialize and de-initialize any modules directly,
31352 use `grub_init_all' and `grub_fini_all' instead.
31353
31354 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31355 `grub_vesafb_mod_init'.
31356 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31357 all users.
31358 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31359 `grub_vga_mod_init'. Updated all users.
31360 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31361
31362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31363 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31364 rules.
31365
31366 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31367 Generate a function to initialize the module in utilities.
31368 Updated all callers.
31369 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31370 initialize the module in utilities. Updated all callers.
31371
31372 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31373
31374 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31375 escape sequence and a literal ^L to clear the screen.
31376
31377 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31378 when returning from Open Firmware.
31379
31380 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31381
31382 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31383 (grub_ofconsole_height): Likewise.
31384 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31385 manually insert a '\n'.
31386 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31387 `grub_ofconsole_height'. Return early if these are already set.
31388
31389 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31390
31391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31392 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31393 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31394 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31395 and `normal/script.c'.
31396 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31397 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31398 (test_mod_SOURCES): New variable.
31399 (test_mod_CFLAGS): Likewise.
31400 (test_mod_LDFLAGS): Likewise.
31401 (pkgdata_MODULES): Add `test.mod'.
31402 (grub_script.tab.c): New rule.
31403 (grub_script.tab.h): Likewise.
31404
31405 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31406
31407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31408 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31409 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31410 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31411 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31412 (test_mod_SOURCES): New variable.
31413 (test_mod_CFLAGS): Likewise.
31414 (pkgdata_MODULES): Add `test.mod'.
31415 (grub_script.tab.c): New rule.
31416 (grub_script.tab.h): Likewise.
31417
31418 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31419
31420 Add initial scripting support.
31421
31422 * commands/test.c: New file.
31423 * include/grub/script.h: Likewise.
31424 * normal/execute.c: Likewise.
31425 * normal/function.c: Likewise.
31426 * normal/lexer.c: Likewise.
31427 * normal/parser.y: Likewise.
31428 * normal/script.c: Likewise.
31429
31430 * configure.ac: Add `AC_PROG_YACC' test.
31431
31432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31433 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31434 `normal/function.c' and `normal/script.c'.
31435 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31436 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31437 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31438 variables.
31439 (pkgdata_MODULES): Add `test.mod'.
31440 (grub_script.tab.c): New rule.
31441 (grub_script.tab.h): Likewise.
31442
31443 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31444
31445 * include/grub/normal.h (grub_test_init): New prototype.
31446 (grub_test_fini): Likewise.
31447
31448 * normal/command.c: Include <grub/script.h>.
31449 (grub_command_execute): Rewritten.
31450
31451 * util/grub-emu.c (main): Call `grub_test_init' and
31452 `grub_test_fini'.
31453
31454 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31455
31456 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31457 to 0.
31458 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31459 there are no pending characters.
31460
31461 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31462
31463 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31464 `grub_strndup' to drop device arguments. Replace unnecessary
31465 `grub_strndup' with `grub_strdup'.
31466
31467 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31468
31469 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31470 `debug' environment variable has been set.
31471
31472 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31473
31474 * Makefile.in (install-local): Use $(DATA).
31475 (uninstall): Likewise.
31476 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31477 (sbin_UTILITIES): ... to here.
31478 (sbin_SCRIPTS): New variable.
31479 (grub_install_SOURCES): New variable.
31480 * util/powerpc/ieee1275/grub-install.in: New file.
31481 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31482 variable.
31483 (add_segments): Call `grub_util_get_path'.
31484
31485 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31486
31487 From Timothy Baldwin:
31488 * commands/ls.c (grub_ls_list_files): Close FILE with
31489 grub_file_close.
31490 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31491
31492 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31493
31494 * include/grub/parser.h: New file.
31495
31496 * kern/parser.c: Likewise.
31497
31498 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31499 (grub_setup_SOURCES): Likewise.
31500 (grub_probefs_SOURCES): Likewise.
31501 (grub_emu_SOURCES): Likewise.
31502 (kernel_img_HEADERS): Add `parser.h'.
31503
31504 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31505 (grub_emu_SOURCES): Add `kern/parser.c'.
31506 (grubof_SOURCES): Likewise.
31507
31508 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31509 (grubof_SOURCES): Add `kern/parser.c'.
31510
31511 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31512
31513 * kern/misc.c (grub_split_cmdline): Removed function.
31514
31515 * kern/rescue.c: Include <grub/parser.h>.
31516 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31517 of `grub_split_cmdline'.
31518
31519 * normal/command.c: Include <grub/parser.h>.
31520 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31521 of `grub_split_cmdline'.
31522
31523 * normal/completion.c: Include <grub/parser.h>.
31524 (cmdline_state): New variable.
31525 (iterate_dir): End the filename with a quote depending on the
31526 command line state.
31527 (get_state): new function.
31528 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31529 split the arguments and determine the current argument. When the
31530 argument string is not quoted, escape all spaces.
31531
31532 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31533
31534 * normal/sparc64/setjmp.S: New file.
31535
31536 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31537
31538 * include/grub/sparc64/libgcc.h: New file.
31539 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31540 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31541 normal/sparc64/setjmp.c.
31542
31543 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31544
31545 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31546 * kern/sparc64/cache.S: New file.
31547 * kern/sparc64/cache.c: Removed.
31548 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31549 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31550 -mtune=ultrasparc.
31551 (COMMON_LDFLAGS): Add -melf64_sparc.
31552 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31553 (grubof_SOURCES): Use cache.S instead of cache.c.
31554 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31555 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31556 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31557 commented though.
31558 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31559 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31560 (linux_mod_CFLAGS): Commented out.
31561 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31562 out because module isn't built.
31563 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31564 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31565 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31566 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31567 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31568 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31569 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31570 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31571 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31572 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31573 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31574 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31575 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31576 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31577
31578 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31579
31580 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31581 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31582 longer, because HFS should not be used on PC.
31583
31584 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31585
31586 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31587 consistently within the loop.
31588
31589 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31590
31591 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31592 directory can not be read.
31593
31594 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31595
31596 * configure.ac (AC_INIT): Increase the version number to 1.91.
31597
31598 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31599 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31600 term/i386/pc/serial.c.
31601
31602 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31603
31604 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31605 file size must be permitted.
31606
31607 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31608 between %ah and %al.
31609
31610 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31611
31612 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31613 grub_uint64_t.
31614 Call the hook with a NUL-terminated filename.
31615 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31616 grub_cpu_to_be32.
31617
31618 * kern/term.c (cursor_state): New variable.
31619 (grub_term_set_current): Reset the cursor state on a new
31620 terminal.
31621 (grub_setcursor): Rewritten to use CURSOR_STATE.
31622 (grub_getcursor): New function.
31623
31624 * include/grub/term.h (grub_getcursor): New prototype.
31625
31626 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31627 integers on ARM. Reported by Timothy Baldwin
31628 <T.E.Baldwin99@members.leeds.ac.uk>.
31629
31630 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31631
31632 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31633 allocated.
31634 (grub_sfs_dir): Likewise.
31635
31636 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31637
31638 Add support for the SFS filesystem.
31639
31640 * fs/sfs.c: New file.
31641
31642 * DISTLIST: Added `fs/sfs.c'.
31643
31644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31645 (grub_probefs_SOURCES): Likewise.
31646 (grub_emu_SOURCES): Likewise.
31647 (pkgdata_MODULES): Add `sfs.mod'.
31648 (sfs_mod_SOURCES): New variable.
31649 (sfs_mod_CFLAGS): Likewise.
31650 (sfs_mod_LDFLAGS): Likewise.
31651
31652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31653 (pkgdata_MODULES): Add `sfs.mod'.
31654 (sfs_mod_SOURCES): New variable.
31655 (sfs_mod_CFLAGS): Likewise.
31656
31657 * util/grub-emu.c (main): Call `grub_sfs_init' and
31658 `grub_sfs_fini'.
31659
31660 * include/grub/fs.h (grub_sfs_init): New prototype.
31661 (grub_sfs_fini): Likewise.
31662
31663 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31664
31665 Add support for the AFFS filesystem.
31666
31667 * fs/affs.c: New file.
31668
31669 * DISTLIST: Added `fs/affs.c'.
31670
31671 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31672 (grub_probefs_SOURCES): Likewise.
31673 (grub_emu_SOURCES): Likewise.
31674 (pkgdata_MODULES): Add `affs.mod'.
31675 (affs_mod_SOURCES): New variable.
31676 (affs_mod_CFLAGS): Likewise.
31677 (affs_mod_LDFLAGS): Likewise.
31678
31679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31680 (pkgdata_MODULES): Add `affs.mod'.
31681 (affs_mod_SOURCES): New variable.
31682 (affs_mod_CFLAGS): Likewise.
31683
31684 * util/grub-emu.c (main): Call `grub_affs_init' and
31685 `grub_affs_fini'.
31686
31687 * include/grub/fs.h (grub_affs_init): New prototype.
31688 (grub_affs_fini): Likewise.
31689
31690 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31691
31692 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31693
31694 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31695
31696 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31697 `-m32' to CFLAGS.
31698
31699 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31700 linking.
31701
31702 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31703 (COMMON_LDFLAGS): New variable.
31704 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31705 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31706 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31707 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31708 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31709 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31710 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31711 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31712 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31713 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31714 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31715 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31716 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31717 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31718 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31719 variables.
31720 (normal_mod_ASFLAGS): Add `-m32'.
31721
31722 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31723 (grub_host_size_t, grub_host_ssize_t): New types.
31724 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31725 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31726 `GRUB_HOST_SIZEOF_VOID_P'.
31727
31728 * include/grub/kernel.h (struct grub_module_header): Type of
31729 member offset changed to `grub_host_off_t'. Type of member size
31730 changed to `grub_host_size_t'.
31731 (struct grub_module_info): Type of member offset changed to
31732 `grub_host_off_t'. Type of member size changed to
31733 `grub_host_size_t'.
31734
31735 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31736
31737 Make GRUB's kernel compliant to Multiboot Specification.
31738
31739 * kern/i386/pc/startup.S (multiboot_header): New label.
31740 (multiboot_entry): Likewise.
31741 (multiboot_trampoline): Likewise.
31742
31743 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31744 Increased to 0x4A0.
31745
31746 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31747 put parentheses after a question mark.
31748 [!GRUB_UTIL] (my_mod): New variable.
31749
31750 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31751
31752 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31753
31754 Adds support for the XFS filesystem. Btrees are not supported
31755 yet.
31756
31757 * fs/xfs.c: New file.
31758
31759 * DISTLIST: Added `fs/xfs.c'.
31760
31761 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31762 (grub_probefs_SOURCES): Likewise.
31763 (grub_emu_SOURCES): Likewise.
31764 (pkgdata_MODULES): Add `xfs.mod'.
31765 (xfs_mod_SOURCES): New variable.
31766 (xfs_mod_CFLAGS): Likewise.
31767
31768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31769 (pkgdata_MODULES): Add `xfs.mod'.
31770 (xfs_mod_SOURCES): New variable.
31771 (xfs_mod_CFLAGS): Likewise.
31772
31773 * util/grub-emu.c (main): Call `grub_xfs_init' and
31774 `grub_xfs_fini'.
31775
31776 * include/grub/fs.h (grub_xfs_init): New prototype.
31777 (grub_xfs_fini): Likewise.
31778
31779
31780 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31781
31782 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31783 color modes, allow greater than 16 colors to be configured as
31784 a default palette.
31785
31786 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31787
31788 * normal/completion.c (complete_arguments): Add the qualifier
31789 const into OPTIONS.
31790
31791 From Omniflux <omniflux+lists@omniflux.com>:
31792 * include/grub/terminfo.h: New file.
31793 * include/grub/tparm.h: Likewise.
31794 * include/grub/i386/pc/serial.h: Likewise.
31795 * term/terminfo.c: Likewise.
31796 * term/tparm.c: Likewise.
31797 * term/i386/pc/serial.c: Likewise.
31798 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31799 serial.mod.
31800 (terminfo_mod_SOURCES): New variable.
31801 (terminfo_mod_CFLAGS): Likewise.
31802 (serial_mod_SOURCES): Likewise.
31803 (serial_mod_CFLAGS): Likewise.
31804
31805 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31806
31807 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31808 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31809 and kern/powerpc/ieee1275/cmain.c, respectively.
31810
31811 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31812 * kern/powerpc/ieee1275/crt0.S: ... here.
31813
31814 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31815 * kern/powerpc/ieee1275/cmain.c: ... here.
31816
31817 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31818 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31819 instead of boot/powerpc/ieee1275/crt0.S and
31820 boot/powerpc/ieee1275/cmain.c, respectively.
31821
31822 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31823 sectors. It was not used anyway.
31824
31825 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31826
31827 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31828 `unused parameter' warning.
31829
31830 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31831
31832 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31833 function.
31834 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31835 getcharwidth.
31836
31837 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31838
31839 * include/grub/normal.h (enum grub_completion_type): Added
31840 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31841
31842 * normal/cmdline.c (print_completion): Handle
31843 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31844 * normal/menu_entry.c (store_completion): Likewise.
31845
31846 * normal/completion.c (complete_arguments): New function.
31847 (grub_normal_do_completion): Call `complete_arguments' when the
31848 current words start with a dash.
31849
31850 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31851
31852 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31853 `gzio.mod' instead of `io.mod').
31854
31855 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31856
31857 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31858 (DISTDIRS): Added io and video.
31859 Rewrite the search routine to make an output consistently.
31860
31861 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31862 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31863 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31864 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31865 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31866 util/powerpc/ieee1275/misc.c.
31867
31868 * include/grub/gzio.h: New file.
31869 * io/gzio.c: Likewise.
31870
31871 * kern/file.c (grub_file_close): Call grub_device_close only if
31872 FILE->DEVICE is not NULL.
31873
31874 * include/grub/mm.h [!NULL] (NULL): New macro.
31875
31876 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31877
31878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31879 (pkgdata_MODULES): Added gzio.mod.
31880 (gzio_mod_SOURCES): New variable.
31881 (gzio_mod_CFLAGS): Likewise.
31882
31883 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31884 (pkgdata_MODULES): Added gzio.mod.
31885 (gzio_mod_SOURCES): New variable.
31886 (gzio_mod_CFLAGS): Likewise.
31887
31888 * commands/cat.c: Include grub/gzio.h.
31889 (grub_cmd_cat): Use grub_gzfile_open instead of
31890 grub_file_open.
31891
31892 * commands/cmp.c: Include grub/gzio.h.
31893 (grub_cmd_cmp): Use grub_gzfile_open instead of
31894 grub_file_open.
31895
31896 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31897 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31898 grub_file_open.
31899 (grub_rescue_cmd_module): Likewise.
31900
31901 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31902
31903 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31904 kern/sparc64/ieee1275/init.c because it contains _start.
31905 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31906
31907 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31908
31909 * configure.ac: Add support for sparc64 host with ieee1275
31910 firmware.
31911 * configure: Generated from configure.ac.
31912 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31913 instead of int.
31914 (grub_ofdisk_read): Likewise.
31915 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31916 pointers as (void *) to remove a warning.
31917 (grub_ofdisk_close): Likewise.
31918 (grub_ofdisk_read): Likewise.
31919 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31920 returns, so make it return void to remove a warning.
31921 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31922 Corresponding prototype change.
31923 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31924 values, and cast the pointers as (void *) to remove a warning.
31925 (grub_mm_dump): Likewise.
31926 * conf/sparc64-ieee1275.mk: New file.
31927 * conf/sparc64-ieee1275.rmk: Likewise.
31928 * include/grub/sparc64/setjmp.h: Likewise.
31929 * include/grub/sparc64/types.h: Likewise.
31930 * include/grub/sparc64/ieee1275/console.h: Likewise.
31931 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31932 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31933 * include/grub/sparc64/ieee1275/time.h: Likewise.
31934 * kern/sparc64/cache.c: Likewise.
31935 * kern/sparc64/dl.c: Likewise.
31936 * kern/sparc64/ieee1275/init.c: Likewise.
31937 * kern/sparc64/ieee1275/openfw.c: Likewise.
31938
31939 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31940
31941 * util/console.c (grub_ncurses_putchar): If C is greater than
31942 0x7f, set C to a question mark.
31943 (grub_ncurses_getcharwidth): New function.
31944 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31945 getcharwidth.
31946
31947 * normal/menu.c (print_entry): Made aware of Unicode. First,
31948 convert TITLE to UCS-4, and predict the cursor position by
31949 grub_getcharwidth.
31950
31951 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31952 const to SRC.
31953 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31954
31955 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31956
31957 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31958 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31959 grub_strcat.
31960
31961 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31962 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31963 grub_strcpy and grub_strlen. Take it into account that a space
31964 character is inserted as a delimiter.
31965
31966 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31967
31968 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31969 invalid magic in the error.
31970
31971 * commands/search.c: New file.
31972
31973 * util/grub-emu.c (main): Call grub_search_init and
31974 grub_search_fini.
31975
31976 * kern/rescue.c (grub_rescue_print_disks): Removed.
31977 (grub_rescue_print_devices): New function.
31978 (grub_rescue_cmd_ls): Use grub_device_iterate with
31979 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31980 grub_rescue_print_disks.
31981
31982 * kern/partition.c (grub_partition_iterate): Return the result of
31983 PARTMAP->ITERATE instead of GRUB_ERRNO.
31984
31985 * kern/device.c: Include grub/partition.h.
31986 (grub_device_iterate): New function.
31987
31988 * include/grub/partition.h (grub_partition_iterate): Return int
31989 instead of grub_err_t.
31990
31991 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31992 prototype.
31993 [GRUB_UTIL] (grub_search_fini): Likewise.
31994
31995 * include/grub/device.h (grub_device_iterate): New prototype.
31996
31997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31998 commands/search.c.
31999 (pkgdata_MODULES): Added search.mod.
32000 (search_mod_SOURCES): New variable.
32001 (search_mod_CFLAGS): Likewise.
32002
32003 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
32004 (pkgdata_MODULES): Added search.mod.
32005 (search_mod_SOURCES): New variable.
32006 (search_mod_CFLAGS): Likewise.
32007
32008 * commands/ls.c (grub_ls_list_disks): Renamed to ...
32009 (grub_ls_list_devices): ... this, and use grub_device_iterate.
32010 All callers changed.
32011
32012 * DISTLIST: Added commands/search.c.
32013
32014 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32015
32016 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
32017 conversion.
32018 (grub_getcharwidth): New function.
32019
32020 * kern/misc.c (grub_utf8_to_ucs4): New function.
32021
32022 * include/grub/term.h (struct grub_term): Added a new member
32023 "getcharwidth".
32024 (grub_getcharwidth): New prototype.
32025
32026 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
32027
32028 * term/i386/pc/console.c (map_char): New function. Segregated from
32029 grub_console_putchar.
32030 (grub_console_putchar): Use map_char.
32031 (grub_console_getcharwidth): New function.
32032 (grub_console_term): Specified grub_console_getcharwidth as
32033 getcharwidth.
32034
32035 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
32036 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
32037
32038 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
32039 GRUB_ERRNO.
32040 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
32041 on grub_strtoul completely.
32042 (write_char): Declare local variables in the beginning of the
32043 function.
32044 (grub_vesafb_getcharwidth): New function.
32045 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32046 getcharwidth.
32047
32048 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32049
32050 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32051 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32052 commands/i386/pc/vbetest.c.
32053
32054 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32055 call grub_vbe_get_controller_info again, because the returned
32056 information is volatile.
32057 (grub_vbe_set_video_mode): Mostly rewritten.
32058 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32059 grub_vbe_status_t correctly.
32060 (grub_vbe_get_video_mode_info): Likewise.
32061 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32062 several if statements.
32063
32064 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32065 * commands/i386/pc/vbeinfo.c: ... this.
32066
32067 * commands/i386/pc/vbe_test.c: Renamed to ...
32068 * commands/i386/pc/vbetest.c: ... this.
32069
32070 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32071 ...
32072 (grub_cmd_vbeinfo): ... this. Save video modes before
32073 iterating. Skip a video mode, if it is not available, not enough
32074 information is given or it is monochrome. Show the memory
32075 model. Leave the interpretation of MODEVAR to grub_strtoul
32076 completely.
32077 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32078 (GRUB_MOD_FINI): Likewise.
32079
32080 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32081 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32082 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32083 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32084 grub_strtoul completely.
32085 (real2pm): Removed.
32086 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32087 (GRUB_MOD_FINI): Likewise.
32088
32089 * normal/misc.c: Include grub/mm.h.
32090
32091 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32092 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32093 (vbe_list_modes_mod_SOURCES): Removed.
32094 (vbe_list_modes_mod_CFLAGS): Likewise.
32095 (vbe_test_mod_SOURCES): Likewise.
32096 (vbe_test_mod_CFLAGS): Likewise.
32097 (vbeinfo_mod_SOURCES): New variable.
32098 (vbeinfo_mod_CFLAGS): Likewise.
32099 (vbetest_mod_SOURCES): Likewise.
32100 (vbetest_mod_CFLAGS): Likewise.
32101
32102 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32103
32104 * normal/misc.c: New file.
32105
32106 * DISTLIST: Added normal/misc.c.
32107
32108 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32109 DISK to HOOK. Call HOOK with DISK.
32110 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32111 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32112 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32113
32114 * normal/menu_entry.c (struct screen): Added a new member
32115 "completion_shown".
32116 (completion_buffer): New global variable.
32117 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32118 (store_completion): New function.
32119 (complete): Likewise.
32120 (clear_completions): Likewise.
32121 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32122 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32123 a tab, call complete.
32124
32125 * normal/completion.c (disk_dev): Removed.
32126 (print_simple_completion): Likewise.
32127 (print_partition_completion): Likewise.
32128 (print_func): New global variable.
32129 (add_completion): Do not take the arguments WHAT or PRINT any
32130 longer. Added a new argument TYPE. Instead of printing directly,
32131 call PRINT_FUNC if not NULL.
32132 All callers changed.
32133 (complete_device): Use a local variable DEV instead of
32134 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32135 (grub_normal_do_completion): Take a new argument HOOK. Do not
32136 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32137 empty string, return NULL instead.
32138 All callers changed.
32139
32140 * normal/cmdline.c (print_completion): New function.
32141
32142 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32143 to HOOK.
32144 All callers changed.
32145
32146 * kern/disk.c (grub_print_partinfo): Removed.
32147
32148 * include/grub/partition.h (struct grub_partition_map): Add a new
32149 argument DISK into HOOK of ITERATE.
32150 (grub_partition_iterate): Add a new argument DISK to HOOK.
32151
32152 * include/grub/normal.h (enum grub_completion_type): New enum.
32153 (grub_completion_type_t): New type.
32154 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32155 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32156 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32157 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32158 (grub_normal_do_completion): Added a new argument HOOK.
32159 (grub_normal_print_device_info): New prototype.
32160
32161 * include/grub/disk.h (grub_print_partinfo): Removed.
32162
32163 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32164 (normal_mod_SOURCES): Likewise.
32165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32166 (normal_mod_SOURCES): Likewise.
32167
32168 * commands/ls.c (grub_ls_list_disks): Use
32169 grub_normal_print_device_info instead of grub_print_partinfo. Free
32170 PNAME.
32171 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32172 duplicating the code.
32173
32174 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32175
32176 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
32177 follow GCS more precisely.
32178 * commands/i386/pc/vbe_test.c: Likewise.
32179 * include/grub/i386/pc/vbe.h: Likewise.
32180 * term/i386/pc/vesafb.c: Likewise.
32181 * video/i386/pc/vbe.c: Likewise.
32182
32183 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32184
32185 * DISTLIST: Added term/i386/pc/vesafb.c
32186 DISTLIST: Added video/i386/pc/vbe.c
32187 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32188 DISTLIST: Added commands/i386/pc/vbe_test.c.
32189 * commands/i386/pc/vbe_list_modes.c: New file.
32190 * commands/i386/pc/vbe_test.c: Likewise.
32191 * term/i386/pc/vesafb.c: Likewise.
32192 * video/i386/pc/vbe.c: Likewise.
32193 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32194 (grub_vbe_probe) Added prototype.
32195 (grub_vbe_set_video_mode) Likewise.
32196 (grub_vbe_get_video_mode) Likewise.
32197 (grub_vbe_get_video_mode_info) Likewise.
32198 (grub_vbe_set_pixel_rgb) Likewise.
32199 (grub_vbe_set_pixel_index) Likewise.
32200 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32201 (pkgdata_MODULES): Added vesafb.mod.
32202 (pkgdata_MODULES): Added vbe_list_modes.mod.
32203 (pkgdata_MODULES): Added vbe_test.mod.
32204 (vbe_mod_SOURCES): Added.
32205 (vbe_mod_CFLAGS): Likewise.
32206 (vesafb_mod_SOURCES): Likewise.
32207 (vesafb_mod_CFLAGS): Likewise.
32208 (vbe_list_modes_mod_SOURCES): Likewise.
32209 (vbe_list_modes_mod_CFLAGS): Likewise.
32210 (vbe_test_mod_SOURCES): Likewise.
32211 (vbe_test_mod_CFLAGS): Likewise.
32212
32213 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32214
32215 * normal/command.c (grub_command_execute): If INTERACTIVE is
32216 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32217 CMDLINE. Disable the pager if INTERACTIVE is true.
32218 All callers are changed.
32219
32220 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32221 before reading a config file.
32222 * normal/main.c (read_config_file): Even if a command is not
32223 found, register it if it is within an entry.
32224
32225 * util/grub-emu.c: Include sys/types.h and unistd.h.
32226 (options): Added --hold.
32227 (struct arguments): Added a new member "hold".
32228 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32229 missing.
32230 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32231 cleared by a debugger, if it is not zero.
32232
32233 * include/grub/normal.h (grub_command_execute): Add an argument
32234 INTERACTIVE.
32235
32236 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32237
32238 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32239
32240 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32241
32242 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32243 program with another one, because the old one didn't detect a bug
32244 in gcc-3.4. Always use regparm 2, because the new test is still
32245 not enough for gcc-4.0. Someone must investigate a simple test
32246 case which detects a bug in gcc-4.0.
32247
32248 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32249
32250 * DISTLIST: Added normal/completion.c.
32251
32252 * normal/completion.c: New file.
32253
32254 * term/i386/pc/console.c (grub_console_getwh): New function.
32255 (grub_console_term): Assign grub_console_getwh to getwh.
32256
32257 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32258 function is defined in normal/completion.c as
32259 grub_normal_do_completion.
32260 (grub_cmdline_get): Use grub_normal_do_completion instead of
32261 grub_tab_complete.
32262
32263 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32264 returns non-zero, otherwise return 0.
32265 (grub_partition_iterate): First, probe the partition map. Then,
32266 call ITERATE only for this partition map.
32267
32268 * kern/misc.c (grub_strncmp): Rewritten.
32269
32270 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32271 returns non-zero. Otherwise return 0.
32272
32273 * include/grub/partition.h (grub_partition_map_iterate): Return
32274 int instead of void.
32275
32276 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32277
32278 * include/grub/misc.h (grub_strncmp): Change the type of N to
32279 grub_size_t.
32280
32281 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32282 of void.
32283
32284 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32285 unsigned explicitly before comparing it with I.
32286
32287 * kern/main.c (grub_env_write_root): Add the attribute unused into
32288 VAR.
32289
32290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32291 normal/completion.c.
32292 (normal_mod_SOURCES): Likewise.
32293 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32294 (normal_mod_SOURCES): Likewise.
32295
32296 * normal/command.c (grub_iterate_commands): If ITERATE returns
32297 non-zero, return one immediately.
32298
32299 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32300
32301 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32302 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32303 descriptions.
32304 (grub_vbe_get_controller_info): New function.
32305 (grub_vbe_get_mode_info): Likewise.
32306 (grub_vbe_set_mode): Likewise.
32307 (grub_vbe_get_mode): Likewise.
32308 (grub_vbe_set_memory_window): Likewise.
32309 (grub_vbe_get_memory_window): Likewise.
32310 (grub_vbe_set_scanline_length): Likewise.
32311 (grub_vbe_get_scanline_length): Likewise.
32312 (grub_vbe_set_display_start): Likewise.
32313 (grub_vbe_get_display_start): Likewise.
32314 (grub_vbe_set_palette_data): Likewise.
32315 * include/grub/i386/pc/vbe.h: New file.
32316
32317 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32318
32319 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32320 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32321 * DISTLIST: Likewise.
32322 * kern/ieee1275/of.c: Moved to ...
32323 * kern/ieee1275/ieee1275.c: ... here.
32324
32325 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32326
32327 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32328 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32329 Pass 0 as `end' parameter to grub_strtoul().
32330
32331 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32332
32333 * include/grub/powerpc/ieee1275/console.h: Do not include
32334 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32335 ifdef.
32336 (grub_console_cur_color): Remove i386-specific prototype.
32337 (grub_console_real_putchar): Likewise.
32338 (grub_console_checkkey): Likewise.
32339 (grub_console_getkey): Likewise.
32340 (grub_console_getxy): Likewise.
32341 (grub_console_gotoxy): Likewise.
32342 (grub_console_cls): Likewise.
32343 (grub_console_setcursor): Likewise.
32344 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32345 Include <grub/machine/console.h>.
32346 * term/ieee1275/ofconsole.c: Likewise.
32347
32348 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32349
32350 * Makefile.in (LIBLZO): New variable.
32351
32352 * configure.ac: Check for LZO version 2.
32353
32354 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32355 lzo/lzo1x.h instead of lzo1x.h.
32356
32357 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32358 of -llzo.
32359
32360 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32361 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32362
32363 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32364 copying the data from PARTITION to P.
32365
32366 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32367
32368 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32369 negative, unload the module.
32370
32371 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32372 map is "pc_partition_map" but not "pc".
32373 (usage): Fix the description. The options are --boot-image and
32374 --core-image but not --boot-file or --core-file.
32375 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32376 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32377 DEFAULT_DIRECTORY.
32378
32379 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32380 --core-file. Specify INSTALL_DEVICE as an argument.
32381
32382 * util/console.c: Include config.h.
32383 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32384 [HAVE_NCURSES_H]: Include ncurses.h.
32385 [HAVE_CURSES_H]: Include curses.h.
32386 [!A_NORMAL] (A_NORMAL): Defined as zero.
32387 [!A_STANDOUT] (A_STANDOUT): Likewise.
32388
32389 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32390 -lncurses.
32391 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32392
32393 * configure.ac: Check for curses libraries and headers.
32394
32395 * Makefile.in (LIBCURSES): New variable.
32396
32397 * genmk.rb (Script::rule): Set the executable bits.
32398
32399 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32400 name of the PC partition map is "pc_partition_map" but not "pc".
32401
32402 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32403
32404 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32405 (modules): Likewise.
32406 (usage): Added descriptions for --modules and --grub-probefs.
32407 Handle --modules and --grub-probefs. Save the arguments in MODULES
32408 and GRUB_PROBEFS, respectively.
32409 Auto-detect a filesystem module against GRUBDIR. If the result is
32410 empty and modules are not specified explicitly, abort the
32411 installation. Add the result to MODULES.
32412
32413 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32414 disk/powerpc/ieee1275/ofdisk.c,
32415 include/grub/powerpc/ieee1275/init.h and
32416 term/powerpc/ieee1275/ofconsole.c.
32417 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32418 term/ieee1275/ofconsole.c.
32419
32420 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32421
32422 * COPYING: Upgraded to the latest version. Only the address of the
32423 FSF office has changed.
32424
32425 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32426
32427 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32428 kern/ieee1275.c with kern/ieee1275/of.c.
32429
32430 * kern/ieee1275.c: Moved to ...
32431 * kern/ieee1275/of.c: ... here.
32432
32433 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32434
32435 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32436 readability.
32437
32438 * config.guess: Updated to the latest version from gnulib.
32439 * config.sub: Likewise.
32440 * install.sh: Likewise.
32441 * mkinstalldirs: Likewise.
32442
32443 * include/grub/console.h: Removed. This file is arch-specific. Do
32444 not put this in include/grub.
32445
32446 * include/grub/i386/pc/console.h: Resurrected.
32447
32448 * util/console.c: Include grub/machine/console.h instead of
32449 grub/console.h.
32450 * util/grub-emu.c: Likewise.
32451
32452 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32453
32454 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32455 hardcoded value.
32456
32457 From Vincent Pelletier <subdino2004@yahoo.fr>
32458 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32459 Redefined to use grub_getwh.
32460 (grub_term): New member named getwh.
32461 (grub_getwh): New prototype.
32462 * kern/term.c (grub_getwh): New function.
32463 * term/i386/pc/console.c (grub_console_getwh): New function.
32464 (grub_console_term): New member `getwh'.
32465 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32466 (grub_vga_term): New member `getwh'.
32467 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32468 grub_ssize_t.
32469 (grub_ofconsole_getw): New function.
32470 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32471 (grub_ofconsole_term): New field named getwh and new initial
32472 value.
32473
32474 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32475
32476 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32477 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32478 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32479 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32480 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32481 of <grub/machine/ieee1275.h>.
32482 * commands/ieee1275/reboot.c: Likewise.
32483 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32484 * kern/ieee1275.c: ... to here. All users updated. Change all
32485 parameter structs to use new type `grub_ieee1275_cell_t'.
32486 * term/powerpc/ieee1275/ofconsole.c: Move ...
32487 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32488 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32489 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32490 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32491 to return int.
32492 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32493 Remove unused prototypes. All users updated.
32494 * include/grub/powerpc/ieee1275/console.h: Removed.
32495 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32496 `grub_ieee1275_cell_t'.
32497 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32498 Cast comparisons with -1 to the correct type.
32499 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32500 type to match `grub_ieee1275_entry_fn'.
32501
32502 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32503
32504 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32505
32506 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32507 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32508 partmap/sun.c.
32509 (grub_probefs_SOURCES): New variable.
32510
32511 * util/i386/pc/grub-probefs.c: New file.
32512
32513 * util/i386/pc/grub-setup.c (main): Call
32514 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32515 grub_hfs_init and grub_jfs_init to initialize the system. Call
32516 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32517 grub_pc_partition_map_fini to finish the system.
32518
32519 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32520
32521 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32522 function.
32523 (grub_multiboot_load_elf32): Likewise.
32524 (grub_multiboot_is_elf64): Likewise.
32525 (grub_multiboot_load_elf64): Likewise.
32526 (grub_multiboot_load_elf): Likewise.
32527 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32528 an ELF32 or ELF64 file.
32529 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32530
32531 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32532 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32533 NULL before calling FS->LABEL.
32534 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32535 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32536 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32537 before calling FS->LABEL.
32538
32539 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32540
32541 * util/i386/pc/grub-install.in (datadir): New variable.
32542 (libdir): Removed.
32543 (pkgdatadir): New variable.
32544 (pkglibdir): Removed.
32545
32546 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32547
32548 * DISTLIST: Added util/i386/pc/grub-install.in.
32549
32550 * util/i386/pc/grub-install.in: New file.
32551
32552 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32553 (grub_install_SOURCES): Likewise.
32554
32555 * genmk.rb: Added support for scripts.
32556 (Script): New class.
32557 (scripts): New variable.
32558
32559 * Makefile.in (install-local): Install sbin_SCRIPTS by
32560 INSTALL_SCRIPT.
32561 (uninstall): Remove sbin_SCRIPTS.
32562
32563 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32564 device, try to get a GRUB device by
32565 grub_util_biosdisk_get_grub_dev.
32566 Free DEST_DEV.
32567
32568 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32569 description for --device-map.
32570
32571 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32572
32573 Change the semantics of variable hooks. They now return strings
32574 instead of error values.
32575
32576 * util/i386/pc/grub-setup.c: Include grub/env.h.
32577 (setup): Use grub_device_set_root instead of grub_env_set.
32578
32579 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32580 grub_env_get instead of grub_device_set_root and
32581 grub_device_get_root, respectively.
32582
32583 * kern/main.c (grub_env_write_root): New function.
32584 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32585 grub_env_set instead of grub_device_set_root.
32586
32587 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32588 many variables.
32589 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32590 rather than calling ENV->WRITE_HOOK afterwards.
32591 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32592 passing a pointer of a pointer.
32593 (grub_register_variable_hook): Change the types of "read_hook" and
32594 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32595 respectively.
32596 Allocate the default empty string on the heap, because this string
32597 may be freed later.
32598
32599 * kern/device.c: Include grub/env.h.
32600 (grub_device_set_root): Removed.
32601 (grub_device_get_root): Likewise.
32602 (grub_device_open): Use grub_env_get instead of
32603 grub_device_get_root.
32604
32605 * include/grub/env.h (grub_env_read_hook_t): New type.
32606 (grub_env_write_hook_t): Likewise.
32607 (grub_env_var): Change the types of "read_hook" and "write_hook"
32608 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32609 (grub_register_variable_hook): Likewise.
32610
32611 * include/grub/device.h (grub_device_set_root): Removed.
32612 (grub_device_set_root): Likewise.
32613
32614 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32615 make sure that DIRNAME terminates with '/', so that
32616 grub_fat_find_dir will fail if PATH is not a directory.
32617
32618 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32619 from DIRNAME.
32620 Use the qualifier auto for print_files and print_files_long.
32621 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32622 as a regular file.
32623 Put a newline only if there is no error.
32624 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32625 used.
32626
32627 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32628
32629 * kern/partition.c (grub_partition_probe): Initialize PART to
32630 NULL. Otherwise, when no partition map is registered, this returns
32631 a garbage.
32632
32633 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32634
32635 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32636 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32637 valid.
32638
32639 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32640
32641 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32642 information on each device, if it does not have partitions. Print
32643 "Device" instead of "Disk", because this function is not specific
32644 to disk devices.
32645
32646 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32647 static to ensure that it is put on the memory rather than a
32648 register.
32649
32650 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32651
32652 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32653 (grub_cat_init): Likewise.
32654 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32655 (options): Likewise.
32656 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32657 (grub_configfile_init): Likewise.
32658 * font/manager.c (GRUB_MOD_INIT): Likewise.
32659 * commands/help.c (GRUB_MOD_INIT): Likewise.
32660 (grub_help_init): Likewise.
32661 * normal/command.c (grub_command_init): Likewise.
32662 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32663 * disk/loopback.c (grub_loop_init): Likewise.
32664 (GRUB_MOD_INIT): Likewise.
32665 * commands/ls.c (grub_ls_init): Likewise.
32666 (GRUB_MOD_INIT): Likewise.
32667 (options): Likewise.
32668 * commands/boot.c (grub_boot_init): Likewise.
32669 (GRUB_MOD_INIT): Likewise.
32670 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32671 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32672 (GRUB_MOD_INIT): Likewise.
32673 * commands/cmp.c (grub_cmp_init): Likewise.
32674 (GRUB_MOD_INIT): Likewise.
32675
32676 * normal/arg.c: Use <> instead of "" to include header files.
32677 (SHORT_ARG_HELP): New macro.
32678 (SHORT_ARG_USAGE): Likewise.
32679 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32680 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32681 descriptions.
32682 (find_short): Check if C is 'h' or 'u' explicitly.
32683 (grub_arg_show_help): Use space characters instead of tabs. Treat
32684 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32685 are shown with --help and --usage only if they are not used for
32686 the command itself.
32687 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32688 'h' and 'u'.
32689
32690 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32691 const into "longarg". Change the type of "shortarg" to int.
32692
32693 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32694
32695 * boot/i386/pc/boot.S (boot_drive_check): New label.
32696
32697 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32698 macro.
32699
32700 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32701 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32702
32703 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32704
32705 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32706 When turning off Gate A20, skip the check and return immediately,
32707 because this is not fatal usually.
32708
32709 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32710
32711 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32712 be 0x7C00 instead of 0x8000.
32713
32714 * boot/i386/pc/pxeboot.S: Rewritten.
32715
32716 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32717 EXT_C.
32718 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32719 result.
32720
32721 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32722
32723 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32724 robustness. This routine now supports a BIOS call and System
32725 Control Port A to modify the gate A20.
32726
32727 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32728 Increased to 0x440.
32729
32730 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32731
32732 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32733 device path and resulting ihandle.
32734 (grub_ofdisk_close): dprintf the ihandle being closed.
32735 (grub_ofdisk_read): dprintf function parameters.
32736 * kern/mm.c (grub_mm_init_region): Likewise.
32737 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32738 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32739 size, and boot arguments.
32740 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32741 before loading into memory.
32742 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32743 before loading into memory.
32744
32745 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32746
32747 * kern/mm.c: Added much documentation.
32748 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32749 8, set to 5 instead of 8.
32750
32751 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32752
32753 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32754
32755 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32756 (grub_mkdevicemap_SOURCES): New variable.
32757
32758 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32759 lib/device.c of GRUB Legacy.
32760
32761 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32762
32763 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32764 instead of PATH is NULL.
32765
32766 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32767
32768 * commands/cmp.c (BUFFER_SIZE): New macro.
32769 (grub_cmd_cmp): Close the right file at the right time. Compare
32770 only data just read. Don't report files of different size as
32771 identical. Dynamically allocate buffers. Move variable
32772 declarations at the beginning of function.
32773
32774 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32775
32776 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32777 reverse.
32778
32779 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32780
32781 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32782 when backspace is pressed at beginning of line.
32783
32784 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32785
32786 * DISTLIST: Added genfslist.sh.
32787
32788 * normal/main.c (fs_module_list): New variable.
32789 (autoload_fs_module): New function.
32790 (read_fs_list): Likewise.
32791 (grub_normal_execute): Call read_fs_list.
32792
32793 * kern/fs.c (grub_fs_autoload_hook): New variable.
32794 (grub_fs_probe): Added support for auto-loading.
32795
32796 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32797 (grub_fs_module_list_t): New type.
32798
32799 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32800 (grub_fs_autoload_hook): New prototype.
32801
32802 * genfslist.sh: New file.
32803
32804 * genmk.rb: Added a rule to generate a filesystem list.
32805
32806 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32807
32808 * configure.ac: Fix the test for cross-compiling.
32809
32810 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32811 define GRUB_UTIL anymore.
32812
32813 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32814 so this function works on other systems than just big endian.
32815 (load_modules): Likewise.
32816 (add_segments): Likewise.
32817
32818 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32819
32820 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32821 contains `l' modifier, get a long from va_arg().
32822
32823 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32824
32825 * kern/mm.c (grub_free): If the next free block which is being
32826 merged is the first free block, set the first block to the block
32827 being freed.
32828 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32829
32830 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32831
32832 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32833 `grub_ieee1275_chosen'.
32834
32835 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32836
32837 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32838 (grub_ieee1275_chosen): New variable.
32839 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32840 `chosen'.
32841 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32842 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32843 Rename first argument to `phandle' for consistency.
32844 (grub_ieee1275_get_property_length): Likewise.
32845 (grub_ieee1275_next_property): Likewise. Change type of first argument
32846 to grub_ieee1275_phandle_t.
32847 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32848 Move export next to declaration.
32849 (grub_ieee1275_chosen): New variable.
32850 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32851 Correct cosmetic typo.
32852 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32853 `grub_ieee1275_chosen'.
32854 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32855 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32856 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32857 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32858 `grub_ieee1275_chosen'.
32859
32860 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32861
32862 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32863 /chosen/bootargs.
32864 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32865 /chosen/bootargs as "variable=value" pairs.
32866
32867 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32868
32869 * include/grub/misc.h (grub_dprintf): New macro.
32870 (grub_real_dprintf): New prototype.
32871 (grub_strword): Likewise.
32872 (grub_iswordseparator): Likewise.
32873 * kern/misc.c (grub_real_dprintf): New function.
32874 (grub_strword): Likewise.
32875 (grub_iswordseparator): Likewise.
32876
32877 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32878
32879 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32880 (roundup): Remove macro.
32881 (grub_ieee1275_flags): Make static.
32882 (grub_ieee1275_realmode): Remove.
32883 (grub_ieee1275_test_flag): New function.
32884 (grub_ieee1275_set_flag): Likewise.
32885 (find_options): Rename to `grub_ieee1275_find_options'; update
32886 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32887 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32888 (cmain): New prototype.
32889 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32890 `grub_ieee1275_flags' directly.
32891 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32892 machine/biosdisk.h.
32893 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32894 Don't include grub/machine/init.h.
32895 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32896 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32897 Remove prototype.
32898 (grub_ieee1275_realmode): Likewise.
32899 (grub_ieee1275_flag): New enum.
32900 (grub_ieee1275_test_flag): New prototype.
32901 (grub_ieee1275_set_flag): New prototype.
32902 * include/grub/powerpc/ieee1275/init.h: Remove file.
32903 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32904 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32905 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32906 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32907 comment.
32908 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32909 `grub_ieee1275_test_flag'.
32910 (grub_ieee1275_encode_devname): Likewise.
32911
32912 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32913
32914 * include/grub/powerpc/ieee1275/ieee1275.h
32915 (grub_ieee1275_encode_devname): New prototype.
32916 (grub_ieee1275_get_filename): Likewise.
32917 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32918 function.
32919 (grub_set_prefix): Likewise.
32920 (grub_machine_init): Call grub_set_prefix.
32921 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32922 (grub_parse_type): New enum.
32923 (grub_ieee1275_get_devargs): New function.
32924 (grub_ieee1275_get_devname): Likewise.
32925 (grub_ieee1275_parse_args): Likewise.
32926 (grub_ieee1275_get_filename): Likewise.
32927 (grub_ieee1275_encode_devname): Likewise.
32928
32929 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32930
32931 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32932 `grub_loader_unset'.
32933
32934 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32935
32936 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32937 instead of grub_ieee1275_interpret.
32938 (grub_halt_init): New function.
32939 (grub_halt_fini): Likewise.
32940 (GRUB_MOD_INIT): Correct message grammar.
32941 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32942 instead of grub_ieee1275_interpret.
32943 (grub_reboot_init): New function.
32944 (grub_reboot_fini): Likewise.
32945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32946 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32947 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32948 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32949 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32950 function.
32951 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32952 Add prototype.
32953 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32954 prototype.
32955 (grub_halt): Likewise.
32956 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32957 (cmain): Remove __attribute__((unused)).
32958 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32959 (grub_heap_len): Likewise.
32960 (grub_machine_fini): New function.
32961 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32962 (grub_halt): Likewise.
32963 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32964 function.
32965 * util/powerpc/ieee1275/misc.c: New file.
32966
32967 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32968
32969 * DISTLIST: New file.
32970 * gendistlist.sh: Likewise.
32971
32972 * Makefile.in (COMMON_DISTFILES): Removed.
32973 (BOOT_DISTFILES): Likewise.
32974 (CONF_DISTFILES): Likewise.
32975 (DISK_DISTFILES): Likewise.
32976 (FS_DISTFILES): Likewise.
32977 (INCLUDE_DISTFILES): Likewise.
32978 (KERN_DISTFILES): Likewise.
32979 (LOADER_DISTFILES): Likewise.
32980 (TERM_DISTFILES): Likewise.
32981 (UTIL_DISTFILES): Likewise.
32982 (DISTFILES): Likewise.
32983 (uninstall): Uninstall files in $(pkgdata_DATA).
32984 (DISTLIST): New target.
32985 (distdir): Use the contents of the file DISTLIST to get a list of
32986 distributed files.
32987
32988 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32989
32990 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32991 descriptor. This is ported from GRUB Legacy.
32992
32993 * gencmdlist.sh: Added an extra semicolon to make it work with
32994 old sed versions. Reported by Robert Bihlmeyer
32995 <robbe@orcus.priv.at>.
32996
32997 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32998
32999 Automatic loading of commands is supported.
33000
33001 * normal/main.c (read_command_list): New function.
33002 (grub_normal_execute): Call read_command_list.
33003
33004 * normal/command.c (grub_register_command): Return zero or CMD.
33005 Allocate CMD->NAME from the heap.
33006 Initialize CMD->MODULE_NAME to zero.
33007 Find the same name as well. If the same command is found and it is
33008 a dummy command, overwrite members. If it is not a dummy command,
33009 return zero.
33010 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
33011 (grub_command_find): If a dummy command is found, load a module
33012 and retry to find a command only once.
33013
33014 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
33015 make sure that each command is loaded.
33016
33017 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
33018 macro.
33019 (struct grub_command): Remove const from the member `name'.
33020 Add a new member `module_name'.
33021 (grub_register_command): Return grub_command_t.
33022
33023 * commands/help.c (grub_cmd_help): Call grub_command_find to make
33024 sure that each command is loaded.
33025
33026 * genmk.rb (PModule::rule): Specify a module name without the
33027 suffix ".mod" to gencmdlist.sh.
33028
33029 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33030
33031 * gencmdlist.sh: New file.
33032
33033 * genmk.rb (PModule::rule): Generate a rule for a command list.
33034 Clean command.lst.
33035 Generate command.lst from $(COMMANDFILES).
33036
33037 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
33038 (DATA): Added $(pkgdata_DATA).
33039 (install-local): Install files in $(pkgdata_DATA).
33040
33041 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33042
33043 * term/i386/pc/vga.c (debug_command): Removed.
33044 (GRUB_MOD_INIT): Do not register the command "debug".
33045
33046 From Hollis Blanchard:
33047 * commands/configfile.c: New file.
33048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33049 commands/configfile.c.
33050 (pkgdata_MODULES): Added configfile.mod.
33051 (configfile_mod_SOURCES): New variable.
33052 (configfile_mod_CFLAGS): Likewise.
33053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33054 commands/configfile.c.
33055 (pkgdata_MODULES): Added configfile.mod.
33056 (configfile_mod_SOURCES): New variable.
33057 (configfile_mod_CFLAGS): Likewise.
33058 * util/grub-emu.c (main): Call grub_configfile_init and
33059 grub_configfile_fini.
33060 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33061 prototype.
33062 [GRUB_UTIL] (grub_configfile_fini): Likewise.
33063
33064 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33065
33066 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33067 address.
33068
33069 * commands/help.c (grub_cmd_help): Do not print newlines after
33070 the last command in print_command_help.
33071
33072 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33073
33074 * commands/default.h: New file.
33075 * commands/timeout.h: Likewise.
33076 * normal/context.c: Likewise.
33077
33078 * util/misc.c: Do not include sys/times.h.
33079 Include sys/time.h and grub/machine/time.h.
33080 (grub_get_rtc): Rewritten with gettimeofday.
33081
33082 * util/grub-emu.c (main): Call grub_default_init and
33083 grub_timeout_init before grub_normal_init, and call
33084 grub_timeout_fini and grub_default_fini after grub_main.
33085
33086 * util/console.c (grub_ncurses_checkkey): Return the read
33087 character or -1.
33088
33089 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33090 timeouts.
33091
33092 * normal/main.c (read_config_file): Push MENU. If this fails,
33093 print an error and wait for a user input.
33094 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33095 If a menu is empty or an error occurs, pop MENU.
33096 (grub_normal_execute): Pop and free MENU after grub_menu_run
33097 returns.
33098
33099 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33100
33101 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33102 include time.h.
33103 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33104 without GRUB_UTIL.
33105 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33106 time.h.
33107 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33108 without GRUB_UTIL.
33109
33110 * include/grub/normal.h (struct grub_menu_list): New struct.
33111 (grub_menu_list_t): New type.
33112 (struct grub_context): New struct.
33113 (grub_context_t): New type.
33114 (grub_register_command): Got rid of EXPORT_FUNC.
33115 (grub_unregister_command): Likewise.
33116 (grub_context_get): New prototype.
33117 (grub_context_get_current_menu): Likewise.
33118 (grub_context_push_menu): Likewise.
33119 (grub_context_pop_menu): Likewise.
33120 [GRUB_UTIL] (grub_default_init): Likewise.
33121 [GRUB_UTIL] (grub_default_fini): Likewise.
33122 [GRUB_UTIL] (grub_timeout_init): Likewise.
33123 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33124
33125 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33126 commands/timeout.c and normal/context.c.
33127 (pkgdata_MODULES): Added default.mod and timeout.mod.
33128 (normal_mod_SOURCES): Added normal/context.c.
33129 (default_mod_SOURCES): New variable.
33130 (default_mod_CFLAGS): Likewise.
33131 (timeout_mod_SOURCES): Likewise.
33132 (timeout_mod_CFLAGS): Likewise.
33133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33134 conf/i386-pc.rmk.
33135 (pkgdata_MODULES): Added default.mod and timeout.mod.
33136 (normal_mod_SOURCES): Added normal/context.c.
33137 (default_mod_SOURCES): New variable.
33138 (default_mod_CFLAGS): Likewise.
33139 (timeout_mod_SOURCES): Likewise.
33140 (timeout_mod_CFLAGS): Likewise.
33141
33142 * Makefile.in (all-local): Added $(MKFILES).
33143
33144 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33145
33146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33147 (grub_emu_SOURCES): Likewise.
33148 (pkgdata_MODULES): Add `sun.mod'.
33149 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33151 `partmap/sun.c'.
33152 (pkgdata_MODULES): Add `sun.mod'.
33153 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33154 * include/grub/partition.h (grub_sun_partition_map_init): New
33155 prototype.
33156 (grub_sun_partition_map_fini): Likewise.
33157 * partmap/sun.c: New file.
33158 * util/grub-emu.c (main): Initialize and de-initialize the sun
33159 partitionmap support.
33160
33161 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33162
33163 This implements an Emacs-like menu entry editor.
33164
33165 * normal/menu_entry.c: New file.
33166
33167 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33168 characters to ASCII.
33169 (saved_char): New variable.
33170 (grub_ncurses_checkkey): Rewritten completely.
33171 (grub_ncurses_getkey): Likewise.
33172 (grub_ncurses_init): Call raw instead of cbreak.
33173
33174 * normal/menu.c (print_entry): Do not put a space.
33175 (init_page): Renamed to ...
33176 (grub_menu_init_page): ... this. All callers changed.
33177 (edit_menu_entry): Removed.
33178 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33179
33180 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33181
33182 * kern/misc.c (grub_vprintf): Call grub_refresh.
33183
33184 * normal/menu.c (DISP_LEFT): Renamed to ...
33185 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33186 * normal/menu.c (DISP_UP): Renamed to ...
33187 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33188 * normal/menu.c (DISP_RIGHT): Renamed to ...
33189 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33190 * normal/menu.c (DISP_DOWN): Renamed to ...
33191 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33192 * normal/menu.c (DISP_HLINE): Renamed to ...
33193 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33194 * normal/menu.c (DISP_VLINE): Renamed to ...
33195 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33196 * normal/menu.c (DISP_UL): Renamed to ...
33197 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33198 * normal/menu.c (DISP_UR): Renamed to ...
33199 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33200 * normal/menu.c (DISP_LL): Renamed to ...
33201 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33202 * normal/menu.c (DISP_LR): Renamed to ...
33203 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33204 * normal/menu.c (TERM_WIDTH): Renamed to ...
33205 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33206 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33207 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33208 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33209 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33210 * normal/menu.c (TERM_MARGIN): Renamed to ...
33211 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33212 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33213 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33214 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33215 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33216 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33217 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33218 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33219 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33220 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33221 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33222 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33223 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33224 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33225 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33226 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33227 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33228 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33229 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33230 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33231 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33232 All callers changed.
33233
33234 * include/grub/normal.h: New prototype.
33235
33236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33237 normal/menu_entry.c.
33238 (normal_mod_SOURCES): Likewise.
33239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33240 (normal_mod_SOURCES): Likewise.
33241
33242 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33243
33244 * include/grub/normal.h (grub_halt_init): New prototype.
33245 (grub_halt_fini): Likewise.
33246 (grub_reboot_init): Likewise.
33247 (grub_reboot_fini): Likewise.
33248
33249 * util/grub-emu.c: Include signal.h.
33250 (main_env): New global variable.
33251 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33252 catch C-c.
33253 (grub_machine_fini): New function.
33254 (main): Call grub_halt_init and grub_reboot_init before
33255 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33256 Call setjmp with MAIN_ENV to go back afterwards.
33257 Call grub_machine_fini right before return.
33258
33259 * include/grub/util/misc.h: Include setjmp.h.
33260 (main_env): New prototype.
33261
33262 * include/grub/kernel.h (grub_machine_fini): New prototype.
33263 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33264 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33265
33266 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33267 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33268 * term/i386/pc/console.c (grub_console_fini): Likewise.
33269
33270 * util/i386/pc/misc.c: New file.
33271
33272 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33273 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33274 commands/i386/pc/reboot.c.
33275
33276 2005-02-14 Guillem Jover <guillem@hadrons.org>
33277
33278 * include/grub/dl.h (grub_dl_check_header): New prototype.
33279 (grub_arch_dl_check_header): Change return type to grub_err_t,
33280 remove size parameter and export function. Update all callers.
33281 * kern/dl.c (grub_dl_check_header): New function.
33282 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33283 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33284 are inside the core.
33285 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33286 independent ELF header checks.
33287 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33288 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33289 `grub_dl_check_header' instead of explicit checks. Check for the
33290 ELF type.
33291 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33292 `grub_dl_check_header' instead of explicit checks. Remove arch
33293 specific ELF header checks.
33294
33295 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33296 argument SIZE.
33297
33298 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33299
33300 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33301 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33302
33303 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33304
33305 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33306 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33307 (part_map_iterate): Clear `grub_errno' and return 0 if
33308 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33309 * partmap/amiga.c (amiga_partition_map_iterate): Return
33310 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33311 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33312
33313 2005-02-01 Guillem Jover <guillem@hadrons.org>
33314
33315 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33316 help info.
33317
33318 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33319
33320 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33321 Removed prototype.
33322 (grub_rescue_cmd_linux): New prototype.
33323 (grub_rescue_cmd_initrd): Likewise.
33324 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33325 `bi_rec'.
33326 (grub_linux_release_mem): Release the memory for the initrd.
33327 (grub_load_linux): Renamed from this...
33328 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33329 Changed `entry' not to be static. Loop over memory regions to
33330 find another one when the default fails.
33331 (grub_rescue_cmd_initrd): New function.
33332 (grub_linux_init): Remove function.
33333 (grub_linux_fini): Likewise.
33334 (GRUB_MOD_INIT): Register `initrd'.
33335 (GRUB_MOD_FINI): Unregister `initrd'.
33336 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33337 Function removed.
33338 (grub_linux_normal_fini): Likewise.
33339 (GRUB_MOD_INIT): Register `initrd'.
33340 (GRUB_MOD_FINI): Unregister `initrd'.
33341
33342 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33343
33344 * commands/help.c: New file.
33345 * normal/arg.c (show_help): Renamed to...
33346 (grub_arg_show_help): ... this.
33347 * commands/i386/pc/halt.c: New file.
33348 * commands/i386/pc/reboot.c: Likewise.
33349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33350 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33351 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33352 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33353 variables.
33354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33355 `commands/help.c'.
33356 (pkgdata_MODULES): Add `help.mod'.
33357 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33358 * grub/i386/pc/init.h (grub_reboot): New prototype.
33359 (grub_halt): Likewise.
33360 * include/grub/normal.h (grub_arg_show_help): New prototype.
33361 (grub_help_init): Likewise.
33362 (grub_help_fini): Likewise.
33363 * util/grub-emu.c (main): Initialize and deinitialize the help
33364 command.
33365
33366 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33367
33368 * normal/command.c (grub_command_init): Fixed the description of
33369 the `set' and `unset' commands.
33370
33371 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33372
33373 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33374 function.
33375 * commands/ieee1275/halt.c: New file.
33376 * commands/ieee1275/reboot.c: Likewise.
33377 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33378 `__attribute__ ((unused))'. Some GCS related fixed.
33379 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33380 (grub_suspend_fini): Likewise.
33381 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33382 and `halt.mod'.
33383 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33384 (halt_mod_CFLAGS): New variables.
33385 * include/grub/powerpc/ieee1275/ieee1275.h
33386 (grub_ieee1275_interpret): New prototype.
33387
33388 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33389
33390 * include/grub/misc.h (memmove): New prototype.
33391 (memcpy): Likewise.
33392
33393 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33394
33395 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33396 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33397
33398 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33399
33400 * kern/misc.c (grub_strndup): Function rewritten.
33401
33402 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33403
33404 * normal/menu.c (TERM_WIDTH): Macro redefined.
33405 (TERM_TOP_BORDER_Y): Likewise.
33406 (draw_border): Replaced while-loop by a for-loop. Make the number
33407 of lines consistent with the number of lines displayed in
33408 print_entries. Added a margin below the rectangle.
33409 (print_entry): Make the entry fit in the rectangle.
33410 (print_entries): Display the scroll arrows next to the right
33411 border.
33412
33413 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33414
33415 * fs/minix.c (grub_minix_find_file): Reserve more space for
33416 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33417 `grub_strncpy' to copy `path' into it.
33418
33419 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33420
33421 Add the loopback device, a device via which files can be accessed
33422 as devices.
33423
33424 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33425 (pkgdata_MODULES): Add loopback.mod.
33426 (loopback_mod_SOURCES): New variable.
33427 (loopback_mod_CFLAGS): Likewise.
33428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33429 `disk/loopback.c'.
33430 (pkgdata_MODULES): Add loopback.mod.
33431 (loopback_mod_SOURCES): New variable.
33432 (loopback_mod_CFLAGS): Likewise.
33433 * disk/loopback.c: new file.
33434 * include/grub/normal.h (grub_loop_init): New prototype.
33435 (grub_loop_fini): New prototype.
33436 * util/grub-emu.c (main): Initialize and de-initialize loopback
33437 support.
33438 * include/grub/disk.h (grub_disk_dev_id): Add
33439 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33440
33441 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33442
33443 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33444 function.
33445 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33446 (suspend_mod_SOURCES): New variable.
33447 (suspend_mod_CFLAGS): Likewise.
33448 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33449 New prototype.
33450 * commands/ieee1275/suspend.c: New file.
33451
33452 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33453
33454 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33455 ((unused))' to `__attribute__ ((used))'.
33456 (GRUB_MOD_FINI): Likewise.
33457 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33458 * genmk.rb (PModule): Assign space to common symbols when linking
33459 modules.
33460
33461 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33462
33463 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33464 `unsigned' arguments to `grub_size_t'.
33465 (grub_malloc): Likewise.
33466 (grub_realloc): Likewise.
33467 (grub_memalign): Likewise.
33468 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33469 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33470 * util/misc.c (grub_malloc): Likewise.
33471 (grub_realloc): Likewise.
33472 * kern/mm.c (get_header_from_pointer): Change the casts to
33473 `unsigned' into a cast to `grub_size_t'.
33474
33475 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33476 point to `currnode' when `currnode' is changed.
33477
33478 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33479 Schottelius <nico-linux@schottelius.org>.
33480
33481 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33482
33483 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33484 (note_path): Remove variable.
33485 (GRUB_IEEE1275_NOTE_NAME): New macro.
33486 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33487 (grub_ieee1275_note_hdr): New structure.
33488 (grub_ieee1275_note_desc): Likewise.
33489 (grub_ieee1275_note): Likewise.
33490 (load_note): Remove `dir' argument. All callers updated. Remove
33491 `note_img' and `path'. Do not load a file from `note_path'.
33492 Initialize a struct grub_ieee1275_note and write that to `out'.
33493 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33494
33495 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33496
33497 * util/misc.c (grub_util_read_image): Revert last change. It
33498 called `grub_util_read_at', which seeks from the beginning of the
33499 file.
33500
33501 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33502
33503 * TODO: Add note about endianness in grub-mkimage.
33504 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33505 section.
33506 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33507 (grub_mkimage_SOURCES): New target.
33508 * include/grub/kernel.h (grub_start_addr): Remove variable.
33509 (grub_end_addr): Likewise.
33510 (grub_total_module_size): Likewise.
33511 (grub_kernel_image_size): Likewise.
33512 (GRUB_MODULE_MAGIC): New constant.
33513 (grub_module_info): New structure.
33514 (grub_arch_modules_addr): New prototype.
33515 (grub_get_end_addr): Remove prototype.
33516 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33517 * include/grub/powerpc/ieee1275/kernel.h: New file.
33518 * include/grub/util/misc.h (grub_util_get_fp_size): New
33519 prototype.
33520 (grub_util_read_at): Likewise.
33521 (grub_util_write_image_at): Likewise.
33522 * kern/main.c (grub_get_end_addr): Remove function.
33523 (grub_load_modules): Call grub_arch_modules_addr instead of using
33524 grub_end_addr. Look for a grub_module_info struct in memory. Use
33525 the grub_module_info fields instead of calling grub_get_end_addr
33526 as loop conditions. Move grub_add_unused_region code here.
33527 (grub_add_unused_region): Remove function.
33528 * kern/i386/pc/init.c: Include grub/cache.h.
33529 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33530 one call to add_mem_region.
33531 (grub_arch_modules_addr): New function.
33532 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33533 (grub_total_module_size): Likewise.
33534 Include grub/machine/kernel.h.
33535 (grub_arch_modules_addr): New function.
33536 * util/grub-emu.c (grub_end_addr): Remove variable.
33537 (grub_total_module_size): Likewise.
33538 (grub_arch_modules_addr): New function.
33539 * util/misc.c: Include unistd.h.
33540 (grub_util_get_fp_size): New function.
33541 (grub_util_read_at): Likewise.
33542 (grub_util_write_image_at): Likewise.
33543 (grub_util_read_image): Call grub_util_read_at.
33544 (grub_util_write_image): Call grub_util_write_image_at.
33545 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33546 additional memory in kernel_img for a struct grub_module_info.
33547 Fill in that grub_module_info.
33548 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33549
33550 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33551
33552 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33553 New function.
33554 * include/grub/powerpc/ieee1275/ieee1275.h
33555 (grub_ieee1275_milliseconds): New prototype.
33556 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33557 Change to 1000.
33558 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33559 grub_ieee1275_milliseconds.
33560
33561 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33562
33563 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33564 variable.
33565 (find_options): New function.
33566 (cmain): Call find_options.
33567 * include/grub/powerpc/ieee1275/ieee1275.h
33568 (grub_ieee1275_realmode): New extern variable.
33569 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33570 grub_map if grub_ieee1275_realmode is false.
33571
33572 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33573
33574 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33575 lines are inserted and make it work like readline. Reported by
33576 Vincent Pelletier <subdino2004@yahoo.fr>.
33577
33578 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33579
33580 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33581
33582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33583 `kern/powerpc/cache.S'.
33584
33585 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33586
33587 * genmk.rb: Handle the `Program' class in the main loop. Written
33588 by Johan Rydberg <jrydberg@gnu.org>.
33589 (Program): New class.
33590 (programs): New variable.
33591 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33592 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33593 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33594 (help_arch): Function removed.
33595 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33596 `powerpc/libgcc.h' and `loader.h'.
33597 (pkgdata_PROGRAMS): New variable.
33598 (sbin_UTILITIES): Variable removed.
33599 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33600 (grubof_SOURCES): Variable re-defined so it only includes the
33601 core functionality.
33602 (grubof_CFLAGS): Remove `-DGRUBOF'.
33603 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33604 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33605 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33606 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33607 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33608 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33609 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33610 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33611 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33612 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33613 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33614 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33615 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33616 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33617 (pc_mod_CFLAGS): New variables.
33618 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33619 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33620 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33621 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33622 Moved from here...
33623 * include/grub/i386/pc/init.h (grub_os_area_addr)
33624 (rub_os_area_size): ... to here.
33625 * include/grub/powerpc/ieee1275/ieee1275.h
33626 (grub_ieee1275_entry_fn): Export symbol.
33627 * include/grub/powerpc/ieee1275/init.h: New file.
33628 * include/grub/powerpc/libgcc.h: Likewise.
33629 * include/grub/cache.h: Likewise.
33630 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33631 <hollis@penguinppc.org>.
33632 * kern/dl.c: Include <grub/cache.h>.
33633 (grub_dl_flush_cache): New function.
33634 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33635 for this module.
33636 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33637 (grub_console_init): Removed prototypes.
33638 (grub_machine_init): Don't initialize the modules anymore.
33639 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33640 static.
33641 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33642 Macro undef removed.
33643 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33644 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33645 relocation `R_PPC_REL32'. Return an error when the relocation is
33646 unknown.
33647 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33648 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33649 * util/misc.c (grub_arch_sync_caches): Likewise.
33650
33651 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33652
33653 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33654 `symlist.c', add `grubof_symlist.c'.
33655 (symlist.c): Variable removed.
33656 (grubof_HEADERS): Variable added.
33657 (grubof_symlist.c): New target.
33658 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33659 `kernel_img_HEADERS'.
33660 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33661 * kern/powerpc/dl.c: New file.
33662 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33663 Function removed.
33664 (grub_arch_dl_relocate_symbols): Likewise.
33665 (grub_register_exported_symbols): Likewise.
33666
33667 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33668
33669 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33670 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33671 to fail instead. Reported by Vincent Pelletier
33672 <subdino2004@yahoo.fr>.
33673
33674 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33675 it is not allocated. Reported by Vincent Pelletier
33676 <subdino2004@yahoo.fr>.
33677
33678 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33679 output so the output looks better.
33680
33681 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33682
33683 Modulize the partition map support and add support for the amiga
33684 partition map.
33685
33686 * commands/ls.c: Include <grub/partition.h> instead of
33687 <grub/machine/partition.h>.
33688 * kern/disk.c: Likewise.
33689 * kern/rescue.c: Likewise.
33690 * loader/i386/pc/chainloader.c: Likewise.
33691 * normal/cmdline.c: Likewise.
33692 * kern/powerpc/ieee1275/init.c: Likewise.
33693 (grub_machine_init): Call `grub_pc_partition_map_init',
33694 `grub_amiga_partition_map_init' and
33695 `grub_apple_partition_map_init'.
33696 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33697 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33698 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33699 `partition.h' and `pc_partition.h'.
33700 (grub_setup_SOURCES): Remove
33701 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33702 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33703 (grub_emu_SOURCES): Likewise.
33704 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33705 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33706 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33708 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33709 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33710 (grubof_SOURCES): Likewise.
33711 * disk/i386/pc/partition.c: File removed.
33712 * disk/powerpc/ieee1275/partition.c: Likewise.
33713 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33714 * include/grub/i386/pc/partition.h: Likewise.
33715 * kern/partition.c: New file.
33716 * partmap/amiga.c: Likewise.
33717 * partmap/apple.c: Likewise.
33718 * partmap/pc.c: Likewise.
33719 * include/grub/partition.h: Likewise..
33720 * include/grub/pc_partition.h: Likewise.
33721 * util/grub-emu.c: Include <grub/partition.h> instead of
33722 <grub/machine/partition.h>.
33723 (main): Call `grub_pc_partition_map_init',
33724 `grub_amiga_partition_map_init' and
33725 `grub_apple_partition_map_init' and deinitialize afterwards.
33726 * util/i386/pc/biosdisk.c: Include `#include
33727 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33728 `<grub/machine/partition.h>'.
33729 * util/i386/pc/grub-setup.c: Likewise.
33730 * util/i386/pc/biosdisk.c: Likewise.
33731 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33732 partition information in case of a PC partition.
33733 * util/i386/pc/grub-setup.c: Include `#include
33734 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33735 `<grub/machine/partition.h>'.
33736 (setup): Only access the PC specific partition information in case
33737 of a PC partition.
33738
33739 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33740
33741 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33742 (grub_longjmp): Likewise.
33743 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33744 20.
33745 * normal/powerpc/setjmp.S: New file.
33746 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33747 `normal/powerpc/setjmp.S'.
33748 (grubof_CFLAGS): Add `-DGRUBOF'.
33749 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33750 [GRUB_UTIL && !GRUBOF].
33751
33752 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33753
33754 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33755 property named `name'. Correctly handle the error returned by
33756 `grub_ieee1275_finddevice' if a device can not be opened.
33757
33758 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33759
33760 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33761 `actual' for negativity.
33762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33763 kern/fshelp.c.
33764
33765 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33766
33767 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33768 (PAGE_OFFSET): New macro.
33769 (CRTC_ADDR_PORT): Likewise.
33770 (CRTC_DATA_PORT): Likewise.
33771 (START_ADDR_HIGH_REGISTER): Likewise.
33772 (START_ADDR_LOW_REGISTER): Likewise.
33773 (GRAPHICS_ADDR_PORT): Likewise.
33774 (GRAPHICS_DATA_PORT): Likewise.
33775 (READ_MAP_REGISTER): Likewise.
33776 (INPUT_STATUS1_REGISTER): Likewise.
33777 (INPUT_STATUS1_VERTR_BIT): Likewise.
33778 (page): New variable.
33779 (wait_vretrace): New function.
33780 (set_read_map): Likewise.
33781 (set_start_address): Likewise.
33782 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33783 the right page.
33784 (check_vga_mem): Take the page into account.
33785 (write_char): Likewise.
33786 (write_cursor): Likewise.
33787 (scroll_up): Likewise. Copy the page to the page that is not
33788 shown and switch between both pages.
33789 (grub_vga_putchar): Fix off by one error.
33790 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33791 account.
33792
33793 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33794
33795 Add support for iso9660 (including rockridge).
33796
33797 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33798 (iso9660_mod_SOURCES): New variable.
33799 (iso9660_mod_CFLAGS): Likewise.
33800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33801 * include/grub/fs.h (grub_iso9660_init): New prototype.
33802 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33803 * fs/iso9660.c: New file.
33804
33805 * include/grub/misc.h (grub_strncat): New prototype.
33806 * kern/misc.c (grub_strncat): New function.
33807
33808 * fs/hfs.c (grub_hfs_mount): Translate the error
33809 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33810 * fs/jfs.c (grub_jfs_mount): Likewise.
33811 * fs/ufs.c (grub_ufs_mount): Likewise.
33812
33813 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33814
33815 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33816 which initialized BAT registers.
33817 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33818 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33819 Move from here...
33820 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33821 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33822 ... to here.
33823 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33824 (grub_mapclaim): Likewise.
33825 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33826 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33827 hand.
33828
33829 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33830
33831 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33832 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33833 -ffreestanding and -msoft-float.
33834
33835 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33836
33837 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33838 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33839 set in grub_ieee1275_flags.
33840
33841 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33842
33843 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33844 prototype.
33845 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33846 grub_console_init first.
33847 Change the memory range used for grub_ieee1275_claim and
33848 grub_mm_init_region.
33849 Print an error message if the claim fails.
33850 Include <grub/misc.h>.
33851
33852 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33853
33854 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33855 Call grub_children_iterate for device nodes of type `scsi',
33856 `ide', or `ata'.
33857 (grub_ofdisk_open): Remove manual device alias resolution.
33858 Fix memory leak when device cannot be opened.
33859 * include/grub/powerpc/ieee1275/ieee1275.h
33860 (grub_children_iterate): New prototype.
33861 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33862 New function.
33863 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33864 Return -1 if args.size was -1.
33865
33866 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33867
33868 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33869 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33870 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33871 Open Firmware's memory for it; claim memory from _start to _end.
33872 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33873 (_end): New extern.
33874 (_start): Zero BSS from __bss_start to _end.
33875 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33876 New extern.
33877 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33878
33879 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33880
33881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33882 -1 if args.base was -1.
33883
33884 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33885
33886 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33887 escape sequence instead of a literal ^L. Also call
33888 grub_ofconsole_gotoxy.
33889
33890 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33891
33892 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33893 void * arguments to grub_addr_t. All callers updated. Also make
33894 the `result' argument optional.
33895 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33896 All callers updated.
33897
33898 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33899
33900 * commands/ls.c (grub_ls_list_files): Use the string following the
33901 initial ')', if present, as the filesystem path.
33902 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33903
33904 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33905
33906 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33907
33908 Make the source code of the menu interface more readable.
33909
33910 * normal/menu.c: Include grub/mm.h.
33911 (TERM_WIDTH): New macro.
33912 (TERM_HEIGHT): Likewise.
33913 (TERM_INFO_HEIGHT): Likewise.
33914 (TERM_MARGIN): Likewise.
33915 (TERM_SCROLL_WIDTH): Likewise.
33916 (TERM_TOP_BORDER_Y): Likewise.
33917 (TERM_LEFT_BORDER_X): Likewise.
33918 (TERM_BORDER_WIDTH): Likewise.
33919 (TERM_MESSAGE_HEIGHT): Likewise.
33920 (TERM_BORDER_HEIGHT): Likewise.
33921 (TERM_NUM_ENTRIES): Likewise.
33922 (TERM_FIRST_ENTRY_Y): Likewise.
33923 (TERM_ENTRY_WIDTH): Likewise.
33924 (TERM_CURSOR_X): Likewise.
33925 (draw_border): Use macros instead of magic numbers.
33926 (print_entry): Likewise.
33927 (print_entries): Likewise.
33928 (run_menu): Likewise. Also, handle the key 'e'.
33929 (run_menu_entry): Ignore empty command lines.
33930 (print_message): Added a new argument EDIT. If EDIT is true,
33931 print a different message.
33932 (init_page): Likewise.
33933 (edit_menu_entry): New function. Not implemented yet.
33934
33935 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33936
33937 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33938 can be loaded from normal mode.
33939
33940 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33941 `multiboot.mod'.
33942 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33943 (multiboot_mod_CFLAGS): New variables.
33944 * loader/i386/pc/linux_normal.c: New file.
33945 * loader/i386/pc/multiboot_normal.c: Likewise.
33946
33947 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33948 attribute `unused'.
33949
33950 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33951 `fdiro' to read the mode information from instead of `diro'.
33952
33953 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33954 looking up a symlink.
33955
33956 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33957 macro.
33958 * normal/command.c (grub_command_execute): Don't parse the
33959 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33960 flags of the command.
33961
33962 * normal/menu.c (grub_menu_run): Fix typo.
33963
33964 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33965
33966 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33967
33968 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33969 `y + 1' instead of `y - 1'.
33970
33971 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33972
33973 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33974
33975 From Hollis Blanchard <hollis@penguinppc.org>:
33976 * kern/misc.c (memmove): New alias for grub_memmove.
33977 (memcmp): New alias for grub_memcmp.
33978 (memset): New alias for grub_memset.
33979 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33980 Change "int handle" to "grub_ieee1275_phandle_t handle".
33981 * include/grub/powerpc/ieee1275/ieee1275.h
33982 (grub_ieee1275_get_property): Likewise.
33983
33984 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33985
33986 Added normal mode command `chainloader' as module chain.mod, which
33987 depends on normal.mod and _chain.mod.
33988
33989 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33990 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33991 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33992 Deleted prototype.
33993 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33994 but arguments parsing moved to ...
33995 (grub_chainloader_cmd): ... here. New function.
33996 * include/grub/i386/pc/chainloader.h: New file.
33997 * loader/i386/pc/chainloader_normal.c: Likewise.
33998
33999 2004-09-11 Marco Gerards <metgerards@student.han.nl>
34000
34001 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
34002 (grub_mkimage_LDFLAGS): Likewise.
34003 (grub_emu_SOURCES): Likewise.
34004 (kernel_img_HEADERS): Added fshelp.h.
34005 * fs/ext2.c: Include <grub/fshelp.h>.
34006 (FILETYPE_REG): New macro.
34007 (FILETYPE_INO_REG): Likewise.
34008 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
34009 Changed all users.
34010 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
34011 all users.
34012 (grub_fshelp_node): New struct.
34013 (grub_ext2_data): Added member `diropen'. Changed member `inode'
34014 to a pointer.
34015 (grub_ext2_get_file_block): Removed function.
34016 (grub_ext2_read_block): New function.
34017 (grub_ext2_read_file): Replaced parameter `data' by `node'.
34018 This function was written.
34019 (grub_ext2_mount): Read the root inode. Create a diropen struct.
34020 (grub_ext2_find_file): Removed function.
34021 (grub_ext2_read_symlink): New function.
34022 (grub_ext2_iterate_dir): Likewise.
34023 (grub_ext2_open): Rewritten.
34024 (grub_ext2_dir): Rewritten.
34025 * include/grub/fshelp.h: New file.
34026 * fs/fshelp.c: Likewise.
34027
34028 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
34029
34030 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
34031 (print_message): Add a missing newline.
34032 (run_menu): Added timeout support.
34033 (run_menu_entry): New local function.
34034 (grub_menu_run): Added support for booting.
34035
34036 * kern/loader.c (grub_loader_is_loaded): New function.
34037
34038 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
34039 (grub_get_rtc): Exported.
34040
34041 * include/grub/i386/pc/time.h: Include grub/symbol.h.
34042 (grub_get_rtc): Exported.
34043
34044 * include/grub/normal.h (struct grub_command_list): Remove
34045 constant from the member `command'.
34046
34047 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34048
34049 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34050
34051 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34052
34053 2004-08-28 Marco Gerards <metgerards@student.han.nl>
34054
34055 Add support for the JFS filesystem.
34056
34057 * fs/jfs.c: New file.
34058 * include/grub/fs.h (grub_jfs_init): New prototype.
34059 (grub_jfs_fini): New prototype.
34060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34061 (grub_emu_SOURCES): Likewise.
34062 (pkgdata_MODULES): Add jfs.mod.
34063 (jfs_mod_SOURCES): New variable.
34064 (jfs_mod_CFLAGS): Likewise.
34065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34066 (grubof_SOURCES): Likewise.
34067 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34068
34069 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34070 endian to the host endian.
34071 (grub_fat_utf16_to_utf8): Move function from there...
34072 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
34073 the endianness of the source string anymore.
34074 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34075
34076 2004-08-24 Marco Gerards <metgerards@student.han.nl>
34077
34078 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34079 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34080 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34081 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
34082
34083 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34084 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34085 for `node_found' and `it_dir'.
34086 (grub_hfs_dir): Add prototype for `dir_hook'.
34087
34088 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34089 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34090 and `indir32' to silence a gcc warning.
34091
34092 * include/grub/fs.h (grub_hfs_init): New prototype.
34093 (grub_hfs_fini): Likewise.
34094
34095
34096 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34097
34098 Each disk device has its own id now. This is useful to make use
34099 of multiple disk devices.
34100
34101 * include/grub/disk.h (grub_disk_dev_id): New enum.
34102 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34103 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34104
34105 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34106 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34107
34108 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34109 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34110
34111 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34112 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34113
34114 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34115 "id" which is used by the cache manager.
34116
34117 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34118 of just "GRUB".
34119
34120 2004-08-18 Marco Gerards <metgerards@student.han.nl>
34121
34122 * fs/hfs.c: New file.
34123 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34124 (grub_emu_SOURCES): Likewise.
34125 (pkgdata_MODULES): Add hfs.mod.
34126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34127 (grubof_SOURCES): Likewise.
34128 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34129
34130 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34131 * kern/misc.c (grub_strncasecmp): Add function.
34132
34133 2004-08-14 Marco Gerards <metgerards@student.han.nl>
34134
34135 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34136 with parentheses.
34137
34138 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34139 (grub_ext2_dir): In case the directory entry type is unknown, read
34140 it from the inode.
34141
34142 2004-08-02 Peter Bruin <pjbruin@dds.nl>
34143
34144 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34145 grub_load_linux instead of grub_rescue_cmd_linux as second
34146 argument of grub_rescue_register_command.
34147
34148 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34149
34150 2004-07-27 Marco Gerards <metgerards@student.han.nl>
34151
34152 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34153 function.
34154 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34155 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34156 `loader/powerpc/ieee1275/linux.c',
34157 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34158 * include/grub/powerpc/ieee1275/ieee1275.h
34159 (grub_ieee1275_release): New prototype.
34160 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34161 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34162 normal, boot, linux and linux_normal.
34163 * loader/powerpc/ieee1275/linux.c: New file.
34164 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34165
34166 2004-07-12 Marco Gerards <metgerards@student.han.nl>
34167
34168 * normal/arg.c (grub_arg_parse): Correct error handling after
34169 reallocating the argumentlist (check if `argl' is not null instead
34170 of checking if `args' is not null).
34171 * kern/mm.c (grub_realloc): Return the same pointer when using the
34172 same region, instead of returning the header address.
34173
34174 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34175
34176 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34177 one block instead of two when looking for the initial partition.
34178 (grub_partition_probe): Initialize the local variable `p' with 0.
34179 Use base 10 for the grub_strtoul call.
34180 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34181 need for one local variable.
34182 (grub_strtoul): Don't add the new value to `num', instead of that
34183 just assign it.
34184
34185 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34186
34187 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34188 (pxeboot_img_SOURCES): New variable.
34189 (pxeboot_img_ASFLAGS): Likewise.
34190 (pxeboot_img_LDFLAGS): Likewise.
34191 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34192 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34193 <lode_leroy@hotmail.com>.
34194
34195 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34196
34197 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34198 there was no input.
34199
34200 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34201
34202 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34203 the history buffer logic.
34204
34205 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34206
34207 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34208 (FILETYPE_INO_SYMLINK): New macros.
34209 (grub_ext2_find_file): Check if the node is a directory using the
34210 inode stat information instead of using the filetype in the
34211 dirent. Exclude the first character of an absolute symlink.
34212 (grub_ext2_dir): Mask out the filetype part of the mode member of
34213 the inode.
34214
34215 2004-05-24 Marco Gerards <metgerards@student.han.nl>
34216
34217 Add support for UFS version 1 and 2. Add support for the minix
34218 filesystem version 1 and 2, both the variants with 14 and 30 long
34219 filenames.
34220
34221 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34222 fs/minix.c.
34223 (grub_emu_SOURCES): Likewise.
34224 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34225 (ufs_mod_SOURCES): New variable.
34226 (ufs_mod_CFLAGS): Likewise.
34227 (minix_mod_SOURCES): Likewise.
34228 (minix_mod_CFLAGS): Likewise.
34229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34230 fs/minix.c.
34231 (grubof_SOURCES): Likewise.
34232 * fs/ufs.c: New file.
34233 * fs/minix.c: New file.
34234 * include/grub/fs.h (grub_ufs_init): New prototype.
34235 (grub_ufs_fini): Likewise.
34236 (grub_minix_init): Likewise.
34237 (grub_minix_fini): Likewise.
34238 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34239 minix fs.
34240
34241 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34242
34243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34244 commands/ls.c, commands/terminal.c, commands/boot.c,
34245 commands/cmp.c and commands/cat.c.
34246 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34247
34248 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34249 "env.h"
34250
34251 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34252
34253 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34254 and grub_, respectively. Because the conversion is trivial and
34255 mechanical, I omit the details here. Please refer to the CVS
34256 if you need more information.
34257
34258 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34259
34260 * include/pupa: Renamed to ...
34261 * include/grub: ... this.
34262 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34263 * util/i386/pc/grub-mkimage.c: ... this.
34264 * util/i386/pc/pupa-setup.c: Renamed to ...
34265 * util/i386/pc/grub-setup.c: ... this.
34266 * util/pupa-emu.c: Renamed to ...
34267 * util/grub-emu.c: ... this.
34268
34269 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34270
34271 Add support for the newworld apple macintosh (PPC). This has been
34272 tested on the powerbook 2000 only. It only adds support for
34273 generic ieee1275 functions, console and disk support. This should
34274 be easy to port to other architectures with support for Open
34275 Firmware.
34276
34277 * configure.ac: Accept the powerpc as host_cpu. In the case of
34278 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34279 specific tests are only executed while building for the i386.
34280 Inverse test for crosscompile.
34281 * genmk.rb (Utility): Allow assembler files.
34282 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34283 * conf/powerpc-ieee1275.rmk: New file.
34284 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34285 * disk/powerpc/ieee1275/partition.c: Likewise.
34286 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34287 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34288 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34289 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34290 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34291 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34292 * include/pupa/powerpc/ieee1275/loader.h
34293 * include/pupa/powerpc/setjmp.h: Likewise.
34294 * include/pupa/powerpc/types.h: Likewise.
34295 * kern/powerpc/ieee1275/init.c: Likewise.
34296 * kern/powerpc/ieee1275/openfw.c: Likewise.
34297 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34298
34299 These files were written by Johan Rydberg
34300 (jrydberg@night.trouble.net) and I only modified them slightly.
34301
34302 * boot/powerpc/ieee1275/cmain.c: New file.
34303 * boot/powerpc/ieee1275/crt0.S: Likewise.
34304 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34305 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34306
34307 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34308
34309 * Makefile.in: Update copyright.
34310 * genmodsrc.sh: Likewise.
34311 * gensymlist.sh: Likewise.
34312 * term/i386/pc/vga.c: Indent correctly.
34313
34314 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34315 bugreporting address.
34316 * util/i386/pc/pupa-setup.c (usage): Likewise,
34317 (main): Call pupa_ext2_init and pupa_ext2_fini.
34318
34319 * fs/fat.c (log2): Renamed to ...
34320 (fat_log2): ... this.
34321 All callers changed.
34322 * kern/misc.c (memcpy): Alias to pupa_memmove.
34323 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34324 lvalue cast.
34325 * util/console.c (pupa_ncurses_fini): Return 0.
34326
34327 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34328 Move fail label here.
34329 [__GNU__]: Don't warn when using stat.
34330 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34331 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34332 long int. Use strtol instead of strtoul.
34333
34334 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34335
34336 * commands/boot.c: New file.
34337 * commands/cat.c: Likewise.
34338 * commands/cmp.c: Likewise.
34339 * commands/ls.c: Likewise.
34340 * commands/terminal.c: Likewise.
34341 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34342 (pupa_register_command): Changed interface to match the new
34343 argument parser.
34344 (pupa_command_execute): Changed (almost rewritten) so it uses
34345 pupa_split_command. Added support for setting variables using the
34346 syntax `foo=bar'.
34347 (rescue_command): Changed to work with the new argument parser.
34348 (terminal_command): Moved from here to commands/terminal.c.
34349 (set_command): New function.
34350 (unset_command): New function.
34351 (insmod_command): New function.
34352 (rmmod_command): New function.
34353 (lsmod_command): New function.
34354 (pupa_command_init): Don't initialize the command terminal
34355 anymore. Initialize the commands set, unset, insmod, rmmod and
34356 lsmod.
34357 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34358 (kernel_img_HEADERS): Add arg.h and env.h.
34359 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34360 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34361 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34362 normal/arg.c.
34363 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34364 terminal.mod.
34365 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34366 (boot_mod_SOURCES): New variable.
34367 (terminal_mod_SOURCES): Likewise.
34368 (ls_mod_SOURCES): Likewise.
34369 (cmp_mod_SOURCES): Likewise.
34370 (cat_mod_SOURCES): Likewise.
34371
34372 * normal/arg.c: New file.
34373 * kern/env.c: Likewise.
34374 * include/pupa/arg.h: Likewise.
34375 * include/pupa/env.h: Likewise.
34376 * font/manager.c (font_command): Changed to match argument parsing
34377 interface changes.
34378 (PUPA_MOD_INIT): Likewise.
34379 * hello/hello.c (pupa_cmd_hello): Likewise.
34380 (PUPA_MOD_INIT): Likewise.
34381 * include/pupa/disk.h: Include <pupa/device.h>.
34382 (pupa_print_partinfo): New prototype.
34383 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34384 (pupa_dl_get_prefix): Likewise.
34385 * include/pupa/misc.h: Include <pupa/err.h>.
34386 (pupa_isgraph): New prototype.
34387 (pupa_isdigit): Likewise.
34388 (pupa_split_cmdline): Likewise.
34389 * include/pupa/normal.h: Include <pupa/arg.h>.
34390 (pupa_command): Changed the prototype of the member `func' to
34391 match the argument parsing interface. Added member `options'.
34392 (pupa_register_command): Updated to match function.
34393 (pupa_arg_parse): New prototype.
34394 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34395 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34396 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34397 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34398 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34399 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34400 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34401 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34402 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34403 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34404 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34405 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34406 * kern/disk.c: Include <pupa/file.h>.
34407 (pupa_print_partinfo): New function.
34408 * kern/dl.c: Include <pupa/env.h>.
34409 (pupa_dl_dir): Variable removed.
34410 (pupa_dl_load): Use the environment variable `prefix' instead of
34411 the variable pupa_dl_dir.
34412 (pupa_dl_set_prefix): Function removed.
34413 (pupa_dl_get_prefix): Likewise.
34414 * kern/i386/pc/init.c: Include <pupa/env.h>.
34415 (pupa_machine_init): Use the environment variable `prefix' instead of
34416 using pupa_dl_set_prefix to set the prefix.
34417 * kern/main.c: Include <pupa/env.h>.
34418 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34419 using pupa_dl_get_prefix to get the prefix.
34420 * kern/misc.c: Include <pupa/env.h>.
34421 (pupa_isdigit): New function.
34422 (pupa_isgraph): Likewise.
34423 (pupa_ftoa): Likewise.
34424 (pupa_vsprintf): Added support for printing values of the type
34425 `double'. Make it possible to format variable output when using
34426 formatting like `%1.2%f'.
34427 (pupa_split_cmdline): New function.
34428 * kern/rescue.c: Include <pupa/env.h>.
34429 (next_word): Removed function.
34430 (pupa_rescue_cmd_prefix): Likewise.
34431 (pupa_rescue_cmd_set): New function.
34432 (pupa_rescue_cmd_unset): New function.
34433 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34434 split the command line instead of splitting it here. Added
34435 support for setting variables using the syntax `foo=bar'. Don't
34436 initialize the prefix command anymore. Initialized the set and
34437 unset commands.
34438 * normal/cmdline.c: Include <pupa/env.h>.
34439 (pupa_tab_complete): Added prototypes for print_simple_completion,
34440 print_partition_completion, add_completion, iterate_commands,
34441 iterate_dev, iterate_part and iterate_dir. Moved code to print
34442 partition information from here to kern/disk.c.
34443 (pupa_cmdline_run): Don't check if the function exists anymore.
34444 * normal/main.c: Include <pupa/env.h>.
34445 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34446 instead of using pupa_dl_get_prefix to get the prefix.
34447 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34448 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34449 warning.
34450 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34451 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34452 ((unused))' to silence a gcc warning.
34453 (pupa_vga_setcolor): Likewise.
34454 (debug_command): Changed to match argument parsing
34455 interface changes.
34456 * util/pupa-emu.c: Include <pupa/env.h>.
34457 (options): Added 0's for unused fields to silence a gcc warning.
34458 (argp): Likewise.
34459 (main): Use the environment variable `prefix' instead of using
34460 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34461 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34462 and terminal.
34463
34464 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34465 * util/misc.c: Include <malloc.h>.
34466 (pupa_malloc): Rewritten so errors are correctly reported.
34467 (pupa_realloc): Likewise.
34468 (pupa_memalign): Likewise.
34469 (pupa_mm_init_region): Declare unused variables with
34470 `__attribute__ ((unused))' to silence a gcc warning.
34471 * normal/i386/setjmp.S: Remove tab at the end of the file to
34472 silence a gcc warning.
34473 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34474 variables with `__attribute__ ((unused))' to silence a gcc
34475 warning.
34476 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34477 local variable i unsigned to silence a gcc warning.
34478
34479 * kern/term.c: Include <pupa/misc.h>.
34480 (pupa_more_lines): New variable.
34481 (pupa_more): Likewise.
34482 (pupa_putcode): When the pager is active pause at the end of every
34483 screen.
34484 (pupa_set_more): New function.
34485 * include/pupa/term.h (pupa_set_more): New prototype.
34486
34487
34488 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34489
34490 Now this project is GRUB 2 rather than PUPA. The location of
34491 the CVS repository was moved to GRUB's.
34492
34493 * configure.ac: Use bug-grub as the reporting address.
34494 Use GRUB instead of PUPA.
34495 Change the version number to 1.90.
34496
34497 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34498
34499 * genkernsyms.sh: Updated copyright information.
34500 * genmk.rb: Likewise.
34501 * genmodsrc.sh: Likewise.
34502 * gensymlist.sh: Likewise.
34503 * boot/i386/pc/boot.S: Likewise.
34504 * boot/i386/pc/diskboot.S: Likewise.
34505 * disk/i386/pc/biosdisk.c: Likewise.
34506 * disk/i386/pc/partition.c: Likewise.
34507 * font/manager.c: Likewise.
34508 * fs/ext2.c: Likewise.
34509 * fs/fat.c: Likewise.
34510 * include/pupa/boot.h: Likewise.
34511 * include/pupa/device.h: Likewise.
34512 * include/pupa/disk.h: Likewise.
34513 * include/pupa/dl.h: Likewise.
34514 * include/pupa/elf.h: Likewise.
34515 * include/pupa/err.h: Likewise.
34516 * include/pupa/file.h: Likewise.
34517 * include/pupa/font.h: Likewise.
34518 * include/pupa/fs.h: Likewise.
34519 * include/pupa/kernel.h: Likewise.
34520 * include/pupa/loader.h: Likewise.
34521 * include/pupa/misc.h: Likewise.
34522 * include/pupa/mm.h: Likewise.
34523 * include/pupa/net.h: Likewise.
34524 * include/pupa/normal.h: Likewise.
34525 * include/pupa/rescue.h: Likewise.
34526 * include/pupa/setjmp.h: Likewise.
34527 * include/pupa/symbol.h: Likewise.
34528 * include/pupa/term.h: Likewise.
34529 * include/pupa/types.h: Likewise.
34530 * include/pupa/i386/setjmp.h: Likewise.
34531 * include/pupa/i386/types.h: Likewise.
34532 * include/pupa/i386/pc/biosdisk.h: Likewise.
34533 * include/pupa/i386/pc/boot.h: Likewise.
34534 * include/pupa/i386/pc/console.h: Likewise.
34535 * include/pupa/i386/pc/init.h: Likewise.
34536 * include/pupa/i386/pc/kernel.h: Likewise.
34537 * include/pupa/i386/pc/linux.h: Likewise.
34538 * include/pupa/i386/pc/loader.h: Likewise.
34539 * include/pupa/i386/pc/memory.h: Likewise.
34540 * include/pupa/i386/pc/multiboot.h: Likewise.
34541 * include/pupa/i386/pc/partition.h: Likewise.
34542 * include/pupa/i386/pc/time.h: Likewise.
34543 * include/pupa/i386/pc/vga.h: Likewise.
34544 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34545 * include/pupa/util/getroot.h: Likewise.
34546 * include/pupa/util/misc.h: Likewise.
34547 * include/pupa/util/resolve.h: Likewise.
34548 * kern/device.c: Likewise.
34549 * kern/disk.c: Likewise.
34550 * kern/dl.c: Likewise.
34551 * kern/err.c: Likewise.
34552 * kern/file.c: Likewise.
34553 * kern/fs.c: Likewise.
34554 * kern/loader.c: Likewise.
34555 * kern/main.c: Likewise.
34556 * kern/misc.c: Likewise.
34557 * kern/mm.c: Likewise.
34558 * kern/rescue.c: Likewise.
34559 * kern/term.c: Likewise.
34560 * kern/i386/dl.c: Likewise.
34561 * kern/i386/pc/init.c: Likewise.
34562 * kern/i386/pc/lzo1x.S: Likewise.
34563 * kern/i386/pc/startup.S: Likewise.
34564 * loader/i386/pc/chainloader.c: Likewise.
34565 * loader/i386/pc/linux.c: Likewise.
34566 * loader/i386/pc/multiboot.c: Likewise.
34567 * normal/cmdline.c: Likewise.
34568 * normal/command.c: Likewise.
34569 * normal/main.c: Likewise.
34570 * normal/menu.c: Likewise.
34571 * normal/i386/setjmp.S: Likewise.
34572 * term/i386/pc/console.c: Likewise.
34573 * term/i386/pc/vga.c: Likewise.
34574 * util/console.c: Likewise.
34575 * util/genmoddep.c: Likewise.
34576 * util/misc.c: Likewise.
34577 * util/pupa-emu.c: Likewise.
34578 * util/resolve.c: Likewise.
34579 * util/unifont2pff.rb: Likewise.
34580 * util/i386/pc/biosdisk.c: Likewise.
34581 * util/i386/pc/getroot.c: Likewise.
34582 * util/i386/pc/pupa-mkimage.c: Likewise.
34583 * util/i386/pc/pupa-setup.c: Likewise.
34584
34585 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34586
34587 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34588 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34589 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34590 reading and reset it after reading.
34591 (pupa_ext2_close): Return PUPA_ERR_NONE.
34592
34593 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34594 Correct value.
34595 (struct linux_kernel_header): Add kernel_version and
34596 initrd_addr_max.
34597 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34598 pupa_file_read succeeds.
34599 (pupa_rescue_cmd_initrd): Implement.
34600
34601 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34602
34603 * fs/ext2.c (pupa_ext2_label): New function.
34604 (pupa_ext2_fs): Added label.
34605 * fs/fat.c (pupa_fat_label): New function.
34606 (pupa_fat_fs): Added label.
34607 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34608
34609 * kern/misc.c (pupa_strndup): New function.
34610 * include/pupa/misc.h (pupa_strndup): New prototype.
34611
34612 * include/pupa/normal.h: Include <pupa/err.h>.
34613 (pupa_set_history): New prototype.
34614 (pupa_iterate_commands): New prototype.
34615 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34616 <pupa/disk.h>, <pupa/file.h>.
34617 (hist_size): New variable.
34618 (hist_lines): Likewise.
34619 (hist_end): Likewise.
34620 (hist_used): Likewise.
34621 (pupa_set_history): New function.
34622 (pupa_history_get): Likewise.
34623 (pupa_history_add): Likewise.
34624 (pupa_history_replace): Likewise.
34625 (pupa_tab_complete): Likewise.
34626 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34627 completion shows partitionnames while completing partitions, this
34628 feature was suggested by Jeff Bailey.
34629 * normal/command.c (pupa_iterate_commands): New function.
34630 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34631 (pupa_normal_init): Initialize history buffer.
34632 (PUPA_MOD_INIT): Likewise.
34633 (pupa_normal_fini): Free the history buffer.
34634 (PUPA_MOD_FINI): Likewise.
34635
34636 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34637 key.
34638
34639 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34640 * configure.ac [i386]: Check for regparam bug.
34641 (NESTED_FUNC_ATTR) [! i386]: Defined.
34642
34643 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34644
34645 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34646 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34647 (pupa_emu_SOURCES): New variable.
34648 (pupa_emu_LDFLAGS): Likewise.
34649 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34650 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34651 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34652 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34653 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34654 (pupa_jmp_buf): New typedef.
34655 (pupa_setjmp) [PUPA_UTIL]: New macro.
34656 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34657 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34658 (pupa_refresh): New prototype.
34659 * include/pupa/util/getroot.h: New file.
34660 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34661 it.
34662 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34663 (pupa_rescue_cmd_cat): Likewise.
34664 (pupa_rescue_cmd_ls): Likewise.
34665 (pupa_rescue_cmd_testload): Likewise.
34666 (pupa_rescue_cmd_lsmod): Likewise.
34667 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34668 * normal/menu.c (run_menu): Likewise.
34669 * kern/term.c (pupa_cls): Likewise.
34670 (pupa_refresh): New function.
34671 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34672 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34673 * util/console.c: New file.
34674
34675 * util/i386/pc/getroot.c: New file.
34676 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34677 (pupa_putchar): New function.
34678 (pupa_refresh): Likewise.
34679 (xgetcwd): Function moved to ...
34680 (strip_extra_slashes): Likewise.
34681 (get_prefix): Likewise.
34682 * util/i386/pc/getroot.c: ... here.
34683 (find_root_device): Function moved and renamed to...
34684 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34685 Changed all callers.
34686 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34687 and renamed to...
34688 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34689 Changed all callers.
34690 * util/misc.c (pupa_memalign): New function.
34691 (pupa_mm_init_region): Likewise.
34692 (pupa_register_exported_symbols): Likewise.
34693 (pupa_putchar): Function removed.
34694 * util/pupa-emu.c: New file.
34695
34696 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34697
34698 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34699 (_multiboot_mod_SOURCES): New variable.
34700 (_multiboot_mod_CFLAGS): Likewise.
34701 * loader/i386/pc/multiboot.c: New file.
34702 * include/pupa/i386/pc/multiboot.h: Likewise.
34703 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34704 (pupa_multiboot_real_boot): New function.
34705 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34706 (pupa_multiboot_real_boot): New prototype.
34707 (pupa_rescue_cmd_multiboot): Likewise
34708 (pupa_rescue_cmd_module): Likewise.
34709
34710 * kern/loader.c (pupa_loader_set): Continue when
34711 pupa_loader_unload_func() fails.
34712 (pupa_loader_unset): New function.
34713 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34714
34715 * kern/misc.c (pupa_stpcpy): New function.
34716 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34717
34718 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34719
34720 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34721 for available extensions.
34722
34723 * include/pupa/i386/pc/time.h: New file.
34724 * kern/disk.c: Include <pupa/machine/time.h>.
34725 (PUPA_CACHE_TIMEOUT): New macro.
34726 (pupa_last_time): New variable.
34727 (pupa_disk_open): Flush the cache when there was a timeout.
34728 (pupa_disk_close): Reset the timer.
34729 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34730 pupa_currticks.
34731 * util/misc.c: Include <sys/times.h>
34732 (pupa_get_rtc): New function.
34733
34734 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34735
34736 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34737 as blocks.
34738 (pupa_ext2_get_file_block): Use blocks member.
34739
34740 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34741 first block. Return -1 instead of pupa_errno on error.
34742
34743 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34744
34745 * README: In the pupa-mkimage example use _chain instead of chain
34746 and ext2 instead of fat.
34747 * TODO: Replace ext2fs with jfs as an example. Add an item for
34748 adding journal playback for ext2fs.
34749 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34750 (pkgdata_MODULES): Added ext2.mod.
34751 (ext2_mod_SOURCES): New variable.
34752 (ext2_mod_CFLAGS): Likewise.
34753 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34754 * include/pupa/misc.h (pupa_strncpy): New prototype.
34755 (pupa_strcat): Likewise.
34756 (pupa_strncmp): Likewise.
34757 * kern/misc.c (pupa_strcat): Enable function.
34758 (pupa_strncpy): New function.
34759 (pupa_strncmp): Likewise.
34760 * fs/ext2.c: New file.
34761
34762 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34763 when the read failed before retrying.
34764 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34765 (_FILE_OFFSET_BITS): Likewise.
34766 * configure.ac: Added AC_SYS_LARGEFILE.
34767
34768 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34769
34770 * genmk.rb (PModule#rule): Make sure to get only symbol names
34771 from the output of nm.
34772 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34773
34774 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34775
34776 I forgot to check in these changes for a long time. This adds
34777 incomplete support for VGA console, and this is still very
34778 buggy. Also, a lot of consideration is required for I18N,
34779 UNICODE, and VGA font issues. Therefore, assume that this is
34780 such that "better than nothing".
34781
34782 * font/manager.c: New file.
34783 * include/pupa/font.h: Likewise.
34784 * include/pupa/i386/pc/vga.h: Likewise.
34785 * term/i386/pc/vga.c: Likewise.
34786 * util/unifont2pff.rb: Likewise.
34787
34788 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34789 (pkgdata_MODULES): Added vga.mod and font.mod.
34790 (vga_mod_SOURCES): New variables.
34791 (vga_mod_CFLAGS): Likewise.
34792 (font_mod_SOURCES): Likewise.
34793 (font_mod_CFLAGS): Likewise.
34794
34795 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34796
34797 * include/pupa/term.h: Include pupa/err.h.
34798 (struct pupa_term): Added init and fini.
34799 Changed the argument of putchar to pupa_uint32_t.
34800
34801 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34802 (pupa_console_real_putchar): New prototype.
34803 (pupa_console_putchar): Removed.
34804 (pupa_console_checkkey): Exported.
34805 (pupa_console_getkey): Likewise.
34806
34807 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34808 characters.
34809
34810 * kern/term.c (pupa_term_set_current): Rewritten.
34811 (pupa_putchar): Likewise.
34812 (pupa_putcode): New function.
34813
34814 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34815 (pupa_console_real_putchar): ... this.
34816 (pupa_vga_set_mode): New function.
34817 (pupa_vga_get_font): Likewise.
34818
34819 * normal/command.c: Include pupa/term.h.
34820 (terminal_command): New function.
34821 (pupa_command_init): Register the command "terminal".
34822
34823 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34824 (DISP_UP): Likewise.
34825 (DISP_RIGHT): Likewise.
34826 (DISP_DOWN): Likewise.
34827 (DISP_HLINE): Likewise.
34828 (DISP_VLINE): Likewise.
34829 (DISP_UL): Likewise.
34830 (DISP_UR): Likewise.
34831 (DISP_LL): Likewise.
34832 (DISP_LR): Likewise.
34833
34834 * term/i386/pc/console.c (pupa_console_putchar): New function.
34835
34836 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34837
34838 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34839 FIX. Reverse the path_list.
34840
34841 * include/pupa/normal.h: Export pupa_register_command and
34842 pupa_unregister_command.
34843
34844 * hello/hello.c (pupa_cmd_hello): New module.
34845 * conf/i386-pc.rmk: Added hello.mod.
34846
34847 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34848
34849 * kern/i386/pc/lzo1x.S: New file.
34850
34851 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34852 (compress_kernel): New variable.
34853 (generate_image): Heavily modified to support compressing a
34854 large part of the core image.
34855
34856 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34857 leak.
34858 (pupa_util_load_image): New function.
34859
34860 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34861 (pupa_compressed_size): New variable.
34862 (codestart): Enable Gate A20 here.
34863 Decompress the compressed part of the core image.
34864 Rearrange the code to put functions and variables which are
34865 required for initialization in the non-compressed part.
34866 Include lzo1x.S.
34867
34868 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34869 here.
34870
34871 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34872
34873 * include/pupa/i386/pc/kernel.h
34874 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34875 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34876 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34877 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34878 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34879
34880 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34881
34882 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34883 (Utility#rule): Likewise.
34884
34885 * configure.ac: Check if LZO is available.
34886
34887 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34888
34889 * include/pupa/normal.h: New file.
34890 * include/pupa/setjmp.h: Likewise.
34891 * include/pupa/i386/setjmp.h: Likewise.
34892 * normal/cmdline.c: Likewise.
34893 * normal/command.c: Likewise.
34894 * normal/main.c: Likewise.
34895 * normal/menu.c: Likewise.
34896 * normal/i386/setjmp.S: Likewise.
34897
34898 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34899 (pupa_rescue_cmd_initrd): Likewise.
34900
34901 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34902 Likewise.
34903
34904 * kern/i386/pc/startup.S (translation_table): New variable.
34905 (translate_keycode): New function.
34906 (pupa_console_getkey): Call translate_keycode.
34907
34908 * kern/rescue.c (attempt_normal_mode): New function.
34909 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34910 it failed, print a message.
34911
34912 * kern/mm.c (pupa_real_malloc): Print more information when a
34913 free magic is broken.
34914 (pupa_free): If the first free header is not free actually, set
34915 it to P.
34916
34917 * kern/main.c (pupa_load_normal_mode): Just load the module
34918 "normal".
34919 (pupa_main): Don't print the message
34920 "Entering into rescue mode..." here.
34921
34922 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34923 Declared.
34924 (pupa_rescue_cmd_initrd): Likewise.
34925 (pupa_rescue_cmd_initrd): Likewise.
34926
34927 * include/pupa/symbol.h (FUNCTION): Specify the type.
34928 (VARIABLE): Likewise.
34929
34930 * include/pupa/err.h (pupa_err_t): Added
34931 PUPA_ERR_UNKNOWN_COMMAND.
34932
34933 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34934 (pupa_dl_get_prefix): Likewise.
34935
34936 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34937 Added _chain.mod and _linux.mod instead of chain.mod and
34938 linux.mod.
34939 (chain_mod_SOURCES): Renamed to ...
34940 (_chain_mod_SOURCES): ... this.
34941 (chain_mod_CFLAGS): Renamed to ...
34942 (_chain_mod_CFLAGS): ... this.
34943 (linux_mod_SOURCES): Renamed to ...
34944 (_linux_mod_SOURCES): ... this.
34945 (linux_mod_CFLAGS): Renamed to ...
34946 (_linux_mod_CFLAGS): ... this.
34947 (normal_mod_SOURCES): New variable.
34948 (normal_mod_CFLAGS): Likewise.
34949 (normal_mod_ASFLAGS): Likewise.
34950
34951 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34952
34953 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34954 possible.
34955
34956 * kern/dl.c (pupa_dl_ref): Refer depending modules
34957 recursively.
34958 (pupa_dl_unref): Unrefer depending modules recursively.
34959 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34960 a module is unloaded before one depending on that module is
34961 unloaded.
34962 (pupa_dl_unload): Unload depending modules explicitly,
34963 if possible.
34964
34965 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34966
34967 * include/pupa/i386/pc/linux.h: New file.
34968 * loader/i386/pc/linux.c: Likewise.
34969
34970 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34971 Removed.
34972 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34973 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34974 of PUPA_CHAINLOADER_BOOT_SECTOR.
34975
34976 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34977 (pupa_linux_prot_size): New variable.
34978 (pupa_linux_tmp_addr): Likewise.
34979 (pupa_linux_real_addr): Likewise.
34980 (pupa_linux_boot_zimage): New function.
34981 (pupa_linux_boot_bzimage): Likewise.
34982
34983 * kern/i386/pc/init.c (struct mem_region): New structure.
34984 (MAX_REGIONS): New macro.
34985 (mem_regions): New variable.
34986 (num_regions): Likewise.
34987 (pupa_os_area_addr): Likewise.
34988 (pupa_os_area_size): Likewise.
34989 (pupa_lower_mem): Likewise.
34990 (pupa_upper_mem): Likewise.
34991 (add_mem_region): New function.
34992 (compact_mem_regions): Likewise.
34993 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34994 the size of the conventional memory and that of so-called upper
34995 memory (before the first memory hole).
34996 Instead of adding each found region to free memory, use
34997 add_mem_region and add them after removing overlaps.
34998 Also, add only 1/4 of the upper memory to free memory. The rest
34999 is used for loading OS images. Maybe this is ad hoc, but this
35000 makes it much easier to relocate OS images when booting.
35001
35002 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
35003 (pupa_enter_rescue_mode): Don't register initrd and module.
35004
35005 * kern/mm.c: Include pupa/dl.h.
35006
35007 * kern/main.c: Include pupa/file.h and pupa/device.h.
35008
35009 * kern/loader.c (pupa_loader_load_module_func): Removed.
35010 (pupa_loader_load_module): Likewise.
35011
35012 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
35013 ``.o''.
35014
35015 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
35016 (pupa_linux_tmp_addr): Likewise.
35017 (pupa_linux_real_addr): Likewise.
35018 (pupa_linux_boot_zimage): Likewise.
35019 (pupa_linux_boot_bzimage): Likewise.
35020
35021 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
35022 (pupa_upper_mem): Likewise.
35023 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
35024 module is too dangerous.
35025
35026 * include/pupa/loader.h (pupa_os_area_addr): Declared.
35027 (pupa_os_area_size): Likewise.
35028 (pupa_loader_set): Remove the first argument. Loader doesn't
35029 manage modules or initrd any longer.
35030 (pupa_loader_load_module): Removed.
35031
35032 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
35033 (linux_mod_SOURCES): New variable.
35034 (linux_mod_CFLAGS): Likewise.
35035
35036 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
35037
35038 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
35039 the length of a blocklist correctly.
35040
35041 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
35042 Use ioctl only if the OS file is a block device.
35043 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
35044 not very useful for normal files.
35045
35046 * kern/main.c (pupa_set_root_dev): New function.
35047 (pupa_load_normal_mode): Likewise.
35048 (pupa_main): Call those above.
35049
35050 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35051 pupa_uint16_t.
35052
35053 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35054
35055 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35056
35057 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35058 (setup): Configure the installed partition information and the
35059 dl prefix.
35060
35061 * loader/i386/pc/chainloader.c (my_mod): New variable.
35062 (pupa_chainloader_unload): New function.
35063 (pupa_rescue_cmd_chainloader): Refer itself.
35064 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35065
35066 * kern/i386/pc/startup.S (install_partition): Removed.
35067 (version_string): Likewise.
35068 (config_file): Likewise.
35069 (pupa_install_dos_part): New variable.
35070 (pupa_install_bsd_part): Likewise.
35071 (pupa_prefix): Likewise.
35072 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35073
35074 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35075 and pupa/misc.h.
35076 (make_install_device): New function.
35077 (pupa_machine_init): Set the dl prefix.
35078
35079 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35080 (buf): Renamed to ...
35081 (linebuf): ... this.
35082 (pupa_rescue_cmd_prefix): New function.
35083 (pupa_rescue_cmd_insmod): Likewise.
35084 (pupa_rescue_cmd_rmmod): Likewise.
35085 (pupa_rescue_cmd_lsmod): Likewise.
35086 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35087 rmmod and lsmod.
35088
35089 * kern/mm.c (pupa_memalign): If failed even after invalidating
35090 disk caches, unload unneeded modules and retry.
35091
35092 * kern/misc.c (pupa_memmove): New function.
35093 (pupa_memcpy): Removed.
35094 (pupa_strcpy): New function.
35095 (pupa_itoa): Made static.
35096
35097 * kern/dl.c (pupa_dl_iterate): New function.
35098 (pupa_dl_ref): Likewise.
35099 (pupa_dl_unref): Likewise.
35100 (pupa_dl_unload): Return if succeeded or not.
35101 (pupa_dl_unload_unneeded): New function.
35102 (pupa_dl_unload_all): Likewise.
35103 (pupa_dl_init): Renamed to ...
35104 (pupa_dl_set_prefix): ... this.
35105 (pupa_dl_get_prefix): New function.
35106
35107 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35108 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35109 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35110 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35111 (pupa_install_dos_part): Declared.
35112 (pupa_install_bsd_part): Likewise.
35113 (pupa_prefix): Likewise.
35114 (pupa_boot_drive): Likewise.
35115
35116 * include/pupa/types.h: Fix a typo.
35117
35118 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35119 pupa_memmove.
35120 (pupa_memmove): Declared.
35121 (pupa_strcpy): Likewise.
35122
35123 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35124 pupa_mod_init takes one argument, its own module.
35125 (pupa_dl_unload_unneeded): Declared.
35126 (pupa_dl_unload_all): Likewise.
35127 (pupa_dl_ref): Likewise.
35128 (pupa_dl_unref): Likewise.
35129 (pupa_dl_iterate): Likewise.
35130 (pupa_dl_init): Renamed to ...
35131 (pupa_dl_set_prefix): ... this.
35132 (pupa_dl_get_prefix): Declared.
35133
35134 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
35135 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
35136 unloaded.
35137 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35138 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35139
35140 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35141 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35142
35143 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35144
35145 * util/i386/pc/pupa-setup.c (setup): Define the internal
35146 function find_first_partition_start at the top level, because GCC
35147 3.0.x cannot compile internal functions in deeper scopes
35148 correctly.
35149 (find_root_device): Use lstat instead of stat.
35150 Don't follow symbolic links.
35151 Fix the path-constructing code.
35152
35153 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35154 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35155 by a BLKGETSIZE ioctl first, because block devices don't fill
35156 the member st_mode of the structure stat on Linux.
35157 [__linux__] (linux_find_partition): Use a temporary buffer
35158 REAL_DEV for the working space. Copy it to DEV before returning.
35159 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35160 buffer cache consistent.
35161 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35162 strncmp. The previous value was merely wrong.
35163 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35164
35165 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35166 FAT size is 12. The previous value was merely wrong.
35167
35168 * kern/main.c (pupa_main): Don't split the starting message from
35169 newlines.
35170
35171 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35172 LF, because BIOS goes crazy about character attributes in this
35173 case.
35174
35175 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35176
35177 * include/i386/pc/util/biosdisk.h: New file.
35178 * util/i386/pc/biosdisk.c: Likewise.
35179 * util/i386/pc/pupa-setup.c: Likewise.
35180
35181 * Makefile.in (INCLUDE_DISTFILES): Added
35182 include/pupa/i386/pc/util/biosdisk.h.
35183 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35184 directory util/i386/pc.
35185 (install-local): Added a rule for sbin_UTILITIES.
35186 (uninstall): Likewise.
35187
35188 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35189
35190 * util/misc.c (xrealloc): New function.
35191 (pupa_malloc): Likewise.
35192 (pupa_free): Likewise.
35193 (pupa_realloc): Likewise.
35194 (pupa_stop): Likewise.
35195 (pupa_putchar): Likewise.
35196
35197 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35198
35199 * include/pupa/util/misc.h (xrealloc): Declared.
35200
35201 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35202 macro.
35203 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35204 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35205
35206 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35207 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35208
35209 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35210 way should be implemented.
35211 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35212
35213 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35214 the size of NAME for safety.
35215 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35216 0x88.
35217
35218 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35219 (pupa_setup_SOURCES): Likewise.
35220
35221 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35222
35223 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35224
35225 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35226 bunch of pushl's from pusha, because this destroys the return
35227 value.
35228
35229 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35230
35231 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35232 This means that any missing prototypes could be fatal. Also, you
35233 must take care when writing assembly code. See the comments at
35234 the beginning of startup.S, for more details.
35235
35236 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35237 compilation mechanism.
35238 (pupa_chainloader_real_boot): Likewise.
35239 (pupa_biosdisk_rw_int13_extensions): Likewise.
35240 (pupa_biosdisk_rw_standard): Likewise.
35241 (pupa_biosdisk_check_int13_extensions): Likewise.
35242 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35243 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35244 (pupa_get_memsize): Likewise.
35245 (pupa_get_mmap_entry): Likewise.
35246 (pupa_console_putchar): Likewise.
35247 (pupa_console_setcursor): Likewise.
35248 (pupa_getrtsecs): Use pushl instead of push.
35249
35250 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35251 memory instead of the stack for a mmap entry, because some
35252 BIOSes may ignore the maximum size and overflow.
35253
35254 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35255
35256 * genmk.rb (PModule#rule): Compile automatically generated
35257 sources with module-specific CFLAGS as well as other sources.
35258
35259 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35260
35261 * configure.ac: Check ld.
35262 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35263 respectively, before checking endianness and sizes.
35264
35265 * Makefile.in (LD): New variable.
35266
35267 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35268
35269 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35270
35271 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35272
35273 * Changelog: New file.
35274